Kozupon.com    
 
 Ubuntu Anthy顔文字辞書の登録!


メールするときに、意外と使いたくなるのが顔文字である。無ければ無いでいいのだが、有れば有るで使いたくなる不思議な文字だ。Windows系では、IME、ATOKにしても辞書の一括変換で顔文字が登録できる。しかし、Linux系のかな漢字変換では、そうはいかない。したがって、そこいら辺の辞書登録の仕方のコツを説明したい。


1.IME顔文字辞書を用意する

例えば、
■ orangev31(Vectorに有る)のlist.txt
■ kao2000.txt(Vectorに有る)
など。

今回は、このテキストファイル二つを使う。


2.Anthy顔文字コンバータ face-dic-conv.pl を作る

mity@wiresplit:~$ cd tmp/

mity@wiresplit:~/tmp$ vi face-dic-conv.pl
#!/usr/bin/perl

while(<>) {
@str = split(/\t/);
print join(' ',$str[0],'#KJ*500',$str[1]),"\n";
}

これを保存してから、パーミッションを実行権付きで、
mity@wiresplit:~/tmp$ chmod 755 face-dic-conv.pl


3.UTF8形式にコンバートする

mity@wiresplit:~/tmp$ nkf -w8 list.txt | ./face-dic-conv.pl >> list.utf8.txt

mity@wiresplit:~/tmp$ nkf -w8 kao2000.txt | ./face-dic-conv.pl >> kao2000.utf8.txt

mity@wiresplit:~/tmp$ cp kao2000.utf8.txt anthy_private.txt

mity@wiresplit:~/tmp$ env LC_ALL=C sort anthy_private.txt > ../.anthy/private_words_default


4.もう一つの方法(辞書を連結してソートする)

複数の顔文字辞書を連結して使いたい場合は、以下の方法が良いかも知れない。
list1.txtとlist2.txtとlist3.txtが有るとする、これを全て連結して使いたい場合。ただし、IME→Canna変換を Rubyのプログラム(kao.rb) を使うので ここ を参考にして欲しい。

mity@wiresplit:~/tmp$ cat list1.txt | nkf -w > list1.utf8.txt
mity@wiresplit:~/tmp$ cat list2.txt | nkf -w > list2.utf8.txt
mity@wiresplit:~/tmp$ cat list3.txt | nkf -w > list3.utf8.txt
mity@wiresplit:~/tmp$ ruby -Ku kao.rb < list1.utf8.txt > list1.canna.txt
mity@wiresplit:~/tmp$ ruby -Ku kao.rb < list2.utf8.txt > list2.canna.txt
mity@wiresplit:~/tmp$ ruby -Ku kao.rb < list3.utf8.txt > list3.canna.txt
mity@wiresplit:~/tmp$ cat list1.canna.txt > anthy_private.txt
mity@wiresplit:~/tmp$ cat list2.canna.txt >> anthy_private.txt
mity@wiresplit:~/tmp$ cat list3.canna.txt >> anthy_private.txt
mity@wiresplit:~/tmp$ env LC_ALL=C sort anthy_private.txt > private_words_default
mity@wiresplit:~/tmp$ cp private_words_default ../.anthy/


5.Anthy辞書に保存する

最後に「システム」→「設定」→「anthy辞書管理」から霞を開いて「保存」を押す。
これをしないとちゃんと反映されない。

以上


 
 
 



Copyright 2010 Kozupon.com.