sdic を利用し Emacs から英辞郎の辞書を引く

背景

技術書などの英文を読む場合は 英辞郎 on the Web を利用している。辞書の内容には満足で不満はない。ただオフラインで使えない事ので困っていた。
例えば、集中したいがためにわざとオフラインのカフェなどに行って作業をするときなどに困る。辞書を引いているはずが別のサイトに移動して時間が過ぎるなんてこともある。
これらの問題を回避するために Emacs から辞書を引ける sdic + 英辞郎 を利用する。

英辞郎 - 辞書変換

この作業は、ダウンロード版の英辞郎では必要ない。書籍版の英辞郎 第四版に必要な作業。

  1. CD-ROM からインストールする
  2. インストールされた PDIC Unicode for EIJIRO IV を起動
  3. File - 辞書設定(詳細) を開く
  4. Eijiro112.dic を選択し右クリックでメニュー - 辞書の変換
  5. 変換先の辞書を Eijiro112.txt 、変換先ファイル形式を PDIC1行テキスト形式にする
  6. OK ボタン押下
  7. Eijiro112.txt ができる
  8. 他の3つの辞書に対しても同様の変換を行う

sdic インストール

wget http://namazu.org/~tsuchiya/sdic/sdic-2.1.3.tar.gz
tar zvxf sdic-2.1.3.tar.gz
cd sdic-2.1.3
./configure
make
sudo make install

make dic は行わない

sdic 辞書作成

nkf のインストール

sudo apt-get install nkf

えいるっきさんから ruby で書かれた変換スクリプトを入手。

% cat ~/eijirou/Eijiro112.txt ~/eijirou/Ryaku112.txt | nkf -w8 | \
sudo ruby pdic1line2sdic.rb > /usr/local/share/dict/eijirou.sdic

% nkf -w8 ~/eijirou/Waeiji112.txt| sudo ruby pdic1line2sdic.rb > /usr/local/share/dict/waeijirou.sdic 

emacs の設定

(setq load-path (cons "/usr/local/share/emacs/site-lisp" load-path))
(autoload 'sdic-describe-word "sdic" "英単語の意味を調べる" t nil)
(global-set-key "\C-cw" 'sdic-describe-word)
(autoload 'sdic-describe-word-at-point "sdic" "カーソルの位置の英単語の意味を調べる" t nil)
(global-set-key "\C-cW" 'sdic-describe-word-at-point)

(setq sdic-eiwa-dictionary-list
      '((sdicf-client "/usr/local/share/dict/eijirou.sdic")))
(setq sdic-waei-dictionary-list
      '((sdicf-client "/usr/local/share/dict/waeijirou.sdic")))
(setq sdic-default-coding-system 'utf-8-unix)