Friday,August 26

漢字によみがなをうつ【前編】 (2 photos)

1年ほどむかし、ウェブページにある漢字によみがなを表示できる機能を搭載しました。
じつは、ウェブページにある漢字によみがなを表示するのは、ちょっとややこしいんです。

まず、スタジオムーンリーフではHTMLで漢字によみがなをうつ方法としてrubyタグを使用しています。
といっても、HTMLを知らない人にはなんのことやらわかりませんよね。

つまりウェブページで「漢字」という文字によみがなをうつためには、画像のようなややこしいコーディングをしないといけないのです。

漢字によみがなをうつ【前編】_sb_01.jpg


ruby、rp、rtという3つのタグ記号を使ってようやく「漢字」に「かんじ」というよみがなが表示されます。

短い熟語のひとつやふたつなら手入力でもやろうと思えばできますが、ブログやニュース記事のような長い文章となると、とても追いつきません。

このコーディングをなんとかラクにする方法はないかと考えました。

そのひとつめに考えたのが、国語辞典や漢和辞典のような辞書データを使って、プログラムで漢字によみがなをあてる「全自動方式」でした。

はい、無理です。

国語辞典や漢和辞典のデータは膨大です。
漢字の読みかたは送り仮名などの前後で使われている文字で決まってきますし、地名や人名といった特殊な読みかたをする固有名詞もふくめて考えると、音読みと訓読みだけでは読みかたを決めることができません。
開発コストと、維持コストもばかにならないので即却下となりました。

ふたつめに考えたことが、後に実装となった「半自動方式」です。

まず「入力する文字列の漢字には必ずよみがなをつける」という決まりごとをつくり、漢字の後ろに半角括弧でくくられたよみがなを書きます。

「漢字(かんじ)」といった具合です。
これなら見た目にもわかりやすいし、文章を書くうえでもあまり苦になりません。

そしてプログラム上で文字列を「漢字」と「漢字以外の文字」を識別して、「漢字の文字につづく半角括弧でくくられた文字はよみがなとしてあつかい、ruby、rp、rtタグでコーディングされた文字列を成形して出力する」という処理を通すことで、ウェブページの漢字によみがなをうてる機能を実装することができました。

漢字によみがなをうつ【前編】_sb_02.jpg


図で書くとシンプルですが、プログラム処理の部分はちょっと複雑です。
長い文章のなかにある漢字すべてにたいして有効に機能せねばなりません。

文章のなかにある漢字は1文字とは限りません。
文章には漢字2文字以上で構成される熟語だってたくさん登場します。

しかし、これをなんとかクリアしたプログラムをつくることに成功しました。

でもでも。
これだけでは解決できない問題があることに長いあいだ悩まされることになるのですが、それはまた後編で……。


≫ NEXT_LOG 漢字によみがなをうつ【後編】(02 photos)

≪ PREV_LOG 飯能まつり(17 photos)

PAGE UP

Google+

スタジオムーンリーフ(2005年1月開設/Since 2005)
代表者:野口 卓洋(Takuhiro Noguchi)
Add:356-0006 埼玉県ふじみ野市霞ヶ丘3-1-22-504

Twitter:@StudioMoonLeaf
Facebook:facebook.com/noguchi.takuhiro


©2017 STUDIO MOON LEAF ALL RIGHTS RESERVED.