/
313.txt
172 lines (125 loc) · 8.99 KB
/
313.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
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
[20] [DFN[[RUBYB[結合文字]@en[combining character]]]]は、直前の[[基底文字]]と合成されて表示される[[文字]]です。
* 仕様書
[REFS[
- [9] '''[[The Unicode Standard]] <https://www.unicode.org/versions/Unicode7.0.0/ch03.pdf#G30602>'''
- [18] [CITE@en-us[Glossary]] ([TIME[2014-12-06 10:49:08 +09:00]] 版) <https://unicode.org/glossary/#combining_mark>
- [103] [CITE@en-us[[[UAX #44]]: Unicode Character Database]] ([TIME[2016-06-21 02:42:04 +09:00]]) <https://www.unicode.org/reports/tr44/#General_Category_Values>
- [101] [CITE@en-us[[[UTS #46]]: Unicode IDNA Compatibility Processing]] ([TIME[2016-06-02 03:53:22 +09:00]]) <https://www.unicode.org/reports/tr46/#Validity_Criteria>
]REFS]
* 意味
[10] [DFN[[RUBYB[結合文字]@en[combining character]]]]は、
[[General Category]] が [[Combining Mark]] ([CODE[[[M]]]]) の[[文字]]です。
これには、 [[General Category]] の値が [[Spacing Combining Mark]] ([CODE[[[Mc]]]]),
[[Nonspacing Mark]] ([CODE[[[Mn]]]]), [[Enclosing Mark]] ([CODE[[[Me]]]])
の[[文字]]が含まれます。 [SRC[>>9]]
[26] [DFN[[RUBYB[結合マーク]@en[combining mark]]]]は、
[CODE[General_Category]] が [DFN[[CODE[Mark]]]] の[[符号位置]]です [SRC[>>101]]。
[27] [CODE[General_Category]] の値 [DFN[[CODE[Mark]]]] ([DFN[[CODE[M]]]])
は、 [CODE[Mn]], [CODE[Mc]], [CODE[Me]] のいずれかであることを表します [SRC[>>103]]。
[28] [DFN[[[combining mark]]]] は、 [[combining character]] と同義です [SRC[>>18]]。
-*-*-
[12] [[私用文字]] ([CODE[[[Co]]]]) を[[結合文字]]と解釈するか否かは、
[[実装]]によります [SRC[>>9]]。
原則は[[基底文字]]扱いとされています。
[SEE[ [[基底文字]] ]]
* 一覧
[REFS[
- [23] [CITE@en[Character set "$unicode:Mn | $unicode:Mc | $unicode:Me"]] ([TIME[2015-03-22 23:53:21 +09:00]] 版) <https://chars.suikawiki.org/set?expr=%24unicode%3AMn+%7C+%24unicode%3AMc+%7C+%24unicode%3AMe>
]REFS]
* 性質
[11] [[正準結合クラス]]が 0 でない[[文字]]は、[[結合文字]]です。
しかし[[逆]]は真ではありません。[[正準結合クラス]]が 0 の[[結合文字]]もあります。 [SRC[>>9]]
;; [22] >>21 は、[[正準結合クラス]]が 0 の[[結合文字]]の一覧です。
[REFS[
- [21] [CITE@en[Character set "$unicode:Mn | $unicode:Mc | $unicode:Me - $unicode:Canonical_Combining_Class:non-0"]] ([TIME[2015-03-22 23:52:41 +09:00]] 版) <https://chars.suikawiki.org/set?expr=%24unicode%3AMn+%7C+%24unicode%3AMc+%7C+%24unicode%3AMe+-+%24unicode%3ACanonical_Combining_Class%3Anon-0>
]REFS]
* 文脈
[13] [[結合文字]]は、通常は単独では用いません。 [SRC[>>9]]
[14] [[結合文字]]の[[図形]]の位置付けは、直前の[[基底文字]]であって非[[結合文字]]で
[[zero width joiner]] でも [[zero width nonjoiner]] でもないものに依存します。
この時[[結合文字]]は[[基底文字]]に[RUBYB[適用]@en[apply]]されるといいます。 [SRC[>>9]]
[15] そのような[[基底文字]]がない場合 ([[結合文字]]が先頭の場合や、
[[制御文字]]や[[書式文字]]が前にある場合) には、[RUBYB[[[孤立結合文字]]]@en[isolated combining character]]といいます。 [SRC[>>9]]
[19]
[[完全正規化済み]]など孤立した[[結合文字]]が出現しないことを要求する[[応用]]もあります。
* レンダリング
[16] [[孤立結合文字]]である場合や、[RUBYB[図形的結合]@en[graphical combination]]を行えない場合には、
図形的結合なしに、[[基底文字]]であるかのように表示して構いません。 [SRC[>>9]]
[17] [[Unicode]] [[符号表]]の[[代表画像]]には点線の円が示されています。
直前の[[基底文字]]と図形的結合して表示する場合には、[[基底文字]]を点線円部分に示すことが想定されています。 [SRC[>>9]]
[SEE[ IDS との関係は [[IDC]] ]]
* 歴史
[4]
>
'''6.3.3 図形文字の結合''' 特に指定されない限り、[[図形文字]]は、
[[結合文字]]としてはならない。すなわち、
隣接する[[図形文字]]と組み合わせようとしてはならない。
> [[図形文字集合]]によっては、複数の[[図形文字]]を一つの[[図形記号]]として[[可視化]]することによって、
追加の[[図形記号]] (例えば、[[アクセント付き文字]])
を[[図形表現]]することを許しているものもある。この[[規格]]では、
二つの結合方法があることを認識している。
> a) [[基底文字]]の[[図形文字]]は、[[制御文字]]の
[CODE(charname)[[[BACKSPACE]]]] ([CODE(jcharname)[[[後退]]]]) 又は
[CODE(charname)[[[CARRIAGE RETURN]]]] ([CODE(jcharname)[[[復帰]]]])
を使用して、組み合わせてよい。
> b) [[結合文字]]として[[指定]]されている[[図形文字]]は、
[[基底文字]]の[[図形文字]]と組み合わせてもよい。
> [[ISO 2375]] に従って、[[図形文字集合]]の登録を行おうとする申請者は、
[[集合]]中の[[結合文字]]を明らかにしておくことが期待される。
> 参考1. 登録では、これらの要件の詳細を求められないので、
[[文字集合]]を規定する[[規格]]は、[[結合文字]]がある場合、
それ自身で、これを指定しその用法を示しておくのがよい。
> 2. [[ISO/IEC 646]] の[[図形文字]]では、
[[アクセント付き文字]]を[[表現]]するのに、 a)
の方法が認められている。
> 3. [[JIS X 0211]] では、第3の方法として、[[文字]]自身の仕様に関係なく、
[CODE(charname)[[[GRAPHIC CHARACTER COMBINATION]]]]
([CODE(charname)[[[GCC]]]]) の[[制御機能]]を使った[[図形文字]]の[[結合]]を規定している。
[SRC[[[JIS X 0202]]:1998]]
[8]
>
:結合文字 (combining character):
[[符号化文字集合]]の識別された部分集合の構成単位であって、先行する非結合文字
(以下、[[基底文字]]という。)
と組み合わせることを意図したもの、又は基底文字の後に結合文字の列が続いた形のものと組み合わせることを意図したもの。
([[JIS X 0202]]:1998 4.8)
[1] 2002-11-03 (日) 15:52 ''[[名無しさん]]'': ''非''結合文字は''被''結合文字の [[typo]] じゃないかと一瞬思いますが、[[規格]]を良く読むとこれで正しいことが分かります。
[2]
>
:結合文字 (combining character):
この規格群で規定する符号化文字集合の識別された部分集合の構成単位であって、先行する非結合文字 (以下、基底文字という。)
と組み合わせることを意図したもの、又は基底文字の後に結合文字の列が続いた形のものと組み合わせることを意図したもの (4.14 参照)。
([[JIS X 0221]]‐1:2001 4.12)
[3] 10646 での結合文字の使い方は、 24.
に規定があります。結合文字の一覧は附属書 B
にあります。結合文字が使えるかどうかは[[実装水準]]と関係します。
- 結合文字は、[[基底文字]]の後でなければなりません。
(24.1)
- 結合文字自体を一つの[[結合列]]としたい時は、
[[間隔]]を基底文字とします。 (24.1)
-- インド系用字系の [[matra]] (母音記号)
は特殊で、周囲の複数の文字に依存するので、
間隔と結合させるのは望ましくありません。 (24.1 備考)
- 一つの基底文字に結合できる結合文字の数は 10646
では規定しません。 (24.3)
- 結合文字同士が表示に影響する場合
(例えば [CODE(char)[[[COMBINING MACRON]]]]
と [CODE(char)[[[COMBINING DIAERESIS]]]])
は、だんだん外側に
(MACRON より DIAERESIS を上に) 配置していきます。
- 縦方向ではなく横方向に並べたり、
隣接する結合文字と合字を作る結合文字もある。
横方向に進むときは、[[書字方向]]に従う。
- 結合文字同士が影響を与えない場合
(例えば上につくものと下につくもの) は、
逆の順序の場合と同じに見えてもよい。
[5] [CITE@en[I'm not a Klingon (<span style="font-family:pIqaD,code2000"> </span>) : Most combining characters in a Unicode glyph/character/whatever]]
([TIME[2010-03-27 10:31:57 +09:00]] 版)
<http://blogs.msdn.com/shawnste/archive/2010/01/25/most-combining-characters-in-a-unicode-glyph-character-whatever.aspx>
[6] [CITE@en[Web Applications 1.0 r6611 Allow combining characters wherever, per Mark Davis.]]
( ([TIME[2011-10-02 16:17:00 +09:00]] 版))
<http://html5.org/tools/web-apps-tracker?from=6610&to=6611>
[7] [CITE@en[Bug 13502 – Text run starting with composing character should be valid]]
( ([TIME[2013-11-25 16:50:57 +09:00]] 版))
<https://www.w3.org/Bugs/Public/show_bug.cgi?id=13502>
[25] 合成用の「☆」や「★」がほしい。[[合成用丸]]があるんだしw