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