Leopardの「辞書」アプリで「ランダムハウス英語辞典」を使う
BASEPATH = c:\srdtmp\ OUTPATH = c:\srd\ DICPATH = c:\Program Files\小学館\ランダムハウス英語辞典\ DATAPATH = c:\Program Files\小学館\ランダムハウス英語辞典\ SORTCMD = c:\Windows\System32\sort.exe MACINTOSH = 0 FIGURE = 1 JPEG = 1 SOUND = 0 GENSOUND = 0 COMPLEX = 0 QUICKJUMP = 0 QJITEMS = 3 QJLINES = 30 QUICKRET = 1 ITALIC = 0 PRONSYM = SPEAKER JUMPSYM = BIPOD ARROWSYM = JUMP RETSYM = RETURN
これで、srd2html.exeを実行すればsrd.htmlが生成される。また、figフォルダにはBMPの画像ファイルがコピーされるので、これを適当なツールでJPEG形式に変換しておく。
○生成されたHTMLを修正する
私の手元にあるランダムハウス英語辞典は、どうもデータにバグがあるようで、そのままではエラーが出てしまう。そこで、適当なテキストエディタを使ってsrd.htmlを修正する。修正内容は以下の通り。
・Avalementの項目の文字化け Avalementの項目(ID=“1190300”)に文字化けがある。「屈曲によってスキーが」という文章に修正。 ・adsuki beanの重複 adsuki beanという項目が重複している。ID=“224900”の方は文章量の少ない項目(ID=“239400”を参照している方)を残し、ID=“239400”の方は文章量の多い項目を残す。 ・その他の重複項目 その他にもいくつかの重複項目がある。 IDを列挙すると、 353200, 393700, 1076900, 1077000, 1077100, 1121500, 1225000, 1396900, 1885200, 1904900, 1914600, 2088900, 2101900, 2106100, 2108500, 2365200, 2452600, 2536200, 2536600, 2717300, 3121300, 3167800, 3265100, 4445800, 5760300, 5861700, 5873700, 5959500, 6897700, 6907700, 7160400, 7193700, 7194400, 7286000, 7298600, 7625900, 7679100, 7696200, 7789200, 7792900, 8064000, 8211700, 8229600, 8257300, 8501900, 9015400, 9047000, 9051400, 9199600, 9318000, 9327700, 9336700, 9338000, 9338700, 9350700, 9351200, 9351400, 9370200, 9443000, 9466600, 9549300, 9553900, 9746700, 10118300, 10661800, 10781200, 11034200, 11085300, 11321500, 11414300, 11414400, 11582200, 11600800, 11608200, 11853900, 11854400, 11856600, 11858300, 11858400, 11858500, 11860000, 12068100, 12214700, 12216400, 12585600, 12596500, 12596600, 13562000, 14796100, 14821200, 15057600, 15098200, 15157400, 15163100, 15205800, 15243200, 15251400, 15288700, 15560100, 15654900, 15841300, 15841400, 15848500, 15877300, 15877400, 16102800, 16110300, 16125800, 16402500, 16403100, 16465100, 16465200, 16465300, 16465400, 16465500, 16465800, 16466000, 16466100, 16466400, 17115600, 17138800, 17231400, 17435800, 17543200, 17919100, 17928100, 17934200, 17936600, 17936700, 17936800, 17960800, 18293800, 18403900, 18432400, 18440900, 18795400, 19176600, 19441700, 19639100, 19763300, 19789700, 19807900, 19827700, 19852500, 19856600, 19879300, 19879700 ……勘弁してください。どうも「kimono」とか「harakiri」など、日本語由来の単語に問題があるようだ。重複しているIDの項目を削除する(実は、同じIDでも内容が微妙に異なる。片方は説明が詳しく、片方は出典が書かれているという具合。気になる人は適宜編集してほしい)。
○Xcodeをインストールする ここからはMac上での作業になる。 ・英辞郎の場合と同じく、Mac OS X用の開発ツール「Xcode」をインストールする(Leopardのインストールディスクの「Optional Installs」→「Xcode Tools」→「XcodeTools.mpkg」を実行) ・「/Developer/Exmaples/Dictionary Development Kit/project_templates」フォルダを適当な場所にコピーする
○変換用のスクリプトを準備・実行
・ここから、変換用のスクリプトをダウンロードして、(コピーした)「project_templates」フォルダに解凍する(同じファイル名は上書き) ・生成したsrd.htmlも、同じく「project_templates」フォルダにコピーする ・画像の含まれる「fig」フォルダは、「project_templates」内の「OtherResources」フォルダにコピーする。 ・「ユーティリティ」フォルダの「ターミナル」アプリケーション(Terminal.app)を起動して、「cd」コマンドで(コピーした)「project_templates」フォルダに移動する ・ターミナルで、「ruby srd_conv.rb < srd.html | ruby gaiji_rep.rb srd.lst | ruby ucs4_to_utf8.rb > MyDictionary.xml ; make ; make install」と入力。 ・「辞書」アプリケーション(Dictionary.app)を立ち上げると、ランダムハウス英語辞典(SRD)が使えるようになっているはず。
○発音記号もコピー&ペーストできる オリジナルのランダムハウス英語辞典では、発音記号などをすべて外字によって表現していた。そのため、説明文を別のアプリケーションにコピーしても、文字化けしてしまう(Jammingを使った場合でも同じ)。 Dictionary.app用に変換したデータでは、これらをUnicodeの文字で表示しているので、見たとおりの状態でコピー&ペーストできる。この変換テーブル(srd.lst)は、私が近い形を探して作ったので、間違いがあるかも。手書き文字のように、Unicodeではどうしても表現しきれなかったものもいくつかある。
○日本語のキーワードからも引ける ランダムハウス英語辞典には、日本語の検索インデックスも用意されている。和英辞典ほどではないが、結構便利である。
コメント