OS Xの「辞書」アプリで「英辞郎」を使う
先の記事でも書いたように、Mac OS X v10.5 “Leopard”の「辞書」アプリケーション(辞書.app / Dictionary.app)用の辞書はユーザーが追加できるようになっている。そこで、定番の英和辞書「英辞郎」を変換するツールを作ってみた。英辞郎は、現時点で最新のv108を使用している。
使い方は以下の通り。 ・OS Xのインストールディスクに含まれる開発ツールをインストールする(「Optional Installs」→「Xcode Tools」→「XcodeTools.mpkg」を実行) ・「/Developer/Exmaples/Dictionary Development Kit/project\_templates」フォルダ(OS X 10.7以降は「/Developer/Extras/Dictionary Development Kit/project\_templates」フォルダ)を適当な場所にコピーする **→(※OS X 10.7 Lion以降用のXcodeはMac App Storeから入手する。注意点については、下の2012年6月12日/30日の追記を参照のこと)** ・コピーした「project\_templates」フォルダに、英辞郎の英和辞書データ「EIJI-???.TXT」、略語郎「RYAKU???.TXT」をコピー(英辞郎と略語郎は1つの辞書にした方が使い勝手がよいのでこうしている)。???は英辞郎のバージョンによって異なる ・[ここ](http://www.binword.com/wp/wp-content/uploads/2007/11/eiji_conv009.zip)から「eiji\_conv???.zip」をダウンロードして解凍し、同じく「project\_templates」フォルダにコピーする(同じファイル名は「上書き」) ・「ユーティリティ」フォルダの「ターミナル」アプリケーション(Terminal.app)を起動して、「cd」コマンドで(コピーした)「project\_templates」フォルダに移動する ・ターミナルで、「ruby -Ks ryaku\_conv.rb < RYAKU???.TXT > Ryaku.txt」と入力(略語郎内のリンクを英辞郎の表記に合わせている) ・「ruby -Ks cat.rb EIJI-???.TXT Ryaku.txt > Eijiro.txt」と入力(英辞郎と略語郎のファイルを連結して「Eijiro.txt」というファイルを生成) ・「ruby eiji\_conv.rb < Eijiro.txt > MyDictionary.xml」と入力(2GBのメモリを搭載したMacBook(2GHz)で約20分) ・「make」と入力(同環境で約40分)→**(Snow Leopardの辞書ツールでは、生成される辞書のサイズが小さくなる代わりに作成時間が大幅に伸びた。十数〜数十時間を要することがある)** ・「make install」と入力 ※「ruby eiji\_conv.rb < Eijiro.txt > MyDictionary.xml ; make ; make install」と入力すれば、3つの作業をまとめて実行できる ・「辞書」アプリケーションを立ち上げると、英辞郎(Eijiro)が使えるようになっている。なっていない時は、「環境設定...」で英辞郎にチェックを入れるcontrol+command+Dを押しっぱなしにしていると、マウスカーソル近くの単語を自動認識して辞書を引いてくれるのでとても快適だ。
出来上がったデータはけっこう大きくなる(略語郎こみで1.36GB)。 アップルが提供するツールでは、他の項目とリンクしうる本文内の箇所について自動的にインデックスを作成する模様。このインデックスがかなり大きくなっているようだ。リンクさせたい箇所を明示的に指定すれば、インデックスは小さくなるだろう。ただ、自動的に作ってくれるインデックスの方が使い勝手がよいのではないかと思う。
(2007年11月9日追記) いくつかバグ取りと改良を行った。 ○v0.01→v0.02の変更点 ・品詞が間違って付けられることがあったのを修正 ・<→単語>という形式で飛び先が明示されているものにはリンクを張った ・URLをクリックすると、該当ページにジャンプするようにした ※URLの判別ルーチンは、『Ruby Magic―Rubyで極める正規表現』を参考にしている。
(2007年11月12日追記)
○v0.02→v0.03の変更点 ・空行処理 ○v0.03→v0.04の変更点 ・スタイルの指定(品詞、定義の順、ルビ、文例)
表示が見づらかったので、スタイルシートで体裁を整える。一部行間隔がおかしいところもあるが(スタイルシートって難しい……)、けっこう見やすくなった。 スタイルシートを変えたい場合は、「~/Library/Dictionaries/Eijiro.dictionary/Contents/DefaultStyle.css」を修正すればOK。スタイルシートの修正だけならば、辞書データを再作成する必要はなく、辞書アプリを再起動するだけでいい。
(2007年11月12日追記(続き)) ○v0.04→v0.05の変更点 ・品詞名のついていない項目で、スタイル指定が間違っているのを修正 静的なデータを加工するだけなのに、けっこうバグが出る……。これで問題はなくなったと思いたい。
(2007年11月15日追記) ○v0.05→0.06の変更点 ・名詞の複数形や動詞の過去形など、変化形でも引けるように改良。 ※ただし、熟語になっているものは変化形では引けない。
(2007年11月20日追記) 日本郵便の郵便番号データの変換ツールを公開。詳しくはこちら。
(2007年11月27日追記) ○v0.06→0.07の変更点 ・2通りの変化形に対応。例えば、「evil」の比較級は「eviler」と「eviller」があるが、どちらでも引けるようにした。 ・リンク先が2つ以上ある場合にも、きちんとジャンプできるようにした。 ・辞書名を「Eijiro」から「英辞郎」に変更。
(2008年2月12日追記) EPWINGの辞書を使えるようにしてみた。詳しくはこちら。
(2009年8月31日追記) Snow Leopard付属ツールで辞書データを作成すると、Leopard上で作った場合に比べてサイズが2/3になる。ただし、作成時間も延びているので注意。英辞郎+略語郎のデータを初代MacBookでmakeするのに、22時間を要した。
(2010年5月14日追記) ○v0.07→0.08の変更点 見出しが長すぎる項目があるとエラーが出てしまうことがあった。そこで、見出しが長すぎる(512文字以上)項目はスキップするようにした。
(2011年4月11日追記) ○v0.08→0.09の変更点 ・スタイルシートを一部修正(例文前後の空行など)。 ・解説文中の読みがなの表示/非表示が選択可能に。これを行うためには、eiji_conv009.zipの「extras」内にある「MyDictionary_prefs.html」と「MyDictionary.xsl」を、(コピー済みの)「project_templates」フォルダ→「OtherResources」フォルダにコピーしてから、辞書の変換作業を実行する。変換作業終了後、辞書.appを立ち上げ、「環境設定」から英辞郎を選択して「読みがな」の設定を行う**(読みがなの設定を行わないと、解説文が正常に表示されないことがある)**。 ※スタイルシート修正および読みがな設定は、滝本さんからの情報を元にしています。どうもありがとうございました。
(2012年6月12日追記) Lion用のXcode 4.3にはDictionary Development Kitが含まれていません。 これを入手するためには、まずMac App StoreからXcode 4.3をダウンロード&インストール。Xcode 4.3のアプリケーションメニュー「Open Developer Tool」→「More Developer Tools…」で開発者用のウェブページを開くと、Auxiliary tools for Xcodeをダウンロードすることができ、この中にDictionary Development Kitが入っています。 なお、Auxiliary tools for Xcodeのダウンロードには、Appleの開発者用アカウントを作成する必要があるので注意(無料で作成できます)。
(2012年6月30日追記) 2012年6月12日に追記した内容の補足。 Xcode 4.3以降用のDictionary Development Kitを使う場合、一部修正が必要になります(Hiroさんより情報をいただきました)。
>本サイトからダウンロードできる,「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” >に書き換えます.
コメント