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 03:08:11 UTC