Meadowに英辞郎を組み込む

必要なもの

  1. ネットがつなげる環境
  2. 英辞郎を正常にインストールできたマシン。
  3. cygwin(make, nkf, wgetはデフォルトで入っていないので予めインストールしておく)
  4. Meadow
  5. Ruby(cygwinのものでももちろんOK)

1.辞書データの抽出
英辞郎を正常にインストールできたマシンから辞書データをPDIC1行テキスト形式で抽出。

    • 検索ブラウザ「FILE」-「辞書設定 (詳細)」から,辞書の一覧を表示。
    • Eijiro112.dic を選択し,右クリックから「辞書の変換」を選ぶ。
    • 変換先テキストファイル名 (例えば Eijiro112.txt) を指定し,変換先ファイル形式を「PDIC1行テキスト形式」に設定して「OK」をクリック
    • 他の辞書(Waeijirou112.dic, Ryaku112.dic, Reiji112.dic)についても上記の作業を行う

2.Emacs(Meadow)のあるマシンに変換済の辞書データを置く。

3.辞書閲覧ソフトウェアsdicをcygwinにインストール
cygwinにデフォルトでwget、makeはインストールされないので予めインストールしておく(これをやるまで気付かなかった)。

cd ~/tmp
wget -nH -nd http://namazu.org/~tsuchiya/sdic/sdic-2.1.3.tar.gz
tar zxvf sdic-2.1.3.tar.gz
cd sdic-2.1.3
./configure
make
make install

sdic-2.1.3/lispの配下にelファイルができるのでそれをコピー

mkdir /cygdrive/c/meadow/site-lisp/sdic
cp -p ~/tmp/sdic-2.1.3/lisp /cygdrive/c/meadow/site-lisp/sdic


4.辞書データをPDIC形式からSDIC形式に変換
sdicが扱えるように辞書データを変換する。

    • 2009-01-11にあるスクリプトをコピーして、pdic2sdic.rb というファイル名で保存
    • 辞書を変換する。nkfcygwinに入っていないので予めインストールしておく。sdic の辞書は /usr/local/share/dict 下に配置。
cat /home/hoge/eijirou/Eijiro112.txt /home/hoge/eijirou/Ryaku112.txt |nkf -w8 | ruby pdic2sdic.rb > /usr/local/share/dict/eijirou.sdic
nkf -w8 /home/hoge/eijirou/Waeijiro112.txt | ruby pdic2sdic.rb > /usr/local/share/dict/waeijirou.sdic


5.インデックスの作成
辞書データは膨大な量になるので、インデックスを作成して検索を高速に行うのが目的。

    • インデックス作成ツールsufaryのインストール。参照元によると最新版ではなく、2.1.1が最適とのこと。
cd ~/tmp
wget -nH -nd http://nais.to/~yto/tools/sufary/src/sufary-2.1.1.tar.gz
tar zxvf sufary-2.1.1.tar.gz
cd sufary-2.1.1
make
cp -p array/array /usr/local/bin
cp -p mkary/mkary /usr/local/bin
    • インデックスの作成
cd /usr/local/share/dict
mkary eijirou.sdic
mkary waeijirou.sdic


6.Emacs(Meadow)の設定
下記のように設定後、再評価もしくは再起動を行えば使用可能。

;; sdic Eijirou English-Japanese Japanese-English Dictionary
(autoload 'sdic-describe-word "sdic" "sdic search word" t nil)
;; Search word on cursor
(global-set-key "\C-cw" 'sdic-describe-word)
;; English-Japanese Dictionary
(setq sdic-eiwa-dictionary-list
    '((sdicf-client "/usr/local/share/dict/eijirou.sdic" 
						  (strategy array))))
;; Japanese-English Dictionary
(setq sdic-waei-dictionary-list
    '((sdicf-client "/usr/local/share/dict/waeijirou.sdic"
    						  (strategy array))))
      (setq sdic-default-coding-system 'utf-8-unix)

;; add path
(setq exec-path (cons "/usr/local/bin" exec-path))
(setenv "PATH" (concat '"/usr/local/bin:" (getenv "PATH")))


調べたい英語もしくは日本語の上にカーソルを置いて、C-cwとタイプすると
ミニバッファにInput word : という表示があらわれてEnterキーを押すと検索が行われる



思っていた以上に便利であった。エディタで使用しているMeadowとシームレスで使えるところがいい。ワイルドカードも使えるのでダイアログを開かないと全文検索ができないPCICよりも単語を調べる手間が省ける(PDICのデフォルトは先頭一致検索)。