-

英辞郎(第三版)を、英辞郎ビューア/EIJIRO MiniとEmacsで使う

英辞郎第三版 (<CDーROM>(HY版))

英辞郎は何年か前に話題になって、今でもたまに名前を見るので気にはなっていたのですが、先週買ってみました。2500円。
Mac OS X に導入するわけですが、まずorzな点がでてきた。

  1. インストーラでインストールすると、なぜか「デスクトップ」に決めうちでフォルダが作られて、そこにアプリと辞書がインストールされる(予想外)
  2. 付属のMac用検索アプリ(PDIC Viewer)はIntel Macでは力不足

1はこれでまず面食らった。
2は、作者の人も「Universal化されていないからバンドリングは不本意」とおっしゃっていますが(このエントリの追記のところ)、もっさりなのに加え、検索欄に日本語が直接入れられない(on the spotではなく、確定前に別窓で入力中の文字が出る)、スクロールバーが狂う、などの症状が出ました。ちょっと常用は厳しい。

もともとEmacsでは使う気だったけど、検索アプリもあってもいいので、「英辞郎ビューア」と「EIJIRO mini」を導入。Emacsでも使います。

英辞郎ビューア・EIJIRO mini

英辞郎ビューア」用には、PDIC Viewer作者のid:NaoyaTさんの変換スクリプトでテキスト形式に変換することでうまくいきました。テキスト形式の辞書には2種類あるらしく、NaoyaTさんのエントリが2つあります。

英辞郎ビューアに読ませられる形式に変換するには、後者のほうの変換が必要です。(説明はリンク先を参照。)
変換したら、英辞郎ビューア、EIJIRO miniの環境設定で変換後のテキストファイルを指定。

アプリはどちらも見た目がきれいで、動作もさくさくでとても快適です。下のスクリーンショットEIJIRO mini。

Emacs

調べた結果Emacs上ではsdicという検索ツールで検索するようにしました。sdicで検索できるようにするためには、次のステップが必要です。

  1. CDに入っているPDICというバイナリの形式を(中間形式である)テキスト形式に変換(英辞郎ビューア用には変換済み)
  2. テキスト形式の辞書をsdicの形式に変換
  3. sdicをEmacsにインストールして辞書を指定

sdic 用の辞書ファイルを作る中間形式のテキストファイルは、上記英辞郎ビューア用の変換で言及した2つのリンクのように 1.「PDIC1行テキスト形式」と 2.「英辞郎ビューアで使用できる形式」があるらしい(正式名称は知らない)。どちらの形式からsdicに変換すればいいのかが不明なので、両方試した。
結果、2つめの、英辞郎ビューアで使っているテキスト辞書をsdicに変換するのが正解。

検索した画面はこんな感じになりました。

(「PDIC1行テキスト形式」への変換の説明で、「英辞郎ビューアではさらに変換が必要です」ということだったので、1つめのリンクのほうからsdic形式に変換を試したらハズレでした。こちらからsdicを作ると、見出し語の切り分けができず(デリミタが違うようだ)、実際に sdic で検索したときに結果が変になります。全文が「見出し」になってしまう。「Emacs から英辞郎を使う — ありえるえりあ」では、スクリーンショットを見る限り前者を使っているみたいです。トラックバックしておこう。)

以下手順です。

sdic 辞書を作る

英辞郎ビューアが読める形式のテキスト形式辞書を、sdic形式に変換する。英和と和英。

nkf -SXe eijiro98.txt | perl ~/src/sdic-2.1.3/contrib/eijirou.perl > eijiro98.sdic
nkf -SXe waeiji98.txt | perl ~/src/sdic-2.1.3/contrib/eijirou.perl > waeiji98.sdic

できた*.sdicファイルを /usr/local/share/dict/ に移動。

うちの環境では、nkfは、Finkで入れていたものが使われました。nkf がなければ、代わりに perl -MEncode -pe 'Encode::from_to($_, "shiftjis", "eucjp")' でも同じでした。

sdic インストール
./configure --with-emacs=/Applications/Emacs.app/Contents/MacOS/bin/emacs
make
sudo make install
  • Carbon Emacs Package を使っているのでそれをemacsとして指定
  • インストール先(--with-lispdir)を指定しないと /usr/local/share/emacs 以下に入るので、それでよしとする(もちろん load-path には入れる)
  • --with-dictdir, --with-eijirou, --with-waeijirou を指定できるけど、手動の方が楽のように思えたので make 頼みにしない。辞書のパスは .emacs で指定すれば動くので。
  • make dict などは上のステップで手動でやったのでしません。
.emacs
(autoload 'sdic-describe-word "sdic" nil t nil)
(global-set-key "\C-cd" 'sdic-describe-word)
(autoload 'sdic-describe-word-at-point "sdic" nil t nil)
(global-set-key "\C-cD" 'sdic-describe-word-at-point)
(setq sdic-eiwa-dictionary-list '((sdicf-client "/usr/local/share/dict/eijiro98.sdic"))
      sdic-waei-dictionary-list '((sdicf-client "/usr/local/share/dict/waeiji98.sdic"
                                                (add-keys-to-headword t))))

Webで検索するとキーが C-c w の例が多いですが、自分の環境では windows.el の設定とかぶったので C-c d にしました。

この状態のままでは検索が遅いです。sufary あるいは sary を使うことで解決できるらしい。これについては

を実施。Macでは、Finkにsaryパッケージがありました。

また、.emacs をいろいろな環境(saryのパスがいろいろ)で使い回したいので、sdicf-array-commandの設定を下記のようにしたりなど。

(setq sdicf-array-command
      (find-if 'file-exists-p '("/usr/local/bin/sary" "/sw/bin/sary" "/usr/bin/sary")))

Spotlightで注意

辞書をテキスト形式に変換すると巨大な.txtなファイルを作るので、これがMacのSpotlightのクローラに見つかって、激しくCPUを使い出しました。あらかじめシステム環境設定→Spotlightの、「プライバシー」から辞書ファイルを置くフォルダを除外する方がよいと思います。あと、テキスト辞書を作るとき.txtという拡張子にしない、という手もありそう。

英辞郎辞書の形式って

こういう書籍につける辞書としては、PDICという形式が最適なのかいまいち不明。それと、第3版から入った僕みたいな人には、なんでこんなに変換が必要なのかが不明でした。

  • 英辞郎ビューア」のようなソフトウェアがあるということは、英辞郎第2版までは英辞郎ビューアが素で読めるテキスト辞書が同梱されていた?第三版で何故やめたのか?
  • ダウンロード購入できるテキスト形式(後で知った)は、この形式?

まとめ

  • Intel Macでは「英辞郎第3版」付属のアプリ(PDIC Viewer)だけで使うのは厳しい
  • 英辞郎ビューア」「EIJIRO mini」で検索するにはこのエントリの方法でテキスト形式に変換する
  • Emacs + sdicで検索するには、上の方法で「英辞郎ビューア」用に変換したテキスト形式辞書をsdic形式に変換する
  • 辞書がSpotlightの検索対象にならないように注意する

これだけで数時間は使っています。英辞郎に関するブログエントリが多い理由が分かりました。Spotlightの件でMacBookのファンをずっとブン回したりして苦労したし。有用な辞書なだけに、いろいろもうちょっと楽にできるようになるといいのに、というのが感想。