W3C home > Mailing lists > Public > public-html-ig-jp@w3.org > January 2011

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

From: Yasuo Kida <kida@apple.com>
Date: Thu, 27 Jan 2011 19:06:56 -0800
Cc: "public-html-ig-jp@w3.org" <public-html-ig-jp@w3.org>
Message-id: <8A24FFC5-5B9B-4865-B941-AAD293AA4B00@apple.com>
To: Koji Ishii <kojiishi@gluesoft.co.jp>
ちょっと勘違いしていたかもしれません。"extra spacing between runs of ideographic letters and non-ideographic letters, such as…" という表現から、世の中の文字を二手に分けて、その間に間隔を置くのかと思っていました。二分類で、かつ例えば句読点を ideographic letters から除外するコードを組んだら、ひらがなと句読点の間に間隔が空いてしまうことになります。

そうではなくて、ideograph と alpha と、どちらでもないもの、の三つがあるんですね?JLReq でも「A と B との字間」という表現で、それ以外の文字があることを示しています。

考えてみればその方が自然ですね。それに、どちらでもないもの、があると、間違った文字種の分類をしたために期待しない奇妙な間隔が空く、という事態に陥りにくいですし。

だとすると、どの文字を alpha もしくは、non-ideographic letters とするのかの定義も必要ですね?例えば、Arabic や Devanagari が和文中に埋め込まれた時、周りにアキは欲しいのか? 

木田

On 2011/01/27, at 18:41, Koji Ishii wrote:

> ご意見、ありがとうございます。
> 
> 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 03:08:11 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Friday, 28 January 2011 03:08:14 GMT