PDIC4J

英辞郎にはテキストファイルのデータとPDIC用の圧縮インデックス付きデータが付いてきます。テキストファイルを grep して使うには英辞郎の辞書は大きすぎる(英和で約95MB)ので pdic 辞書を使いたいのですが、Linux 用の pdic がありません*1。そこで2年ほど前に Java 版の簡易 PDIC - PDIC4J を作りました(コンソールアプリですが)。
http://www.horobi.com/pdic4j/
英辞郎もアップグレードしたし、Eclipse の練習も兼ねてこの PDIC4J をメンテナンス。以前は和英辞書がうまく引けなかったのですが、これは byte 値の大小比較で Java の byte 型が signed なのを考慮しなかったというつまんないミスのせいと判明。バグ fix と用例表示を追加して ver.0.2 に。
Linux英辞郎pdic 辞書を使いたい人はお試しあれ。でも今は Ruby で実装された英辞郎検索ツール rdic というのがあるんですね。。。こちらは pdic 辞書ではなくテキスト辞書を変換したものを使う*2ものですが機能は豊富。用例の表示の仕方も賢いですな。
あれ? pdic英辞郎の用例って複数の用例が一つに繋がっちゃってるような。pdic の辞書構造では用例をリストの形で持てるのに。変換ミスなのかなんなのか。でも pdic 辞書は value が一つだからどっちみち rdic みたいな賢い表示ができる構造にはならないか。うーん。

(追記) rdic 使ってみました。いいわこりゃ。。。検索速度も十分速いし、セレクションの自動検索は便利。唯一困ったのは辞書の変換に時間かかったことくらい(Celeron 600MHz マシンで英和一つ変換するのに15分かかった)だけどこれも最初だけだし。辞書はただのソートしたテキストファイルなんだけどなんでこんなに速いのかと思ったら、ファイルを mmap して無理矢理バイナリサーチしてるのか。。。

*1:unix 汎用版がどこかにありましたがビルドできなかったか何かで使えなかった記憶あり。

*2:テキストファイルを使うと書いてあったのを訂正