KS X 1001

KS X 1001

[1] KS C 5601大韓民国符号化文字集合規格です。 1974年に初版が制定されました。1997年には規格番号が KS X 1001 に変更されています。

完成型符号化文字集合

[2] 完成 (Wansung) : 1987年版以後の規格本体で規定されています。 ハングル結合済み音節 (現代ハングルの主要なもののみ。) が含まれる 942符号化図形文字集合 (JIS X 0208 型文字集合) です。

[3] 符号化文字集合:

  1. 1区 記号
  2. 2区 記号 (69文字)
  3. 3区 KS X 1001 相当の全角文字
  4. 4区 ハングル字母
  5. 5区 羅馬数字, 希臘文字 (合計68文字)
  6. 6区 罫線素辺 (68文字)
  7. 7区 記号 (79文字)
  8. 8区 発音記号, 丸付き文字など (合計91文字)
  9. 9区 発音記号, 括弧付き文字など
  10. 10区 平仮名 (83文字)
  11. 11区 片仮名 (86文字)
  12. 12区 キリル文字 (66文字)
  13. 16区1点〜40区94点 ハングル音節 (2350文字)
  14. 41区 私用域
  15. 42区1点〜93区94点 漢字 (合計4888文字、 重複分268文字、実質4620文字)
  16. 94区 私用域

(1987年版〜1997年版は同じ符号化文字集合)

1998年版で2文字追加されました。

  1. 2区70点 U+20AC
  2. 2区71点 U+00AE

2002年版で1文字追加されました。

  1. 韓国郵便記号

[4] 1987年版規格票 (英語) によれば、 文字集合は次のように分類されているそうです 出典不詳

  1. Special Character (432文字)
  2. Digit (30文字)
  3. An Element of Hangul Alphabet (94文字)
  4. Roman Character (52文字)
  5. Greek Character (48文字)
  6. Fragment of Line (68文字)
  7. Hangul (2350文字)
  8. Chinese Character (4888文字)
  9. Latin Character (27文字)
  10. Japanese Character (169文字)
  11. Russian characters (ママ) (66文字)

(合計 8224文字)

[5] 漢字集合: 漢字は発音順 (当然韓国語ハングルの順序) で整列されています。 発音が複数ある文字は重複符号化されています。同じ字が 4つもあったりするのが藁えます (藁えばいいというものでもありませんが)

[6] 符号拡張法: 1987年版は ISO-IR の149番で登録されています。 終端バイトには 4/3 (C) が割当てられています。

すなわち、 ISO/IEC 2022 符号拡張法の環境下で使う指示シーケンスは、

G0指示
1/11 (ESC) 2/4 ($) 2/8 (() 4/3 (C)
G1指示
1/11 (ESC) 2/4 ($) 2/9 ()) 4/3 (C)
G2指示
1/11 (ESC) 2/4 ($) 2/10 (*) 4/3 (C)
G3指示
1/11 (ESC) 2/4 ($) 2/11 (+) 4/3 (C)

ISO-IR に登録される前は一時的に 3/1 (1) を終端バイトとして使うことになっていました 1987年版

2002年の拡張

[13] KS X 1001:2002 でまた文字が追加されたそうです。2区72点に新しく出来た韓国郵便マーク (○の中に〒の一番上の一が○になった文字 (ハングル))

[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 と書いてあって、実際 SPECIAL に新しい 0xA2E8 も含まれている。でもまだ Windoze では使えない (Unicode に入ってないから) のでは。で、いずれ Unicode に入ったとして、 M$ は ANSI codepage にもこの文字追加するかな? どうかな?

[16] 郵便記号が UCS に入りました。

U+327E CIRCLED HANDUL IEUNGU

(ISO/IEC 10646:2003 Amendment 1:2004 / Unicode 4.1)

組合型符号化文字集合

[7] KS X 1001 の附属書3は組合 (Johab) 型の符号化文字集合を規定しています。 この符号化文字集合は組合型, johab, Hangul johab, 組合せ型コード, two‐byte johab, tbj などと呼ばれています。

この符号化文字集合では、ハングル音節1文字が通常ハングル字母 3文字分の組合せで構成されることを利用し、 機械的に現代ハングルの全組合せを16ビット空間内に割当ています。

[8] ハングルは最上位ビットが常に 1 で、 以後5ビットずつ初声, 中声, 終声と符号化します。

#初声終声中声
1(零)
2kk
3kkkka
4nksae
5tnya
6ttncyae
7rnheo
8mt
9pl
10pplke
11slmyeo
12sslpye
13(零)lso
14clthwa
15cclphwae
16chlh
17khm
18thoe
19phpyo
20hpsu
21sweo
22sswe
23ngwi
24c
25ch
26khyu
27theu
28phyi
29hi

(空欄はなし)

8ビットの2バイト符号化文字集合としてみると、次のようになります。

第1バイト
0x840xD3
第2バイト
0x410x7E, 0x810xFE (正確には、 0x410x51, 0x539x5D, 0x610x71, 0x730x7D, 0x810x91, 0x930x9D, 0xA10xB1, 0xB30xBD, 0xC10xD1, 0xD30xDD, 0xE10xF1, 0xF30xFD)

[9] ハングル以外:

歴史

[12] 2009年10月には ASCII バイト列の解釈が組合型ASCII では異なることがあるとして、 HTML5 で利用するべきではないと規定されました。

N‐バイト・ハングル符号化文字集合

[10] KS X 1001 の附属書4は N‐Byte ハングルと呼ばれる符号化文字集合を規定しています。 1982年版ではこの符号化文字集合だけが規格本体で規定されていました。

[11] 7ビット及び8ビットの符号化文字集合であり、 51文字の基本的なハングル字母が含まれています CJK.INF

歴史

[17] Bug 16947 – Consider adding U+327E to the Korean index ( 版) <https://www.w3.org/Bugs/Public/show_bug.cgi?id=16947>