ruby 要素

since: 31st/Aug./2001; last modified: 17th/Sep./2001

Ruby モジュールが定義する ruby 要素は、 XHTML 1.1 の内容モデルでは、内容セット Inline に含まれ、DTD では %Inline.class; に含まれます。従って、例えば p 要素タイプの子要素として定義されています。

Ruby モジュールは、文書の振り仮名「ルビ」を作成する要素を定義しています。本文部分は「ベーステキスト」と呼ばれ、振り仮名部分は「ルビ」と呼ばれます。

左側には、下側に漢字3個、その上側に半分のサイズの平仮名が6個ある。右側には、漢字と平仮名の行にそれぞれ矢印と、'ruby base' 、 'ruby text' というテキストとがある。

図: ルビテキストがベーステキストの文字毎に読み仮名を与えている。

因みに、「ルビ」とは、イギリスの印刷業界で使う 5.5 ポイントの活字サイズに由来するそうです。通常の文字は 10-10.5 ポイントです。

Ruby モジュール
ruby, rbc, rtc, rb, rt, rp
要素 属性 最小内容モデル
ruby Common (rb, (rt | (rp, rt, rp)))
rbc Common rb+
rtc Common rt+
rb Common (PCDATA | Inline - ruby)*
rt Common, rbspan (CDATA) (PCDATA | Inline - ruby)*
rp Common PCDATA*

ruby 要素の最大内容モデルは、以下のとおり:((rb, (rt | (rp, rt, rp))) | (rbc, rtc, rtc?))

ruby 要素の最小内容モデルは、一つのベーステキストに一つのルビが結びつく場合に用います(単純ルビマークアップ)。 ruby 要素の最大内容モデルの (rbc, rtc, rtc?) は、複雑ルビマークアップで用います。

実装: DTD

単純ルビマークアップ

一つのベーステキストに一つのルビを結びつけるマークアップを、単純ルビマークアップと呼びます。このときは、次の要素タイプを用います: (rb, (rt | (rp, rt, rp)))

次の例は、最も単純なルビマークアップの例です:

ソース表示概念図
<ruby>
  <rb>WWW</rb>
  <rt>World Wide Web</rt>
</ruby>
ベーステキストは 'WWW' で、ルビは 'World Wide Web'

次の例は、ルビマークアップをサポートしていない場合にも、違和感なく表示できるように工夫した例です:

ソース
<ruby>
  <rb>WWW</rb>
  <rp>(</rp><rt>World Wide Web</rt><rp>)</rp>
</ruby>
非サポート時表示概念図サポート時表示概念図

WWW (World Wide Web)

ベーステキストは 'WWW' で、ルビは 'World Wide Web'

【表示例】

WWW (World Wide Web)

rp 要素の名前は、 "Ruby parenthesis" (ルビ括弧)を意味しますが、効果は noscript 要素や object 要素と同様です。サポートされていない場合は、 rp 要素は解釈されず、その内容が表示されます。

複雑ルビマークアップ

複雑ルビマークアップは、一つのベーステキストに二つのルビを結びつけることができます。また、ベーステキストを複数に分けて、その各々にルビを結び付けられます。

ソース表示概念図
<ruby>
  <rbc>
    <rb>10</rb>
    <rb>31</rb>
    <rb>2002</rb>
  </rbc>
  <rtc>
    <rt>Month</rt>
    <rt>Day</rt>
    <rt>Year</rt>
  </rtc>
  <rtc>
    <rt rbspan="3">Expiration Date</rt>
  </rtc>
</ruby>
Month Day Year
10 31 2002
Expiration Date

要素タイプ

ruby 要素

全体のコンテナとして機能するテキストレベルの要素。目的に応じて、次のように内容モデルが変わる:

単純ルビマークアップ
rb 要素(ベーステキスト)と rt 要素(ルビテキスト)と、オプションの rp 要素(ルビ括弧)
複雑ルビマークアップ
rbc 要素(ベーステキストコンテナ)と rtc 要素(ルビテキストコンテナ)
名前ruby
分類Inline
意味ruby
日本語ルビ、振り仮名、傍注

rbc 要素

複雑ルビマークアップで、ベーステキストのコンテナとして機能する。一つの ruby 要素の中に一回だけ出現できる。

名前rbc
意味ruby base component
日本語ルビ・ベース部品、ルビ・ベース・コンテナ

rtc 要素

複雑ルビマークアップで、ルビテキストのコンテナとして機能する。一つの ruby 要素の中に一回、又は二回だけ出現できる。通常は、最初のものが「読み」を表し、後ろのものが「意味」を表す。

名前rtc
意味ruby text component
日本語ルビ・テキスト部品、ルビ・テキスト・コンテナ

rb 要素

ベーステキストとして機能する。単純ルビマークアップでは、一つの ruby 要素の内容で一回だけ出現する。複雑ルビマークアップでは、コンテナ rbc の内容で任意の回数表れ得る。

内容は文字データかテキストレベルの要素。但し、 ruby 要素は含まれない。

名前rb
意味ruby base
日本語ルビ・ベース

rt 要素

ルビテキストとして機能する。単純ルビマークアップでは、一つの ruby 要素の内容で一回だけ出現する。複雑ルビマークアップでは、コンテナ rtc の内容で任意の回数表れ得る。

内容は文字データかテキストレベルの要素。但し、 ruby 要素は含まれない。

複雑ルビマークアップでは、 rbspan 属性を用いて、当該ルビの及ぶ範囲を指定できる。 rbspan 属性値は 1 以上の整数で、ルビの及ぶ rb 要素の個数を指定する。

名前rt
意味ruby text
日本語ルビ・テキスト

rp 要素

後方互換の為に、ルビテキストとベーステキストのどちらが本文でるかを示さねばならない。このとき、ルビテキストを括る括弧を記述する為に用いる。単純ルビマークアップでだけ利用できる。

名前rp
意味ruby parenthesis
日本語ルビ括弧

サンプル

複雑ルビマークアップ

次の例は、ルビテキストをスタイルシートなどで操作する為の class 属性が与えられている。また、二つ目の rtc 要素では rbspan 属性により、当該ルビテキストの適用範囲は四つのベーステキスト部分全てに及ぶことが指定されている。

<ruby>
  <rbc>
    <rb>斎</rb>
    <rb>藤</rb>
    <rb>ä¿¡</rb>
    <rb>男</rb>
  </rbc>
  <rtc class="reading">
    <rt>さい</rt>
    <rt>とう</rt>
    <rt>のぶ</rt>
    <rt>お</rt>
  </rtc>
  <rtc class="annotation">
    <rt rbspan="4" xml:lang="en">W3C Associate Chairman</rt>
  </rtc>
</ruby>

Copyright © 2001, SUGAI, Manabu. All rights reserved. 著作権は放棄していません。
SEO [PR] ”š‘¬!–³—¿ƒuƒƒO –³—¿ƒz[ƒ€ƒy[ƒWŠJÝ –³—¿ƒ‰ƒCƒu•ú‘—