/
196.txt
178 lines (115 loc) · 10.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
[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の版]]も参照してください。
* 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]]版
* 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>
[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>