日本語練習虫

旧はてなダイアリー「日本語練習中」〈http://d.hatena.ne.jp/uakira/〉のデータを引き継ぎ、書き足しています。

行長よりも長い親文字列のルビ(2)

前回(20100414)に引き続き、「日本の神話時代の終わりに登場する神に、ウガヤフキアエズノミコトがいる。初代天皇神武の父であり、古事記では天津日高日子波限建鵜葺草葺不合命日本書紀では彦波瀲武鸕鶿草葺不合尊と書かれている。」という例文に出てくる神の名にルビを振ってみる。今回も、0208外字の「鸕鶿」を「〓〓」に置き換えている。

今回は、区切り方が正しいかどうかは分からないが、神の名を「姓」と「名」のような具合に分割してみようと思う。

古事記の方を、天津日高日子波限建(アマツヒタカヒコナギサタケ)・鵜葺草葺不合命(ウガヤフキアヘズノミコト)、日本書紀の方を彦波瀲武(ヒコナギサタケ)・〓〓草葺不合尊(ウガヤフキアヘズノミコト)という具合に分割してルビを振るマーク付けは、XHTML 1.1で、次の二通りが考えられる。


まずは、HTMLの表(table)の表現に似た、複雑ルビ(Complex ruby)マーク付け。

例1
<p style="font-size:24pt; font-family:'MS 明朝';">日本の神話時代の終わりに登場する神に、ウガヤフキアエズノミコトがいる。初代天皇神武の父であり、古事記では<ruby><rbc><rb>天津日高日子波限建</rb><rb>鵜葺草葺不合命</rb></rbc><rtc><rt>アマツヒタカヒコナギサタケ</rt><rt>ウガヤフキアヘズノミコト</rt></rtc></ruby>、日本書紀では<ruby><rbc><rb>彦波瀲武</rb><rb>〓〓草葺不合尊</rb></rbc><rtc><rt>ヒコナギサタケ</rt><rt>ウガヤフキアヘズノミコト</rt></rtc></ruby>と書かれている。</p>

次に、単純ルビ(Simple ruby)マーク付けで、「姓」を1つのruby要素、「名」を1つのruby要素と考えるやりかた。

例2
<p style="font-size:24pt; font-family:'MS 明朝';">日本の神話時代の終わりに登場する神に、ウガヤフキアエズノミコトがいる。初代天皇神武の父であり、古事記では<ruby><rb>天津日高日子波限建</rb><rt>アマツヒタカヒコナギサタケ</rt></ruby><ruby><rb>鵜葺草葺不合命</rb><rt>ウガヤフキアヘズノミコト</rt></ruby>、日本書紀では<ruby><rb>彦波瀲武</rb><rt>ヒコナギサタケ</rt></ruby><ruby><rb>〓〓草葺不合尊</rb><rt>ウガヤフキアヘズノミコト</rt></ruby>と書かれている。</p>

では早速、MSIEにおける複雑ルビと単純ルビの表示を見てみよう。

続いて、Firefoxでの複雑ルビと単純ルビの表示。

最後に、T-Timeでの複雑ルビと単純ルビの表示。

実はT-Timeでは上記複雑ルビの表示が昨日の「全体をひと塊」の表示と同じだったので、画像データは使い回しにした。

同じ要領で、親文字列の区切り方を更に細かくしてよう。古事記の方を、天津日高(アマツヒタカ)・日子波限建(ヒコナギサタケ)・鵜葺草(ウガヤ)・葺不合命(フキアヘズノミコト)、日本書紀の方を彦波瀲武(ヒコナギサタケ)・〓〓草(ウガヤ)・葺不合尊(フキアヘズノミコト)という具合に分割してみると、どうなるか。

複雑ルビの処理は上記と変わらないので、単純ルビのケースについて、MSIEFirefox、T-Timeの順に並べてみる。

実は、現時点のHTML5仕様のrubyマーク付けは、XHTML 1.1とは異なるものになっていて、複雑ルビが無く、今回の細かく区切ったルビのマーク付けは次のようになる。

例3
<ruby>天津日高<rt>アマツヒタカ</rt>日子波限建<rt>ヒコナギサタケ</rt>鵜葺草<rt>ウガヤ</rt>葺不合命<rt>フキアヘズノミコト</rt></ruby>

もちろん、次のようにマーク付けしてもよい。

例4
<ruby>天津日高<rt>アマツヒタカ</rt></ruby><ruby>日子波限建<rt>ヒコナギサタケ</rt></ruby><ruby>鵜葺草<rt>ウガヤ</rt></ruby><ruby>葺不合命<rt>フキアヘズノミコト</rt></ruby>

ここでちょっと気になるのは、HTML5で上記「例3」のマーク付けをしたテキストを表示する際の改行制御のことだ。現状のウェブブラウザの考え方を踏襲すると、XHTML 1.1の複雑ルビ「例1」と同じ表示になることが予想される。これはスマートな表示ではないと思う。疑似rb要素ととrt要素が一対一で対応するのだから、XHTML 1.1での単純ルビ「例2」と同じような扱いになって欲しい。