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

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

From: Koji Ishii <kojiishi@gluesoft.co.jp>
Date: Fri, 28 Jan 2011 00:58:49 -0500
To: Yasuo Kida <kida@apple.com>
CC: "public-html-ig-jp@w3.org" <public-html-ig-jp@w3.org>, "ISHINO k16 (k16@antenna.co.jp)" <k16@antenna.co.jp>
Message-ID: <A592E245B36A8949BDB0A302B375FB4E0AAF009FFA@MAILR001.mail.lan>
> ふと思ったんですが、これ、例えば Ideographic letters ではない文字に
> 結合文字がついていて、その後に Ideographic letters が来たら、
> どうなるんでしょう?

なるほど、欧文として扱うべきですね。Unicode Mark category [M*] も対象に入れましょう。


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

なるほど補集合なんですね。一点、"include" は曖昧な言葉なので、書くなら "is defined as" のほうがよいのではないかな。

ふと思ったんですが、これ、例えば Ideographic letters ではない文字に結合文字がついていて、その後に Ideographic letters が来たら、どうなるんでしょう?

木田

On 2011/01/27, at 21:21, Koji Ishii wrote:


「letters」なので、空白や記号を除いた集合の中では、補集合と定義したいと思っています。「Alphabetic letters」だと全角欧文の扱いが曖昧になってしまうので。

その定義がきちんとないのは確かにご指摘通りですね。Ideographic lettersの定義の次あたりに、

Non-ideographic letters includes the following characters:
* All characters that belongs to Unicode Letters [L*] category, except those included in Ideographic letters

と足す、というのはいかがでしょう? 

# JLTF は送るとエラーになるというお話で外しました

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


JLREQでは「プロポーショナルな欧文」と書いていますが、CSS3 Textでは

 non-ideographic letters, such as Latin-based,
 Cyrillic, Greek, Arabic or Hebrew

"extra spacing between runs of ideographic letters and non-ideographic letters, such as Latin-based, Cyrillic, Greek, Arabic or Hebrew." という表現だと、ideographic letters と non-ideographic letters (ideographic letters の補集合)があって、non-ideographic letters の例(such as=for example)として、Latin-based, Cyrillic, Greek, Arabic or Hebrew がある、と書いてあるように読めます。つまり、non-ideographic letters はこれら例示されているものに限らず、ideographic letters ではないもの全て、と。

例えば、"extra spacing between runs of ideographic letters and alphabetic (or proportional, or other term) letters. ideographic letters are ABC. alphabetic letters are XYX." と書いて、それぞれを定義するのがいいんじゃないでしょうか?

木田

On 2011/01/27, at 20:01, Koji Ishii wrote:


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

そうなりますね。



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

JLREQでは「プロポーショナルな欧文」と書いていますが、CSS3 Textでは


non-ideographic letters, such as Latin-based,
Cyrillic, Greek, Arabic or Hebrew

と拡大解釈しています。もともと和字とそれ以外のレイアウトの切り替わりに余白を入れて読みやすくするものだと思うので、そのような解釈をしています。

曖昧な部分もあり、ご意見・お考えありましたら、ぜひお聞かせください。

# JLREQの解釈にかかわる問題でもあると思うので、JLTFの方のMLをCCさせていただきました。


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

ちょっと勘違いしていたかもしれません。"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 05:57:47 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Friday, 28 January 2011 05:57:49 GMT