Kozupon.com    
 
 顔文字辞書の変換(IME→Canna)!


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をリスタートする。

以上


 
 
 



Copyright 2005 Kozupon.com.