RE: text-autospace (和欧四分アキ) における「和字」の定義

ご意見、ありがとうございます。

UAX#11 EAST ASIAN WIDTHは便利なんですが、おっしゃる通りAの処理にいつも困るので、Aをいずれかに倒せるときにしかなかなか使えません。CSS3 TextだとLine Break Transformation Rules[1]などで使っています。レイアウトに使えるようなプロパティがUnicodeで定義できていたらよかったんですが、なかなかどれも帯に短しの場合が多くて。

> ...などの全角句読点や記号たちも和字の定義に含めるべきでしょう。

JLREQ 3.2.6によると、「欧字・アラビア数字の前後に配置される平仮名(cl-15),片仮名(cl-16)又は漢字等(cl-19)との字間は,四分アキとする」なので、全角記号類は含めないようです。全角英字も含めません。なので、UAX #11を使うと除外するレンジが多くて、却って大変になる危惧があります。


> 3099	COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK Mn
> 309A COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK Mn

これは濁点と半濁点ですよね? Non-spacing-marksですが、除く理由はなんでしょう? 309B/309Cが入っているのでこれも入れるべきと思いましたが、間違っていますか?


> これ、U+3041 to U+30FF. の間違いですかね?

U+3041-U+30FFをベースとすると、U+31xxの中から入れるべきものをピックアップしなければなりませんが、
  U+3190-319F KANBUN
  U+31C0-31E3 CJK Strokes
  U+31F0-31FF Katakana Phonetic Extensions
この三つくらいでしょうか。

「CJK Strokes」って何に使われる文字なのかわかっていませんが、ご存知ですか?


[1] http://dev.w3.org/csswg/css3-text/#line-break-transform


-----Original Message-----
From: Yasuo Kida [mailto:kida@apple.com] 
Sent: Friday, January 28, 2011 5:04 AM
To: Koji Ishii
Cc: public-html-ig-jp@w3.org
Subject: Re: text-autospace (和欧四分アキ) における「和字」の定義

これ、U+3041 to U+30FF. の間違いですかね?つまり Hiragana と Katakana ブロックだけ。もし U+31FF までだとすると、例えば、ハングル互換字母が入っているのに、他のハングル(ハングル字母 U+1100, ハングル字母拡張A U+A960, ハングル音節文字 U+AC00 など)が入っていないのはなぜ、という疑問があります。

U+3041 から U+30FF なら、下の二つを除くすべてを含めるのが合理的に思えます。
3099	COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK Mn
309A COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK	Mn

ただ、U+31F0 の Katakana Phonetic Extensions は入れる必要がありますね。また、U+3000 CJK Symbols and Punctuation、U+3200 Enclosed CJK Letters and Months、U+3300 CJK Compatibility、などの全角句読点や記号たちも和字の定義に含めるべきでしょう。こういうの、他にもありそうです。例えば、U+2E80 CJK Radicals Supplement、U+2F00 Kangxi Radicals。あと、Unicode 6.0 で入った絵文字たちも和字との間に間隔が空いてほしくありませんね。こういうのをどうしたらもれなくカバーできますかね。


UAX #11 EAST ASIAN WIDTH http://unicode.org/reports/tr11/tr11-14.html (データは http://unicode.org/Public/UNIDATA/EastAsianWidth.txt) は参考になるかもしれません。

このテクニカルレポートでは、Unicode の文字を、Wide(W:全角コンテキストでしか出てこない文字。漢字やハングルなど)、FullWidth(F:全角英字などの互換全角。全角英字など)、Narrow(Na:互換全角の相手のあるプロポーショナルなもの。例えば "A")、Neutral(N:プロポーショナルなもの。例えば "À")、Ambiguous(A:どちらでもありうるもの)、Halfwidth(H:互換半角。半角仮名など)に分けています。

ここで、Wide か FullWidth なら、ideograph-alpha の ideograph 側でいいと考えることができるかもしれません。その場合、ハングルや yi スクリプト(U+A000)もここに含まれてしまいますが、これをどう考えるかでしょうか。

Narrow、Neutral は alpha 側でしょう。

Ambiguous は alpha 側ですかね。Ambiguous は、例えば英字でもたまたま JIS に含まれるものは Ambiguous になっています。例えば U+00C6 LATIN CAPITAL LETTER AE "Æ" は周りが Narrow なのに、これだけ Ambiguous です。ただ、同じ文字でもコンテキストによって ideograph 側にあるべき場合と、alpha 側にあるべき場合とがあるかもしれず、よく見る必要があるかもしれません。あと、現在絵文字が Ambiguous になっていますが、これは ideograph 側、Wide であるべきでしょうね。

Halfwidth は、ideograph 側ですかね。

