East Asian Width (EAW) の分類ごとに何が入ってくるか
EAWの概要
UAX #11にあるコードポイントごとのEast Asianでの字幅についての属性。
以下はUAX #11 38 (Unicode 13.0.0)ベースでの概要。
Wide/NarrowがEAWとEast Asianの両方の文脈で利用されているように見えるので区別がつくように記述してもらえた方がいいかも?
- ED1: レガシーな文字セットの定義で全角・半角の対応付けがあるものについて、抽象的な値としてnarrowもしくはwideの値を持たせられる (EAWとしてのアサインの値ではない、本文中では<narrow>,<wide>表記になっている)
- ED2: EAW = Fullwidth (F)は、<wide>になるように設定された全角幅を持つ互換文字に割り当てられる
- EAW=F 104コードポイント、U+3000, U+FF01-FF60, U+FFE0-FFE6の全角形のもの
- ED3: EAW = Halfwidth (H)は、<narrow>になるように設定された全角幅を持つ互換文字に割り当てられる、またU+20A9 (Won)を追加
- EAW=H 123コードポイント、U+20A9, U+FF61-FF64, U+FF65-FF9F (半角かな), U+FFA0-FFBE/FFC2-FFC7/FFCA-FFCF/FFD2-FFD7/FFDA-FFDC (半角ハングル要素), U+FFE8-FFEE (半角記号)
- ED4: EAW = Wide (W)は、常に<wide>・全角で表示される文字として定義されており、対応する半角を持つ文字、Emoji_Presentation (UTS#51)を持つ文字を含み、Regional_IndicatorがYesを除く
- ED5: EWA = Narrow (Na)は、<narrow>になる文字で必ずF/Wの互換文字を持ち、East asianの半角文字であるもの
- EAW=Na 111コードポイント
- US-ASCIIのU+0020-007E
- Latin 1のU+00A2,00A3,00A5,00A6,00AC,00AF
- その他の数学記号 U+27E6-27ED, U+2985,2986
- ED6: EAW = Ambiguous (A)は、narrowとwideの両方に文脈依存でなりえる文字
- EAW=A
- 4.2 文脈依存でnarrow/wideのどちらにもなりえる、レガシーコードに依存しない場合はnarrow。それ以外ではFかH。
- ED7: EAW = Neutral (N)は、その他で、古典的な東アジアのエンコーディングでは出現しない文字
- 理論的にnarrow/wideのどちらかという議論は当てはまらない(東アジアの組版では存在しなかったもの)が、現実的にはNaとして扱われるのが現実に即す
- EAW=N
幅広くは
- wide: W, F, A (in east asian文脈)
- narrow: N, Na, H, A (in not east asian文脈)
文字幅へのマッピング (レガシーコードへのマッピング)
UAX #11の5章には、
- UnicodeからEast asian legacy character encodingsへのマッピングの場合
- Wide => Fullwidth
- Narrow (+ Neutral) => Halfwidth
- Halfwidth => Halfwidth
- Ambiguous => Fullwidth
- Unicodeからnon East Asian legacy character encodingsへのマッピングの場合
- Wide => マッピングしない
- Narrow (+ Neutral) => 通常(narrow)文字へマッピング
- Halfwidth => マッピングしない
- Ambiguous => 通常(Narrow)文字へマッピング