Hop step XHTML―ホップ ステップ XHTML

Section 25:ルビモジュール(1)

 Let's begin XHTML の Section 17 では,XHTML 1.1 で導入された“ルビ”について,その基本を説明した。本節,Section 26 および Section 27 では,この“ルビ”について改めて解説する。

ルビとは

 ルビは,日本語においては,主に漢字の読み方や注を示すのに用いる。日本語の場合,横組みでは親文字(ベーステキスト)の上,縦組みの場合親文字の右に,親文字の半分程度の文字サイズで付される。“ルビ”の名称は,5.5 ポイント活字の別称からきている。

 CSS のルビでは,1 つのベーステキストに,最大 2 つ(たとえば,横書きならば上と下,縦書きならば右と左)のルビを振ることができる。

ルビコンテナ:ruby 要素

 ルビを振られるテキスト(ベーステキスト)およびルビ(ルビテキスト)を,合わせて“ルビの部分”として ruby 要素として記述する。ruby 要素はインライン要素である。内容モデルが特殊であり,大きく分けて 2 つのルビの記法が用意されている。

内容モデル
((rb, (rt | (rp, rt, rp))) | (rbc, rtc, rtc?))
rbrt,または rbrprtrp,または rbcrtc,または rbcrtcrtc
ruby 要素の属性
属性名属性値備考
コア属性
style 属性
国際化に関する属性
イベント属性

 ルビの 2 つの記法は,次のようになっている。

単純な記法
内容モデルは rbrt または rbrprtrp。1 つのベーステキストに一括して 1 つのルビテキストを対応させる。rp 要素によって“ルビのかっこ”を示すことができる。
複雑な記法
内容モデルは rbcrtc または rbcrtcrtc。ベーステキストコンテナ,ルビテキストコンテナを使用して,文字単位でベーステキストとルビテキストを対応させられる。1 つのベーステキストに 2 組のルビテキストを対応させられる。“ルビのかっこ”は使用できない。

ベーステキスト:rb 要素

 ルビが振られるベーステキストは,rb 要素で記述する。ruby 要素または rbc 要素の内容として現れる。

内容モデル
(#PCDATA | br | span | em | strong | dfn | code | samp | kbd | var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | bdo | a | img | map | object | input | select | textarea | label | button | ins | del | script | noscript)*
テキストと,ruby を除くインライン要素
rb 要素の属性
属性名属性値備考
コア属性
style 属性
国際化に関する属性
イベント属性

ルビテキスト:rt 要素

 ルビテキストは,rt 要素で記述する。ruby 要素または rtc 要素の内容として現れる。

内容モデル
(#PCDATA | br | span | em | strong | dfn | code | samp | kbd | var | cite | abbr | acronym | q | tt | i | b | big | small | sub | sup | bdo | a | img | map | object | input | select | textarea | label | button | ins | del | script | noscript)*
テキストと,ruby を除くインライン要素
rb 要素の属性
属性名属性値備考
コア属性
style 属性
国際化に関する属性
イベント属性
rbspan自然数そのルビテキストを,何個の rb 要素と対応付けるかを指定;既定値は 1

rbspan 属性は,ルビの“複雑な記法”のときに使用できる。詳細は,Section 27 で解説する。

ルビのかっこ:rp 要素

 rp 要素は,ルビの“単純な記法”を使用するときにのみ,ruby 要素の内容として,rbrprtrp の順序で出現する(必ず 2 回)。1 個めは“ルビに対する開きかっこ”,2 個めは“ルビに対する閉じかっこ”を表す。内容が #PCDATA(テキスト)のみであることに注意されたい。

内容モデル
#PCDATA
テキスト
rp 要素の属性
属性名属性値備考
コア属性
style 属性
国際化に関する属性
イベント属性