昨日のエントリーに対して、Rubyfuristの弾さんが、CSSによるルビの実現(インライン・テーブルを使用)を紹介してくださってます。ありがとうございます。
さっそくにこれをコピーして、はてなのスタイルシートに張り付けてみたのですが、どうもうまくレンダリングされません。当該HTMLソースを見たら、直接の子を選ぶCSSセレクタ「>」がエスケープされて「>」になってました。ウーン、これは大きなお世話 -- CSSスタイルシート内部までアンパサンドにするなよ >はてな。
それはそうとして、昨日:
ルビに関する話題がもう少しあるんだけど、またにします。
と書いたのは、rbc(ruby base container)、rtc(ruby text container)の話をしたかったからです(本題は一番最後)。
パーツに分けてふりがなをふる
rbcとrtcは、rb(親文字列)とrt(ルビ文字列)を幾つかに区切ったときに、各断片をまとめるて囲むために使用します。例を出したほうが早いですね。W3C勧告で使われている例で、人名「斎藤信男」を漢字1文字ずつに区切って「斎/藤/信/男」として、対応するふりがなも「さい/とう/のぶ/お」とする例です。
<ruby>
<rbc>
<rb>斎</rb>
<rb>藤</rb>
<rb>信</rb>
<rb>男</rb>
</rbc>
<rtc>
<rt>さい</rt>
<rt>とう</rt>
<rt>のぶ</rt>
<rt>お</rt>
</rtc>
</ruby>
姓/名の2パートに分けるなら:
ルビ文字列は一番目(横書きなら上側)と二番目(横書きなら下側)が許されています。また、親文字列のパーツをいくつかまとめたその上(または下)に1つのルビ文字列を乗せることもできます。それらの機能を使った例は:
<ruby>
<rbc>
<rb>斎藤</rb>
<rb>信男</rb>
</rbc>
<rtc>
<rt>さいとう</rt>
<rt>のぶお</rt>
</rtc>
</ruby>
<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">W3C Associate Chairman</rt>
</rtc>
</ruby>
テーブルを使って似たような表示をでっちあげるなら:
<table>
<tr style="font-size:xx-small">
<td>さい</td>
<td>とう</td>
<td>のぶ</td>
<td>お</td>
</tr>
<tr>
<td>斎</td>
<td>藤</td>
<td>信</td>
<td>男</td>
</tr>
<tr style="font-size:xx-small">
<td colspan="4">W3C Associate Chairman</td>
</tr>
</table>
いなか者を都会的にルビふるには
「田舎」は「いなか」と読みますが、これを「田/舎」と2つのrbパートに分けて、rtパートも「い/なか」にする、あるいは「いな/か」にするってのはどうでしょうか。なんか変でしょう。この例はパートに分けないほうが自然です。
では「田舎者」では? 「田舎/者」「いなか/もの」と分けるのは意味的には自然です。が、漢字2文字の上にふりがな3文字、続く漢字1文字の上にふりがな2文字なので、「い-な-か」とあいだが空いて見えます。これも分けないほうがいいようです。
しかし、組み版のプロに言わせると、漢字3文字の上にふりがな5文字が均等に配分されるのも不格好であり、「いなか」と「もの」のあいだがキモチ空くようにして、しかしバランスがとれた配置にすべきなんだそうです。HTMLタギングなんかじゃ、とても無理な話ですわ。
と、そんな蘊蓄(←これはルビをふるべきかな?)を、組み版や出版にとても詳しい長村玄さんにうかがったことがあります。