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

> ふと思ったんですが、これ、例えば 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 UTC