Re: "ideographs"の定義@CSS

(下農さんありがとうございます)

皆さま、箇条書きや全角再定義の議論でお忙しいと思いますが、この件もちょっと見ていただければ。以下は問題の整理です。


背景
 CSS Text Module Level 4 Working Draft <https://www.w3.org/TR/css-text-4> において和欧間や括弧などの間のアキをコントロールするための文字クラスの定義のうち、”Ideograph” の定義 <https://www.w3.org/TR/css-text-4/#ideographs>に対する修正提案 <https://github.com/w3c/csswg-drafts/pull/9503>が今回の議論対象です。

このCSSの文字クラスは JLReq の文字クラス <https://www.w3.org/TR/jlreq/#character_classes>および「Unicode に拡張した字間プロパティの設計 <https://github.com/w3c/jlreq/blob/gh-pages/docs/spacing_property/spacing_property.md>」の文字クラスに対応します。後者は JLReq の定義をアキに特化して jlreq-d 向けに整理再構成したものですので、以降 jlreq-d 文字クラスと表します。

CSSの文字クラスはアキに特化していますので、複数の機能をカバーする JLReq の文字クラスとは理屈上一対多の関係、jlreq-d の文字クラスとは理屈上ほぼ等しくなるはずです。特に、この話題の対象であるCSS の “Ideograph <https://www.w3.org/TR/css-text-4/#ideographs>” は jlreq-d のクラス 「J: アルファベットとの間に空間を必要とする文字 = 仮名や漢字 <https://github.com/w3c/jlreq/blob/gh-pages/docs/spacing_property/spacing_property.md#j-%E3%82%A2%E3%83%AB%E3%83%95%E3%82%A1%E3%83%99%E3%83%83%E3%83%88%E3%81%A8%E3%81%AE%E9%96%93%E3%81%AB%E7%A9%BA%E9%96%93%E3%82%92%E5%BF%85%E8%A6%81%E3%81%A8%E3%81%99%E3%82%8B%E6%96%87%E5%AD%97--%E4%BB%AE%E5%90%8D%E3%82%84%E6%BC%A2%E5%AD%97>」に正確に対応するはずですので、この二つを比較してみます。


CSS で “Ideograph” の分類だが、jlreq-d で “J” でないもの
㋐ CIRCLED KATAKANA (sc=Katakana, gc=So)
㌁ SQUARE カタカナ・ひらがな(sc=Katakana/Hiragana, gc=So)
偏と旁(sc=Hani, gc=So)
U+16FF0 VIETNAMESE ALTERNATE READING MARK CA / U+16FF1 VIETNAMESE ALTERNATE READING MARK NHAY (gc=Mc; sc=Hani; ea=W)
U+16FE3 OLD CHINESE ITERATION MARK (gc=Lm; sc=Hani; ea=W)
jlreq-d で “J” の分類だが、CSS で “Ideograph” でないもの
〆、〼(gc=Lo; sc=Common; ea=W)
長音、くの字点(gc=Lm; sc=Common; ea=W)
漢字以外の表意文字(Ideographic=Yes, sc=Kits/Nshu/Tang 女真文字、西夏文字、契丹文字)

こらの差に対して私のコメントです。コメント、ツッコミ、お願いします。
CSS案から外す:㋐ CIRCLED KATAKANA は JLReq では漢字 cl-19 ですが、jlreq-d ではこれはどの文字ともベタにすべきであるとの結論となり、クラスOに分類されました。その分類が良いかと思います。どちらにするにせよ、丸つきのカタカナはカタカナであるという性質よりも、丸つきであるという性質を重視すべきで、Unicode に数多ある他の丸つき文字①Ⓐ㉄㉮㊀や四角つき文字🄰 🅏🈐などと同様に扱うべきでしょう。
CSS案から外す:㌁ SQUARE カタカナ・ひらがな、は JLReq では㌃のように後置省略記号 cl-13 のもの、㌀のようにJLReqに定義のないものに分かれます。jlreq-d においてはこれらはすべてどの文字ともベタとなるクラスOです。上記同様ベタの分類で良いかと思います。
CSS案そのまま:偏と旁は jlreq-d で漢字の類に含まれていませんが、これに関しては jlreq-d もCSS案に合わせて含まれるようにすべきかと思います。
CSS案から外す?:判断つきませんが、そもそも漢字と組み合わせて使う文字なので、ベース文字、つまり漢字に従えば良いのでは。これは general_category=M* を入れるかどうかでスイッチできます。
CSS案そのまま:これは=のような形の文字ですが、中国で使われていた々〻と同じ目的の文字であって、漢字の中で使われていて、分けようとしてもプロパティで容易に区別つかないので、入れるべきなんでしょう。

CSS案に加える?:〆〼はおそらく漢字の分類に含まれるべきでしょう。
CSS案に加える:長音は漢字に含まれるべきでしょう。長音に関しては既に石井さんが指摘しておられ、加えることになっています。長音を加えてくの字点を除外するとめんどくさいのでこれもIN。
CSS案に加える?:漢字以外の表意文字は、どちらでも良いが、これらは漢字を起源とするので、漢字の仲間の方が良さそう?


