Re: 仕様書上のルビの実例における空白文字類

こんにちは。矢倉です。

2010/2/17 鈴見咲君高 <szmml@h12u.com>:
> さっそく表題の件についてなのですが、下記URLなどに現時点でのruby要素に関する仕様が記されています。ここでの例についておたずねいたします。
>
> http://www.whatwg.org/specs/web-apps/current-work/multipage/text-level-semantics.html#the-ruby-element
>
> ここで挙げられている次のコード、漢字やひらがなの周りに半角空白やら改行やらがまとわりついていますよね。こういう空白がどのように処理されるかをはっきりさせている仕様はどこかにあるのでしょうか?
>
> <ruby>
>  漢 <rt> かん </rt>
>  字 <rt> じ  </rt>
> </ruby>

空白文字の処理については、大きく分けてDOMと表示のふたつがあると思いますが、
DOMについては、HTML構文の章で取り上げられています。
<http://dev.w3.org/html5/spec/syntax.html>

いくつかの例外がありますが、基本的には、空白文字がそのままテキストノードになっていたように思います。

で、空白文字がどのように表示されるかについては、CSS 2.1のwhite-spaceで言及されています。
<http://www.w3.org/TR/CSS2/text.html#white-space-model>

CSSのwhite-spaceで、white-space:normal(基本的な処理)の場合

* 改行の周りにあるタブやスペースなどを省く
* 改行はスペースやzero-width-spaceに置換して表示する、もしくは文字なしとして扱う
  (置換する文字はUAが文字体系にあわせて考えて良い)
* タブはスペースに置換され、連続したスペースはひとつのスペースとして扱う

といった処理になります。改行の扱いは言語ごとに変化するとはありますが、実質的にひとつのスペースに置換されると考えて良いでしょう。

-- 
Masataka Yakura
<myakura.web@gmail.com>

Received on Friday, 12 March 2010 05:58:34 UTC