-
Notifications
You must be signed in to change notification settings - Fork 4
/
945.txt
178 lines (142 loc) · 8.82 KB
/
945.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
[34]
[DFN[RFC 1468符号化表現]]は、[[JIS X 0208]]:1997で規定されている[[符号化文字集合]]です。
その参考によれば[Q[通常、[Q[ISO-2022-JP]]と呼ばれており、[[インターネット]]で使用されている]]らしいですが、
[[RFC 1468]]で説明されている[CODE(MIME)@en[[[ISO-2022-JP]]]]とは相違点も多く、
かといって[[IETF]]の[[RFC 1468]]を改訂することを意図したものや[[IANA]]における[CODE(MIME)@en[[[ISO-2022-JP]]]]の登録の更新を意図したものでは''ない''ようであり、
何を考えて制定したものなのかがよくわからないところです。
[36] [Q[RFC 1468符号化表現]]という怪しい名前にも関わらず、
規格中に[[RFC 1468]]との関係について説明がまったくありません。
[35]
> ソースは?
> ▼インターネットで見た
[1] 仕様書:
- [[JIS X 0208]]:1997
-- [CSECTION[附属書2 (規定) RFC 1468 符号化表現]]
[[#comment]]
* 符号化文字集合
[2]
- [3] [CODE[0x00]]〜[CODE[0x1F]]: [[制御文字]]:
[[JIS X 0211]] (最新版)
[[C0集合]]
[SRC[JIS97 附属書2 4.1 a)]]
-- [4] [[情報交換]]の先頭では、使用できる状態。
[SRC[JIS97 附属書2 4.2 a)]]
-- [5] [CODE[0x0E]]: [[使用しない]]。
[SRC[JIS97 附属書2 4.1 a)]]
-- [6] [CODE[0x0F]]: [[使用しない]]。
[SRC[JIS97 附属書2 4.1 a)]]
-- [7] [CODE[0x1B]]: 領域の切換え。
[SRC[JIS97 附属書2 4.1 a), f)]]
--- [8] [CODE[0x1B 0x28 0x42]]: [[制御文字]]の領域を使用する。
[[図形文字]]の領域は[[ISO/IEC 646]] (最新版) [[IRV]]
--- [9] [CODE[0x1B 0x28 0x4A]]: [[制御文字]]の領域を使用する。
[[図形文字]]の領域は[[JIS X 0201]] (最新版)
[[ラテン文字用図形文字集合]]
--- [10] [CODE[0x1B 0x24 0x40]]: [[制御文字]]の領域を使用''しない''
([CODE[0x1B]] を除く)。
[[図形文字]]の領域は[[JIS X 0208]]:1997本体6.5.1の[[漢字集合]]で、
[[JIS X 0208]]:1997 附属書2表1の[[図形文字]]の組を入れ替えたもの。
[CODE(charname)@en[[[SPACE]]]]を使用しない。
[CODE(charname)@en[[[DELETE]]]]を使用しない。
--- [11] [CODE[0x1B 0x24 0x42]]: [[制御文字]]の領域を使用''しない''
([CODE[0x1B]] を除く)。
[[図形文字]]の領域は[[JIS X 0208]]:1997本体6.5.1の[[漢字集合]]。
[CODE(charname)@en[[[SPACE]]]]を使用しない。
[CODE(charname)@en[[[DELETE]]]]を使用しない。
--- [12] これ以外で [CODE[0x1B]] は[[使用しない]]。
- [13] [CODE[0x20]]: [CODE(charname)@en[[[SPACE]]]]
- [14] [CODE[0x21]]〜[CODE[0x7E]]: [[図形文字]]
-- [15] [[情報交換]]の先頭では、[[ISO/IEC 646]] (最新版) [[IRV]]。
[SRC[JIS97 附属書2 4.2 a)]]
- [16] [CODE[0x7F]]: [CODE(charname)@en[[[DELETE]]]]
- [17] [CODE[0x80]]〜[CODE[0xFF]]: [[使用しない]]。
- [18] [[情報交換]]の末尾では、[[ISO/IEC 646]] (最新版) [[IRV]]
の状態でなければなりません。 [SRC[JIS97 4.3 a)]]
;;
[30]
元の[[RFC 1468]]は明らかに[[7ビット符号]]を規定しているのに、
[[RFC 1468符号化表現]]はなぜか[[8ビット符号]]のようです。
[32]
[[JIS]]は他[[規格]]の最新版を参照していますが、
元の[[RFC 1468]]はすべて年号付きで引用しています。
たまたま[[JIS X 0211]], [[ISO/IEC 646]] [[IRV]],
[[JIS X 0201]]とも1997年の時点で[[RFC 1468]]の参照する規格と内容が一致している
(ようにみえる) のですが、将来もそうである保障はありません。
(実際[[ISO/IEC 646]] [[IRV]]は1991年に非互換変更されていますから。)
将来[[RFC 1468符号化表現]]が勝手に違うものになってしまう危険性があります。
[33] >>10 は[[JIS X 0208]]‐1983で行われた[[漢字]]の入れ替えを元に戻すことを求めていますが、
なぜか[[JIS X 0208]]‐1983および[[JIS X 0208]]‐1990での追加分には触れていません。
(>>29 は[[装置]]の適合性に関する規定のようです。)
[37]
>>10-11 の2つの[[指示シーケンス]]の後は[[制御文字]]が使えないことになっていて
(附属書2 4.1 f))、[CODE(charname)@en[[[ESC]]]]も例外とされて''いません''。附属書2図3〜5もそうなっています。
附属書2 4.2 b) で [Q[4.1 f) の[[バイト列]]が現れた場合は、 4.1 f) に示す利用状態の遷移が起こる]]とありますが、
4.1 f) の規定に従えば一旦[[JIS X 0208]]状態に遷移すると4.1 f)
の[[バイト列]]は出現できないので・・・。
([[名無しさん]])
[38]
>>37 と >>18 により、[[RFC 1468符号化表現]]で[[JIS X 0208]]を使うことは無理としか考えられない。
[PRE(aa)[
[AA(fw)[ ]]ナ ゝ[AA(fw)[ ]]ナ ゝ[AA(fw)[ ]]/[AA(fw)[ ]] 十[AA(fw)[_]]"[AA(fw)[ ]] ー;=‐[AA(fw)[ ]]|! |!
[AA(fw)[ ]]cト[AA(fw)[ ]]cト[AA(fw)[ ]]/[AA(fw)[^]][AA(hw)[、]]_ノ[AA(fw)[ ]] | [AA(hw)[、]].__[AA(fw)[ ]]つ[AA(fw)[ ]] [AA(fw)[(]].__ [AA(fw)[ ]] [AA(fw)[‾‾‾‾]] [AA(fw)[ ]] ・ ・
]PRE]
([[名無しさん]])
[[#comment]]
* 適合性
[19]
'''情報交換の適合性''':
[[情報交換]]の[[適合性]]は、[[JIS X 0208]]:1997
本体 3.2 ([[JIS X 0208]>>4]) によります。
ただし、[[符号化文字集合]]については[[JIS X 0208]]:1997
附属書2 4. (>>2) によります。
[SRC[JIS97 附属書2 2.1]]
[20] 本体3.2の規定により、[[適合性]]を主張する情報交換は採用した[[符号化文字集合]]を[Q[[[文書]]に明示]]しなければなりません。
この規定は附属書2では上書きされておらず、有効と思われます。
[21] '''装置の適合性'''
[[装置]]の[[適合性]]は、[[JIS X 0208]]:1997 附属書2.2の規定によります。
[SRC[JIS97 附属書2 2.1]]
;; 規格本体にも規定がありますが、そちらではなく、
個別の規定が適用されるようです。参考として
[Q[[[インターネット]]の[[情報交換]]においては、[INS[〜]][[空き領域]]の[[利用]]は行われない]]とあり、
そのために本体や[[シフト符号化表現]]とは別の[[適合]]の要件が規定されているのだと思われます。
- [22] 本体3.1 ([[JIS X 0208]>>1], [[JIS X 0208]>>2],
[[JIS X 0208]>>3]) [SRC[JIS97 附属書2 2.2]]
- [23] 本体3.3.1 ([[JIS X 0208]>>10]) [SRC[JIS97 附属書2 2.2]]
- [24] 本体3.3.2 ([[JIS X 0208]>>11]) と附属書2 2.2.2 (>>26) の一方又は両方
[SRC[JIS97 附属書2 2.2, 2.2.1]]
- [27] [[適合性]]を主張する場合、附属書2の[[符号化文字集合]]を採用したことを[Q[[[文書]]に明示]]しなければなりません。
[SRC[JIS97 附属書2 2.2]]
- [28] 指定された[[図形文字]]の組を入れ替えても構いません。
その場合、入れ替えの一覧を[Q[[[文書]]に明示]]しなければなりません。
[SRC[JIS97 附属書2 2.2]]
- [29] 指定された[[図形文字]]を実装しなくても構いません。
その場合、実装しないものの一覧を[Q[[[文書]]に明示]]しなければなりません。
[SRC[JIS97 附属書2 2.2]]
;;
[25] >>28 は[[JIS X 0208]]‐1983や[[JIS X 0208]]‐1990で入れ替え等があった[[漢字]]。
>>29 は[[JIS X 0208]]‐1983や[[JIS X 0208]]‐1990で追加された[[図形文字]]。
[26] '''受信装置の要件''':
本体3.3.3 ([[JIS X 0208]>>12]) によります。
ただし、[CODE[0x0D 0x0A]]を[[受信]]した場合、
[[図形文字]]の領域を[[ISO/IEC 646]] (最新版) [[IRV]]
に遷移しても構いません。その場合、
[Q[[[文書]]に明示]]しなければなりません。
[SRC[JIS97 附属書2 2.2.2]]
;;
[31]
>>10 や >>11 で[[制御文字]]の領域を[[使用しない]]時に[CODE[0x0D 0x0A]]を[[受信]]すると、
[[制御文字]]の領域がそのまま[[使用しない]]のままになってしまいますが・・・。
[39]
[[JUNET利用の手引き]]にも[[RFC 1468]]にもない
>>26 の規定はどこからでてきたのでしょう?
;; そのような実装があった (いまもある?) ことは事実ですが・・・。
[40]
[[JIS X 0208]]:1997の解説には、
- [[改行]]の後の状態が異なる実装があること、
- [[指示シーケンス]]の解釈が曖昧だと[[RFC 1468]]自身が認めていること、
- [[ISO/IEC 2022]]のサブセットであるかのような誤解を抱かせること
が問題として認められるので、[[ISO-2022-JP]]の実装が[[JIS X 0208]]への[[適合]]を主張できるように附属書にしたという旨の説明があります。
わかるようなわからないような説明である上に、
本当に挙げられた問題を解決できているのか甚だ疑問であります。
[[#comment]]
* メモ