MS-IME形式の顔文字辞書をCanna形式に変換できるRubyのスクリプトを ここ で発見。これを使ってIME→Cannaに変換してCannaで顔文字辞書を使えるようにしてみたい。
1.辞書変換用スクリプトのソース(ただし、これに関しては kodou.netさん のネタを使わせていただいた。kodou.netさんありがとうございますm(_ _)m)
# vi kao.rb
#!/usr/bin/ruby -Ke
require ‘kconv’
while line = gets
str = line.split(/\t/)
next unless str[2]
next unless str[2].toeuc.chop == “顔文字”
print str[0].toeuc
print ” #T35 “
puts str[1].toeuc.gsub(/ /, “\\ “)
end
保存時の文字エンコーディングはEUC-JPでなければならない事に注意。
kao.rbはコンソール入力からMS-IME形式の辞書を読みこんで、コンソール出力へCanna形式の辞書を出力する。下記の使用例では、kaomoji.txtからMS-IME形式の辞書を読みこんで、kaomoji.tへと書きだしている。
# ruby kao.rb < kaomoji.txt > kaomoji.t
2.顔文字辞書登録
kaomoji.t をcannaの辞書ディレクトリにコピーする。
# cp kaomoji.t /var/lib/canna/dic/canna/
# vi /var/lib/canna/dic/canna/dics.dir
省略kaomoji.t(.mwd) -kaomoji– ←追加する
省略
ホームディレクトリの .canna の use-dictionary に “kaomoji” を付け加える。私の場合は .cannaが存在しなかったの/usr/lib/canna/sample/unix.canna を.cannaとしてコピーする。
$ vi ~/.canna
省略
“kaomoji” ←追加する
省略
Cannaサーバを再起動する。
# /etc/init.d/canna stop
# /etc/init.d/canna start
.cannaを反映させるため、Xをリスタートする。
以上
コメント