How My Heart Sings

Mon, 21 Nov 2005

LotsaWaterスクリーンセーバーで酔う

リアルな水を表現するスクリーンセーバー(なつみかん)経由でLotsaWater 1.1 -MacUpdate。デスクトップが浸水したかのような効果を示すスクリーンセーバー。確かに凄い! のだけれど…

いや、これ、リアル過ぎて酔うから、頭くらくらするから、しばらく画面上で直線とか真っ直ぐに見えないようになるから! ということで封印することに。

Meta Infomation of this entry

You can add this Entry to your  はてなブックマーク and Delicious

Mon, 04 Jul 2005

AquaSKKスレッド 2に神様降臨ちゅう

AquaSKKスレッド 2に神様が連続的に降臨中で、いつにまにやら現在のモードの表示とか出来るようになってしまってます。スゴイ。

aquaskk_patched

AquaSKKのインストーラは/Library/Componentsにファイルをインストールするので、以前に自分で~/Library/Componentsにインストールしていた場合、おかしなことになるので注意。自分のところでは入力メニューにAquaSKKがふたつ表われ、システムが挙動不審になってしまいました。

インストールにはちょっと躓いたけど、現在のところ問題無く使えております。

Meta Infomation of this entry

You can add this Entry to your  はてなブックマーク and Delicious

Thu, 30 Jun 2005

CotEditor用のスクリプトを書いてみる、解決変

前回書いた、CotEditor用のスクリプト(AppleScriptShell Scriptを混ぜ書きしたもの)が日本語環境じゃないと上手く動かない(日本語が文字化けする)、という話しの解決変いや解決編。夢枕獏か。…結局日本語環境にどうしても慣れなかったので、次のようにしてみました。

do shell script " /bin/sh << EOF
__CF_USER_TEXT_ENCODING=0x1F5:1:14
/usr/bin/open ~/Applications/CotEditor/CotEditor.app
EOF"

これでCotEditorを日本語環境で起動したことになるようで、英語優先の環境下においてもスクリプトの結果が文字化けしなくなりました。んで、このAppleScriptを起動項目に登録して、常にCotEditorを起動しっぱなしにしておく、と。問題点はひとつだけ。バックスラッシュが円マークに化けてしまって、ファイルをセーブ出来なくなります。…大問題。

んでも、バックスラッシュの話しはさておき、これってアプリケーション側で対応してもらえそうな気もしないでもないとも言えるような言えないような。

Meta Infomation of this entry

You can add this Entry to your  はてなブックマーク and Delicious

Wed, 29 Jun 2005

CotEditor用のスクリプトを書いてみる、まとめ

取りあえず、これが最終形。悪い点は、日本語環境でしか動作しないこと。最後にAppleScriptに渡す時点でShift_Jisにしておくために変換をかけています。さらに、ダブルクォートとバックスラッシュをエスケープしています。また、選択範囲が空であっても大丈夫なようになっています。そもそもこんな風に混ぜ書きしなければ、何も問題無いのですが…それにしても醜いねぇ。

#! /bin/sh
# %%%{CotEditorXInput=Selection}%%%
# %%%{CotEditorXOutput=ReplaceSelection}%%%

INPUT=`osascript << EOF
    tell application "CotEditor"
        if exists front document then
            set myContentsOfSelection to (contents of selection of front document)
        else
            beep
        end if
        return myContentsOfSelection
    end tell
EOF`

TEMP=`echo ${INPUT} | \
    /usr/local/bin/lv -Iu8 -Os | \
    sed -e 's/\\\/\\\\\\\/g' | \
    sed -e 's/\"/\\\"/g'`

OUTPUT="<del datetime=\\\"`/usr/bin/ruby -e \
'print Time.now.strftime("%Y-%m-%dT%H:%M:%S\+09:00")'`\\\">${TEMP}</del>"

osascript << EOF
tell application "CotEditor"
    activate
    if exists front document then
        set {loc, len} to (range of selection of front document)
        set (contents of selection of front document) to "${OUTPUT}"
        set numOfMove to (count of character of selection)
        set (range of selection of front document) to {Loc + numOfMove, 0}
    end if
end tell
EOF

Meta Infomation of this entry

You can add this Entry to your  はてなブックマーク and Delicious

Sat, 25 Jun 2005

CotEditor用のスクリプトを書いてみるそのなななななな

昨日のエントリ、CotEditor用に書いたスクリプトの実行時に文字化けが発生して困った、という話しの続き。作者の中の人の方から示唆を頂いたのを参考に、スクリプトの要所で文字コードがどのようになっているのか調べてみました。示唆の内容は次の通り。

シェルスクリプトからアップルスクリプトを呼び出す段階で 「osascript」コマンドが使われてますが、どうやらこれは与えられた文字列をデフォルトCエンコーディング(日本語の場合はShift-JIS)で解釈するようです。化け方も、UTF-8をShift-JISで読み込んだときと同じでした。

変換処理を行なう元ファイルは日本語EUCで改行コードがCR/LFなもの。んで、変換用のシェルスクリプトは次の通り。

#! /bin/sh
# %%%{CotEditorXInput=Selection}%%%
# %%%{CotEditorXOutput=ReplaceSelection}%%%

INPUT=`cat - | tee ~/Desktop/INPUT.txt`

echo "<kbd>${INPUT}</kbd>" | tee ~/Desktop/OUTPUT.txt

変換後にDesktop/INPUT.txtDesktop/OUTPUT.txtを開いてみると…UTF-8LFになっていました。CotEditorからスクリプトに処理が渡った時点で文字コードと改行コードの変換が行なわれているということでしょうか。逆に、スクリプトからCotEditorに処理が返った時点でもう一度変換が行なわれているのか…この処理の間にAppleScriptが入った場合におかしなことになる、と。

もうちょっと実験。次のように書いて、処理中の文字コードを変えてやると、どうなるでしょう。…/usr/bin/teeが吐いたファイルの中身は、今度は変換したなりの文字コードのものでした。元ファイルの文字コードとは違うコードへ変換したのですが、文字化けは無し。

#! /bin/sh
# %%%{CotEditorXInput=Selection}%%%
# %%%{CotEditorXOutput=ReplaceSelection}%%%

INPUT=`cat - | /usr/local/bin/lv -Iu8 -Os | tee ~/Desktop/INPUT.txt`

echo "<kbd>${INPUT}</kbd>" | tee ~/Desktop/OUTPUT.txt

さて、AppleScript側にShift-jisで渡せるようになったので、前回のスクリプトを修正して、でわさっそく…やっぱり文字化けしました。うーん…寝るかな。

Meta Infomation of this entry

You can add this Entry to your  はてなブックマーク and Delicious

<<  Page 6 of 35  >>

Le violon intérieur....
Yasuo Yamashita
vaiorinnhiATTOnaDOTrimDOTorjye-pi-
Y.A.S.U.O Ytterbium Artificial Sabotage and Utility Organism Y.A.S.U.O Yelling Abomination from the Sunless Underground Oasis

Pyblosxom and plugins. For detail, see http://viole.sakura.ne.jp/blosxom/blosxom.cgi/plugin_info