漢字にふりがなを付与するルビ振りツールを公開

こども向けのサイトを作るときに考えなければならない要件の1つに、対象レベルをどこにあわせて漢字をどの程度使うか?ってのがあります。

あまりに平仮名ばかりだと逆に読みづらくなるため、ある程度漢字を使ってルビを振って対応することがあります。もっともブラウザによって見た目が結構異なるんですが、こども向けと考えると、ほぼ100%に近い確率で ie アクセスとなります。とすると、すなおにルビタグを用いるのがスマートです。

・・・なんて要件で、ここ最近苦労した覚えがあるので、次回から楽ができるようにツールを作りました。入力文字はなんでも良いのですが、html ソースを入力すると、ルビを振った html が出力される。そんなツールです。

- スポンサーリンク -

開発当初は Mecab で形態素解析をしてルビを振っていたのですが、よく考えたら Yahoo! Web API でルビを付与するサービスがあったのを思い出しました。「Yahoo!デベロッパーネットワーク - テキスト解析 - ルビ振り」 このサービスは Yahoo! アプリケーション ID の取得が必要ですが、24時間以内で1つのアプリケーション ID につき 50000 件のリクエストを上限として利用が可能です。ツール用途であれば十分すぎる制限です。

ふりがな(ルビ)振りツール :: http://www.drk7.jp/pub/tools/YahooRuby/index.cgi

img001.png

ちなみに一番苦労したのは、XML::Simple を使ってレスポンスの XML を解析させると、どうにも途中から文字化けしてしまう点でした。文字化けの切り分けで無駄に時間を食ってしまいました。

$XML::Simple::PREFERRED_PARSER = 'XML::Parser';

と XML パーサーを切り替えてあげたら、すんなりと文字化けはなくなりましたとさ。あーあと、制御コード系(\x01 - \x1F)が CDATA で返却されるんだけど、XML Parser を通るとその辺のデータがなくなってしまうのも若干困りました。一応その辺も対処したつもりですが、あんましテストしてません。

気が変わらなければ、近いうちにリバースプロキシ版の変換サービスも作ろうかと思ってます。

- スポンサーリンク -