英辞郎をMountain lionのDictionary.appで使う

ここの記事を参考に。
http://rakkyoo.net/?p=828

(1)Infopotで英辞郎のデータを購入 ダウンロード
(2)Dictionary development kitをApp dev centerからダウンロード
https://sites.google.com/site/casualconcj/yutiriti-puroguramu/userdictionary_maker
/Developer/Extras/Dictionary Development Kit/ においといた
(3)作業フォルダを確保

$ mkdir ~/temp
$ cp -r /Developer/Extras/Dictionary Development Kit/project_templates ~/temp/

(4)project_templateフォルダにrubyコンバートファイルをコピーしとく
コンバートファイルの入手先
http://www.binword.com/wp/wp-content/uploads/2007/11/eiji_conv009.zip
同名ファイルは上書き保存
(5)ryaku_conv.rbを編集

require jcode

を、

require jcode if RUBY_VERSION < '1.9'

に変更
(6)Ryaku.txtの作成

$ ruby -Ks ryaku_conv.rb < RYAKU135.TXT > Ryaku.txt

(7)英辞郎と略字郎のファイルを結合

$ ruby -Ks cat.rb EIJI-135.TXT Ryaku.txt > Eijiro.txt

(8)XMLファイルを作成

$ rm MyDictionary.xml
$ ruby eiji_conv.rb < Eijiro.txt > MyDictionary.xml

ここでinvalid multibyteなんたらみたいなエラーが出たので

# coding: utf-8 

を先頭行に追加。
すると、

while line=gets
 next if line.strip.empty? //空行確認

のところでstrip関数が走らないとのエラーが出てる。
めんどくさいのでEijiro.txtをUTF8に変換

$ nkf -w Eijiro.txt > Eijiro_u.txt
$ mv Eijiro.txt __Eijiro.txt
$ mv Eijiro_u.txt Eijiro.txt

そしてeiji_conv.rbの48行目、iconvのところをちょっといじる。
(変更前)

iconv = Iconv.new('UTF-8','CP932')

(変更後)

iconv = Iconv.new('UTF-8','UTF-8')

(9)インストールする

make ; make install

ほんとにピッタリ10時間かかった。


3本指タップを使うとSafari上で英辞郎がすぐに呼び出せる。

#mountain lionでは英辞郎を明示的に選択しないといけないこともある?
#http://rakkyoo.net/?p=1166