- From: Takayuki Akimoto <akimoto.takayuki@gmail.com>
- Date: Sat, 10 Jul 2010 11:18:40 +0900
- To: MURAKAMI Shinyu <murakami@antenna.co.jp>
- Cc: Ishii Koji <kojiishi@gluesoft.co.jp>, "public-html-ig-jp@w3.org" <public-html-ig-jp@w3.org>
みなさん、こんにちは。
ソトンの秋元です。
> 'directional-mode: logical' が指定されたときは方向を示す語
> left/right/top/bottom/width/height を次のように論理的に解釈:
村上さんの議論について、考えたみたのですが、
名称:強制回転角度(forcible-rotation)
値:角度(実数値)
を導入したらいかがでしょうか。
縦書き表示にしたい場合、
forcible-rotation = 90(degree)
で、方向や位置関係を表す全ての指定が常に90度回転される。
つまり、
→は↓:(rightward+90度)=downward
↓は←:(downward+90度)=leftward
←は↑:(leftward+90度)=upward
↑は→:(upward+90度)=rightward
として解釈される。
一方、欧文等、横書きの場合(デフォルト)、
forcible-rotation = 0
で強制回転なし。無論、
rightward+0=rightward、leftward+0=leftward、
downward+0=downward、upward+0=upward
なので。
問題の本質は、論理/物理の対立というより、
回転にあるように思いました。
横書き:補正角度=0度
縦書き:補正角度=90度
つまり、縦書きと横書きの違いは、
究極的には、この補正角度の値の違いだけとも
言えるような気がします。
みなさんも少し考えてみて下さい。違っていたらすみません。
ソトン・グローバル・コンピューティング株式会社
秋元貴之
taka-akimoto@thoton.co.jp
2010年7月10日2:34 MURAKAMI Shinyu <murakami@antenna.co.jp>:
> Ishii Koji <kojiishi@gluesoft.co.jp> wrote on 2010/07/07 14:49:11
>> 村上さん、ありがとうございます。英語MLで「あってもいいかな」レベルまで来たのに、日本で賛成が0だったので、ちょっとめげていたところで、非常に心強いです。
>>
>> 実装者にとっては慣れ親しんだ方法ですので、実例は多いと思います。また、text-align:leftの「left」とmargin-leftの「left」が同じ方向を指すので、わかりやすいと思う人は一定数はいると思っています。
>>
>> もちろん逆の方もいらっしゃるので、あくまでモード切替ではありますが、複数の正解があって、人によって支持する解が違う場合には、オプションとする、というのは、正しい方向性だと思っています。
>
> 賛成です。
> 英語ML www-style に書きました:
> http://lists.w3.org/Archives/Public/www-style/2010Jul/0127.html
> (以下その主な内容)
>
> 石井さんの 'directional-mode' の提案を受け入れたい。
>
> Name: directional-mode
> Value: physical | logical
> Initial: physical
> Applies to: all elements
> Inherited: yes
>
> 'directional-mode: logical' が指定されたときは方向を示す語
> left/right/top/bottom/width/height を次のように論理的に解釈:
>
> left = start (インライン方向での先頭側)
> right = end (startの反対側)
> top = before (ブロック方向での先頭側)
> bottom = after (beforeの反対側)
> width = logical-width (インライン方向の寸法)
> height = logical-height (ブロック方向の寸法)
>
>
> (方向のキーワードが左横書き以外で標準的な意味と違ってきておかしくないか
> という意見に対して)
>
> すでにそういう例がある。Unicode標準仕様では文字の名前に
> LEFT PARENTHESIS のようなものがある。この LEFT 文字はRTLにおいては
> 右側になるし、縦書きでは上側になる。Unicodeの文字の名前の LEFT というの
> は論理的な方向であって物理的ではない。
> なぜCSS標準でそれができない?
>
> 論理方向モードは縦書きの電子書籍ビューアにとって重要。
> 現在いくつかのEPUBビューアはコンテンツ(XHTML+CSS2)を縦書きで
> 表示することができてその場合 'margin-left' は上マージンとして
> 扱われる。
>
> そのような実装の例:
> http://blog.print.cssj.jp/?itemid=212
> ドキュメント
> http://blog.print.cssj.jp/?itemid=197
> (「縦書きのスタイル」のところが参考になる)
>
> これは典型的な縦書き対応のEPUBあるいはHTML+CSSの実装である。
> 私はこれが将来のCSS3 Text Layout標準と互換性があるべきだと信じる。
> そうでないと、CSSの縦書きの標準化は失敗するだろう。
> だから 'directional-mode: logical' のしくみをCSS3 Text Layout
> で定義する必要がある。
>
> 典型的な縦書きスタイルシートは次のようなものになるだろう:
>
> :root {
> block-flow: rl;
> directional-mode: logical;
> }
> img { /* 画像の width と height は物理方向で */
> directional-mode: physical;
> }
> ...
>
> これは縦書きの電子書籍ビューアのデフォルトスタイルシートになりえる。
>
> (以上、www-style に書いたことでした)
>
> --
> 村上 真雄 (MURAKAMI Shinyu)
> http://twitter.com/MurakamiShinyu
> Antenna House Formatter:
> http://www.antenna.co.jp/AHF/
> http://www.antennahouse.com
>
>
>
Received on Saturday, 10 July 2010 12:56:11 UTC