RE: ルビと行間についてご意見ください

>line-heightプロパティの仕様からすると、何を議論しようとされているのか理
>解しかねます。

すみません、おっしゃる通りちょっと脱線が過ぎました。塩澤さんご個人に返信すればよかったと反省しています。

本題は、ruby line height
http://dev.w3.org/csswg/css3-ruby/#ruby-line-height
に対して、現在提案されているinclude-rubyとexclude-rubyの他にauto値を定義しましょう、というご提案でした。

釈迦に説法で恐縮ですが、include-rubyはご教示くださったとおり、ルビを通常のboxとして扱うものですが、exclude-rubyは少し違う動きをします。これを自動的に切り替える値を導入したい、とういのが趣旨です。

脱線が過ぎましたこと、およびそれにより不快な思いをされた方には、重ねてお詫び申し上げます。


-----Original Message-----
From: public-html-ig-jp-request@w3.org [mailto:public-html-ig-jp-request@w3.org] On Behalf Of Masayuki Nakano
Sent: Friday, December 17, 2010 3:24 AM
To: public-html-ig-jp@w3.org
Subject: Re: ルビと行間についてご意見ください

中野です。
# 石井さん個人に返信してしまったので再送します

line-heightプロパティの仕様からすると、何を議論しようとされているのか理
解しかねます。line-heightプロパティの仕様はご存知でしょうか?

もし、inline boxにline-heightがnormal以外で指定されたのであればそれはそ
ういう固定値として扱われるべきで、重なり合うのも制作者の意図としか解釈は
できません。逆に、block boxにline-heightがnormal以外で指定されているので
あれば、それは行の最低高を示す訳ですから、ruby boxをinline-blockと同等の
ものと考えるのであれば(それが自然だと思いますが)高さが足りない場合に自動
的にその行だけ行高が拡張されることになります。

ですので、現行の仕様で何も問題が無いように思えます。

# 均等な行送り、というのは問題が多いと思います。画像等のオブジェクトが挿
入されている段落では洒落にならないことになります。各デザイナが自分のド
キュメントの自分のスタイルに対して十分な高さの行高をblock boxに対して指
定しておく、というのが現実的でしょう。予定外の行があれば、そこだけ行高が
自動的に拡張されますが、その予定外のことがある時点でデザインとしては失敗
なんじゃないでしょうか。

ちなみに、line-heightの初期値はnormalですが、これはブラウザの実装に(今ま
で通り)依存すべきでしょう。日本語だけの都合でごちゃごちゃと定義すべきで
はありません。ブラウザは印刷物等とは異なり、実行時のパフォーマンス等の問
題もありますので、できるだけ逐次計算結果を確定できるほうが望ましいと言え
ます。

そもそも、日本の印刷業界の慣習をもとに議論するのはナンセンスだと思いま
す。あらゆるドキュメントに適切にlang属性が指定されているのであればブラウ
ザも言語ごとに動作を切り替えられますが、現実のwebはそうではありませんの
で日本の印刷慣習を仕様に盛り込んでしまうと、それは日本の文化の押しつけに
他ならないと思います。

On 2010/12/09 0:49, Koji Ishii wrote:
> こんにちは、W3C CSS WGのメンバーの石井です。
> 
> 英語MLも見られている方はお気づきかもしれませんが、今CSSの方でルビと行間についての議論が続いています。日本に影響がある部分なので、簡単にまとめます。ちょっと長いですが、できればお読みいただいて、ご意見があれば、ここでも構いませんし、英語ML www-style@w3.org でも構いませんので、いただけると助かります。
> 
> 元はこのスレッド
> http://lists.w3.org/Archives/Public/www-style/2010Nov/0482.html
> で、ルビが入った行がIEでは等間隔に並べられない問題に関するものです。ルビばかりでなく圏点にも影響します。
> 
> ご存知とは思いますが、IEでルビを使うと、行送りが一定になりません。これは携帯など、画面が非常に小さい場合などは有用な仕様であったりもするのですが、小説サイトのようなより本格的なページを作る時には、ルビの有り無しにかかわらず、一定のピッチで行を表示したい、という要望があります。IEではそれが実現できないため、tableタグを使っているサイトを見たことがあります。
> 
> これに対して、今CSS3 line boxで提案されているline-stacking-rubyプロパティの「include-ruby」と「exclude-ruby」を定義して、「exclude-ruby」を指定すれば重なってもいいから行を等間隔に並べる、という指定をする案がありますが、これに「auto」があった方がいいのではないか、という提案です。「auto」は、原則を「exclude-ruby」にして、行高計算にルビは影響しない、とする。ただし、前の行に重なってしまう場合には、その分だけずらす、という案を出しました。
> 
> これに対し、AppleのDavid Hyattから賛同を得られたのですが、今の彼の考えを聞いていくと、ブロックをまたぐケースなど、いくつか制限があり、それを解決するのが技術的に難しい、という返事が得られました。難しいけど、できないことはない、という返事で、きちんと仕様を固めればできそうでもあるのですが、構造的にあまり難しいものを入れてしまうと、HTML製作者にとって却って結果を予測しづらくなったり、仕様としてもうまく動かないケースの混入が心配されます。
> 
> そこで、長期的視野では上記CSS3 line boxやCSS3 line gridなどの充実によりより細かい動作を指定できるプロパティを作っていく仮定の上で、まずデフォルトの「auto」挙動として、より簡単なルールを考えてみました。それは
> 
> * line-heightが150%以上だったら、ルビを行送りに影響させず、行を一定間隔で表示できるようにする
> * それ未満だったら、ルビの重なりを防ぐため、現行IEと同様の挙動とする
> http://lists.w3.org/Archives/Public/www-style/2010Dec/0185.html
> 
> という案です。正直この案だと、line-heightが150%〜160%くらいの時には、前のブロックのフォントが小さい時など、それでも重なってしまうケースが出てしまうと思いますが、
> * 十分な行高さがある時には、書籍のような一定の行送り
> * 十分な行高さがない時には、ルビのある行だけを高くする(現行IE挙動)
> という切替をカバーし、重なってしまうケースは現実にはそれほど多くないのではないかと思っています。
> 
> CSS3 line box仕様が今後進めば、この挙動をautoとして定義し、製作者がより厳密に定めたい時にはinclude-rubyあるいはexclude-rubyを指定すれば切り替えることが可能になりますし、それまでの間、および製作者が指定しない時にはline-heightが切り替えのスイッチになる、ということになります。この案で実装してくれるブラウザーが出て、それでルビが重なってしまった場合、CSS3 line boxが完成するまで切替はできないので、line-heightを増やすか、marginを入れて回避するか、ということになってしまいますが、それでも書籍のような一定の行送りのページがブラウザで実現できる、というのは大きなメリットになるのではないかと思います。
> 
> この案について、例えば
> * line-heightで切り替える、というのは妥当かどうか。
> * 150%という数字は妥当かどうか。ルビ付きの文章は普通150%なんて狭い行間は使いません、ということでしたら、より大きい数字にすれば重なるリスクを減らせます。
> といった点が特に気になっていますが、それ以外でもどんなことでもいいので、ご質問、ご意見、お気づきになられたことがありましたら、フィードバックいただけると助かります。
> 
> よろしくお願いいたします。
> 
> 
> グルーソフトウェア株式会社
> 石井宏治
> 


-- 
Masayuki Nakano <masayuki@d-toybox.com>
Manager, Internationalization, Mozilla Japan.

Received on Friday, 17 December 2010 00:03:01 UTC