Re: www-international@w3.orgに流れたRuby in HTML5の翻訳

鈴見咲です。先ほど送信した概要のうち、WebkitでRubyを実装されたRoland
Steinerさんのご意見全訳を試みました。
---
http://lists.w3.org/Archives/Public/public-html-ig-jp/2010Mar/0027.html
---翻訳ここから。
現行のWebkitにおける、HTML5のRubyを実装した者として、いくつかの考えを追
加させてほしい。この実装には改良の余地がかなりあり、どう改良するかの議論
と標準規格を収斂させていく議論(後者の方が重要だ)はとても有意義かつ必要な
ものだと思う。

実装視点からのすべてを次に記した。このうちいくつかは、
www-styleメーリングリストの中で"Ruby proposal for XSL 2.0"という議論の中
でも述べている。

o) Mono, Jukugo and Group ruby

HTML5の文法は特に追加作業無く簡単にすべてを実装できる。
Mono ruby:   <ruby> 東 <rt> とう </rt></ruby><ruby> 京 <rt> きょう
</rt></ruby>
 Group ruby:   <ruby> 東京 <rt> とうきょう </rt></ruby>
Jukugo ruby:   <ruby> 東 <rt> とう </rt> 京 <rt> きょう </rt></ruby>

※鈴見咲注:Monoは文字単位でruby要素を使い、Groupはルビ元ルビ先とも熟語単
位でruby要素を使い、Jukugoはruby要素が熟語単位・rt要素が文字単位に設定さ
れている。 

o) 複雑ルビと入れ子ルビ:

私は複雑ルビへの対応にいくつかの段階があるように思う。

1) 単純ルビをルビ先(ルビベース)の下に置けるようにする。
2) 同時に二つのルビをルビ先の上下に置けるようにする。
3) 複数のルビをルビ先の上下に置けるようにする。これは仕様にはないけれ
ども議論として提示された。
4) 複数のルビをルビ先の上下に置けるようにし、ルビ先の要素に対して相対的
に、それぞれが異なる範囲でルビを振れるようにする。

一番目は 'ruby-position: after' で比較的簡単に実現できる。
二番目は入れ子ルビで実現できる。また、入れ子ルビは技術的に考えると当然動
作するはずである(「できんわけなかろ?」という文脈で)。私はこれがいい解法
だとは考えていない。

他方、現在のCSS3とXHTMLの仕様は上記の二番目と四番目を指しているわけだ
が、これは技術に頼りすぎた解法のように思う。概念的にはより単純なものに対
してさえ必要以上にマーク付けを要求している。表に匹敵する複雑さを持ち、し
かも微妙に異なる。この方法でタグを入れ子にしていると、rp要素は複雑ルビの
中で使うことができず、直感的でもないので誤りの元になる。(例えば次のURLを
参照されたい:
http://www.crosswire.org/pipermail/sword-devel/2008-July/028644.html )

Bugzillaのスレッドで言及されたとおり、:
https://bugzilla.mozilla.org/show_bug.cgi?id=256274
特に#7で述べられているとおり、現在の複雑ルビの仕様は誤りをどう扱うかの規
定に欠けている。不正な、あるいは文章以外の要素がルビコンテナに含まれてい
るときはどうしたらよいのか。また、'ruby_span'の値が大きすぎたり、
JavaScriptで動的に変更されたりしたときはどうすればよいのか。さらにこの仕
様はHTMLでよくある単純な文章の配置の外にあるものをどうするかについても何
も示していない。例えば、隣接した要素が異なる寸法・配置法・動き方、その他
の違いがあるときに'ruby-overhang'をどう処理するか。(実際活字的にはとても
いい'ruby-overhang'が適切に実装するには一番難しい部分だと信じるに足る。)

概して言えば、この(メールの)スレッドで出てきた用例は四つの内ほぼ最初の二
つに限定されているようだ。二番目はどの実装も適切に対応でき、簡単に三番目
に応用できるはずだが、それは誤りかもしれないし、その三番目は実用の要求が
あるとは考えられていない。そうはいっても、これこそが入れ子ルビの使い方た
り得るものだ。四番目は複雑ルビの仕様が指すもので、二番目のものと同様に三
番目を包含するよう拡張できるはずだ。だが、三番目にせよ四番目にせよ、それ
がより簡素なマーク付けに置き換えられるであれば、前述のことを考慮するとや
や学術的にすぎるように思う。

※鈴見咲注:↑この段落、わかりにくいし、私が誤解しているかもしれません…

簡単に言うと、不必要な複雑さを導入せずにどのようにしてHTML5とCSSを磨き上
げていくかという議論の方が個人的には好ましい。

o) ルビの特性

XSLのスレッドで提案したとおり、いくつかのルビ関連の特性は再考すべきだと
思う。

'ruby-align'は本文に対して直交する巨大構造部分の組み合わせなので、文字寄
せ・辺・間隔付けを扱っている特性の処理のいくつかに破壊的に入り込まざるを
得ない。次も見てほしい:
http://www.w3.org/Style/XSL/Group/FO/wiki/Ruby#Treat_CSS3_.22ruby-align.22_As_Shorthand.3F
※鈴見咲注: メンバー限定ページのため私は見られません。

加えて、文字の間隔付けや半角カタカナへの変換・小さな下付のカタカナを標準
の大きさにするような変換はルビ特有のものではないので、個人的には一般のテ
キストモジュールの中へ分離してそこで扱うべきだと思う。文字間隔も漢字・仮
名文字以外の文字をどう扱うかという部分で検討すべきだろう。

縦書きにUAが対応している限り、Bopomofo/Zhuyin-Fuhaoはすぐに使えるし、こ
れからもそれが変わらないことは誰もが同意できると思う。

---翻訳ここまで。

ちょっとむずかしいなぁ。同じく訳におかしなところがあるようならご指摘お願
いいたします。

-- 
Suzumizaki-Kimitaka <szmml@h12u.com>
JPN: 鈴見咲 君高

Received on Saturday, 13 March 2010 11:26:06 UTC