本節では,ルビの“複雑な記法”を中心に解説する。
ルビの“複雑な記法”では,たとえば,
ことができる。“複雑な記法”では,rbc
要素および rtc
要素が使われる。
ベーステキストに 1 組のルビテキストを対応させる場合は,
<ruby><rbc>
...</rbc><rtc>
...</rtc></ruby>
ベーステキストに 2 組のルビテキストを対応させる場合には,
<ruby><rbc>
...</rbc><rtc>
...</rtc><rtc>
...</rtc></ruby>
のように rtc
要素を 2 つ書く。
ここで注意しなければならないのは,“複雑な記法”においては rp
要素でルビのかっこを記述することはできないことである。
以下,例を示しながら“複雑な記法”を見ていくことにする。
モノルビのように,ベーステキスト 1 文字ずつに対してルビを振る場合,rbc
要素の内容の rb
要素が,rtc
要素の内容の rt
要素に,順に対応する。
例をご覧になるほうが早いだろう。
<p> 他人をあげつらうテレビ番組を嫌いと言っておきながら,自分では WWW サイトで<ruby><rbc><rb>罵</rb><rb>詈</rb><rb>雑</rb><rb>言</rb></rbc><rtc><rt>ば</rt><rt>り</rt><rt>ぞう</rt><rt>ごん</rt></rtc></ruby>を言いたい放題で<ruby><rb>愉</rb><rt>たの</rt></ruby>しんでいるのだから,始末に負えない。</p>
これは,お手元の環境で次のようになる。
他人をあげつらうテレビ番組を嫌いと言っておきながら,自分では WWW サイトで
このとき,必ずしもベーステキストは 1 文字ずつに区切る必要はない。たとえば,次のような例が考えられる。
<p> 初夏に,<ruby><rbc><rb>鉄</rb><rb>砲</rb><rb>百合</rb></rbc><rtc><rt>てっ</rt><rt>ぽう</rt><rt>ゆり</rt></rtc></ruby>は,白いらっぱ状の花を咲かせる。</p>
上記の例で,“百合”は熟字訓で“ゆり”と読み,“百”と“合”に分けてルビを振ることはできない。
上掲の例は,図 27.1 のように表現されることが期待される。rtc
要素の中の,1 番めの rt
要素が,rbc
要素の中の 1 番めの rb
要素のルビとなり,2 番めの rt
要素が 2 番めの rb
要素のルビとなり,……,のように対応する。
Internet Explorer 5.5 以降では,ルビテキストをベーステキストの上に乗せて表現するが,この記法では,rb
要素と rt
要素をそれぞれ対応させて表示することはできない。
ひとつのベーステキストに,2 つのルビを振る場合,rtc
要素を 2 つ書き,それぞれ rt
要素でルビを振る。
<p> <ruby><rb>リンドバーグ</rb><rt>Lindbergh</rt></ruby>は,ニューヨークから 33 時間の飛行を続けた。そして,凱旋門,エッフェル塔を目にする。「翼よ,あれが<ruby><rbc><rb>巴里</rb></rbc><rtc><rt>パリ</rt></rtc><rt>Paris</rt></rtc></ruby>の灯だ!」</p>
参考に,お手元の環境では次のようになる。
このように指定された 2 つのルビは,図 27.2 のように出力されることが期待される。
上記の例では,rbc
要素の中に rb
要素が 1 つ,2 つの rtc
要素の中に rt
要素がそれぞれ 1 つずつであるが,複数でもかまわない。このとき,
rbc
要素の中の 1 番めの rb
要素と,1 つめの rtc
要素の中の 1 番めの rt
要素,2 つめの rtc
要素の中の 1 番めの rt
要素rbc
要素の中の 2 番めの rb
要素と,1 つめの rtc
要素の中の 2 番めの rt
要素,2 つめの rtc
要素の中の 2 番めの rt
要素のように,ベーステキストとルビテキストが対応する。
Internet Explorer 5.5 以降は,2 つのルビテキストを,いずれもベーステキストの上に続けて出力する。上記の例では,“巴里”の上に“パリ Paris”と続けて出力される。
rbspan
属性 おもに 2 つのルビを付すとき,1 つの rt
要素を複数の rb
要素に対応付けることができる。このとき,その rt
要素に,いくつの rb
要素と対応させるかを,rbspan
属性を用いて指定する。rbspan
属性の値は自然数で,既定値は 1 である。
たとえば,
<p> <ruby><rbc><rb>杉</rb><rb>田</rb><rb>玄</rb><rb>白<rb></rbc><rtc><rt>すぎ</rt><rt>た</rt><rt>げん</rt><rt>ぱく</rt></rtc><rtc><rt rbspan="4">1733-1817</rt></rtc></ruby>は,前野良沢らと「ターヘルアナトミア」を訳し,「解体新書」として刊行した。</p>
において,2 つめの rtc
要素中の rt
要素には,“rbspan="4"
”の指定があり,これは,それが,4 つの rb
要素,ここでは,“杉”“田”“玄”“白”に対応することを示している。この期待される出力を,図解とともに表すと,図 27.3 のようになる。
お手元の環境での出力は,次のようになる。
rbspan
属性は,主に 2 つのルビを振るとき,一方のルビともう一方のルビでベーステキストとの対応のさせ方が異なる場合に用いるが,それ以外にも,スタイルシートなどでルビの体裁を整えたりする場合にも利用できるだろう。
ルビは,視覚表現のほかにも,音声出力や点字出力に際して重要な意味を持ってくることがある。
たとえば,音声出力の場合,ルビによって読みを示しているのならば(class
属性などで示して),ベーステキストを読ませず,ルビテキストのみを読ませたりすることができるだろう。
点字出力においては,ルビが読みを示しているか,注釈を示しているかによって,点訳のしかたが異なってくる。これも,class
属性などで示し,点訳のしかたを振り分けることができるであろう。
この話題については,ここでは概要にとどめ,詳細は省略する。