- From: Shinyu MURAKAMI <murakami@vivliostyle.org>
- Date: Mon, 27 Nov 2023 22:31:05 +0900
- To: JLReq TF 日本語 <public-i18n-japanese@w3.org>
- Message-Id: <ED5B0BCB-5513-4392-A25B-831A1ABAF20D@vivliostyle.org>
村上です。 11/24のミーティングで、Unicodeの空白文字のうち、U+0020とU+3000しか行末吸収されない問題があると発言しました。これについて訂正します。 たしかに現状のブラウザはその問題があるのですが、現在のCSS Text Level 3仕様を確認したところ、仕様ではすでに修正されており、U+0020とU+3000だけでなくUnicodeの空白文字は基本的に行末吸収(正確には行末ぶら下げ)されることとなってました。 (CSS仕様のissueで解決済み: [css-text] Hanging/collapsing of fixed-width spaces not specified <https://github.com/w3c/csswg-drafts/issues/3879> ) 現在のCSS Text Level 3仕様 <https://www.w3.org/TR/css-text-3/>のこれに関する箇所は「4.1. The White Space Processing Rules <https://www.w3.org/TR/css-text-3/#white-space-rules>」の「4.1.2. Phase II: Trimming and Positioning <https://www.w3.org/TR/css-text-3/#white-space-phase-2>」の次のところ 4. If there remains any sequence of white space, other space separators <https://www.w3.org/TR/css-text-3/#other-space-separators>, and/or preserved tabs at the end of a line (after bidi reordering [CSS-WRITING-MODES-4]): If white-space is set to normal, nowrap, or pre-line, the UA must hang this sequence (unconditionally). ここで、"other space separators" というのが次のように定義されています: all characters in the Unicode general category Zs except space (U+0020) and no-break space (U+00A0) are collectively referred to as other space separators. つまりUnicode空白文字のうち、U+0020とU+00A0を除くものはすべて該当します。 この現在の仕様になる前の仕様 https://www.w3.org/TR/2018/WD-css-text-3-20181212/#white-space-phase-2 では、次のルールでした(U+0020とU+3000しか行末吸収されない): 3. A sequence at the end of a line (ignoring any intervening inline box boundaries) of collapsible spaces (U+0020) and/or ideographic spaces (U+3000) whose white-space value collapses spaces is removed. 2019年のドラフト仕様ではこれが修正されたのですが、ブラウザの実装はまだ修正前の仕様のままという状態です。 Web Platform Testsでの該当するテストへのリンク: https://wpt.fyi/results/css/css-text/white-space?label=master&label=experimental&aligned&q=trailing-other-space-separators-0 これを見ると、Chrome、Edge、Firefox、Safariのどれもまだother space separatorsの行末吸収(ぶら下げ)ができていないのが分かります。 仕様の上では4年も前に修正されたのに、まだブラウザでそれが実装されてません。 (Chromium bugsに Issue 991413: Implement the spec changes for trailing other spaces <https://bugs.chromium.org/p/chromium/issues/detail?id=991413> が登録されてはいる) いずれはブラウザに仕様通りに実装されるのを期待。 ということで、仕様についてはこの問題は解決済みでした。 Vivliostyle村上
Received on Monday, 27 November 2023 13:31:24 UTC