dbskkd-cdbでSKKの巨大辞書を使う
dbskkd-cdbは超高速で動くため、ギガヘルツ時代のマシンではSKK-JISYO.Lじゃもったいない。SKK辞書 - SKK辞書Wikiにあるほぼすべての辞書をとってきて、統合してしまいたい。まず、そこにある辞書をダウンロードしまくる。
俺は /r/skk (= ~/skk) にSKKの辞書を置いている。自分用の巨大辞書 SKK-JISYO.my.cdb を作成するためのRakefileを ~/skk/ に置く。辞書はすべて SKK-JISYO.* になっているのが前提だ。
LARGE_DICT = "/usr/share/skk/SKK-JISYO.L" DICTS = FileList["SKK-JISYO.*"] - FileList["SKK-JISYO.my*"] MY_DICT = "SKK-JISYO.my" desc "Create my dictionary" task :default do sh "skkdic-expr2 #{LARGE_DICT} + #{DICTS.join ' + '} > #{MY_DICT}" and sh "makeskkcdbdic #{MY_DICT} && ls -l #{MY_DICT}*" end
そこで rake 一発で SKK-JISYO.my と SKK-JISYO.my.cdb ができあがる。
今度はdbskkd-cdbを使うためにインストールしたのだが、なんと、読み込む辞書が /usr/share/skk/SKK-JISYO.L にhardcodingされていることが判明した!
だからせっかく巨大辞書を作成しても、追加されたエントリを読んでくれない。
しょうがないからソースをとってきて、debian/rulesの /usr/share/skk/SKK-JISYO.L.cdb を /r/skk/SKK-JISYO.my.cdb に書き換える。
apt-get source dbskkd-cdb sudo apt-get build-dep dbskkd-cdb cd dbskkd-cdb-1.01 gnuclient ~/compile/dbskkd-cdb-1.01/debian/rules dpkg-buildpackage -rfakeroot -us -uc sudo dpkg -i ../dbskkd-cdb_1.01-20_i386.deb
でしゅーりょー。