英辞郎第5版書籍版をmacの辞書として使う

英辞郎の書籍版第5版をmacの辞書として変換すると、三本指タップなどで引けて便利。

http://www.binword.com/blog/archives/000569.html
で配布されているスクリプトを使う。

環境
mac os x 10.8 (mountain lion)
ruby 1.8.7(システムデフォルト)

必要なもの
nkf*1

英辞郎書籍版に同梱されたPDIC Unicode版を使ってPDIC1行テキスト形式に変換したものを使う*2

上の本家サイトそのままの手順では
・辞書ファイルがUnicodeになっている
・辞書ファイルの項目名・定義の区切りの記号が違う
せいでうまくいかない。

手順を記憶とhistoryから再現すると以下。

  • App StoreからXcode 4.4.1をインストール
  • Xcodeを起動し、アプリケーションメニュー「Open Developer Tool」→「More Developer Tools...」で開発者用のページを開き、Auxiliary tools for Xcodeをダウンロードする。開発者用アカウントが必要(無料)。
  • その中のDictionary Development Kit内にproject_templatesフォルダがあるのでこれを適当な場所にコピーする。
  • コピーした「project_templates」フォルダに、英辞郎の英和辞書データ「EIJI-???.TXT」、略語郎「RYAKU???.TXT」をコピー
  • 上の元ページからeiji_conv???.zip ( http://www.binword.com/wp/wp-content/uploads/2007/11/eiji_conv009.zip ) をダウンロード、解凍して先の project_templateフォルダに上書きする
  • ユーティリティ」フォルダの「ターミナル」アプリケーション(Terminal.app)を起動して、「cd」コマンドで(コピーした)「project_templates」フォルダに移動
  • $ ruby -Ku ryaku_conv.rb < RYAKU???.TXT > Ryaku.txt *3
  • $ ruby -Ku cat.rb EIJI-???.TXT Ryaku.txt > Eijiro.txt
  • $ nkf -s Eijiro.txt > Eijiro-sjis.txt
  • eiji_conv中の次を書き換える
iconv = Iconv.new('UTF-8', 'CP932')  #Windowsエンコードを変換するためCP932を指定
(snip)
  temp_word = /^/.match(/\s:\s/.match(line1).pre_match).post_match  #見出しと定義に分割
(snip)
  definition = ...の行

iconv = Iconv.new('UTF-8//IGNORE', 'CP932')  #Windowsエンコードを変換するためCP932を指定
sep=%r!///!
(snip)
  temp_word = sep.match(line1).pre_match  #見出しと定義に分割(snip)
(snip)
  definition =  sep.match(line1).post_match.chomp
  • 上のサイトの注意通りMakefileを書き換える
>本サイトからダウンロードできる,「eiji_conv009.zip」に含まれる「Makefile」をテキストエディットで開き,
>DICT_BUILD_TOOL_DIR	=	“/Developer/Extras/Dictionary Development Kit”
>の記述を,Dictionary Development Kitをインストール(コピー)したディレクトリに書き換えることで,makeコマンドが起動します.
>例えば,Dictionary Development Kitを「アプリケーション」フォルダにインストールした場合,
>DICT_BUILD_TOOL_DIR	=	“/Applications/Dictionary Development Kit”
>に書き換えます.
  • $ ruby eiji_conv.rb< Eijiro-sjis.txt > MyDictionary.xml
  • $ make
  • $ make install
  • "辞書.app"の設定を見ると英辞郎がいるはずなのでチェックを入れて有効にする


僕はやっていないが和英辞郎、例辞郎も変換するときはMakefile, MuInfo.plistの「英辞郎」の部分を書き換えるといいらしい*4

*1:僕はhomebrewで入れた

*2:やり方は多分ググれば出る

*3:多分第5版書籍版データ→PDIC1行形式に変換という場合この手順にあんまり意味はないけど

*4: http://d.hatena.ne.jp/dancing_infobio/20090407/p2