参考までにそれぞれのUnicodeプロパティを使った定義を示します
CSSの”Ideograph” の定義 <https://www.w3.org/TR/css-text-4/#ideographs>
Includes all [=typographic character units=] [[CSS-TEXT-3]] whose base character:
belongs to Unicode Letters [L*], Mark [M*], Symbols [S*], or Numbers [N*] [=general category=], and
has the Han, Hiragana, or Katakana [=script property=], and
is not categorized as East Asian Halfwidth (H) by [[!UAX11]]

jlreq-dの J クラスの定義 <https://github.com/w3c/jlreq/blob/gh-pages/docs/spacing_property/spacing_property.md#j-%E3%82%A2%E3%83%AB%E3%83%95%E3%82%A1%E3%83%99%E3%83%83%E3%83%88%E3%81%A8%E3%81%AE%E9%96%93%E3%81%AB%E7%A9%BA%E9%96%93%E3%82%92%E5%BF%85%E8%A6%81%E3%81%A8%E3%81%99%E3%82%8B%E6%96%87%E5%AD%97--%E4%BB%AE%E5%90%8D%E3%82%84%E6%BC%A2%E5%AD%97>
説明ぶくみで記述がちょっと冗長ですが:
平仮名:全角、GC=L*, Script=Hiragana(ヽヾが Lm、その他は Lo)
片仮名:全角、GC=L*, Script=Katakana(ゝゞが Lm、その他は Lo)
漢字、および仮名漢字に準じる文字:全角、GC=L*/Nl, Script=Han/Common、U+16FE3を除く(漢字、〆々〻〱〲〳〴〵〼〇、蘇州号碼)
漢字を含む象形文字:全角、PropList=Ideographic, GC=Lo/Nl (漢字、〆、蘇州号碼、女真文字、西夏文字、契丹文字)

木田

> 2023/10/24 22:40、Atsushi Shimono (W3C Team) <atsushi@w3.org>のメール:
> 
>  shimonoです
> 
>  いくつかのissueを受け、css-text-4の"ideographs"の定義を修正する提案が出ています。
> https://github.com/w3c/csswg-drafts/pull/9503/files

> 
>  現状は
> https://www.w3.org/TR/css-text-4/#ideographs

> 
> Includes all typographic character units [CSS-TEXT-3] whose base character is listed below:
> 
> * All characters in the range of U+3041 to U+30FF, except those that belong to Unicode Punctuation [P*] general category.
> * CJK Strokes (U+31C0 to U+31EF).
> * Katakana Phonetic Extensions (U+31F0 to U+31FF).
> * All characters that have the Han script property.
> 
>  修正後は
> Includes all [=typographic character units=] [[CSS-TEXT-3]] whose base character:
> 
> * belongs to Unicode Letters [L*], Mark [M*], Symbols [S*], or Numbers [N*] [=general category=], and
> * has the Han, Hiragana, or Katakana [=script property=], and
> * is not categorized as East Asian Halfwidth (H) by [[!UAX11]]
> 
> です。
> 
>  用途としては
> text-autospace: https://www.w3.org/TR/css-text-4/#text-autospace-property

> text-spacing-trim: https://www.w3.org/TR/css-text-4/#text-spacing-trim-property

> の定義でspacingを入れるかどうかについてのところで利用される文字の集合になります。
> 
> 
>  すでに石井さんよりコメントはありますが
> 削除される文字: https://util.unicode.org/UnicodeJsps/list-unicodeset.jsp?a=%5B%5Cu3041-%5Cu30FF%5D%5B%5Cu3041-%5Cu30FF%5D-%5B%3Agc%3DP%3A%5D-%5B%3Asc%3DHira%3A%5D-%5B%3Asc%3DKana%3A%5D-%5B%3Asc%3DHrkt%3A%5D&g=&i=gc%2Csc%2Cea

> 追加される文字: https://util.unicode.org/UnicodeJsps/list-unicodeset.jsp?a=%5B%3Asc%3DHira%3A%5D%5B%3Asc%3DKana%3A%5D%5B%3Asc%3DHrkt%3A%5D-%5B%3Aea%3DH%3A%5D-%5B%5Cu3041-%5Cu30FF%5D-%5B%5Cu3041-%5Cu30FF%5D&g=&i=gc%2Csc%2Cea

> の変更が加わります。(なお、"whose base character"という定義ですのでこれらへの合字は含まれるはずです)
> 
> ・U+30FC (ー)が抜ける
> ・Enclosed CJK Letters and Monthsが含まれる
> ・Squared Katakana Wordsが含まれる
> 
> などの変更があります。
>  かなとか以外への丸付き文字に関する統一性や、そもそもU+20DDが許されたbase characterに合わせられたときはどーすんだとか、いくつかjlreqとして議論しないといけない点があるのではないか、ということで木田さんと話をしております。
> 
>  というところで、みなさま、text-spacing-*に関連した文字の集合ではありますが、こちらいかがでしょうか?

Received on Thursday, 26 October 2023 12:04:37 UTC