2008年3月30日日曜日

顔文字辞書をつかいたい( ゚д゚)

まずは、かなりはまった。。。orz

どこにはまったか。
  1. UTF-8は使えないとのこと
  2. anthyの辞書の形式
  3. 2.に伴う、変換スクリプトの仕様
まぁ、結論から言うと

1.IME用辞書をutf-8に変換する
→これはiconvを使えば余裕
$iconv -f MS932 -t UTF-8 ime_std.txt ime_std_utf8.txt

2.変換した辞書を、anthyの辞書形式にする
ぁぃ (゚Д゚)ノ ァィ 顔文字


ぁぃ #T35*500 (゚Д゚)ノ ァィ

みたいにするわけです。
ちなみに、#T35が品詞(名詞)、500が頻度を表しているっぽい
→この頻度が抜けててうまくいかなかったのだろう。

ちなみに、変換に使用したスクリプトは以下

#usr/lib/ruby -Ke
while line = gets

str = line.split(/\t/)

next unless str[2]
next unless str[2].chop == "顔文字"

print str[0]
print " #T35*500 "
print str[1]
print "\n"

end

これを kao.rb のような名前で保存して、先ほどのutf-8の辞書を変換する

$ruby kao.rb < ime_std_utf8.txt > kao.txt

3.~/.anthyに"private_words_default"としてコピー

$cp kao.txt ~/.anthy/private_words_default
#すでに個人辞書を登録してある場合は、以下でもいいんでない?
$cat kao.txt >> ~/.anthy/private_word_default

これで、scimを再起動するだけで反映される
゚・*:.。..。.:*・゜ヽ( ´∀`)人(´∀` )ノ・゜゚・*:.。..。.:*


てな感じで、Ubuntuでも顔文字使えるようになってうれしいです。

以下反省
  • UTF-8も使えるようになったことに気づけなかった
  • 辞書の形式が変わってたことに気づけなかった
なんで気づいたかというと、実際に個人辞書を登録してみたから。
最初からそうしておけばよかったのに。。。orz

0 件のコメント: