/
479.txt
230 lines (172 loc) · 12.4 KB
/
479.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
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
[10] [[Unicode]] および近年の公的[[文字コード]]規格は、[[文字]]に[[ラテン文字]]その他による[DFN[[RUBYB[[[名前]]]@en[name]]]]を割り当てています。
[[文字]]の[[名前]]は、[[文字]]を一意に特定するもので、複数の[[符号化文字集合]]に属する[[文字]]同士の等価性は、
[[文字]]の[[名前]]が一致するか否かに拠るとされています。
* 仕様書
[REFS[
- [9] <http://www.unicode.org/versions/Unicode6.2.0/ch04.pdf#page=16>
- [43] [CITE@en-US[UAX #34: Unicode Named Character Sequences]] ([TIME[2013-09-27 22:15:14 +09:00]] 版) <http://www.unicode.org/reports/tr34/>
- [50] [CITE@en-us[UAX #44: Unicode Character Database]] ([TIME[2013-09-27 22:15:15 +09:00]] 版) <http://www.unicode.org/reports/tr44/#Code_Point_Labels>
]REFS]
[11] [[文字]]の[[名前]]について横断的に定義した仕様は存在しませんが、事実上唯一現存する[[符号化文字集合]]である
[[Unicode]] における[[名前]]の定義 (>>9) が最も規範的なものと考えられますし、
最も詳細に説明もされています。次節に示すように、
各種[[符号化文字集合]]規格にもそれぞれの定義が含まれています。
* 意味
[30] [[Unicode]] において[DFN[[RUBYB[文字の名前]@en[character name]]]]とは、[[文字]]の
[DFN[[CODE@en[[[Name]]]]]] [[特性]] (略称 [DFN[[CODE@en[[[na]]]]]]) の値のこと
[SRC[>>9]] をいい、次のように定義されています。
[FIG[
- [31] [[ハングル字母]]については、[[符号位置]]から機械的に決定される、[[音節]]の組み合わせを表す[[名前]]です。
- [32] [[漢字]]については、 [CODE(charname)@en[CJK UNIFIED IDEOGRAPH-]] または
[CODE(charname)@en[CJK COMPATIBILITY IDEOGRAPH-]] の後に16進数4桁または6桁の[[符号位置]]を続けた[[名前]]です。
- [34] [[制御文字]]、[[私用域]]、[[サロゲート]]、[[非文字]]、予約の[[符号位置]]については、[[空文字列]]です。
- [33] その他は [[UnicodeData.txt]] に書かれている[[名前]]です。
]FIG]
[35] [[空文字列]]のことを「[[名前]]がない」ともいいます [SRC[>>9]]。
[51] [[名前]]は、その[[文字]]の一般的な用法や形状を表しています。
しかし、[[名前]]はその[[文字]]の用法や[[グリフ]]を制限することを意図したものではないと解されています。
;; [53] 例えば複数の用法を持つ[[文字]]では、その一部が[[名前]]に使われていたりします。
また、 [[bidi]] により[[鏡像]]化する文字なのに [CODE[LEFT]] や [CODE[RIGHT]]
が[[名前]]に含まれていて、[[名前]]と表示が真逆になる[[文字]]すらあります。
[52] また、[[名前]]はあくまで[[符号化文字集合]]における[[文字]]の識別を目的としたもので、
その文脈を離れて一般的な[[文字]]の正式な名称を定めるものではないというのが通常の理解です。
* 構文
[20] [[Unicode]] の[[文字]]の[[名前]]は次の[[正規表現]]による[[擬似コード]]すべてに[[一致]]する文字列とされています
[SRC[>>9]]。
[FIG[
- [16] /^[A-Z0-9\u0020-]+$/
- [17] not /^[0-9]/ and not /\u0020[0-9]/
- [18] not /^-/ and not /-$/ and not /--/
- [19] not /^\u0020/ and not /\u0020$/ and not /\u0020\u0020/
]FIG]
[21] [CODE(char)[[[U+0020]]]] や [CODE(char)[[[-]]]] が連続しているケースや、
[CODE(char)[[[-]]]] の有無によって別の[[文字]]を表すケースもあります。
[EG[
[22] [CODE(charname)@en[[[HANGUL JUNGSEONG OE]]]] と [CODE(charname)@en[[[HANGUL JUNGSEONG O-E]]]]
は別の[[文字]]です。
]EG]
[EG[
[23] [CODE(charname)@en[[[TIBETAN LETTER A]]]] と [CODE(charname)@en[[[TIBETAN LETTER -A]]]]
は別の[[文字]]です。
]EG]
[46] 長さの上下限はないようです。現時点で最短の名前は2文字です。略号を除けば4文字が最短かもしれません。
* 安定性
[15] [[Unicode]] の[[文字]]の[[名前]]、[[文字名別名]] (>>25)、
[[名前付き文字列]]の[[名前]] (>>26) は変更されることはなく、
また互いに異なる値である [SRC[>>9]] とされています。
[24] ただし過去には何度か変更されています。
[25] [[文字の名前]]が割り当てられた後に誤りが発覚した場合、
[DFN[[RUBYB[文字名別名]@en[character name alias]]]]が割り当てられます。
[[文字名別名]]は[[文字の名前]]と同じ名前空間を共有していています。 [SRC[>>9]]
* 名前付き文字列
[26] [[文字]]の連続に対しても[[名前]]が割り当てられることがあり、
[DFN[[RUBYB[[[名前付き文字列]]]@en[named character sequence]]]]と呼ばれています。
[[名前付き文字列]]も[[文字の名前]]と名前空間を共有しています。 [SRC[>>9]]
* 制御文字の名前
[29] [[Unicode]] は [[C0]]、[[C1]]、 [CODE(charname)@en[[[DELETE]]]] の[[制御文字]]に[[名前]]を与えていませんが、
別名としてそれらの[[符号位置]]に[[制御文字]]の[[名前]]を与えています [SRC[>>9]]。
[45] [[制御文字]]やそれに近い特殊な[[文字]]には[[ラテン文字]]や[[数字]]2~4文字の略号が定義されていることがありますが、
これも別名となっているようです。ただし [CODE(charname)@en[[[LS0]]]], [CODE(charname)@en[[[LS1]]]]
のように含まれていないものもあるようです。
[48] [[ISO/IEC 6429]] / [[JIS X 0211]] は[[制御文字]]でないものも含め[[制御機能]]に対して同様の[[名前]]を定義しています。
[49] [[ISO/IEC 2022]] / [[JIS X 0202]] は[[エスケープシーケンス]]の一部に対して同様の[[名前]]を定義しています。
* 符号位置ラベル
[36] [[名前]]のない[[符号位置]]に関しても便宜上[DFN[[RUBYB[符号位置ラベル]@en[code point label]]]]が用意されています。
[[符号位置ラベル]]は[[小文字]]、[[ハイフン]]、[[16進数]]で表されます。[[名前]]でないことを明確にするために
[CODE(char)[[[<]]]] と [CODE(char)[[[>]]]] で括っても良い [SRC[>>9]] とされており、
[[Unicode Character Database]] ではそのように表記されています。
[37] [[符号位置ラベル]]は4~6桁の[[符号位置]]を使って次のように表されます [SRC[>>9]]。
[FIG[
- [38] [[制御文字]] [CODE[control-[VAR@en[HHHH]]]]
- [39] [[予約]] [CODE[reserved-[VAR@en[HHHH]]]]
- [40] [[非文字]] [CODE[noncharacter-[VAR@en[HHHH]]]]
- [41] [[私用]] [CODE[private-use-[VAR@en[HHHH]]]]
- [42] [[サロゲート]] [CODE[surrogate-[VAR@en[HHHH]]]]
]FIG]
* 名前と言語
[12] [[ISO/IEC]] は[[英語]]と[[仏語]]の仕様書が存在するため、[[文字名称]]についても[[英語]]と[[仏語]]の2種類が存在しています。
[13] [[Unicode]] は[[英語]]の[[名前]]を採用しており、[[ISO/IEC 10646]] の[[英語]]の[[名前]]と一致するとされています
[SRC[>>9]]。
[14] [[JIS]] は[[英語]]の[[文字の名前]]の他に[[日本語通用名称]]を定義していますが、
前者が[[規定]]であるのに対し、後者は[[参考]]とされています。
[54] その他各国の[[規格]]では、[[規定]]または[[参考]]として自国の[[公用語]]の名前を挙げていることがあります。
* 他の定義
[5]
>
:5.3 文字の名前:この[[規格]]は、各[[文字]]に一つの[[名前]]を割り当てる。
さらに、[[制御文字]][[並びに]] [CODE(charname)[[[SPACE]]]]
([CODE(jcharname)[[[スペース]]]]) 及び [CODE(charname)[[[DELETE]]]]
([CODE(jcharname)[[[削除]]]]) について、その[[文字]]の[[略号]]
([[頭字語]]) を定義する。ここでは、[[文字]]の[[名前]]は、
[[英大文字]]、 [CODE(charname)[[[SPACE]]]]
[[及び]][[ハイフン]]だけで[[表現]]する。[[略号]]は、
[[英大文字]][[及び]][[数字]]を用いる。[[規格本体]]の各[[国語]]への[[翻訳]]でも、
[[略号]][[及び]]この[[記法]]は、保たれなければならない。
[SRC[[[JIS X 0202]]:1998]]
[6]
>
:4.3 名前:この[[規格]]では、規定するすべての[[文字]]に対して[[名前]]を割り当てる。
さらに、[[文字]] [CODE(charname)@en[[[SPACE]]]]
([CODE(jcharname)[[[スペース]]]]) 及び[[文字]]
[CODE(charname)@en[[[DELETE]]]]
([CODE(jcharname)[[[抹消]]]]) に対する[[略号]]を規定する。
[[文字]]の[[名前]]の[[表記]]には、[[ラテン大文字]]
([CODE(char)[A]]〜[CODE(char)[Z]])、[[スペース]]及び[[ハイフン]]だけを使用する。
[[略号]]には、[[ラテン大文字]]だけを使用する。
> [[図形文字]]を示すために付けられた[[名前]]は、
[[文字]]の慣習的な意味を反映するようにしている。しかし、
この[[規格]]は、[[図形文字]]の意味を定義しないし、制限もしない。
> 参考 [[JIS X 0211]] (符号化文字集合制御機能)
で規定する[[制御機能]]の[[略号]]には、
[[ラテン大文字]]及び[[数字]]だけを使用している。
[SRC@en[[[JIS X 0201]]:1997]]
[1]
>
:文字の名前:
この規格群は、すべての[[文字]]に意的な[[名前]]を付ける。
命名の基準は、次のいずれかとする。
- a) 文字の慣例的な意味を示す。
- b) 対応する[[図形記号]]の形を表す。
- c) 中国、日本及び韓国 ([[CJK]]) [[統合漢字]]については、
27. に示す規則に従う。
> a) 及び b) の場合に、文字の名前を構成するために用いる指針を附属書 K (参考) に示す。
([[JIS X 0221]]‐1:2001 6.4)
[3]
> この規格群で規定する[[図形文字]]は、その名前で一意に識別する。名前が異なっていても、[[図形文字]]を可視化した[[図形記号]]が常に異なるわけではない。類似の図形記号をもつ図形文字の霊としては、 [CODE(char)[[[LATIN CAPITAL LETTER A]]]]、
[CODE(char)[[[GREEK CAPITAL LETTER ALPHA]]]] 及び
[CODE(char)[[[CYRILLIC CAPITAL LETTER A]]]] がある。
(JIS X 0221‐1:2001 17. より)
[55] [[ISO/IEC 2022]] ([[図形文字集合の一意な符号化]]参照):
>このような[[文字]]は、二つの[[集合]]を定義する仕様又は [[ISO符号化文字集合の国際登録簿]]で同じ[[名前]]をもつ場合、 同じ[[文字]]とみなされる。
* 一覧
[44] [[文字の名前]]の一覧は [[Unicode Character Database]] の [DFN[[[NamesList.txt]]]]
<http://www.unicode.org/Public/UCD/latest/ucd/NamesList.txt> に含まれています。
;; [47] [[CJK COMPATIBILITY IDEOGRAPHS]] は含まれていますが、 [[CJK UNIFIED IDEOGRAPHS]]
と [[HANGUL SYLLABLES]] は含まれていません。
[28] [[文字名別名]] (>>29 の[[制御文字]]の[[名前]]や >>45 の略号を含む。) の一覧は [[Unicode Character Database]] の
[DFN[[[NameAliases.txt]]]] <http://www.unicode.org/Public/UCD/latest/ucd/NameAliases.txt> に含まれています。
[27] [[名前付き文字列]]の一覧は [[Unicode Character Database]] の
[DFN[[[NamedSequences.txt]]]] <http://www.unicode.org/Public/UCD/latest/ucd/NamedSequences.txt> に含まれています。
* メモ
[2] >>1
で、 CJK 統合漢字や CJK 互換漢字の名前のどの辺が[Q[意的な名前]]なのでしょう。
[4]
同じく 10646 の 19 によれば、文字名称の
[CODE(char)[LEFT]] や [CODE(char)[RIGHT]]
は、 ([[鏡像文字]]の場合) 「左向き」、「右向き」
ではなく「開き」、「閉じ」を意味するのだそうです。
10646 と統合する前の [[Unicode]] では名前も
[CODE(char)[OPEN]] とか [CODE(char)[CLOSE]]
だったのに。
[7]
>>6 [[JIS X 0201]] 自体で定義されている[[文字]]が使われているのだと仮定すると、
[CODE(jcharname)[[[スペース]]]]は [CODE(charname)@en[[[SPACE]]]]、
[CODE(jcharname)[[[ハイフン]]]]は [CODE(charname)@en[[[HYPHEN-MINUS]]]]
に対応します。
([[名無しさん]] [sage])
[8]
[[JIS C 0456]]:2005 ([[IEC 61286]]:2001 の[[翻訳規格]]で
[[ISO-IR]] 181 に相当) は[SPAN(stantard-section)[附属書 C]]
に [[JIS X 0221]] との対応が載っていますが、そこで
[[UCS]] 側の[[文字]]の[[名前]]まで日本語訳されています。
([[名無しさん]] [sage])