/
375.txt
138 lines (99 loc) · 6.14 KB
/
375.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
* 仕様書
[REFS[
- [46]
[CITE[[[The Unicode Standard]], Version 13.0 - ch03.pdf]], [TIME[2020-03-09T17:53:34.000Z]], [TIME[2020-12-20T07:20:27.336Z]]
<https://www.unicode.org/versions/latest/ch03.pdf#G22582>
- [35] [CITE[[[The Unicode Standard]], Version 13.0 - ch03.pdf]], [TIME[2020-03-09T17:53:34.000Z]], [TIME[2020-12-20T02:08:18.239Z]] <https://www.unicode.org/versions/latest/ch03.pdf#G2212>
]REFS]
* 予約済符号点
[19]
[DFN[[RUBY[予約済][よやくずみ][Reserved]]]]は、
[[符号点型]]の1つです。
[SRC[>>35 D10a]]
[20]
[DFN[[RUBY[予約済符号点][よやくずみふごうてん][reserved code point]]]],
[DFN[[RUBY[未割当符号点][みわりあてふごうてん][unassigned code point]]]]は、
将来の割当のために[[予約]]されている
[[Unicode符号点]]です。
[SRC[>>35 D15]]
[21]
[[サロゲート符号点]]と[[非文字]]は、
[[割当済符号点]]とみなされますが、
[[割当済文字]]ではありません。
[SRC[>>35 D15]]
[28]
ある時点で[[予約済符号点]]であっても、
将来の版の [[Unicode]] では[[抽象文字]]が割り当てられることがあります。
[SRC[>>46 C3]]
* 特性
[25]
[[未割当済符号点]]にも、他の[[符号点]]同様に[[特性値][文字特性]]があります。
[26]
全体共通の既定値が設定されている場合もあれば、
[[ブロック]]などの単位で一括して設定された既定値となっていることもあります。
[27]
[[未割当済符号点]]に[[抽象文字]]が割当されたときに[[特性値][文字特性]]が変更されるかどうかは、
[[特性][文字特性]]によって違います。
* 処理
[22]
[[適合処理]]は、
[RUBYB[用途][use]]が[RUBYB[指定][designate]]されていない[[符号点]]が現れたことを示す
(例えば[[レンダリング]]時に[[[RUBYB[欠けたることを示すグリフ][missing glyph]]][〓]]を示したり、
[[ストリーミングプロトコル]]中に適切なエラーを信号したりする)
ことができます。
[SRC[>>35]]
[23]
しかし[[適合処理]]は、
[[未割当済符号点]]を[[抽象文字]]として解釈してはなりません。
[SRC[>>46 C3, >>35]]
;; [24]
[[空き領域]]を勝手に使ってはいけないというのは当然の規定のように思えますが、
過去の[[文字コード]]では勝手に[[外字]]割当用に使われることがよくありました。
(規格上禁止されていても平然と使われることもありました。)
[[Unicode]] でもそのような実装例がないわけではありません。
* UNASSIGNED (導出特性値)
[1] [DFN[[[UNASSIGNED]]]] は、その[[符号位置]]が [[Unicode]] で[[未割り当て]]であることを表す[[導出特性値]]です。
[SRC[>>2]]
** 仕様書
[REFS[
- [6] [CITE@en[RFC 5892 - The Unicode Code Points and Internationalized Domain Names for Applications (IDNA)]]
-- [2] '''<http://tools.ietf.org/html/rfc5892#page-4>'''
- [13] [CITE@en[RFC 5894 - Internationalized Domain Names for Applications (IDNA): Background, Explanation, and Rationale]]
-- [7] <http://tools.ietf.org/html/rfc5894#section-3.1.4>
-- [14] <http://tools.ietf.org/html/rfc5894#section-7.1.1>
-- [15] <http://tools.ietf.org/html/rfc5894#section-7.7>
- [17] [CITE@en[RFC 7564 - PRECIS Framework: Preparation, Enforcement, and Comparison of Internationalized Strings in Application Protocols]] ([TIME[2015-12-21 04:49:41 +09:00]] 版) <https://tools.ietf.org/html/rfc7564#section-8>
]REFS]
** 定義
[8] [[Unassigned]] カテゴリーの[[符号位置]]の[[導出特性値]]が [[UNASSIGNED]] です。
** 安定性
[9] [[UNASSIGNED]] だった[[符号位置]]に[[文字]]が割り当てられると、他の [[PVALID]]、[[CONTEXT]]、
[[DISALLOWED]] に[[導出特性値]]が変わります。
[10] 既存の[[符号位置]]から[[文字]]が削除されることは無いとされていますが、もしされた場合は
[[RFC 5894]] によれば [[DISALLOWED]] となるようです。
** 処理モデル
[11] [[登録]]も [[lookup]] も、 [[UNASSIGNED]] な[[符号位置]]が含まれていれば失敗します。
これは、もし [[lookup]] だけでも認めてしまうと、将来[[文字]]が割り当てられて [[CONTEXT]]
になったとき、条件によっては使用が認められないため、あるいは [[DISALLOWED]]
になったとき、使用が認められないため、将来の版に対応した実装では [[lookup]]
できない[[ラベル]]を古い版に対応した実装では [[lookup]] できてしまい、都合が悪いからです。
[SRC[>>7、>>15]]
** 関連
[12] [[IDNA2003]] では [[AllowUnassigned]] [[フラグ]]がありました。通常 [[lookup]]
ではこの[[フラグ]]は未設定であり、 [[UNASSIGNED]] な[[符号位置]]を含んでいても失敗にはなりませんでした。
** メモ
[16] 既に主要な[[用字系]]は [[Unicode]] に含められているので、今後追加される[[文字]]は古代文字などであって
>>11 のような問題は無視できるため、未割当であっても [[lookup]] できるようにするべきという主張もあります。
しかし実際には「主要な[[用字系]]は既に含まれている」と言われ続けていますし、
現実に[[漢字]]はどんどん追加されており、その主張は成り立たないとされています。 [SRC[>>15]]
* Unassigned (カテゴリー)
[3] [DFN[[[Unassigned]]]] は、 [[Unicode]] で[[文字]]が (まだ) 割り当てられていない[[符号位置]]を含むカテゴリーです。
[SRC[>>4]]
** 仕様書
- [4] [CITE@en[RFC 5892 - The Unicode Code Points and Internationalized Domain Names for Applications (IDNA)]] ([TIME[2011-02-05 04:10:56 +09:00]] 版) <http://tools.ietf.org/html/rfc5892#section-2.10>
** 定義
[5] [[General_Category]] が [[Cn]] であり、かつ [[Noncharacter_Code_Point]] に含まれない[[符号位置]]が、
[[Unassigned]] に含まれます。 [SRC[>>4]]
** 関連
[18] [[[CODE[Age]] (Unicode)]] も参照。
* メモ