skk の辞書(SKK-JISYO.cdb) を自分で作り直す

久し振りにskkを使おうと考えて辞書を作りなおすことにした。

遠い記憶の彼方で、以前にありったけの辞書を合わせて作った気するがすっかり忘れている。 なのでメモを残しておこうと考えた。

今回は以下の辞書を使った。SKK-JISYO.Lは随時アップデートされているようなので、たまに自前の辞書も更新するのが良いだろう。

辞書はhttp://openlab.ring.gr.jp/skk/wiki/wiki.cgi?page=SKK%BC%AD%BD%F1 からダウンロードする:

SKK-JISYO.JIS2      SKK-JISYO.geo            
SKK-JISYO.JIS2004   SKK-JISYO.itaiji         SKK-JISYO.office.zipcode
SKK-JISYO.JIS3_4    SKK-JISYO.itaiji.JIS3_4  SKK-JISYO.propernoun
SKK-JISYO.L         SKK-JISYO.jinmei         SKK-JISYO.station
SKK-JISYO.edict     SKK-JISYO.law            SKK-JISYO.zipcode
SKK-JISYO.fullname  

以前に使ったRakefileがあったので少しだけ手直しして使った。

DICTS = FileList["SKK-JISYO.*"] - FileList["SKK-JISYO.my*"]
MY_DICT = "SKK-JISYO.my"

desc "Create my dictionary"
task :default do
  sh "skkdic-expr2  #{DICTS.join ' + '} | skkdic-sort > #{MY_DICT}" and
    sh "makeskkcdbdic #{MY_DICT} && ls -l #{MY_DICT}*"
end

これを使うと、SKK-JISYO.myとSKK-JISYO.my.cdbが一気に生成される。楽だ。

これをPCのシステムワイドで使えるようにするにはupdate-alternativeに登録する必要がある。

次のようなスクリプトを作ってsudoで実行すれば、update-alternativeの候補に登録される:

(下のコマンドは途中で折り返されているが、実際は2行。)

#!/bin/sh

update-alternatives --install /usr/share/skk/SKK-JISYO.cdb SKK-JISYO.cdb /usr/share/skk/SKK-JISYO.my.cdb 10
update-alternatives --install /usr/share/skk/SKK-JISYO     SKK-JISYO     /usr/share/skk/SKK-JISYO.my     10

あとは

update-alternatives --config SKK-JISYO.cdb
update-alternatives --config SKK-JISYO

を実行して、それぞれSKK-JISYO.my.cdb, SKK-JISYO.myを選択すればOK。