7ビットハングル符号

7ビットハングル符号

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

符号化文字集合

[32] 歴代 KS X 1001 は多数の符号化文字集合を規定しています。 KS X 1001:2004 解説によれば各版に次の内容が含まれていました。

r
7r
7ビットローマ字
7h
7ビットハングル
7hr
7ビットハングル+ローマ字 (SI/SO)
8hr
8ビットハングル+ローマ字
c
7ビット制御文字
ebcdic
EBCDIC
16j
(旧) 16ビット組合型
johab
(新) 組合型
942
942 完成型
r
1974
7r
本体
7h
本体
7hr
本体
8hr
本体
c
附属書1
r
1982
c
本体, 附属書2
7r
本体
7h
本体
7hr
本体
8hr
附属書1
ebcdic
附属書1
16j
附属書1
r
1987
942
本体 F = 3/1
16j
附属書3
7h
附属書4
7hr
附属書4
r
1989
942
本体 F = 4/3
16j
附属書3
7h
附属書4
7hr
附属書4
r
1992
942
本体 F = 4/3
johab
附属書3
7h
附属書4
7hr
附属書4
r
1998
942
本体 (+2字) F = 4/3
johab
附属書3
7h
附属書4
7hr
附属書4
r
2002
942
本体 (+2字+1字) F = 4/3
johab
附属書3
7h
附属書4
7hr
附属書4
r
2004
942
本体 (+2字+1字) F = 4/3
johab
附属書3
7h
附属書4
7hr
附属書4

完成型符号化文字集合

[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区 私用域 >>18
  15. 42区1点〜93区94点 漢字 (合計4888文字、 重複分268文字、実質4620文字)
  16. 94区 私用域 >>18

(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つもあったりするのが藁えます (藁えばいいというものでもありませんが)

[25] KS X 1004:2004 本体4によると次のダイアクリティカルマークは前置型 non-spacing文字

  • 1区7点
  • 2区5点 〜 2区13点
  • 3区62点, 3区64点, 3区94点

[38] KS X 1001非漢字ハングルに名前を与えています。 ISO/IEC 10646文字の名前とは違う韓国語の名前です。

[41] 00000001.PDF - 149.pdf, , https://itscj.ipsj.or.jp/ir/149.pdf

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)

西紀2004年版規格

漢字字形

K字形

外字

[23] KS X 1001:2004 附属書2によると、 41区が外字領域A、 94区が外字領域Bです. (本体4にも言及あり)

[24] KS X 1001:2004 本体4によると、 含まれないハングル音節は、 “채움”、 初声中声終声の順に記述します。

[42] ISO-IR でも41区と94区は外字とされています。 ただし局所的に使うことは認められても、 情報交換で使うことは禁止されていました。 >>41

符号化表現

[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)

[33] ISO-IR に登録される前の規格私用終端バイト 3/1 (1) を使うとしていました。 次の規格で正式に登録された 4/3 に改められました。 KS X 1001:2004 解説2

[35] 版規格で2文字、 版規格で1文字追加されたにも関わらず、 終端バイトは変更されていません (本来は仕様違反)。 KS X 1001:2004 解説5によると規格改正時に課題となったものの、 現在までそのまま放置されています。


[19] KS X 1001:2004ISO/IEC 2022 に基づく利用方法を定義しています。

[22] G0指示する方法を示していない点に注意。

EUC-KR, DEC Korean, Shift-KS

Unicode との対応

[43] CJK互換漢字

[44] >>43 初期と2文字の変更あり

[45] ノート:u827c-k - GlyphWiki, https://glyphwiki.org/wiki/Talk:u827c-k

[46] >>45 出典Kの字形は KS X 1001 と違う形に変わっていたりするらしい。

組合型符号化文字集合

[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] ハングル以外:

[26] ハングル以外は組合型と同じ文字集合

エスケープシーケンス

ANSIエスケープシーケンス

DOCS

歴史

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

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

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

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

[27] KS X 1001:2004 附属書4は7ビット符号であるとしています。

[28] 94文字集合

[29] ラテン文字と併用するときは、 KS X 1003 SI の後にラテン文字集合、 KS X 1003 SO の後にハングル集合。

[30] (併用するときは、とあるのでしないで単体での利用も想定されているらしい。)

[31] ラテン文字用の集合が何か明記されていないが、 KS X 1003 か。 C0制御文字も明記されていないが、 SI, SOKS X 1003 と明記されているので、C0制御文字KS X 1003 のもの (≒ ISO 646) か。 明記されていないが SP, DEL もあるのか。

[34] この94集合ISO-IR に登録されていません。 KS X 1001:2004 解説3によれば以前の改正時にこれが課題となりましたが、 未解決のまま現在に至っています。

[40] 半角ハングル参照。

関連

[36] KS X 1002, KS X 1003

[37] Adobe-KR

歴史

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