振り仮名をカタカナでふらせるな

という指摘をいただいて、その通りだと思います(追記:と、思ったんですが、やっぱりカタカナにしないと駄目なこともありそうです)

以下、ひらがな・カタカナ関係のメモ。

ひらがな・カタカナにマッチする正規表現。必要に応じて「ゞ」や「ー」を追加する。

Perlで変換。ひらがなかどうかチェック済みならこんな感じで変換できる。EUC

#! /usr/bin/perl

my $str = "あいうえおがぎぐげごぱぴぷぺぽまみむめもやゆよゃゅょわをん";
my $ret = "";
for (my $i = 0; $i < length($str); $i+=2) {
  my @c = unpack("x$i cc", $str);     # 2バイトずつコードを取得
  $ret .= pack("cc", $c[0]+1, $c[1]); # 先頭バイトに1を足して、文字に戻す。
}
print $ret;

PHPで変換。以前はそれ専用の関数があった気がします。えーと、これ。いまはどうなってるんでしょうね。

Javaで検出。ここらへんを応用するのがスマートな感じ。これも「ゞ」「ー」等のチェックが必要。

Javaで変換。差分を足せばいいかなー。引くときは「ヴ」に注意。

char a = 'あ';
System.out.println(a); // あ
a += 96;
System.out.println(a); // ア
  • tr/ぁ-ん/ァ-ン/とする方法はなかったか。

XSLTでの変換。

  • translate($str, 'ぁあぃいぅうぇえぉおかきく...', 'ァアィイゥウェエォオカキク...')

あるいは可能なら拡張機能を使うといいかも。Xalanでのやり方は、これ。

変換せずに済むなら、それがベスト。