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

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辞書管理」から霞を開いて「保存」を押す。
これをしないとちゃんと反映されない。

以上

コメント