-
Notifications
You must be signed in to change notification settings - Fork 4
/
878.txt
183 lines (140 loc) · 9.59 KB
/
878.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
[14] [[94[SUP[[VAR[n]]]]文字集合]]と [[96[SUP[[VAR[n]]]]文字集合]]
([CODE(math)[[VAR[n]] > 1]]) を合わせて[DFN[複数バイト集合]]と呼びます
[SRC[[[JIS X 0202]]:1998 4.3.1]]。
[15] 複数バイト集合は [CODE(char)[02/00]]〜[CODE(char)[07/15]]
または [CODE(char)[10/00]]〜[CODE(char)[15/15]]
の位置にある[[7ビット]]または
[[8ビット]]の[[ビット組合せ]]の列で[[図形文字]]を[[表現]]します。
(ただし [[94[SUP[[VAR[n]]]]文字集合]]では[[ビット組合せ]]
[CODE(char)[02/00]] と [CODE(char)[07/15]] は使いません。)
[[8ビット]]の複数バイト表現では[[最上位ビット]]の[[値]]は
[CODE[0]] または [CODE[1]] のいずれかです。
[SRC[[[JIS X 0202]]:1998 4.3.1]]
* 指示シーケンス
[19]
[[4F]] 型エスケープシーケンスで[[指示]]できます。
[16]
[[指示シーケンス]]は[[バイト数]] [VAR[n]] によって[[終端バイト]]が変わります。
[SEE[ [[指示シーケンス]] ]]
* 94[SUP[[VAR[n]]]]文字集合
[2] [[ISO/IEC 2022]] でもっともよく使われる複数バイト符号化図形文字集合の大きさが、
94[SUP[2]] です。 (というか公式に [[ISO-IR]] に登録されている複数バイト符号は全て
94[SUP[2]] 集合です。) それを含めて、94符合位置×[VAR[n]] バイトで1文字を表現する
(ISO/IEC 2022 の) 図形文字集合のことを、 94[SUP[n]] 集合などと呼びます。
[3] なぜ ''94'' 符号位置なのかというと、 [[ASCII]] の[[図形文字]]が ([[SP]]
を除くと) 94文字だからです。制御文字の領域を避けた結果 94[SUP[n]]
という大きさになりました。
*ISO/IEC 2022 環境で使える 94[SUP[n]] 文字集合
[5] 最新の情報は [[ISO-IR]] に載っているのを見ましょう。
,*[[終端バイト]] [VAR[F]],*文字集合
,00/00〜02/15 (NUL〜/) ,(使用しない)
,03/00〜03/15 (0〜?) ,94[SUP[[VAR[n]]]] ([VAR[n]] ≧ 2) [[私用図形文字集合]]
,04/00 (@) ,[[JIS X 0208]]-1978
,04/01 (A) ,[[GB 2312]]-80
,04/02 (B) ,JIS X 0208-1983
,04/03 (C) ,[[KS X 1001]]-1987
,04/04 (D) ,[[JIS X 0212]]-1990
,04/05 (E) ,[[ISO-IR-165]]:1992
,04/06 (F) ,[[Blissymbol]]
,04/07 (G) ,[[CNS 11643]]-1987 第1字面
,04/08 (H) ,CNS 11643-1987 第2字面
,04/09 (I) ,CNS 11643-1992 第3字面
,04/10 (J) ,CNS 11643-1992 第4字面
,04/11 (K) ,CNS 11643-1992 第5字面
,04/12 (L) ,CNS 11643-1992 第6字面
,04/13 (M) ,CNS 11643-1992 第7字面
,04/14 (N) ,[[KPS 9577]]-97 (ISO-IR 202)
,04/15 (O) ,[[JIS X 0213]]:2000 第1面
,05/00 (P) ,JIS X 0213:2000 第2面
,05/01 (Q) ,(JIS X 0213:2003 第1面)?
,05/12〜05/15 (R〜_) ,(94[SUP[2]] 図形文字集合)
,06/00〜06/15 (`〜o) ,(94[SUP[3]] 図形文字集合)
,07/00〜07/13 (p〜}) ,(94[SUP[n]] ([VAR[n]] ≧ 4) 図形文字集合)
,07/14 (~) ,[[空集合]]
,07/15〜15/15 (DEL〜y") ,(使用しない)
[4]
この他、[[中間バイト]]とあわせて 02/00 (SP) [VAR[F]] ([VAR[F]] = 03/00〜07/14)
の 94[SUP[n]] ([VAR[n]] ≧ 2) [[DRCS]], [VAR[I]] [VAR[F]]
([VAR[I]] = 02/01〜02/03) の2周目〜4周目の公式/私用文字集合があります。
[SEE[ [[指示シーケンス]] ]]
[21] [[Fp]] の割り当てられたものは、[[私用図形文字集合]]を参照。
[FIG(short list)[ [1] [[終端バイト]]の割り当てられていない[[94[SUP[2]]文字集合]]
- [[GB 7589]]
- [[GB 7590]]
- [[GB 12052]]
- [[GB 12345]]
- [[GB 13131]]
- [[GB 13132]]
- [[GB 13134]]
- [[General Purpose Hanzi List for Modern Chinese Language, and General List of Simplified Hanzi]]
- [[GB/T 16500-1998]]
- [[Singapore Characters]]
- [[Unified Japanese IT Vendors Contemporary Ideographs, 1993]]
- [[KS X 1002]]
- [[KS X 1027-1:2011]]
- [[KS X 1027-2:2011]]
- [[TCVN 5773:1993]]
- [[TCVN 6056:1995]]
- [[VHN 02:1998]]
]FIG]
[11] [[94[SUP[3]]文字集合]]として [[CCCII]] ≒ [[EACC]] がありました。
[[私用終端バイト]]と共に使われました。
[23] [[EUC-TW]] の [[CS2]] では3バイトで [[CNS 11643]] を表します。
[[ISO/IEC 2022]] と解釈すれば、 [[SS2]] に続く[[94[SUP[3]]集合]]に相当します。
[12] 4バイト以上の[[符号化文字集合]]は知られていません。
* 94文字集合との文字の配置の互換性
[6] 2002-09-30 (Mon) 16:41:21 ''[[名無しさん]]'' : [[JISX0208]]:1997 の解説図3には、古い [[JISX0202]] の解説図が引用されている。
- 2002-09-30 (Mon) 16:42:59 ''[[名無しさん]]'' : その図は94^n図形文字集合の説明で、現在の言葉で言うと1区にラテン文字, 2区に片仮名, 3区に平仮名, 4区以降に漢字という(架空の)文字集合が図示してある。
- 2002-09-30 (Mon) 16:43:45 ''[[名無しさん]]'' : いまそれをみて、いろんなことを思う人がいよう。
- 2002-09-30 (Mon) 16:44:45 ''[[名無しさん]]'' : まずなんといっても、片仮名の代わりに(当時はなかった) [[ISO/IEC8859]]-1 右半面を持ってこれば、それこそ [[ISO/IEC10646]] である。
- 2002-09-30 (Mon) 16:45:32 ''[[名無しさん]]'' : ああ、やっぱり [[Unicode]] の起源は日本にあったのか、と思わずにはいられない。
- 2002-09-30 (Mon) 16:46:57 ''[[名無しさん]]'' : JIS X 0208:1997 の解説は、 JIS C 6226-1978 の配列は間違いだった、 [[ISO/IEC646]] が1区にそのままこないといけなかった、と批判する。
- 2002-09-30 (Mon) 16:47:32 ''[[名無しさん]]'' : ほんとのところは当時の資料を漁るなり、当事者(故人を含む。)に聞いてみないとわからない。けど、
- 2002-09-30 (Mon) 16:49:41 ''[[名無しさん]]'' : 「ISO/IEC 646 の版」を8ビットに拡大した ISO/IEC 8859 と同様に、 ISO/IEC 646 の版を7/8ビット2バイトに拡大したものを計画していたのではと思う。
- 2002-09-30 (Mon) 16:51:25 ''[[名無しさん]]'' : それに対して、 ISO/IEC 646 や [[JISX0201]] の拡張ではなく、これを機に整理した[[符号化文字集合]]を作ろうという意見があったんじゃないか。
- 2002-09-30 (Mon) 16:52:36 ''[[名無しさん]]'' : 結局その意見が勝った。この仮説が正しいとすると、まさに15年後の前哨戦じゃないか。
*94文字集合との字種の互換性
[7] 94[SUP[2]]文字集合は当然94集合よりずっと多くの文字が入る。
だから、 [[ISO/IEC646]] で unify されてた文字, 例えば
02/02 (") = 左二重引用符 / 右二重引用符 / ウムラウトとか、
(-) = ハイフン / 負符号とかが
[[JISX0208]] とかでは分離された。
これは正しい判断だった。当時としては。だけど、今は違う。
内部符号としての [[Unicode]] が生まれて、それと同時に[[名前]]による同定という規則が
[[ISO]]/[[IEC]] で確立されてから、そういう一対多対応あるいは多対多対応は受け入れられなくなってしまった。
(もっとも実際それ以前でも、変換の時は一般には機械で自動的に意味で分離するのは無理だから、どれか選んで (あるいは選ばないで)
一対一対応に無理矢理してたんだけど。)
だからもはや <"> は「“」とも「”」とも「¨」とも違う文字だ。
このちょっとおかしな事態は、たとえば [[JISX0213]]
の登場で誰の目にも明らかになった。 (ぼろ雑巾とまで言われた
[[UCS]] は、まあ気にしないでおこう。) JIS X 0213
には ISO/IEC 646 との互換のために、 <"> (QUOTATION MARK)
が追加された。もう既に「“」も「”」もあるのにだよ!
[8] ここに来てまた、あの一言が頭をよぎる。 JIS X 0208-1978
は、 ISO/IEC 646 の[[符号位置]]を変えてはいけなかった!
[9] [[78JIS]] が間違っていたのか、それとも JIS X 0213:2000
が間違っていたのか。たぶん、どちらも間違ってはいなかった。
けれども間違った結果になってしまった。
時代の先を見通すことは難しい。
[10] >>9 では JIS X 0208-1978 が仮に <"> を収録していて、
「“」や「”」がなかったら、どうなっていただろう。
[[Microsoft]] は [[WindowsCodePage]] 125x
でこれらを追加しているから、きっと同じ様に JIS
外字として 932 に入っていただろう。
JIS X 0213:2000 に <"> が入ってなかったら・・・
別になにも変わらなかったかもしれんがね。
(その辺は歴史の深さの違いだ。)
* 96[SUP[[VAR[n]]]]文字集合
[13] [DFN[96[SUP[[VAR[n]]]]文字集合]]は、
[N[96]] の[[複数]][[乗][累乗]]の[[符号空間]]を持つ[[符号化文字集合]]です。
[17] [[ISO/IEC 2022]] で利用できる[[符号化文字集合]]の種類の一つでした。
[20] こちらは[[私用文字集合]]としてしか (まだ) 使われていません。
[22]
[[Emacs]] が[[私用図形文字集合]]として[[96[SUP[2]]集合]]を使っています。
[SEE[ [[私用図形文字集合]] ]]
[18]
[[国家標準]]の[[符号化文字集合]]でこれに該当するものは知られていません。
[[ISO-IR]] にもこの種別の[[符号化文字集合]]は1つも登録されていません。
* 関連
[SEE[ [[94文字集合]] ]]
* メモ