タグ: Tips and Tricks

  • Notes: WordPress 2.2 でブログクライアントソフトの日付表示が狂う問題

    Kaku を使っているとき、日付のなにかがおかしい予感 がしていたのだが、よほどのことがない限りは問題でない、という感覚なので、見逃していた。

    しかし、Kaku の正式版を公開するにあたってちゃんと確認してみたところ、やはり WordPress の記事の日付が明らかにずれていた。しかし、Movable Type や P_BLOG はまったくの無傷。そこで、Kaku が直接の原因ではないのでは、と思って探してみると、やはり WordPress に問題があったようだ: WordPress 2.2 Reporting Incorrect Time | NSLog();

    原因

    上記の記事やその周辺を読んでいくと、原因は、xmlrpc.php が返す日付は UTC であるにも関わらず、最後に UTC であることを示す タイムゾーン指定子 Z を付けるのを忘れている(参照:「ISO 8601 – Wikipedia」)ために、ブログクライアントソフトがローカルの日付と勘違いしてしまうからのようだ。

    対策

    対策としては、xmlrpc.php に、上記の記事にも書かれている パッチ を適用する※か、遠くないうちに公開されるであろうバージョン 2.2.1 を待つこと(対策じゃない)。パッチを当てたあと、ectoMarsEdit でこの問題が解決されたのを確認した。

    ※さらりと書いたけど、初めて patch を使った。xmlrpc.phpxmlrpc.php-dif を同じディレクトリに入れて、patch -p0 <xmlrpc.php-dif か。

    ところが、これでは Kaku の日付表示は直らなかった のである…続きはのちほど。

  • Notes: CSSEdit で日本語を入力できない

    以前、CSSEdit絶賛 しましたが、唯一の弱点と言えるのが、日本語(多言語)への対応です。

    まず、エンコーディングメニューが装備されていないので、(恐らく)UTF-8 以外のエンコーディングでスタイルシートを作らなくてはならないときは、追加の処理が必要な場合もあるかもしれません。また、それ以前の問題として、初期設定のまま使っていると、日本語が入力できません(入力しても表示されません)。今回は、この問題について書きたいと思います。

    …というほど難しい問題ではないのですが、こうならないように、

    Preferences > Source Editing > Editing > Select… で日本語フォントを選択しておく

    ようにしてください。

    システム標準のテキストフィールドを使っていれば、英語フォントに設定していても、日本語は日本語フォントで表示されるはずですが、ものすごい予測候補表示やシンタックスカラーリングのために改造してあるのでしょう。たぶん。

  • Notes: Cocoalicious でブックマークがダウンロードされない

    Cocoalicious は、ソーシャルブックマークサービス del.icio.us のデスクトップクライアントソフト(ブックマーク管理ソフト)です。以前当サイトで、同様のソフトである WebnoteHappyご紹介した ときに、Cocoalicious は「動かなくなっちゃった」と書きましたが、その後、 作者さんのブログ を覗くと、ちゃんと原因と解決方法が 書かれて いました。

    Cocoalicious は、作者さん多忙のため、開発が続行されるか不透明ですし(まあ、オープンソースなんですけどね)、この情報自体約1年ほど前のものと、だいぶ古い情報なのですが、前述の記事であれほど「WebnoteHappy を使った方がいいよ!」と褒めちぎったにもかかわらず(笑)、当サイトには「Cocoalicious」で検索してお越し下さる方が多いようなので、少しは役に立つかもしれないので、書いておきます。

    Cocoalicious を初めて起動すると、ログイン情報の入力を求められますが、いま、ここで素直に入力しても、ブックマークはダウンロードされてきません。原因は、Cocoalicious に登録されている del.icio.us API のアドレスが古くなっていることです。そこで、環境設定パネルを開き、「API URI:」の欄に、現在のアドレス:

    https://api.del.icio.us/v1

    を入力してください。

    そして、Cocoalicious を再起動すれば、きちんとブックマークがダウンロードされるはずです。これでもうまくいかない方は、環境設定パネルで「Automaticaly login using this account」のチェックを外して、再度起動しなおしてみてください。

  • Notes: AppleScript Studio のデバッグ機能を確実に使えるようにする

    AppleScript Studio(Xcode)でデバッグを行っていると、時々うまくブレークポイントで止まってくれなかったり、Xcode がクラッシュしてしまうことがあります。私も FlightGear Alternative を開発している最中、それまでは大丈夫だったのに、デバッグを始めると必ず Xcode が落ちてしまうようになり、しばらくはデバッグ機能を使うのを諦めていたのですが、やはりコードがそこそこ長くなると、デバッグ機能が使えないと話になりません(私以外の例だと、だいぶ古いエントリになりますが、藤棚さんのブログ の、このエントリ)。そこで、解決方法を探してみることにしました。

    結論

    • AppleScript Studio のコードのエンコーディングは「欧米(Mac OS Roman)」以外使うな。

    どうして?

    事実、コードをすべて「欧米(Mac OS Roman)」で書くように(コメントは英語、ダイアログなどに表示する文字列は localized string of を使う)なってからは、デバッグで怪しい動作をしたことはなく、快適に使えている(なんじゃそら)。

    先ほど挙げた、藤棚さんのブログのエントリがヒントに……というかほぼ答えなのですが、「ウィンドウの中のボタンを押すと、『日本語だよ』というダイアログを表示する」というごく単純なプロジェクトを作って試してみれば、すぐ分かります。

    ダイアログを表示する部分にブレークポイントを設置して試してみると、やはり「日本語(Mac OS)」「日本語(Shift JIS)」「Unicode(UTF-8)」ではブレークポイントを素通りしてしまいます。ここでコードの日本語部分を英語に直して、エンコーディングを「欧米(Mac OS Roman)」に直せば、完璧に動作します。

    「欧米(Mac OS Roman)」でコードを書いていると、間違えて日本語を入力したときに、エンコードを「Unicode(UTF-8)」に変更するよう勧めるダイアログが表示されますので、そのときに変更してしまわないようにご注意ください。

    こういった不具合が起きるのは、やはり AppleScript の開発環境が完全に MacOS X ネイティブにはなってはいない、ということなんでしょうね。でも私は、さほど不便だとは思っていません。

  • Notes: AppleScript Studio(Xcode)の、内蔵エディタのフォントを変更する

    Xcode で AppleScript のコードを編集する際に使われる、デフォルトのフォントは、Osaka(非等幅)です。コードが長くなるにつれ、私はこの設定が、非常に辛く感じられるようになってきました。

    そこで、Xcode の環境設定の「フォントとカラー」パネルで設定を変更したのですが、なぜか AppleScript のコードには反映されません。

    ネット上で解決方法を探してみたところ、日本語でこの問題を扱っているページは意外に少なく、探しづらかったので、念のため、ここにメモしておきます。

    システム全体のデフォルトブラウザの設定を Safari の環境設定で行うように、AppleScript 関連の設定は、「スクリプトエディタ」の環境設定で行う仕組みになっています。

    よって、スクリプトエディタの環境設定の、「フォーマット」パネルでフォントを変更して、Xcode を再起動すれば、Xcode の AppleScript エディタのフォントも変更されます。

    -ちなみに、日本語が含まれる可能性がある項目(自分が日本語を使う項目)、例えば「コメント」「値(数値、文字列、リスト)」には、むりやり英語フォントを指定してはいけません。確かコンパイルは可能ですが、ソースファイルを保存することができなくなってしまいます。- これは、AppleScript 関連のコードが古いことが原因だとか(普通なら代替の日本語フォントで表示されるはず)。この辺の詳しいことは失念してしまいましたが…

    (追記:AppleScript Studio をよりよく使うためには、 ソースに日本語を使わない方がよい です。なぜかは、のちほど書きます→「 Notes: AppleScript Studio のデバッグ機能を確実に使えるようにする 」) (追記2:改めて AppleScript Studio のドキュメントを読んでみると、ちゃんと 載ってます 。気付かなかったのは私だけ?)