2009年12月22日
JPerl Advent Calendar Casual Trackに記事を書いたら長年悩んでいた問題が解決したでござるの巻
最近全然Blog更新しておりませんが、今回も単なる告知です。内容はタイトルのとおりです。EmEditorのPerlマクロに関する話です。周りが凄い人ばかりなので、ビビりながら書きました。
http://perl-users.jp/articles/advent-calendar/2009/casual/15.html
ちなみにユニコードを扱う方法が分からなかったのですが、id:xaicronさんがTwitterで話しかけてくださって、見事に解決してくれました。こんな感じ。
use utf8;
use Win32::OLE;
Win32::OLE->Option( CP=>Win32::OLE::CP_UTF8 ); #ここで指定
my $nihao = '你好!统一码';
$Window->OutputBar->writeln($nihao); #flagged utf8を直接渡す
flagged utf8を直接出力に渡すってのはちょっと気持ち悪い感じがしますが、EmEditorマクロの場合はそうしないと文字化けしてしまいます。
まあ、これでutf8が使えるようになり、アウトプットバーに中国語も表示されるようになりました。これでEmEditor上でのTwitterライフがさらに充実します。数日前に、Twitterがクラックされた際に、みんな面白がって、アラビア語をPostしてましたが、それもばっちり読むことが出来ました。
Win32::OLE->Option( CP=>Win32::OLE::CP_UTF8 );
はPerlでExcel等を扱うときなんかによく使うみたいで、いやー勉強になりました。
情報を提供するよりもむしろ情報を提供してもらっちゃいました。Perl Mongersの文化は素晴らしい。てーかAdvent Calendarの方も追記して書き換えておかないといけませんね。
そのxaicronさんが、hacker Trackに寄稿した「Windows環境でUnicodeファイルを扱う」はPerlでUnicodeファイル名を扱うためのモジュールの話で、これも非常に勉強になった。前職で同僚が中国語ファイル名とか作ることが多かったから、これを知っていれば少し楽になった部分もあるなぁとか。
私もPAUSEアカウント申請して、申請も通ったので、来年はPerlモジュールを書いて念願のCPAN Authorになろうと思います。ネタは色々あるので今年中でも良いんですけど。