このブログの更新は Twitterアカウント @m_hiyama で通知されます。
Follow @m_hiyama

メールでのご連絡は hiyama{at}chimaira{dot}org まで。

はじめてのメールはスパムと判定されることがあります。最初は、信頼されているドメインから差し障りのない文面を送っていただけると、スパムと判定されにくいと思います。

参照用 記事

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

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

おびただしい数の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でしょう。