-
Notifications
You must be signed in to change notification settings - Fork 4
/
196.txt
195 lines (126 loc) · 11.1 KB
/
196.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
[1] 色々な仕様が参照している [[Unicode]] の版の一覧です。 [[ISO/IEC 10646の版]]も参照してください。
[6]
[[Living Standard]] の概念がなかった時代には、
各種[[仕様書]]は特定の版を参照することが多くありました。
今でもそのような[[仕様書]]が一部残存しています。
[7]
その場合に新しい版に自動的に読み替えることが可能か、
それとも特定の版に固定されていると理解するべきか、
実装者に判断が委ねられることになり、[[相互運用性]]問題の温床となっております。
[SEE[ Unicode の版と文字の追加の関係は [CODE[Age]] ]]
* Unicode の更新
[26] [[Unicode]] は数ヶ月に一度のペースで更新されており、新しい[[文字]]が追加されたり、
[[UCD]] に情報が追加・変更されたりしています。
[27] 基本的には [[Unicode]] の新しい版は古い版をすべて含み、それを拡張したものとなっていますが、
非互換な変更が行われたことも何度かあります。
[HISTORY[
[28] [[Unicode 1.1]] よりも前には多くの変更が行われていました。 [[Unicode 1.1]]
は [[ISO/IEC 10646]]-1:1993 に相当するもので、この版で [[Unicode]]
がはじめて完成したと考えることができます。
[29] [[Unicode 2.0]] では [[Korean mess]] などと呼ばれる[[ハングル]]の大規模な非互換変更が行われました。
]HISTORY]
[30] 現在では [[Unicode Consortium]] は[[文字]]の[[符号化]]やいくつかの[[特性]]についての安定性に関する方針を設けており、
その範囲においては新しい版になっても非互換性なく利用できるとされています。
[31] [[Unicode]] を参照している仕様の中には、このような安定性に関する問題のため、
あるいは構文チェックなどのために[[未割当]]の[[符号位置]]の範囲を確定する必要があるためなどの理由で、
特定の [[Unicode]] の版を要求しているものがあります。
[EG[
[32] 例えば第5版以前の [[XML 1.0]] は、第1版当時の [[Unicode 2.0]] に基づき[[名前文字]]が決められていました。
[[Stringprep]] は、 [[Unicode 3.2]] に基づき変換する[[文字]]や利用できる[[文字]]が決められており、
[[正規化]]も [[Unicode 3.2]] により行うとしています。
]EG]
[33] しかし特定の [[Unicode]] の版に固定することで、それ以後追加された[[文字]]が使えないなど実用上の問題が生じているため
[WEAK[(最初からちょっと考えればわかりそうなものですがw)]]、版の指定は外すようになってきています。
[[OS]] や実行環境に含まれる [[Unicode]] の実装に処理を委ねている場合、プロトコルや言語によって異なる [[Unicode]]
の版を併用することが困難という事情もあります。
[EG[
[34] 例えば [[IDNA2003]] 仕様は [[Stringprep]] により [[Unicode 3.2]] に固定されていましたが、
[[IDNA2008]] は [[Unicode]] が改訂される度に追随することになっていますし、
[[Webブラウザー]]が実装している [[IDNA]] は最新版の [[Unicode]] を使っています。
[48] [[XML 1.0 5e]] は [[XML 1.0 4e]] までの [[Unicode 2.0]] ベースの定義を廃して改版のたびに改訂せずに済む定義に変更しています。
[49] [[HTML Standard]] は最新版の [[Unicode]] を参照しています。 [[JavaScript]]
は特定の版の [[Unicode]] またはそれ以降の版を実装することを要求しています。
]EG]
[8] [[ISO/IEC 10646の版]]も参照してください。
[12]
[[NTFS]] は[[ファイルシステム]]に[[大文字と小文字]]の対応表を格納しています。
[[ファイルシステム]]の[[初期化]]時にその[[プラットフォーム]]の対応表を反映させる形で作成されます。
[SEE[ [[ファイル名]] ]]
同じ[[ストレージ]]を[[プラットフォーム]]によって異なる[[Unicodeの版]]に従って処理することでの非互換性を抑止する方策ですが、
同一[[プラットフォーム]]でも[[ストレージ]]ごとに扱いが違ってしまう可能性があるという問題も孕んでいます。
(例えば同じ[[ストレージ]]で[[大文字・小文字不区別]]で一致したりしなかったりする[[ファイル名]]が生じることはこの方針で防がれます。しかし[[ストレージ]]をまたいだファイル移動で問題が生じる危険性があります。)
* Unicode 1.0 とそれ以前
[SEE[ [[Unicode 1.0]] ]]
* Unicode 1.1
- [CITE@en[RFC 1642 - UTF-7 - A Mail-Safe Transformation Format of Unicode]] ([TIME[2013-10-06 03:13:58 +09:00]] 版) <http://tools.ietf.org/html/rfc1642#page-13>
* Unicode 2.0
- [CITE@en[RFC 2152 - UTF-7 A Mail-Safe Transformation Format of Unicode]] ([TIME[2013-08-05 02:18:30 +09:00]] 版) <http://tools.ietf.org/html/rfc2152#page-14>
- [CITE@en[RFC 2279 - UTF-8, a transformation format of ISO 10646]] ([TIME[2013-10-12 22:21:06 +09:00]] 版) <http://tools.ietf.org/html/rfc2279#ref-UNICODE>
- [[XML 1.0 1e]] - [CITE[Extensible Markup Language (XML) 1.0]] ([TIME[2000-05-09 16:35:50 +09:00]] 版) <http://www.w3.org/TR/1998/REC-xml-19980210#Unicode>
- [[XML 1.0 2e]] - [CITE@EN[Extensible Markup Language (XML) 1.0 (Second Edition)]] ([TIME[2007-10-11 20:41:47 +09:00]] 版) <http://www.w3.org/TR/2000/REC-xml-20001006#Unicode>
- [[XML 1.0 3e]] - [CITE@EN[Extensible Markup Language (XML) 1.0 (Third Edition)]] ([TIME[2004-02-02 17:10:38 +09:00]] 版) <http://www.w3.org/TR/2004/REC-xml-20040204/#Unicode>
- [[XML 1.0 4e]] - [CITE@en[Extensible Markup Language (XML) 1.0 (Fourth Edition)]] ([TIME[2006-09-29 19:08:13 +09:00]] 版) <http://www.w3.org/TR/2006/REC-xml-20060816/#Unicode>
* Unicode 2.0 以降
- [CITE@en[RFC 2152 - UTF-7 A Mail-Safe Transformation Format of Unicode]] ([TIME[2013-08-05 02:18:30 +09:00]] 版) <http://tools.ietf.org/html/rfc2152#page-6>
* Unicode 2.1
- [[HFS+のNFD]]
* Unicode 2.1 以降
- [[ES4]] - [CITE[ECMAScript Language Specification (HTML version)]] ([TIME[2012-08-29 18:40:36 +09:00]] 版) <http://bclary.com/2004/11/07/#a-2>
* Unicode 3.0
- [CITE@en[RFC 2781 - UTF-16, an encoding of ISO 10646]] ([TIME[2013-09-09 00:18:17 +09:00]] 版) <http://tools.ietf.org/html/rfc2781#ref-UNICODE>
- [[XML 1.0 2e]] - [CITE@EN[Extensible Markup Language (XML) 1.0 (Second Edition)]] ([TIME[2007-10-11 20:41:47 +09:00]] 版) <http://www.w3.org/TR/2000/REC-xml-20001006#Unicode3>
- [[正準XML 1.0]] - [CITE[Canonical XML]] ([TIME[2001-04-16 15:28:13 +09:00]] 版) <http://www.w3.org/TR/2001/REC-xml-c14n-20010315#Unicode>
- [[正準XML 1.1]] - [CITE@EN[Canonical XML Version 1.1]] ([TIME[2008-04-30 17:37:52 +09:00]] 版) <http://www.w3.org/TR/2008/REC-xml-c14n11-20080502/#Unicode>
* Unicode 3.0 以降
- [[ES5]] - [CITE[Annotated ES5]] ([TIME[2013-09-01 02:12:18 +09:00]] 版) <http://es5.github.io/#x2>
- [[XML 1.1 1e]] - [CITE@EN[Extensible Markup Language (XML) 1.1]] ([TIME[2004-04-15 15:15:42 +09:00]] 版) <http://www.w3.org/TR/2004/REC-xml11-20040204/#sec-suggested-names>
- [[XML 1.1 2e]] - [CITE@en[Extensible Markup Language (XML) 1.1 (Second Edition)]] ([TIME[2006-09-29 19:02:09 +09:00]] 版) <http://www.w3.org/TR/2006/REC-xml11-20060816/#sec-suggested-names>
* Unicode 3.2
- [[XML 1.0 3e]] - [CITE@EN[Extensible Markup Language (XML) 1.0 (Third Edition)]] ([TIME[2004-02-02 17:10:38 +09:00]] 版) <http://www.w3.org/TR/2004/REC-xml-20040204/#Unicode3>
- [[XML 1.0 4e]] - [CITE@en[Extensible Markup Language (XML) 1.0 (Fourth Edition)]] ([TIME[2006-09-29 19:08:13 +09:00]] 版) <http://www.w3.org/TR/2006/REC-xml-20060816/#Unicode>
- [CITE@en[RFC 3454 - Preparation of Internationalized Strings ("stringprep")]] ([TIME[2013-10-05 23:19:19 +09:00]] 版) <http://tools.ietf.org/html/rfc3454#page-5>
- [[HFS+のNFD]]
* Unicode 3.2 以降
- [[URL Standard]] - [[IDNA]] - [CITE@en-US[URL Standard]] ([TIME[2013-10-24 11:13:01 +09:00]] 版) <http://url.spec.whatwg.org/#idna>
* Unicode 4.0
- [[XML 1.1 1e]] - [CITE@EN[Extensible Markup Language (XML) 1.1]] ([TIME[2004-04-15 15:15:42 +09:00]] 版) <http://www.w3.org/TR/2004/REC-xml11-20040204/#Unicode>
- [[XML 1.1 2e]] - [CITE@en[Extensible Markup Language (XML) 1.1 (Second Edition)]] ([TIME[2006-09-29 19:02:09 +09:00]] 版) <http://www.w3.org/TR/2006/REC-xml11-20060816/#Unicode>
- [CITE@en[RFC 3629 - UTF-8, a transformation format of ISO 10646]] ([TIME[2013-07-29 00:14:23 +09:00]] 版) <http://tools.ietf.org/html/rfc3629#ref-UNICODE>
* Unicode 5.0
- [[XML 1.0 5e]] - [CITE@EN[Extensible Markup Language (XML) 1.0 (Fifth Edition)]] ([TIME[2013-05-28 20:49:56 +09:00]] 版) <http://www.w3.org/TR/2008/REC-xml-20081126/#Unicode>
* Unicode 5.0 以降
- [[XML 1.0 5e]] - [CITE@EN[Extensible Markup Language (XML) 1.0 (Fifth Edition)]] ([TIME[2013-05-28 20:49:56 +09:00]] 版) <http://www.w3.org/TR/2008/REC-xml-20081126/#sec-suggested-names>
* Unicode 5.1
- [[OMPL]]
* Unicode 5.2 以降
- [CITE@en[RFC 5892 - The Unicode Code Points and Internationalized Domain Names for Applications (IDNA)]] ([TIME[2013-09-01 06:26:53 +09:00]] 版) <http://tools.ietf.org/html/rfc5892>
* Unicode 6.0 以降
- [[CSS 2.1]] - [CITE@en[Bibliography]] ([TIME[2011-06-07 13:09:52 +09:00]] 版) <http://www.w3.org/TR/CSS21/refs.html#ref-UNICODE>
- [[WebIDL]] - [CITE[Web IDL (Second Edition)]] ([TIME[2013-09-27 04:34:45 +09:00]] 版) <http://dev.w3.org/2006/webapi/WebIDL/#ref-UNICODE>
* Unicode 6.2.0
- [9] [[ECMA-404]] [TIME[西暦2013年][2013]]版
* 最新版
- [[Encoding Standard]] - [CITE@en-US[Encoding Standard]] ([TIME[2013-09-05 14:16:15 +09:00]] 版) <http://encoding.spec.whatwg.org/#refsUNICODE>
- [[URL Standard]] - [CITE@en-US[URL Standard]] ([TIME[2013-10-24 11:13:01 +09:00]] 版) <http://url.spec.whatwg.org/#refsUNICODE>
- [[HTML Standard]] - [CITE@en-US-x-hixie[HTML Standard]] ([TIME[2013-10-25 23:05:34 +09:00]] 版) <http://www.whatwg.org/specs/web-apps/current-work/#refsUNICODE>
- [10] [[ECMA-404]] [TIME[西暦2017年][2017]]版
[5] [CITE@en[Remove Unicode database version requirement · whatwg/javascript@4f1a517]]
([TIME[2016-03-13 21:44:55 +09:00]] 版)
<https://github.com/whatwg/javascript/commit/4f1a517f02bc15e934aafae0ec2b47c80786ab7f>
[11] 関連:
[[識別子文字]]
* Unicode と ISO/IEC 10646 のどちらを参照するか問題
[SEE[ [[ISO/IEC 10646]] ]]
* 実装
[2] [[Perl]] の版と実装されている [[Unicode]] の版の関係は
[REFS[
- [CITE[Unicode::Normalize - search.cpan.org]] ([TIME[2013-10-31 12:56:21 +09:00]] 版) <http://search.cpan.org/dist/Unicode-Normalize/Normalize.pm#Perl's_version_vs._Unicode_version>
]REFS]
に表があります。
* メモ
[3] [CITE@EN[XPath and XQuery Functions and Operators 3.0]]
( ([TIME[2014-04-08 07:02:07 +09:00]] 版))
<http://www.w3.org/TR/xpath-functions-3/#codepoint>
[4] [CITE@en[Character Model for the World Wide Web 1.0: Fundamentals]]
( ([TIME[2005-02-15 14:24:00 +09:00]] 版))
<http://www.w3.org/TR/charmod/#sec-RefUnicode>