-
Notifications
You must be signed in to change notification settings - Fork 4
/
136.txt
156 lines (133 loc) · 3.82 KB
/
136.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
* 仕様書
[REFS[
- [1] [CITE[The Unicode Standard, Version 13.0 - ch03.pdf]], [TIME[2020-03-09T17:53:34.000Z]], [TIME[2020-12-31T08:45:19.650Z]] <https://www.unicode.org/versions/latest/ch03.pdf#G50313>
]REFS]
* 結合クラス
[2]
[[Unicode符号点]]は、
[DFN[[F[[RUBYB[[[[RUBY[結合][けつごう]]クラス][結合クラス]]][combining class]]]]]]
([[特性][文字特性]] [DFN[[CODE[Canonical_Combining_Class]]]], [DFN[[CODE[ccc]]]])
を持ちます。
[F[結合クラス]]は、
[[正準順序付けアルゴリズム]]で[[結合マーク]]の[[正準等価性]]の決定に使う
[ [N[0]], [N[254]] ]
の[[数値]]です。
[SRC[>>1 D104]]
[3]
[CODE[Canonical_Combining_Class]]
は、
[[UCD]]
の
[CODE[UnicodeData.txt]]
で定義されます。
[DFN[[CODE[DerivedCombiningClass.txt]]]]
にも収録されています。
[SRC[>>1 D104]]
[4]
データファイルに明記されていないときの既定値は、
[N[0]]
です。
[SRC[>>1 D104]]
- [5]
[CODE[ccc]]
が
[N[0]]
以外なのは、
[[結合マーク]]だけです。
[SRC[>>1 D104]]
-- [6]
[CODE[ccc]]
が非 [N[0]]
のほとんどの[[結合マーク]]は、
[[nonspacing mark]]
です。
[SRC[>>1 D104]]
- [7]
[[nonspacing mark]]
には、
[CODE[ccc]]
が非 [N[0]]
では''ない''ものもあります。
[SRC[>>1 D104]]
- [10]
[CODE[ccc]] = [N[0]]
の[[結合文字]]には、
例えば
[CODE(charname)@en[CGJ]]
があります。
[REFS[
- [8]
[CODE[Canonical_Combining_Class]] ごとの[[符号点]]の一覧
<https://chars.suikawiki.org/set#:~:text=$unicode:Canonical_Combining_Class:>
-- [9]
[CODE[ccc]] = [N[0]]
の[[符号点]]の一覧
<https://chars.suikawiki.org/set/%24unicode%3ACanonical_Combining_Class%3A0>
]REFS]
-*-*-
[11]
[DFN[[RUBYB[[RUBY[固定位置][こていいち]]クラス][fixed position class]]]]は、
[[結合クラス]]の[[部分集合]]で、
範囲
[ [N[10]], [N[199]] ]
の[[数値]]です。
[SRC[>>1 D105]]
[12]
[[固定位置クラス]]は、
[[ヘブライ文字]]、
[[アラビア文字]]、
[[シリア文字]]、
[[テルグ文字]]、
[[タイ文字]]、
[[ラオス文字]]、
[[チベット文字]]の少数の[[結合マーク]]のみに適用され、
[[grapheme base]]
に対して固定された位置に出現するものを表しています。
適用対象となる[[結合文字]]には
[[Arabic vowel point]]
や
[[Indic matras]]
のような[[母音記号]]の一部が含まれますが、
すべてではありません。
[SRC[>>1 D105]]
[13]
[[固定位置クラス]]は、
[[正規化形]]の正式な標準化に先立つ開発の初期段階に由来する歴史的遺物とされます。
[SRC[>>1 D105]]
-*-*-
[15]
[CODE[ccc]]
は、元々、
[[typograph的相互作用]]を持つ
[[nonspacing mark]]
を同じ値でグループ化すべく定められました。
[CODE[ccc]]
を使って行われる
[[canonical ordering]]
は、
通常は、
- [16] [VAR[C1]] と [VAR[C2]] が[[typograph的相互作用]]するなら、
<[VAR[C1]], [VAR[C2]]>,
<[VAR[C2]], [VAR[C1]]>
は[[正準等価]]では''ない''
- [17] [VAR[C1]] と [VAR[C2]] が[[typograph的相互作用]]''しない''なら、
<[VAR[C1]], [VAR[C2]]>,
<[VAR[C2]], [VAR[C1]]>
は[[正準等価]]である
... となります。
ところが[[固定位置クラス]]の[[結合文字]]など、
一部には
[CODE[ccc]]
が違うのに[[typograph的相互作用]]するケースもあります。
[SRC[>>1]]
[18]
それ故に
[CODE[ccc]]
が[[規定]]として使われるのは[[正準順序付けアルゴリズム]]だけです。
[SRC[>>1]]
[19]
[CODE[ccc]]
は、
[[結合文字]]の[[typograph的相互作用]]については[[指針]]としてのみ扱う[RUBYB[べき][should]]です。
[SRC[>>1]]
* メモ