Anthyで顔文字一括登録(3)

2010-03-04

Anthyで顔文字一括登録(3)

顔文字との格闘3日目。 以下のようなシェルスクリプトを書いて、霞辞書形式でファイルを作成

1
2
3
4
5
6
7
8
#!/bin/bash
IFS=$'\t'
while read f1 f2 f3; do
if expr "${f1}" : "^[ぁ-んー]*$" >/dev/null; then
result="${f1} #T35*500 ${f2}"
echo $result;
fi
done < $1

そして、$HOME/.anthy/private_words_default を置き換えてみたが・・・・上手く変換されない。 理由をググる。どうも、霞の辞書ファイルは五十音にちゃんとソートされてないと認識されないようだ。 無理だとは思うが、sortを試してみる。

1
2
$ sort private_words_default > sorted
$ mv sorted private_words_default

「あ」、「ああ」とかは変換されるようになった!! でも、「ごるぁ」とかダメ。さらに深く調査を進めると 霞の語順が以下の通りであることが判明 1. 五十音順 2. 小文字「っ」等は、大文字「つ」より前 3. 長音は、どの文字よりもソート順が低い 4. 清音、濁音、半濁音の順番 Linuxのsortでは、UTF8の文字コードでソートしているためか、 上記の3が、どの文字よりもソート順が早くなっている模様。 シェルスクリプトはあんまり得意じゃないので、ソートのアルゴリズムを書くのがめんどい・・・。 何か他に、手段がないか探す・・・。 すると、Anthyの公式サイトにコマンドラインから辞書を一括登録する方法があることを発見。 闘いは続く・・・