Meadowに英辞郎を組み込む
必要なもの
- ネットがつなげる環境
- 英辞郎を正常にインストールできたマシン。
- cygwin(make, nkf, wgetはデフォルトで入っていないので予めインストールしておく)
- Meadow
- 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 というファイル名で保存
- 辞書を変換する。nkfもcygwinに入っていないので予めインストールしておく。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のデフォルトは先頭一致検索)。