檜山正幸のキマイラ飼育記 このページをアンテナに追加 RSSフィード

キマイラ・サイトは http://www.chimaira.org/です。
トラックバック/コメントは日付を気にせずにどうぞ。
連絡は hiyama{at}chimaira{dot}org へ。
蒸し返し歓迎!
ところで、アーカイブってけっこう便利ですよ。タクソノミーも作成中。

2006-05-30 (火)

ルビ(ふりがな)タグの話

| 10:27 | ルビ(ふりがな)タグの話を含むブックマーク

あなたのブラウザで、次の行はどう見えますか。

おびただしい数のWebページ

これ、ルビ(ふりがな)タグを使っています。マークアップは次のとおり。

<ruby>
  <rb>夥</rb>
  <rp>(</rp><rt>おびただ</rt><rp>)</rp>
</ruby>
しい数のWebページ

IE6では期待通りの表示(ふりがなの「おびただ」が「夥」の上に乗る)が得られます。FireFoxはダメでした、次のような表示です。

夥(おびただ)しい数のWebページ

(マークアップ・サンプルは見やすくするために、改行とインデントを入れてますが、はてな記法と一緒に使うときは改行入れちゃダメですよ。<p>が付いてしまいますから。)

rpタグ

W3Cの"Ruby Annotation"勧告(http://www.w3.org/TR/2001/REC-ruby-20010531/)の用語では、「夥」がruby base、「おびただ」がruby textですが、ここでは、親文字列ルビ文字列も使います。

で、基本的なマークアップは次のとおりです:

<ruby>
 <rb>親文字列(ruby base)</rb>
 <rt>ルビ文字列(ruby text)</rt>
</ruby>

しかし、これだと、ルビ・マークアップを解釈できないブラウザでは、タグがすべて無視されて、親文字の直後にいきなりルビ文字が表示されてしまいます。それを避けるため、rp(ruby parentheses*1)タグがあります。ルビを解釈できるブラウザはrpの内部を表示しないので、余分な括弧は表示されず、ルビ未対応ブラウザでは、「夥(おびただ)しい数のWebページ」のような、それなりの表示になります。

あのいい話はどうなったの?

随分以前のことですが、マークアップではなくて、Unicodeのレベルでルビをサポートするような話がありました。これに、rpタグのような機能が欠けていて、そりゃマズイだろうとなりました(根本的な発想がマズイのだけどさ)。そのとき、アップル(当時、今も?)の木田さんが考えた例が非常に印象的で今でも憶えてます。

「いい話だ。」の「話」にルビを付けます。マークアップで書くなら:

いい
<ruby>
 <rb>話</rb>
 <rt>はなし</rt>
</ruby>
だ。

これを、ルビを解釈できないブラウザで表示すれば:

いい話はなしだ。

エーン、あの話なくなってしまったのぉ、残念。

というわけで、rp相当の機能がないとエライことになりますよ、ってことね。

ルビに関する話題がもう少しあるんだけど、またにします。

*1:rpが何の略記か明白な記述がないのだけど、pはparenthesesでしょう。

nak2knak2k 2006/05/31 02:11 弾さんのところにCSSでの対処法が載っていましたよ(http://blog.livedoor.jp/dankogai/archives/50514780.html)

m-hiyamam-hiyama 2006/05/31 09:53 nak2kさん、
> 弾さんのところに
今日のエントリでも取り上げていただいているようです。http://blog.livedoor.jp/dankogai/archives/50514780.html