kakasiを使って漢字をローマ字に変換
kakasiを使って漢字をローマ字に変換してみた。
インストールはmacportsにて簡単にすませた.
以下のサイトによると、「文字列の文字コードをnkfで一度EUC-JPに変換してから、kakasiで文字列を変換するのがミソらしい。」ってことみたい。
http://side-b.sto.co.jp/weblog/archives/430
まずは基本形。
$ echo 猫の手も借りたい | nkf -e | kakasi -Ja | kakasi -Ha | nkf -w
でもこれではカタカナと記号が変換されないので、 -Ka -Eaを追加し全てがアスキー文字になるはずなので最後のnkf -wも除去。
$ echo 猫の手も借りたいシステム | nkf -e | kakasi -Ja -Ha -Ka -Ea
フォルダ内の全てのtxtファイルを全て変換してutf8として保存します。ただし、中間作業ファイルとしてtmp.eucを作っています。
$ for i in *.txt; do nkf -eO "$i" "tmp.euc"; kakasi -Ja -Ha -Ka -Ea < "tmp.euc" > "${i%%.txt}.utf8"; done
こっちは中間ファイルを作らない方法。
$ for i in *.txt; do nkf -e "$i" | kakasi -Ja -Ha -Ka -Ea > "${i%%.txt}.utf8"; done
デフォルトのヘボン式でのローマ字変換では文字長が長くなるので、訓令式にて出力。
$ for i in *.txt; do nkf -e "$i" | kakasi -Ja -Ha -Ka -Ea -rkunrei > "${i%%.txt}.utf8"; done
ちなみに「ローマ字のヘボン式、日本式、訓令式の主な違い」については以下を参照。
http://www.tcct.zaq.ne.jp/nitta/monolog/028/hep_kun_jap.html