Ref.: ISO-IR 149. Korean Graphic Character Set for Information Interchange
8,244 characters: hanja, hangul and letters/symbols.
Unihan KSC0 enumerates all the 4,888 hanja (Chinese characters or 한자/漢字) in Columns 42–93 (PDF — hanja). Unihan K0 differs in four positions:
| Column-Cell | KSC0 | K0 |
|---|---|---|
| 50-11 | 蓼 f9c2 | — |
| 62-62 | 沙 6c99 | 蓼 f9c2 |
| 62-63 | 泗 6cd7 | 隸 f9b8 |
| 71-70 | 隸 f9b8 | — |
Columns 16–40 contain a set of 2,350 precomposed (wansung 완성/完成) hangul (한글) syllables (PDF — hangul) in Unicode order, selected one by one based on frequency of use in Korean without any apparent systematicity.
Columns 1–12 cover a large set of 986 alphabetic characters (Latin, Greek, Cyrillic, Japanese and Korean), numerals, abbreviations and symbols (PDF — others). The overview of characters in the reference above includes four additional Roman numerals (xi, xii, XI and XII) which are missing both from the table and from the total character count. Most browser implementations include the 1998 additions (€ at 2–70 and ® at 2–71), but none includes the 2002 addition (postal code mark, circled 우 at 2–72).
Eight characters have diverging Unicode mappings in Safari’s ISO-2022 implementation:
| Safari | |
|---|---|
| 2022 | |
| · b7 | ・ 30fb |
| ad | ‐ 2010 |
| ― 2015 | — 2014 |
| ∼ 223c | 〜 301c |
| ~ ff5e | ˜ 2dc |
| ⊙ 2299 | ◉ 25c9 |
| € 20ac | � fffd |
| ® ae | � fffd |
The first part of Column 4 (modern jamo) are missing from Internet Explorer’s Johab implementation. (These characters are covered elsewhere as part of Johab’s systematic encoding of individual jamo and composed hangul.) The following 51 characters are affected:
| IE | |
|---|---|
| Johab | |
| ㄱ 3131 | ? 3f |
| ㄲ 3132 | ? 3f |
| ㄳ 3133 | ? 3f |
| ㄴ 3134 | ? 3f |
| ㄵ 3135 | ? 3f |
| ㄶ 3136 | ? 3f |
| ㄷ 3137 | ? 3f |
| ㄸ 3138 | ? 3f |
| ㄹ 3139 | ? 3f |
| ㄺ 313a | ? 3f |
| ㄻ 313b | ? 3f |
| ㄼ 313c | ? 3f |
| ㄽ 313d | ? 3f |
| ㄾ 313e | ? 3f |
| ㄿ 313f | ? 3f |
| ㅀ 3140 | ? 3f |
| ㅁ 3141 | ? 3f |
| ㅂ 3142 | ? 3f |
| ㅃ 3143 | ? 3f |
| ㅄ 3144 | ? 3f |
| ㅅ 3145 | ? 3f |
| ㅆ 3146 | ? 3f |
| ㅇ 3147 | ? 3f |
| ㅈ 3148 | ? 3f |
| ㅉ 3149 | ? 3f |
| ㅊ 314a | ? 3f |
| ㅋ 314b | ? 3f |
| ㅌ 314c | ? 3f |
| ㅍ 314d | ? 3f |
| ㅎ 314e | ? 3f |
| ㅏ 314f | ? 3f |
| ㅐ 3150 | ? 3f |
| ㅑ 3151 | ? 3f |
| ㅒ 3152 | ? 3f |
| ㅓ 3153 | ? 3f |
| ㅔ 3154 | ? 3f |
| ㅕ 3155 | ? 3f |
| ㅖ 3156 | ? 3f |
| ㅗ 3157 | ? 3f |
| ㅘ 3158 | ? 3f |
| ㅙ 3159 | ? 3f |
| ㅚ 315a | ? 3f |
| ㅛ 315b | ? 3f |
| ㅜ 315c | ? 3f |
| ㅝ 315d | ? 3f |
| ㅞ 315e | ? 3f |
| ㅟ 315f | ? 3f |
| ㅠ 3160 | ? 3f |
| ㅡ 3161 | ? 3f |
| ㅢ 3162 | ? 3f |
| ㅣ 3163 | ? 3f |
The second part of Column 4 (hangul filler and archaic jamo) are included in IE’s Johab implementation, but they are mapped to the Hangul Jamo block rather than the Hangul Compatibility Jamo block unlike in all other implementations in IE and other browsers. The following table shows the alternative mappings for all the 43 characters concerned:
| IE | |
|---|---|
| Johab | |
| ㅤ 3164 | ᅟ 115f |
| ㅥ 3165 | ᄔ 1114 |
| ㅦ 3166 | ᄕ 1115 |
| ㅧ 3167 | ᇇ 11c7 |
| ㅨ 3168 | ᇈ 11c8 |
| ㅩ 3169 | ᇌ 11cc |
| ㅪ 316a | ᇎ 11ce |
| ㅫ 316b | ᇓ 11d3 |
| ㅬ 316c | ᇗ 11d7 |
| ㅭ 316d | ᇙ 11d9 |
| ㅮ 316e | ᄜ 111c |
| ㅯ 316f | ᇝ 11dd |
| ㅰ 3170 | ᇟ 11df |
| ㅱ 3171 | ᄝ 111d |
| ㅲ 3172 | ᄞ 111e |
| ㅳ 3173 | ᄠ 1120 |
| ㅴ 3174 | ᄢ 1122 |
| ㅵ 3175 | ᄣ 1123 |
| ㅶ 3176 | ᄧ 1127 |
| ㅷ 3177 | ᄨ 1128 |
| ㅸ 3178 | ᄫ 112b |
| ㅹ 3179 | ᄬ 112c |
| ㅺ 317a | ᄭ 112d |
| ㅻ 317b | ᄮ 112e |
| ㅼ 317c | ᄯ 112f |
| ㅽ 317d | ᄲ 1132 |
| ㅾ 317e | ᄶ 1136 |
| ㅿ 317f | ᅀ 1140 |
| ㆀ 3180 | ᅇ 1147 |
| ㆁ 3181 | ᅌ 114c |
| ㆂ 3182 | ᅅ 1145 |
| ㆃ 3183 | ᅆ 1146 |
| ㆄ 3184 | ᅗ 1157 |
| ㆅ 3185 | ᅘ 1158 |
| ㆆ 3186 | ᅙ 1159 |
| ㆇ 3187 | ᆄ 1184 |
| ㆈ 3188 | ᆅ 1185 |
| ㆉ 3189 | ᆈ 1188 |
| ㆊ 318a | ᆑ 1191 |
| ㆋ 318b | ᆒ 1192 |
| ㆌ 318c | ᆔ 1194 |
| ㆍ 318d | ᆞ 119e |
| ㆎ 318e | ᆡ 11a1 |
KS X 1001 contains only 2,350 of the possible 11,172 hangul (19 × 21 × (27+1): 19 initial consonants, 21 vowels, 27 final consonants or none) as precomposed characters. The full set of 11,172 hangul can be encoded as four characters (eight bytes) from Column 4: 1) filler, 2) initial consonant, 3) vowel and 4) final consonant or filler. Unfortunately, this encoding is not widely supported.
Unified Hangul Code enumerates, in Unicode order, all the 8,822 hangul missing from KS X 1001 (PDF).
Johab (조합/組合, ‘combining’) instead encodes the full set of 11,172 hangul and 67 jamo (19 + 21 + 27) systematically.
Firefox’s implementation maps Johab jamo to Unicode characters in the Hangul Compatibility Jamo block rather than the Hangul Jamo block. This makes it possible to keep Column 15 in KS X 1001 unmodified without introducing duplicates (cf. description of IE’s Johab implementation above), but causes problems for consonants which are used both syllable-initially and syllable-finally since positional variants are unified in the Hangul Compatibility Jamo block, which has been solved in Firefox by excluding the final variant when both exist. The following table shows how all the 67 Johab jamo are mapped in Firefox.
| Firefox | |
|---|---|
| Johab | |
| ᆨ 11a8 | — |
| ᆩ 11a9 | — |
| ᆪ 11aa | ㄳ 3133 |
| ᆫ 11ab | — |
| ᆬ 11ac | ㄵ 3135 |
| ᆭ 11ad | ㄶ 3136 |
| ᆮ 11ae | — |
| ᆯ 11af | — |
| ᆰ 11b0 | ㄺ 313a |
| ᆱ 11b1 | ㄻ 313b |
| ᆲ 11b2 | ㄼ 313c |
| ᆳ 11b3 | ㄽ 313d |
| ᆴ 11b4 | ㄾ 313e |
| ᆵ 11b5 | ㄿ 313f |
| ᆶ 11b6 | ㅀ 3140 |
| ᆷ 11b7 | — |
| ᆸ 11b8 | — |
| ᆹ 11b9 | ㅄ 3144 |
| ᆺ 11ba | — |
| ᆻ 11bb | — |
| ᆼ 11bc | — |
| ᆽ 11bd | — |
| ᆾ 11be | — |
| ᆿ 11bf | — |
| ᇀ 11c0 | — |
| ᇁ 11c1 | — |
| ᇂ 11c2 | — |
| ᅡ 1161 | ㅏ 314f |
| ᅢ 1162 | ㅐ 3150 |
| ᅣ 1163 | ㅑ 3151 |
| ᅤ 1164 | ㅒ 3152 |
| ᅥ 1165 | ㅓ 3153 |
| ᅦ 1166 | ㅔ 3154 |
| ᅧ 1167 | ㅕ 3155 |
| ᅨ 1168 | ㅖ 3156 |
| ᅩ 1169 | ㅗ 3157 |
| ᅪ 116a | ㅘ 3158 |
| ᅫ 116b | ㅙ 3159 |
| ᅬ 116c | ㅚ 315a |
| ᅭ 116d | ㅛ 315b |
| ᅮ 116e | ㅜ 315c |
| ᅯ 116f | ㅝ 315d |
| ᅰ 1170 | ㅞ 315e |
| ᅱ 1171 | ㅟ 315f |
| ᅲ 1172 | ㅠ 3160 |
| ᅳ 1173 | ㅡ 3161 |
| ᅴ 1174 | ㅢ 3162 |
| ᅵ 1175 | ㅣ 3163 |
| ᄀ 1100 | ㄱ 3131 |
| ᄁ 1101 | ㄲ 3132 |
| ᄂ 1102 | ㄴ 3134 |
| ᄃ 1103 | ㄷ 3137 |
| ᄄ 1104 | ㄸ 3138 |
| ᄅ 1105 | ㄹ 3139 |
| ᄆ 1106 | ㅁ 3141 |
| ᄇ 1107 | ㅂ 3142 |
| ᄈ 1108 | ㅃ 3143 |
| ᄉ 1109 | ㅅ 3145 |
| ᄊ 110a | ㅆ 3146 |
| ᄋ 110b | ㅇ 3147 |
| ᄌ 110c | ㅈ 3148 |
| ᄍ 110d | ㅉ 3149 |
| ᄎ 110e | ㅊ 314a |
| ᄏ 110f | ㅋ 314b |
| ᄐ 1110 | ㅌ 314c |
| ᄑ 1111 | ㅍ 314d |
| ᄒ 1112 | ㅎ 314e |
MIME charset label: iso-2022-kr.
Only the positions 0x5C and 0x7E differ between ISO646-US and ISO646-KR. The following table summarises standards and implementations:
| ISO646 | IE | Safari | Firefox | Opera | ||
|---|---|---|---|---|---|---|
| US | KR | |||||
| 0x5C | \ 5C | ₩ 20A9 | ₩ 5C | ₩ 20A9 | \ 5C | \ 5C |
| 0x7E | ~ 7E | ¯ AF | ~ 7E | ~ 7E | ~ 7E | ~ 7E |
Opera includes ISO 8859/1 characters.
Only Opera requires the designation sequence ESC $ ) C to appear before this character set is selected by means of a shift out character (SO, 0x0E).
Code set 1 encodes KS X 1001 with the UHC extension.
Firefox supports the 8-byte encoding of hangul.
The one-byte range encodes ISO646-US (IE displays the backslash as a won sign): johab, x-johab.
The two-byte range encodes the symbol and hanja parts of KS X 1001 as well as the complete set of Johab hangul. johab x-johab