ルビ問題の妥協点を探る

鈴見咲です。表題の通り、なんとかして既存の文書に改変を要求することのない
形でHTML5のルビ対応をお願いしたいところなんでありますが。

改めて考えてみますと - あるいは改めるまでもなく - XHTMLの複雑ルビで書か
れた文書の中で入れ子ルビで対応できないものは「現在」存在しないようにも思
います。

もちろん、その気になれば入れ子ルビで解決できないものを作ることはできま
す。
日本語が空白文字で区切られないことを利用して、同じ文字列を異なる位置で区
切り、二重の意味を持たせる表現というのは小説表現の一環としてあり得ます。

が、現時点でそのようなものがあったかどうか。また将来的な需要が考えられる
かどうか。大量にあるようなら考え直す必要がありますけれども。

で、その他の表現は入れ子ルビですべて置き換えることができるのではないか、
と考えるようになりました。

例えば漢字氏名に、漢字一字単位で、ひらがなとローマ字でルビを振る事例。
XHTML Ruby Annotationではruby要素一つ・rbc一つ・rtc二つ、あと必要なだけ
rbおよびrc要素を使って表現しているところを、漢字一字ごとにruby要素を使え
ば問題なく表現できるはずです。
促音(小書きの「っ」)が絡む場合は、ローマ字側のルビ表現のために、外側の
ruby要素が内側に複数のruby要素を含む必要がありますが、しかしできないわけ
ではない(ですよね?)。

ただし、この変換を既存文書の著者に要求するのはかなり残酷。その上、特にこ
の例だとHTMLソースコードの可読性がガタ落ちします。
そんなものHTMLタグを手入力するんでなくてそれなりのオーサリングツール使
え、というのは正論なんですが、強制力がない以上ツールの作者がどれくらい真
摯に向き合ってくださるか。

そこでですね。HTML5のルビ周りの規定を次のようにするのはどうかと考えてみ
たんですがいかがでしょう。こんな感じ:

『HTML5に対応するUAは<現時点のHTML5におけるルビ仕様>の他に、XHTML Ruby
Annotationに基づき記述されたHTMLソースコードを解釈できなければならない。
ただし、<現時点のHTML5におけるルビ仕様>に翻訳した上で表示を行っても構わ
ない。

なお、互い違いの範囲を持つrbspan属性が指定されている場合は翻訳が不可能に
なるため、この場合に限りXHTML R.A.におけるrbc, rtcを単純ルビのrb, rtとみ
なし、XHTML R.A.におけるrb, rtタグはその親要素の中にそれぞれ一つずつしか
存在しないものとみなすことができる。

翻訳の結果、XHTML R.A.では単一であったruby要素が、複数のHTML5仕様ruby要
素になる場合はそれらを含む仮想要素rubyconvertedを作ること。
スタイルシートの内容は翻訳後の要素にそのまま適用する。スタイルシートの内
容も変換できるようであればそもそも翻訳の必要がないからである。

新しい文書の著者は、rubyconvertedが用いられた場合のスタイルをも定義して
おくことが望ましい。rbc要素やrtc要素が失われ、rb要素同士やrt要素同士の隣
接関係およびruby要素との世代関係が(親→孫から親→子に)変わってしまうからで
ある。

DOMに基づく操作ができるUAは、上記以外の場合でも翻訳されたruby要素の親と
して仮想要素rubyconvertedを作ること。これにより、文書著者はUAがXHTML
R.A.をそのまま扱えるのか、あるいは翻訳したもののみを扱えるのかという判断
をスクリプト類の中で行うことができる。翻訳の必要がないruby要素については
rubyconvertedを作らないこと。』

ご意見お待ちしております。
-- 
Suzumizaki-Kimitaka <szmml@h12u.com>
JPN: 鈴見咲 君高

Received on Monday, 15 March 2010 09:39:35 UTC