書籍版にはバイナリ形式の辞書しかない。
のでテキスト形式に変換しなければならない。
DiDi Dictionary Viewerの「英辞郎まとめて変換」がいいよ!ということだったが手に入れられない。(閉鎖中?)
そこでまず、こちらのスクリプトを利用させていただきPDICバイナリ形式をPDIC1行テキスト形式に変換した。
実はここでも引っかかった。 sortでエラーが出る。
sort: string comparison failed: Illegal byte sequence
sort: Set LC_ALL='C' to work around the problem.
うーん。で、convert-all.shの10行目
perl ./pdic-dump.pl $f | sort -f | sed -f ./eview.sed > $name.txt
を
perl ./pdic-dump.pl $f | LC_ALL=C sort -f | sed -f ./eview.sed > $name.txt
と変えた。xmlにするんだからほんとはソートはいらないのだろうけど^^;
準備ができたところでいよいよeiji_conv.rbを実行。エラー。
そこでまず、こちらのスクリプトを利用させていただきPDICバイナリ形式をPDIC1行テキスト形式に変換した。
実はここでも引っかかった。 sortでエラーが出る。
sort: string comparison failed: Illegal byte sequence
sort: Set LC_ALL='C' to work around the problem.
うーん。で、convert-all.shの10行目
perl ./pdic-dump.pl $f | sort -f | sed -f ./eview.sed > $name.txt
を
perl ./pdic-dump.pl $f | LC_ALL=C sort -f | sed -f ./eview.sed > $name.txt
と変えた。xmlにするんだからほんとはソートはいらないのだろうけど^^;
準備ができたところでいよいよeiji_conv.rbを実行。エラー。
>ruby eiji_conv.rb MyDictionary.xml
undefined method `pre_match' for nil:NilClass (NoMethodError)
なんてこったい。
Rubyとか初めて見たからよくわからんけど、空のオブジェクトのpre_matchメソッドを実行しようとしているってこと?
ということでeiji_conv.rbを試行錯誤でちょこっといじらせていただき、どこでエラーが出てるかチェック。
Eijiro.txt、eiji_conv.rbについて以下の処理を施した。
それぞれをmiでエイヤと開いて編集しました。
- よくわからんが「π」という文字が含まれているところで止まる。
→テキストの文字コードを最初からUTF-8で保存する。ファイルでかくて時間かかる。
→UTF-8に変換したからeiji_conv.rb中の文字コードの変換処理をしない。eiji_conv.rbの50行目で
line1 = iconv.iconv(line) #Shift_JISからUTF-8へ変換
を
line1 = line1 # 何も変えない
に変えた。何たるやっつけ仕事。 - 「 : 」が含まれていない「■・」から始まるエントリがある。
→例文っぽいから行ごと消す。
No comments:
Post a Comment