MS IME用の2ch顔文字辞書をanthyで使う

c⌒っ゜д゜)っφ メモメモ...
某所でMS IME用の2ch顔文字辞書が配布されているのですが、これをanthyで使いたかったということですね。コードはこれです。
ちなみに、これの前はなんとなくglibが使いたかったのでglibとcで書いてましたw 今回はrubyを勉強しようということでrubyで書き換えを行ってますw

使い方は顔文字辞書をダウンロードしてきてlhaで展開したら、こんな感じで1番目の引数に顔文字辞書のパスを渡してください。

$ ./ime2anthy.rb ~/Downloads/ime_std/ime_std.txt  

引数が1個(ファイル名)だけだった場合は、既存の登録内容を消して新規に辞書登録します。何でも良いので引数が2個あったら既存の辞書に追加します、テストしてないのでアレですがきっと追加すると思います…

やっていることを簡単にめもっておくと、

  1. 顔文字辞書を一行ずつ読みながら文字コードをSJIS->utf-8に変換して配列に入れてメモリに持っておく
  2. 元のデータはtab区切りなのでsplitメソッドで配列にする(あとで使いやすいように)
  3. 配列の先頭要素が読み仮名の部分なので、ここはひらがなのみを使うように変換する(anthyは読み仮名にはひらがな以外使えないのです)
  4. anthyの辞書形式で配列のデータをファイルに書き出し
  5. anthy-dict-toolでさっき作ったファイルを読み込ませて辞書登録