ということで、EAST ASIAN WIDTH がかなり参考になりそうに思います。

木田

On 2011/01/27, at 10:31, Koji Ishii wrote:


和欧四分アキを実現するtext-autospaceプロパティ[1]の最後にある「和字」の定義で、現在の定義

* All characters that belongs to Unicode Letters, Other [Lo] category in the range of U+3041 to U+31FF.

だと長音を含まない、というご指摘をいただきました。ご指摘、感謝いたします。

この範囲で [Lo] 以外の文字コードをリストアップしてみましたが、Unicode categoryが割とバラバラです。ちょうど話題の漢文の訓点は、レ点がSymbol、一がNumberに分類されていたりします。JLREQ[2] ではアキを入れるとは定義されていない文字もだいぶ含まれてはいるのですが、

30A0	KATAKANA-HIRAGANA DOUBLE HYPHEN Pd
30FB KATAKANA MIDDLE DOT Po

の二つ以外は「和字」と分類した方がいいように思われるため、「Punctuation以外」と定義を修正しようと思っていますが、ご意見のある方がいらっしゃいましたら、お聞かせいただけると幸いです。

参考までに、このU+3041からU+31FFの間の [Lo] 以外の文字コードのリストを添付します。

よろしくお願いいたします。

3099	COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK Mn
309A COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK Mn
309B KATAKANA-HIRAGANA VOICED SOUND MARK Sk
309C KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK Sk
309D HIRAGANA ITERATION MARK Lm
309E HIRAGANA VOICED ITERATION MARK Lm
309F HIRAGANA DIGRAPH YORI Lo
30A0 KATAKANA-HIRAGANA DOUBLE HYPHEN Pd
30FB KATAKANA MIDDLE DOT Po
30FC KATAKANA-HIRAGANA PROLONGED SOUND MARK Lm
30FD KATAKANA ITERATION MARK Lm
30FE KATAKANA VOICED ITERATION MARK Lm


3190 IDEOGRAPHIC ANNOTATION LINKING MARK So
3191 IDEOGRAPHIC ANNOTATION REVERSE MARK So
3192 IDEOGRAPHIC ANNOTATION ONE MARK No
3193 IDEOGRAPHIC ANNOTATION TWO MARK No
3194 IDEOGRAPHIC ANNOTATION THREE MARK No
3195 IDEOGRAPHIC ANNOTATION FOUR MARK No
3196 IDEOGRAPHIC ANNOTATION TOP MARK So
3197 IDEOGRAPHIC ANNOTATION MIDDLE MARK So
3198 IDEOGRAPHIC ANNOTATION BOTTOM MARK So
3199 IDEOGRAPHIC ANNOTATION FIRST MARK So
319A IDEOGRAPHIC ANNOTATION SECOND MARK So
319B IDEOGRAPHIC ANNOTATION THIRD MARK So
319C IDEOGRAPHIC ANNOTATION FOURTH MARK So
319D IDEOGRAPHIC ANNOTATION HEAVEN MARK So
319E IDEOGRAPHIC ANNOTATION EARTH MARK So
319F IDEOGRAPHIC ANNOTATION MAN MARK So
31C0 CJK STROKE T So
31C1 CJK STROKE WG So
31C2 CJK STROKE XG So
31C3 CJK STROKE BXG So
31C4 CJK STROKE SW So
31C5 CJK STROKE HZZ So
31C6 CJK STROKE HZG So
31C7 CJK STROKE HP So
31C8 CJK STROKE HZWG So
31C9 CJK STROKE SZWG So
31CA CJK STROKE HZT So
31CB CJK STROKE HZZP So
31CC CJK STROKE HPWG So
31CD CJK STROKE HZW So
31CE CJK STROKE HZZZ So
31CF CJK STROKE N So
31D0 CJK STROKE H So
31D1 CJK STROKE S So
31D2 CJK STROKE P So
31D3 CJK STROKE SP So
31D4 CJK STROKE D So
31D5 CJK STROKE HZ So
31D6 CJK STROKE HG So
31D7 CJK STROKE SZ So
31D8 CJK STROKE SWZ So
31D9 CJK STROKE ST So
31DA CJK STROKE SG So
31DB CJK STROKE PD So
31DC CJK STROKE PZ So
31DD CJK STROKE TN So
31DE CJK STROKE SZZ So
31DF CJK STROKE SWG So
31E0 CJK STROKE HXWG So
31E1 CJK STROKE HZZZG So
31E2 CJK STROKE PG So
31E3 CJK STROKE Q So

[1] http://dev.w3.org/csswg/css3-text/#text-autospace

[2] http://www.w3.org/TR/2009/NOTE-jlreq-20090604/ja/

Received on Friday, 28 January 2011 02:47:29 UTC