2022年8月、ホームページを全面リニューアルしました! 情報を分かりやすくお伝えできるサイト作りを目指してまいります。

顔文字辞書の変換(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をリスタートする。

以上

コメント