/
973.txt
105 lines (75 loc) · 4.43 KB
/
973.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
[1] [DFN[ISO/IEC 4873]]
[CITE[8‐Bit Coded Character Set Structure and Rules]]
([CITE[8ビット符号化文字集合の構造と規則]])
は、[[8ビット符号]]の構造を定めた[[国際規格]]です。
[10] 最新版は
[TIME[1991年][year:1991]]に発行されていました。
[11]
[[ECMA 43]] に対応します。
[2] [[ISO/IEC 4873]] に[[規定]]する[[符号構造]]は、 [[ISO/IEC 2022]]
に基づきます。この構造に基づいた具体的な[[符号化文字集合]]の例として、
[[ISO/IEC 8859]] があります。
[14] [[GB 11383]]
*ISO/IEC 4873 の8ビット符号
[3] ISO/IEC 4873 に適合する符号は、次のような構造を持ちます
[SRC[ISO/IEC 4873:1991 6]]。
,*名前 ,*[[符号位置]],*明示的[[呼出]],*メモ
,[CODE(char)[[[C0]]]] 集合,"[CODE(char)[00/00]]〜[CODE(char)[00/13]], [CODE(char)[01/00]]〜[CODE(char)[01/15]]",なし,実装水準1以上
,[CODE(char)[[[SPACE]]]],[CODE(char)[02/00]],なし,実装水準1以上
,[CODE(char)[[[G0]]]] 集合,[CODE(char)[02/01]]〜[CODE(char)[07/14]],なし,実装水準1以上
,[CODE(char)[[[DELETE]]]],[CODE(char)[07/15]],なし,実装水準1以上
,[CODE(char)[[[C1]]]] 集合,[CODE(char)[08/00]]〜[CODE(char)[09/15]],なし,"実装水準1以上, 実装水準2以上では空集合以外"
,[CODE(char)[[[G1]]]] 集合,[CODE(char)[10/00]]〜[CODE(char)[15/15]],,"実装水準1以上, 実装水準2以上では空集合以外"
,[CODE(char)[[[G2]]]] 集合,,,実装水準2以上
,[CODE(char)[[[G3]]]] 集合,,,実装水準2以上
- 実装水準2以上では、 [CODE(char)[G2]] と [CODE(char)[G3]]
の両方が空集合であってはなりません。
- 実装水準2以上では、 [CODE(char)[G2]] と [CODE(char)[G3]]
をそれぞれ [CODE(char)[[[SS2]]]] と [CODE(char)[[[SS3]]]]
で''[[左]]''に呼出せます。
- 実装水準3では [CODE(char)[G1]]〜[CODE(char)[G3]]
をそれぞれ [CODE(char)[[[LS1R]]]], [CODE(char)[[[LS2R]]]],
[CODE(char)[[[LS3R]]]] で呼出せます。
- [CODE(char)[[[CR]]]] や [CODE(char)[[[BS]]]]
を使った[[重ね打ち]]は禁止されています。 [SRC[ISO/IEC 4873:1991 7]]
[[#comment]]
**C0 集合
[4] [CODE(char)[[[CL]]]] = [CODE(char)[C0]] は、
2[[符号位置]] [CODE(char)[00/14]] と [CODE(char)[00/15]]
[WEAK[(普通 [CODE(char)[[[LS1]]]] と [CODE(char)[[[LS0]]]] に使われます。)]]
の使用が禁止されており、 [CODE(char)[01/11]] が制御文字 [CODE(char)[[[ESCAPE]]]]
に固定されているほかは、割当は自由です。 [SRC[ISO/IEC 4873:1991 7.1]]
[[#comment]]
**G0 集合
[5] [CODE(char)[[[GL]]]] = [CODE(char)[G0]] は、
[[ISO/IEC 646]] [[国際基準版]] ([[IRV]]) と同じです
[SRC[ISO/IEC 4873:1991 7.4]]。 ISO 4873-1985 では完全には規定されていませんでした。
[[#comment]]
**C1 集合
[6] [CODE(char)[[[CR]]]] = [CODE(char)[[[C1]]]] は、
[CODE(char)[[[SS2]]]] と [CODE(char)[[[SS3]]]] を使う場合には、
それぞれ [CODE(char)[08/14]] と [CODE(char)[08/15]]
に割当てなければなりません。使わない場合は、
両符号位置は使用禁止となっています。他の符号位置は自由です。
[SRC[ISO/IEC 4873:1991 7.6]]
[[#comment]]
**図形文字の一意な符号化
[7]
[[図形文字の一意な符号化]]のため、
同じ[[名前][文字の名前]]の[[図形文字]]は、
[[G][G集合]] 番号の一番小さな集合に属する符号位置を使います。
[SRC[ISO/IEC 4873:1991 9.2]]
[[#comment]]
**実装水準の識別
[8] 実装水準の識別には、 [[ISO/IEC 2022]] の[[告知]]シーケンスを使います。
[[終端バイト]]は [CODE(char)[04/12]] 〜 [CODE(char)[04/14]]
がそれぞれ実装水準 1 〜 3 に割当てられています。
[SRC[ISO/IEC 4873:1991 10.2, ISO/IEC 2022]]
[9]
[[情報交換]]の途中で[[文字集合]]を替える場合や実装水準を変える場合には、
そこで実装水準の[[告知]]列と''全'' C / G 集合の[[指示]]列を入れる必要があります。
[SRC[ISO/IEC 4873:1991 10.4, 10.5]]
[[#comment]]
* メモ
[12] [CITE[00000001.PDF - 179.pdf]], [TIME[2014-06-23T02:15:52.000Z]], [TIME[2020-10-07T07:10:51.972Z]] <https://www.itscj.ipsj.or.jp/iso-ir/179.pdf>
[13] [CITE[Ecma-043.pdf]], [TIME[2014-10-28T04:43:07.000Z]], [TIME[2020-10-07T07:14:26.929Z]] <https://www.ecma-international.org/publications/files/ECMA-ST/Ecma-043.pdf>