-
Notifications
You must be signed in to change notification settings - Fork 4
/
401.txt
419 lines (325 loc) · 14.1 KB
/
401.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
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
[1] [DFN[KS C 5601]] は[[大韓民国]]の[[符号化文字集合]]規格です。
1974年に初版が制定されました。1997年には規格番号が
[[KS X 1001]] に変更されています。
- '''KS C 5601‐1974''' 1974年9月制定
- [DFN[KS C 5601‐1982]]
[CITE[Code for Information Interchange (Hangul and Chinese Character)]]
- '''KS C 5601‐1987'''
- '''KS C 5601‐1989'''
- '''KS C 5601‐1992'''
- '''KS X 1001:1998'''
- '''KS X 1001:2002'''
- [DFN[KS X 1001:2004]]
* 符号化文字集合
[32]
歴代 [[KS X 1001]] は多数の[[符号化文字集合]]を規定しています。
[[KS X 1001:2004]] 解説によれば各版に次の内容が含まれていました。
[FIG(table)[
:r: 版
:7r:7ビットローマ字
:7h:7ビットハングル
:7hr:7ビットハングル+ローマ字 (SI/SO)
:8hr:8ビットハングル+ローマ字
:c:7ビット制御文字
:ebcdic:EBCDIC
:16j:(旧) 16ビット組合型
:johab:(新) 組合型
:942: 94[SUP[2]] 完成型
:r: 1974
:7r:本体
:7h:本体
:7hr:本体
:8hr:本体
:c:附属書1
:r: 1982
:c:本体, 附属書2
:7r:本体
:7h:本体
:7hr:本体
:8hr:附属書1
:ebcdic:附属書1
:16j:附属書1
:r: 1987
:942: 本体 [VAR[F]] = [N[3/1]]
:16j:附属書3
:7h:附属書4
:7hr:附属書4
:r: 1989
:942: 本体 [VAR[F]] = [N[4/3]]
:16j:附属書3
:7h:附属書4
:7hr:附属書4
:r: 1992
:942: 本体 [VAR[F]] = [N[4/3]]
:johab:附属書3
:7h:附属書4
:7hr:附属書4
:r: 1998
:942: 本体 (+2字) [VAR[F]] = [N[4/3]]
:johab:附属書3
:7h:附属書4
:7hr:附属書4
:r: 2002
:942: 本体 (+2字+1字) [VAR[F]] = [N[4/3]]
:johab:附属書3
:7h:附属書4
:7hr:附属書4
:r: 2004
:942: 本体 (+2字+1字) [VAR[F]] = [N[4/3]]
:johab:附属書3
:7h:附属書4
:7hr:附属書4
]FIG]
* 完成型符号化文字集合
[2] '''[RUBYB[完成][Wansung]]型''':
1987年版以後の規格本体で規定されています。
[[ハングル]]の[[結合]]済み[[音節]] ([[現代ハングル]]の主要なもののみ。)
が含まれる 94[SUP[2]] の[[符号化図形文字集合]]
([[JIS X 0208]] 型文字集合) です。
** 文字集合
[3]
符号化文字集合:
= 1区 記号
= 2区 記号 (69文字)
= 3区 [[KS X 1001]] 相当の[Q[[[全角]]]]文字
= 4区 [[ハングル字母]]
= 5区 [[羅馬数字]], [[希臘文字]] (合計68文字)
= 6区 [[罫線素辺]] (68文字)
= 7区 記号 (79文字)
= 8区 発音記号, 丸付き文字など (合計91文字)
= 9区 発音記号, 括弧付き文字など
= 10区 [[平仮名]] (83文字)
= 11区 [[片仮名]] (86文字)
= 12区 [[キリル文字]] (66文字)
= 16区1点〜40区94点 [[ハングル音節]] (2350文字)
= 41区 [[私用域]] [SRC[>>18]]
= 42区1点〜93区94点 [[漢字]] (合計4888文字、
重複分268文字、実質4620文字)
= 94区 [[私用域]] [SRC[>>18]]
(1987年版〜1997年版は同じ符号化文字集合)
1998年版で2文字追加されました。
= 2区70点 [CODE(char)[[[U+20AC]]]]
= 2区71点 [CODE(char)[[[U+00AE]]]]
2002年版で1文字追加されました。
= 韓国郵便記号
[4] 1987年版規格票 (英語) によれば、
文字集合は次のように分類されているそうです [SRC[出典不詳]]。
= Special Character (432文字)
= Digit (30文字)
= An Element of Hangul Alphabet (94文字)
= Roman Character (52文字)
= Greek Character (48文字)
= Fragment of Line (68文字)
= Hangul (2350文字)
= Chinese Character (4888文字)
= Latin Character (27文字)
= Japanese Character (169文字)
= Russian characters [INS[(ママ)]] (66文字)
(合計 8224文字)
[REFS[
- [18] [CITE[Microsoft Word - KOREAWRD.DOC - KOREAPRN.PDF]], [TIME[1999-05-27T12:00:00.000Z]], [TIME[2022-05-03T07:02:35.886Z]] <http://www2.phys.canterbury.ac.nz/dept/docs/manuals/unix/DEC_5.0a_Docs/ACRO_SUP/KOREAPRN.PDF#page=12>
]REFS]
[5] '''漢字集合''':
[[漢字]]は発音順 (当然[[韓国語]]の[[ハングル]]の順序) で整列されています。
発音が複数ある文字は[[重複符号化]]されています。同じ字が
4つもあったりするのが藁えます [WEAK[(藁えばいいというものでもありませんが)]]。
[25]
[[KS X 1004:2004]] 本体4によると次の[[ダイアクリティカルマーク]]は前置型
[SEE[ [[non-spacing文字]] ]]
- 1区7点
- 2区5点 〜 2区13点
- 3区62点, 3区64点, 3区94点
[38]
[[KS X 1001]] は[[非漢字]]非[[ハングル]]に名前を与えています。
[[ISO/IEC 10646]] の[[文字の名前]]とは違う[[韓国語]]の名前です。
[41]
[CITE[00000001.PDF - 149.pdf]], [TIME[2022-11-02T03:16:23.000Z]], [TIME[2022-12-10T06:08:22.048Z]] <https://itscj.ipsj.or.jp/ir/149.pdf>
[39]
[CITE@ja[GlyphWiki:井戸端-保存2014年まで - [[GlyphWiki]]]], [TIME[2022-10-01T15:24:54.000Z]] <https://glyphwiki.org/wiki/GlyphWiki:%E4%BA%95%E6%88%B8%E7%AB%AF-%E4%BF%9D%E5%AD%982014%E5%B9%B4%E3%81%BE%E3%81%A7#i20>
>[SNIP[]]KS X 1001の規格票の草冠は3画草冠u8279-03なのに,ISO/IEC 10646のKソースは草冠がほぼ全て4画草冠ufa5e-03になっています。[SNIP[]]
*** 2002年の拡張
[13] KS X 1001:2002 でまた文字が追加されたそうです。2区72点に新しく出来た[[韓国]]の[[郵便マーク]] (○の中に〒の一番上の一が○になった文字 [WEAK[(ハングル)]])
[14] >>13 の情報源は [[JTC1/SC2/WG2]] N 2565 で、韓国 JTC1/SC2 の人の文章。
[15] ''misc/55341: Adding ko_KR.CP949 locale'' <http://lists.freebsd.org/pipermail/freebsd-bugs/2003-August/002657.html> : [[CP949]] の実装だけど、 [[GR]] 部分が KS X 1001:2002 と書いてあって、実際 [CODE[SPECIAL]] に新しい [CODE[0xA2E8]] も含まれている。でもまだ Windoze では使えない ([[Unicode]] に入ってないから) のでは。で、いずれ Unicode に入ったとして、 [[M$]] は ANSI codepage にもこの文字追加するかな? どうかな?
[TIME[2003-10-04 22:29:50 +00:00]]
[16]
郵便記号が [[UCS]] に入りました。
[CODE(char)[[[U+327E]]]] [CODE(charname)[[[CIRCLED HANDUL IEUNGU]]]]
([[ISO/IEC 10646]]:2003 Amendment 1:2004 / [[Unicode 4.1]])
*** 外字
[23]
[[KS X 1001:2004]] 附属書2によると、
41区が[[外字]]領域A、
94区が[[外字]]領域Bです.
(本体4にも言及あり)
[24]
[[KS X 1001:2004]] 本体4によると、
含まれない[[ハングル音節]]は、
“채움”、
[[初声]]、
[[中声]]、
[[終声]]の順に記述します。
[42]
[[ISO-IR]]
でも41区と94区は[[外字]]とされています。
ただし局所的に使うことは認められても、
[[情報交換]]で使うことは禁止されていました。
[SRC[>>41]]
** 符号化表現
[6] '''符号拡張法''':
1987年版は [[ISO-IR]] の149番で登録されています。
[[終端バイト]]には [CODE(char)[4/3]] ([SAMP(char)[C]])
が割当てられています。
すなわち、 [[ISO/IEC 2022]] [[符号拡張法]]の環境下で使う[[指示シーケンス]]は、
:[[G0]] に[[指示]]:[CODE(char)[1/11]] ([CODE(char)[[[ESC]]]]) [CODE(char)[2/4]] ([SAMP(char)[$]]) [CODE(char)[2/8]] ([SAMP(char)[(]]) [CODE(char)[4/3]] ([SAMP(char)[C]])
:[[G1]] に[[指示]]:[CODE(char)[1/11]] ([CODE(char)[[[ESC]]]]) [CODE(char)[2/4]] ([SAMP(char)[$]]) [CODE(char)[2/9]] ([SAMP(char)[)]]) [CODE(char)[4/3]] ([SAMP(char)[C]])
:[[G2]] に[[指示]]:[CODE(char)[1/11]] ([CODE(char)[[[ESC]]]]) [CODE(char)[2/4]] ([SAMP(char)[$]]) [CODE(char)[2/10]] ([SAMP(char)[*]]) [CODE(char)[4/3]] ([SAMP(char)[C]])
:[[G3]] に[[指示]]:[CODE(char)[1/11]] ([CODE(char)[[[ESC]]]]) [CODE(char)[2/4]] ([SAMP(char)[$]]) [CODE(char)[2/11]] ([SAMP(char)[+]]) [CODE(char)[4/3]] ([SAMP(char)[C]])
[33]
[[ISO-IR]] に登録される前の[TIME[西暦1987年][1987]]版[[規格]]は[[私用終端バイト]]
[CODE(char)[3/1]] ([SAMP(char)[1]])
を使うとしていました。
次の[TIME[西暦1989年][1989]]版[[規格]]で正式に登録された [N[4/3]]
に改められました。
[SRC[[[KS X 1001:2004]] 解説2]]
[35]
[TIME[西暦1998年][1998]]版規格で2文字、
[TIME[西暦2002年][2002]]版規格で1文字追加されたにも関わらず、
[[終端バイト]]は変更されていません
(本来は仕様違反)。
[[KS X 1001:2004]] 解説5によると[TIME[西暦2004年][2004]]規格改正時に課題となったものの、
現在までそのまま放置されています。
-*-*-
[19]
[[KS X 1001:2004]] は [[ISO/IEC 2022]] に基づく利用方法を定義しています。
- [20] [[ISO/IEC 2022]] [[7ビット符号]]
-- [[G1]], [[G2]], [[G3]] のいずれかに[[指示]] ([[終端バイト]] [N[4/3]])
-- [[固定シフト]]で[[左側]]に[[呼び出し]]
- [21] [[ISO/IEC 2022]] [[8ビット符号]]
-- [[G1]], [[G2]], [[G3]] のいずれかに[[指示]] ([[終端バイト]] [N[4/3]])
-- [[固定シフト]]で[[右側]]に[[呼び出し]]
-- デフォルトで[[エスケープシーケンス]]なしで利用可能
;; [22] [[G0]] に[[指示]]する方法を示していない点に注意。
[SEE[ [[EUC-KR]], [[DEC Korean]], [[Shift-KS]] ]]
** Unicode との対応
[43] [[CJK互換漢字]]
[44] >>43 初期と2文字の変更あり
[45] [CITE@ja[ノート:u827c-k - GlyphWiki]], [TIME[2023-08-11T14:11:55.000Z]] <https://glyphwiki.org/wiki/Talk:u827c-k>
[46] >>45
[[出典K]]の字形は [[KS X 1001]] と違う形に変わっていたりするらしい。
* 組合型符号化文字集合
[7] [[KS X 1001]] の附属書3は[RUBYB[組合][Johab]]型の[[符号化文字集合]]を規定しています。
この符号化文字集合は[Q[組合型]], [Q[johab]], [Q[Hangul johab]],
[Q[組合せ型コード]], [Q[two‐byte johab]], [Q[tbj]] などと呼ばれています。
この符号化文字集合では、[[ハングル音節]]1文字が通常[[ハングル字母]]
3文字分の組合せで構成されることを利用し、
機械的に[[現代ハングル]]の全組合せを16ビット空間内に割当ています。
[8] [[ハングル]]は最上位ビットが常に [CODE[1]] で、
以後5ビットずつ[[初声]], [[中声]], [[終声]]と符号化します。
,#,初声,終声,中声
,1,,(零),
,2,k,k,
,3,kk,kk,a
,4,n,ks,ae
,5,t,n,ya
,6,tt,nc,yae
,7,r,nh,eo
,8,m,t,
,9,p,l,
,10,pp,lk,e
,11,s,lm,yeo
,12,ss,lp,ye
,13,(零),ls,o
,14,c,lth,wa
,15,cc,lph,wae
,16,ch,lh,
,17,kh,m,
,18,th,,oe
,19,ph,p,yo
,20,h,ps,u
,21,,s,weo
,22,,ss,we
,23,,ng,wi
,24,,c,
,25,,ch,
,26,,kh,yu
,27,,th,eu
,28,,ph,yi
,29,,h,i
(空欄はなし)
8ビットの2バイト符号化文字集合としてみると、次のようになります。
:第1バイト:[CODE(char)[0x84]]〜[CODE(char)[0xD3]]
:第2バイト:[CODE(char)[0x41]]〜[CODE(char)[0x7E]],
[CODE(char)[0x81]]〜[CODE(char)[0xFE]]
(正確には、 [CODE(char)[0x41]]〜[CODE(char)[0x51]],
[CODE(char)[0x53]]〜[CODE(char)[9x5D]],
[CODE(char)[0x61]]〜[CODE(char)[0x71]],
[CODE(char)[0x73]]〜[CODE(char)[0x7D]],
[CODE(char)[0x81]]〜[CODE(char)[0x91]],
[CODE(char)[0x93]]〜[CODE(char)[0x9D]],
[CODE(char)[0xA1]]〜[CODE(char)[0xB1]],
[CODE(char)[0xB3]]〜[CODE(char)[0xBD]],
[CODE(char)[0xC1]]〜[CODE(char)[0xD1]],
[CODE(char)[0xD3]]〜[CODE(char)[0xDD]],
[CODE(char)[0xE1]]〜[CODE(char)[0xF1]],
[CODE(char)[0xF3]]〜[CODE(char)[0xFD]])
[9] ハングル以外:
-記号・漢字
:第1バイト:[CODE(char)[0xD8]]〜[CODE(char)[0xDE]],
[CODE(char)[0xE0]]〜[CODE(char)[0xF9]]
:第2バイト:[CODE(char)[0x31]]〜[CODE(char)[0x7E]],
[CODE(char)[0x91]]〜[CODE(char)[0xFE]]
- [[私用域]]
:第1バイト:[CODE(char)[0xD8]]
:第2バイト:[CODE(char)[0x31]]〜[CODE(char)[0x7E]],
[CODE(char)[0x91]]〜[CODE(char)[0xFE]]
[26]
[[ハングル]]以外は[[組合型]]と同じ[[文字集合]]。
** エスケープシーケンス
[SEE[ [[ANSIエスケープシーケンス]] ]]
[SEE[ [[DOCS]] ]]
** 歴史
[12] 2009年10月には [[ASCII]] [[バイト列]]の解釈が[[組合型]]と [[ASCII]]
では異なることがあるとして、 [[HTML5]] で利用する[['''べきではない''']]と規定されました。
;; [CITE@en[(X)HTML5 Tracking]] ([TIME[2009-10-28 07:06:16 +09:00]] 版) <http://html5.org/tools/web-apps-tracker?from=4366&to=4367>
* N‐バイト・ハングル符号化文字集合
[10] [[KS X 1001]] の附属書4は
[DFN[N‐Byte ハングル]]と呼ばれる[[符号化文字集合]]を規定しています。
1982年版ではこの[[符号化文字集合]]だけが規格本体で規定されていました。
[11] 7ビット及び8ビットの符号化文字集合であり、
51文字の基本的な[[ハングル字母]]が含まれています [SRC[[[CJK.INF]]]]。
[27]
[[KS X 1001:2004]] 附属書4は[[7ビット符号]]であるとしています。
[28]
[[94文字集合]]。
[29]
[[ラテン文字]]と併用するときは、
[[KS X 1003]] [CODE(charname)@en[SI]] の後に[[ラテン文字]]集合、
[[KS X 1003]] [CODE(charname)@en[SO]] の後に[[ハングル]]集合。
[30] (併用するときは、とあるのでしないで単体での利用も想定されているらしい。)
[31]
[[ラテン文字]]用の集合が何か明記されていないが、
[[KS X 1003]] か。
[[C0制御文字]]も明記されていないが、
[CODE(charname)@en[SI]], [CODE(charname)@en[SO]]
が
[[KS X 1003]]
と明記されているので、[[C0制御文字]]も
[[KS X 1003]] のもの (≒ [[ISO 646]]) か。
明記されていないが [CODE(charname)@en[SP]],
[CODE(charname)@en[DEL]]
もあるのか。
[34]
この[[94集合]]は [[ISO-IR]] に登録されていません。
[[KS X 1001:2004]] 解説3によれば以前の改正時にこれが課題となりましたが、
未解決のまま現在に至っています。
[40] [[半角ハングル]]参照。
* 関連
[36] [[KS X 1002]],
[[KS X 1003]]
[37]
[[Adobe-KR]]
* 歴史
[17] [CITE@en[Bug 16947 – Consider adding U+327E to the Korean index]]
([TIME[2015-05-13 19:16:11 +09:00]] 版)
<https://www.w3.org/Bugs/Public/show_bug.cgi?id=16947>