Jump to content

KS X 1001

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by Onel5969 (talk | contribs) at 13:05, 9 March 2023 (clean up, typo(s) fixed: 5601-1992 → 5601–1992). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

KS X 1001
MIME / IANAks_c_5601-1987
Alias(es)KS C 5601
Language(s)Korean, English, Russian, Bulgarian, Inuktitut (Latin)
Partial support:
Greek, Japanese, Danish, Norwegian, etc.
StandardKS X 1001
ClassificationISO-2022-compatible DBCS, CJK encoding
Encoding formatsEUC-KR, ISO 2022, UHC, Johab
Preceded byN-byte Hangul code (KS C 5601-1974)
Other related encoding(s)KS X 1002, KPS 9566, JIS X 0208, GB 2312, GB 12052

KS X 1001, "Code for Information Interchange (Hangul and Hanja)",[a][1] formerly called KS C 5601, is a South Korean coded character set standard to represent hangul and hanja characters on a computer.

KS X 1001 is encoded by the most common legacy (pre-Unicode) character encodings for Korean, including EUC-KR and Microsoft's Unified Hangul Code (UHC). It contains Korean Hangul syllables, CJK ideographs (Hanja), Greek, Cyrillic, Japanese (Hiragana and Katakana) and some other characters.

KS X 1001 is arranged as a 94×94 table, following the structure of 2-byte code words in ISO 2022 and EUC. Therefore, its code points are pairs of integers 1–94. However, some encodings (UHC and Johab), in addition to providing codes for every code point, provide additional codes for characters otherwise representable only as code point sequences.

History

This standard was previously known as KS C 5601. There have been several revisions of this standard. For example, there were revisions in 1987, 1992, 1998 and 2002.

The present, double-byte, Wansung (완성, Wanseong, 'precomposing')[1] character set was standardised by the third edition of KS C 5601,[2] which was published in 1986.[3] It is an ISO 2022 compatible encoding, typically used in EUC form, which assigns double-byte codes for non-Hangul, Hangul jamo, and the most common Hangul syllables, in contrast to Johab (조합, Johap, 'combining')[1] which is not compatible with ISO 2022, but assigns double-byte codes to all Hangul syllables using modern jamo.[2] Wansung is technically a variable-length encoding, allowing other syllables to be represented with eight-byte sequences (using the jamo and Hangul Filler character), but this feature is not always implemented.[4]

The earliest edition of KS C 5601, published in 1974,[2] defined a variable-length[2] 7-bit character set which assigned single-byte code points to 51[3] basic Hangul jamo, somewhat analogously to JIS C 6220, in an encoding known as "N-byte Hangul".[5] The second edition, published in 1982, retained the main character set from the 1974 edition but defined two supplementary sets, including a version of Johab. Neither edition was adopted as widely as intended.[2]

Wansung was kept unchanged in the 1987 and 1992 editions. In the 1992 edition, additional annex material was added,[3] including the definition of the Johab encoding[6] in annex 3, and the older N-byte Hangul encoding in annex 4.[1][5] It was published in response to industry use of Johab as a competing encoding to Wansung, being used at the time by Hangul Word Processor. Following the introduction of Unified Hangul Code by Microsoft in Windows 95, and Hangul Word Processor abandoning Johab in favour of Unicode in 2000, Johab ceased to be commonly used.[2]

Encodings

(A screenshot of an old version of Firefox showing Big5, GB2312, GBK, GB18030, HZ, ISO-2022-CN, Big5-HKSCS, EUC-TW, EUC-JP, ISO-2022-JP, Shift_JIS, EUC-KR, UHC, Johab and ISO-2022-KR as available encodings under the CJK sub-menu.)
Various CJK encodings, including four based on KS X 1001, supported by Mozilla Firefox as of 2004. (This support has been reduced in later versions to avoid certain cross site scripting attacks.)

Encoding schemes of KS X 1001 include EUC-KR (in both ASCII and ISO 646-KR based variants, the latter of which includes a won currency sign () at byte 0x5C rather than a backslash) and ISO-2022-KR,[7] as well as ISO-2022-JP-2 (which also encodes JIS X 0208 and JIS X 0212). These all have the drawback that they only assign codes for the 2350 precomposed Hangul syllables which have their own KS X 1001 codepoints (out of 11172 in total, not counting those using obsolete jamo), and require others to use eight-byte composition sequences, which are not supported by some partial implementations of the standard.[4]

The Johab encoding (stipulated in annex 3 of the 1992 version of the standard) and the EUC-KR superset known as Unified Hangul Code (UHC, also called Windows-949) provide single codes for all 11172 Hangul syllables.[7][6] ISO-2022-KR and Johab are rarely used. Some operating systems extend this standard in other non-uniform ways, e.g. the EUC-KR extensions MacKorean on the classic Mac OS, and IBM-949 by IBM.

Hangul Filler

The Hangul Filler character is used to introduce eight-byte Hangul composition sequences[8][9] and to stand in for an absent element (usually an empty final) in such a sequence.[9]

Unicode includes the Wansung code Hangul Filler in the Hangul Compatibility Jamo block for round-trip compatibility, but uses its own system (with its own, differently used, filler characters) for composing Hangul. The KS X 1001 Hangul composition system is not used in Unicode, and the filler renders merely as an empty space; KS X 1001 composition sequences using modern jamo may be mapped to precomposed characters in Unicode.[9] This is not usually done with Unified Hangul Code.

For round-trip compatibility, Unicode also includes the N-byte Hangul code Hangul Filler separately in the Halfwidth and Fullwidth Forms block, named the "Halfwidth Hangul Filler".

N-byte Hangul code

This is the N-byte Hangul code,[5] as specified by KS C 5601-1974 and by annex 4 of KS C 5601–1992. The second half of IBM's Code page 1040[10] is a superset of this, assigning the characters ¢¬\~ (although not £) to the same locations as in Code page 1041, while the unextended N-Byte Hangul (besides C0 control code replacement graphics in some usage contexts, shared with IBM-1040) is Code page 891.[11] Character 0x40/0xC0 is a Hangul Filler (see above), used in combining sequences.

Similarly to its Japanese counterpart JIS C 6220 (JIS X 0201), N-byte Hangul code could be used as a 7-bit encoding, with character allocations over the range 0x40 through 0x7C.[5] The chart below shows the code in an 8-bit environment with the high bit set (i.e. over 0xC0 through 0xFC), as it is used in e.g. code page 891 or 1040.

KS C 5601-1974 / N-byte Hangul[12]
0 1 2 3 4 5 6 7 8 9 A B C D E F
8x
9x
Ax
Bx
Cx HWHF
Dx
Ex
Fx

Wansung code charts

Following are the code charts for KS X 1001 in Wansung layout. Where a pair of hexadecimal numbers is given, the smaller is used when encoded over GL (0x21-0x7E), as in ISO-2022-KR when the Korean set has been shifted to, and the larger is used in the more typical case of it being encoded over GR (0xA1-0xFE), as in EUC-KR or UHC. Johab changes the arrangement to encode all 11172 Hangul clusters separately and in order.

To illustrate vendor differences in implementation, multiple Unicode mappings are shown for some characters. Apple's HangulTalk extensions to the Wansung plane (i.e. where both bytes are in the 0xA1-0xFE range) are shown, but other HangulTalk extension ranges are not. The additional codes for composed syllables in Unified Hangul Code, and IBM's extensions in IBM-949, are also not shown, since both fall outside of the Wansung plane.

Lead bytes

KS X 1001 (Wansung code)
0 1 2 3 4 5 6 7 8 9 A B C D E F
2x/Ax SP[b] 1-_ 2-_ 3-_ 4-_ 5-_ 6-_ 7-_ 8-_ 9-_ 10-_ 11-_ 12-_ 13-_ 14-_ 15-_
3x/Bx 16-_ 17-_ 18-_ 19-_ 20-_ 21-_ 22-_ 23-_ 24-_ 25-_ 26-_ 27-_ 28-_ 29-_ 30-_ 31-_
4x/Cx 32-_ 33-_ 34-_ 35-_ 36-_ 37-_ 38-_ 39-_ 40-_ 41-_ 42-_ 43-_ 44-_ 45-_ 46-_ 47-_
5x/Dx 48-_ 49-_ 50-_ 51-_ 52-_ 53-_ 54-_ 55-_ 56-_ 57-_ 58-_ 59-_ 60-_ 61-_ 62-_ 63-_
6x/Ex 64-_ 65-_ 66-_ 67-_ 68-_ 69-_ 70-_ 71-_ 72-_ 73-_ 74-_ 75-_ 76-_ 77-_ 78-_ 79-_
7x/Fx 80-_ 81-_ 82-_ 83-_ 84-_ 85-_ 86-_ 87-_ 88-_ 89-_ 90-_ 91-_ 92-_ 93-_ 94-_ DEL[b]

Non-Hanja non-precomposed sets

Character set 0x21 / 0xA1 (row number 1, special characters)

This set contains punctuation and other symbols, excluding punctuation present in KS X 1003 (which is included in row 3). Encodings which combine KS X 1001 with single-byte ASCII may use alternative Unicode mapping to the Halfwidth and Fullwidth Forms block for the backslash. Unicode mapping of the wave dash (tilde dash) also differs between vendors, and may be U+301C (favoured by IBM and Apple)[13][14][15] or U+223C (favoured by Microsoft).[16][17] Compare the similar but not identical handling of the JIS wave dash, and the handling of the tilde in the next row.

Except for the backslash, if two mappings are shown below, the first is used by Apple and the second is used by Microsoft.[15][17]

KS X 1001 (prefixed with 0x21 / 0xA1)
0 1 2 3 4 5 6 7 8 9 A B C D E F
2x/Ax IDSP · ¨ /SHY / / \/ /
3x/Bx ± ×
4x/Cx ÷ ° ¢/ £/ ¥/
5x/Dx §
6x/Ex
7x/Fx ¬/

Character set 0x22 / 0xA2 (row number 2, special characters)

This set contains additional punctuation and symbols. Similarly to the tilde character in the previous row, different mappings are used by Apple and Microsoft for the tilde character in this row (U+02DC by Apple, FF5E by Microsoft),[15][17] which is intended to be shown as a raised tilde, whereas the tilde in the previous row is intended to be shown in-line at dash height.[18] Mapping of the circled dot also differs.[15][17]

The euro and registered trademark sign were added to the standard in 1998, while the Korean postal mark (㉾) was added in 2002.[1] These three code points, as with the still-unused code points, have been put to use for other, non-standard, purposes by vendors, e.g. for boxed list markers by Apple.[19] Microsoft updated its Unified Hangul Code implementation to add the 1998 additions including the euro sign, but did not add the Korean postal mark when it was added to the standard.[20]

KS X 1001 (prefixed with 0x22 / 0xA2)
0 1 2 3 4 5 6 7 8 9 A B C D E F
2x/Ax ´ ˜/ ˇ ˘ ˝ ˚ ˙ ¸ ˛ ¡ ¿
3x/Bx ː ¤
4x/Cx /
5x/Dx
6x/Ex /1[c] ®/2[c] /3[c] 4[c] 5[c] 6[c] 7[c] 8[c] 9[c] [10][d]
7x/Fx [11][d] [12][d] [13][d] [14][d] [15][d] [16][d] [17][d] [18][d] [19][d] [20][d] [e] 𝄂[f] 𝄃[g]
  Additions by Apple
  Later standard additions colliding with Apple additions

Character set 0x23 / 0xA3 (row number 3, basic Latin / ISO 646-KR)

This set corresponds to KS X 1003 (the ISO 646 variant for Korean, a similar set to ASCII), but as two-byte codes preceded by 0x23 (or 0xA3 in GR-delegated (EUC) form). It includes the English alphabet / Basic Latin alphabet, western Arabic numerals and punctuation.

Compare the Roman set of JIS X 0201, which differs by including a Yen sign rather than a Won sign. Contrast the third rows of KPS 9566 and of JIS X 0208, which follow the ISO 646 layout but only include letters and digits.

KS X 1001 (prefixed with 0x23 / 0xA3); non-fullwidth mappings
0 1 2 3 4 5 6 7 8 9 A B C D E F
2x/Ax ! " # $ % & ' ( ) * + , - . /
3x/Bx 0 1 2 3 4 5 6 7 8 9 : ; < = > ?
4x/Cx @ A B C D E F G H I J K L M N O
5x/Dx P Q R S T U V W X Y Z [ ] ^ _
6x/Ex ` a b c d e f g h i j k l m n o
7x/Fx p q r s t u v w x y z { | }

Encodings such as EUC-KR and UHC combine KS X 1001 with single-byte ASCII or KS X 1003, and hence use alternative Unicode mappings to the Halfwidth and Fullwidth Forms block for the double-byte representations of these characters.

KS X 1001 (prefixed with 0x23 / 0xA3); fullwidth mappings
0 1 2 3 4 5 6 7 8 9 A B C D E F
2x/Ax
3x/Bx
4x/Cx
5x/Dx _
6x/Ex
7x/Fx

Character set 0x24 / 0xA4 (row number 4, Hangul jamo)

This set includes modern Hangul consonants, followed by vowels, both ordered by South Korean collation customs, followed by obsolete consonants. When used individually, these characters map to the Unicode Hangul Compatibility Jamo block, and do not have a one-to-one mapping with the position-specific characters in the Hangul Jamo block. Compare with row 4 of the North Korean KPS 9566. Character 04-52 is a Hangul Filler (see above), used in combining sequences.

KS X 1001 (prefixed with 0x24 / 0xA4)
0 1 2 3 4 5 6 7 8 9 A B C D E F
2x/Ax
3x/Bx
4x/Cx
5x/Dx HF
6x/Ex
7x/Fx

Character set 0x25 / 0xA5 (row number 5, Roman numerals and Greek)

This set contains Roman numerals and basic support for the Greek alphabet, without diacritics or the final sigma. Apple includes some additional punctuation in this row, as well as some black circled list markers continuing from those in row 6.[19]

Contrast row 6 of KPS 9566, which includes the same characters but in a different layout.

KS X 1001 (prefixed with 0x25 / 0xA5)
0 1 2 3 4 5 6 7 8 9 A B C D E F
2x/Ax
3x/Bx
4x/Cx Α Β Γ Δ Ε Ζ Η Θ Ι Κ Λ Μ Ν Ξ Ο
5x/Dx Π Ρ Σ Τ Υ Φ Χ Ψ Ω !︀[h] 。︀[i] [j] [j]
6x/Ex α β γ δ ε ζ η θ ι κ λ μ ν ξ ο
7x/Fx π ρ σ τ υ φ χ ψ ω (27)[k] (28)[l] (29)[m] (30)[n]
  Additions by Apple

Character set 0x26 / 0xA6 (row number 6, box drawing)

This row contains characters for drawing boxes in a semigraphic context. Apple also includes some black circled list markers.[19]

KS X 1001 (prefixed with 0x26 / 0xA6)
0 1 2 3 4 5 6 7 8 9 A B C D E F
2x/Ax
3x/Bx
4x/Cx
5x/Dx
6x/Ex
7x/Fx (21)[o] (22)[p] (23)[q] (24)[r] (25)[s] (26)[t]
  Additions by Apple

Character set 0x27 / 0xA7 (row number 7, unit symbols)

This row contains unit symbols as single characters, including those which consist of multiple letters. Apple also includes some circled list markers continuing from those in row 8.[19]

Compare and contrast with the repertoire of unit symbols included in row 8 of KPS 9566.

KS X 1001 (prefixed with 0x27 / 0xA7)
0 1 2 3 4 5 6 7 8 9 A B C D E F
2x/Ax
3x/Bx
4x/Cx
5x/Dx
6x/Ex
7x/Fx
  Additions by Apple

Character set 0x28 / 0xA8 (row number 8, extended Latin, encircled, fractions)

KS X 1001 (prefixed with 0x28 / 0xA8)
0 1 2 3 4 5 6 7 8 9 A B C D E F
2x/Ax Æ Ð ª Ħ IJ Ŀ Ł Ø Œ º Þ Ŧ Ŋ
3x/Bx
4x/Cx
5x/Dx
6x/Ex
7x/Fx ½ ¼ ¾

Character set 0x29 / 0xA9 (row number 9, extended Latin, encircled, superscript and subscript)

KS X 1001 (prefixed with 0x29 / 0xA9)
0 1 2 3 4 5 6 7 8 9 A B C D E F
2x/Ax æ đ ð ħ ı ij ĸ ŀ ł ø œ ß þ ŧ ŋ
3x/Bx ʼn
4x/Cx
5x/Dx
6x/Ex
7x/Fx ¹ ² ³

Character set 0x2A / 0xAA (row number 10, Hiragana)

This set contains Hiragana for writing the Japanese language. Apple also includes some bracketed list markers continuing from those in row 9.[19]

Compare row 10 of KPS 9566, which uses the same layout. Compare and contrast row 4 of JIS X 0208, which also uses the same layout, but in a different row.

KS X 1001 (prefixed with 0x2A / 0xAA)
0 1 2 3 4 5 6 7 8 9 A B C D E F
2x/Ax
3x/Bx
4x/Cx
5x/Dx
6x/Ex
7x/Fx (21)[u] (22)[u] (23)[u] (24)[u] (25)[u] (26)[u]
  Additions by Apple

Character set 0x2B / 0xAB (row number 11, Katakana)

This set contains Katakana for writing the Japanese language. However, the Japanese long vowel mark, which is used in katakana text and included in row 1 of JIS X 0208, is not included.[23] Apple also includes some bracketed list markers continuing from those in rows 9 and 10.[19]

Compare row 11 of KPS 9566, which uses the same layout. Compare and contrast row 5 of JIS X 0208, which also uses the same layout, but in a different row.

KS X 1001 (prefixed with 0x2B / 0xAB)
0 1 2 3 4 5 6 7 8 9 A B C D E F
2x/Ax
3x/Bx
4x/Cx
5x/Dx
6x/Ex
7x/Fx (27)[u] (28)[u] (29)[u] (30)[u]
  Additions by Apple

Character set 0x2C / 0xAC (row number 12, Cyrillic)

This set contains the modern Russian alphabet, and is not necessarily sufficient to represent other forms of the Cyrillic script. Apple also includes some black boxed list markers.[19]

Compare row 5 of KPS 9566 and row 7 of JIS X 0208, which use the same layout (but in a different row).

KS X 1001 (prefixed with 0x2C / 0xAC)
0 1 2 3 4 5 6 7 8 9 A B C D E F
2x/Ax А Б В Г Д Е Ё Ж З И Й К Л М Н
3x/Bx О П Р С Т У Ф Х Ц Ч Ш Щ Ъ Ы Ь Э
4x/Cx Ю Я 1[v] 2[v] 3[v] 4[v] 5[v] 6[v] 7[v] 8[v] 9[v] [10][w] [11][w] [12][w] [13][w] [14][w]
5x/Dx [15][w] а б в г д е ё ж з и й к л м н
6x/Ex о п р с т у ф х ц ч ш щ ъ ы ь э
7x/Fx ю я [16][w] [17][w] [18][w] [19][w] [20][w]
  Additions by Apple

Extended character set 0x2D / 0xAD (row number 13, Apple additional punctuation)

Apple additions to KS X 1001 (prefixed with 0x2D / 0xAD)[19]
0 1 2 3 4 5 6 7 8 9 A B C D E F
2x/Ax [x] [x] [x] [x] [y] [y] [y] [y] [z] [z] 🠩[aa]
3x/Bx ![ab]

Precomposed Hangul sets (rows number 16 through 40)

Code points for precomposed Hangul are included in a continuous sorted block between code points 16-01 and 40-94 inclusive. Not all possible syllable clusters are included in this range. Compare the different ordering and availability in KPS 9566.

Note that initial+vowel+final syllables 뢨, 썅, 쏀, 쓩, and 쭁 are included but their initial+vowel counterparts 뢔, 쌰, 쎼, 쓔, and 쬬 are not. This used to cause problems when inputting, because input methods have to go through an initial+vowel syllable first in order to input an initial+vowel+final syllable (e.g. ㅎ → 하 → 한).

Those which are not listed here may be represented using eight-byte composition sequences. All other modern-jamo clusters are assigned codes elsewhere by UHC. All possible modern-jamo clusters are assigned codes by Johab.

  • Row 16: 가 각 간 갇 갈 갉 갊 감 갑 값 갓 갔 강 갖 갗 같 갚 갛 개 객 갠 갤 갬 갭 갯 갰 갱 갸 갹 갼 걀 걋 걍 걔 걘 걜 거 걱 건 걷 걸 걺 검 겁 것 겄 겅 겆 겉 겊 겋 게 겐 겔 겜 겝 겟 겠 겡 겨 격 겪 견 겯 결 겸 겹 겻 겼 경 곁 계 곈 곌 곕 곗 고 곡 곤 곧 골 곪 곬 곯 곰 곱 곳 공 곶 과 곽 관 괄 괆
  • Row 17: 괌 괍 괏 광 괘 괜 괠 괩 괬 괭 괴 괵 괸 괼 굄 굅 굇 굉 교 굔 굘 굡 굣 구 국 군 굳 굴 굵 굶 굻 굼 굽 굿 궁 궂 궈 궉 권 궐 궜 궝 궤 궷 귀 귁 귄 귈 귐 귑 귓 규 균 귤 그 극 근 귿 글 긁 금 급 긋 긍 긔 기 긱 긴 긷 길 긺 김 깁 깃 깅 깆 깊 까 깍 깎 깐 깔 깖 깜 깝 깟 깠 깡 깥 깨 깩 깬 깰 깸
  • Row 18: 깹 깻 깼 깽 꺄 꺅 꺌 꺼 꺽 꺾 껀 껄 껌 껍 껏 껐 껑 께 껙 껜 껨 껫 껭 껴 껸 껼 꼇 꼈 꼍 꼐 꼬 꼭 꼰 꼲 꼴 꼼 꼽 꼿 꽁 꽂 꽃 꽈 꽉 꽐 꽜 꽝 꽤 꽥 꽹 꾀 꾄 꾈 꾐 꾑 꾕 꾜 꾸 꾹 꾼 꿀 꿇 꿈 꿉 꿋 꿍 꿎 꿔 꿜 꿨 꿩 꿰 꿱 꿴 꿸 뀀 뀁 뀄 뀌 뀐 뀔 뀜 뀝 뀨 끄 끅 끈 끊 끌 끎 끓 끔 끕 끗 끙
  • Row 19: 끝 끼 끽 낀 낄 낌 낍 낏 낑 나 낙 낚 난 낟 날 낡 낢 남 납 낫 났 낭 낮 낯 낱 낳 내 낵 낸 낼 냄 냅 냇 냈 냉 냐 냑 냔 냘 냠 냥 너 넉 넋 넌 널 넒 넓 넘 넙 넛 넜 넝 넣 네 넥 넨 넬 넴 넵 넷 넸 넹 녀 녁 년 녈 념 녑 녔 녕 녘 녜 녠 노 녹 논 놀 놂 놈 놉 놋 농 높 놓 놔 놘 놜 놨 뇌 뇐 뇔 뇜 뇝
  • Row 20: 뇟 뇨 뇩 뇬 뇰 뇹 뇻 뇽 누 눅 눈 눋 눌 눔 눕 눗 눙 눠 눴 눼 뉘 뉜 뉠 뉨 뉩 뉴 뉵 뉼 늄 늅 늉 느 늑 는 늘 늙 늚 늠 늡 늣 능 늦 늪 늬 늰 늴 니 닉 닌 닐 닒 님 닙 닛 닝 닢 다 닥 닦 단 닫 달 닭 닮 닯 닳 담 답 닷 닸 당 닺 닻 닿 대 댁 댄 댈 댐 댑 댓 댔 댕 댜 더 덕 덖 던 덛 덜 덞 덟 덤 덥
  • Row 21: 덧 덩 덫 덮 데 덱 덴 델 뎀 뎁 뎃 뎄 뎅 뎌 뎐 뎔 뎠 뎡 뎨 뎬 도 독 돈 돋 돌 돎 돐 돔 돕 돗 동 돛 돝 돠 돤 돨 돼 됐 되 된 될 됨 됩 됫 됴 두 둑 둔 둘 둠 둡 둣 둥 둬 뒀 뒈 뒝 뒤 뒨 뒬 뒵 뒷 뒹 듀 듄 듈 듐 듕 드 득 든 듣 들 듦 듬 듭 듯 등 듸 디 딕 딘 딛 딜 딤 딥 딧 딨 딩 딪 따 딱 딴 딸
  • Row 22: 땀 땁 땃 땄 땅 땋 때 땍 땐 땔 땜 땝 땟 땠 땡 떠 떡 떤 떨 떪 떫 떰 떱 떳 떴 떵 떻 떼 떽 뗀 뗄 뗌 뗍 뗏 뗐 뗑 뗘 뗬 또 똑 똔 똘 똥 똬 똴 뙈 뙤 뙨 뚜 뚝 뚠 뚤 뚫 뚬 뚱 뛔 뛰 뛴 뛸 뜀 뜁 뜅 뜨 뜩 뜬 뜯 뜰 뜸 뜹 뜻 띄 띈 띌 띔 띕 띠 띤 띨 띰 띱 띳 띵 라 락 란 랄 람 랍 랏 랐 랑 랒 랖 랗
  • Row 23: 래 랙 랜 랠 램 랩 랫 랬 랭 랴 략 랸 럇 량 러 럭 런 럴 럼 럽 럿 렀 렁 렇 레 렉 렌 렐 렘 렙 렛 렝 려 력 련 렬 렴 렵 렷 렸 령 례 롄 롑 롓 로 록 론 롤 롬 롭 롯 롱 롸 롼 뢍 뢨 뢰 뢴 뢸 룀 룁 룃 룅 료 룐 룔 룝 룟 룡 루 룩 룬 룰 룸 룹 룻 룽 뤄 뤘 뤠 뤼 뤽 륀 륄 륌 륏 륑 류 륙 륜 률 륨 륩
  • Row 24: 륫 륭 르 륵 른 를 름 릅 릇 릉 릊 릍 릎 리 릭 린 릴 림 립 릿 링 마 막 만 많 맏 말 맑 맒 맘 맙 맛 망 맞 맡 맣 매 맥 맨 맬 맴 맵 맷 맸 맹 맺 먀 먁 먈 먕 머 먹 먼 멀 멂 멈 멉 멋 멍 멎 멓 메 멕 멘 멜 멤 멥 멧 멨 멩 며 멱 면 멸 몃 몄 명 몇 몌 모 목 몫 몬 몰 몲 몸 몹 못 몽 뫄 뫈 뫘 뫙 뫼
  • Row 25: 묀 묄 묍 묏 묑 묘 묜 묠 묩 묫 무 묵 묶 문 묻 물 묽 묾 뭄 뭅 뭇 뭉 뭍 뭏 뭐 뭔 뭘 뭡 뭣 뭬 뮈 뮌 뮐 뮤 뮨 뮬 뮴 뮷 므 믄 믈 믐 믓 미 믹 민 믿 밀 밂 밈 밉 밋 밌 밍 및 밑 바 박 밖 밗 반 받 발 밝 밞 밟 밤 밥 밧 방 밭 배 백 밴 밸 뱀 뱁 뱃 뱄 뱅 뱉 뱌 뱍 뱐 뱝 버 벅 번 벋 벌 벎 범 법 벗
  • Row 26: 벙 벚 베 벡 벤 벧 벨 벰 벱 벳 벴 벵 벼 벽 변 별 볍 볏 볐 병 볕 볘 볜 보 복 볶 본 볼 봄 봅 봇 봉 봐 봔 봤 봬 뵀 뵈 뵉 뵌 뵐 뵘 뵙 뵤 뵨 부 북 분 붇 불 붉 붊 붐 붑 붓 붕 붙 붚 붜 붤 붰 붸 뷔 뷕 뷘 뷜 뷩 뷰 뷴 뷸 븀 븃 븅 브 븍 븐 블 븜 븝 븟 비 빅 빈 빌 빎 빔 빕 빗 빙 빚 빛 빠 빡 빤
  • Row 27: 빨 빪 빰 빱 빳 빴 빵 빻 빼 빽 뺀 뺄 뺌 뺍 뺏 뺐 뺑 뺘 뺙 뺨 뻐 뻑 뻔 뻗 뻘 뻠 뻣 뻤 뻥 뻬 뼁 뼈 뼉 뼘 뼙 뼛 뼜 뼝 뽀 뽁 뽄 뽈 뽐 뽑 뽕 뾔 뾰 뿅 뿌 뿍 뿐 뿔 뿜 뿟 뿡 쀼 쁑 쁘 쁜 쁠 쁨 쁩 삐 삑 삔 삘 삠 삡 삣 삥 사 삭 삯 산 삳 살 삵 삶 삼 삽 삿 샀 상 샅 새 색 샌 샐 샘 샙 샛 샜 생 샤
  • Row 28: 샥 샨 샬 샴 샵 샷 샹 섀 섄 섈 섐 섕 서 석 섞 섟 선 섣 설 섦 섧 섬 섭 섯 섰 성 섶 세 섹 센 셀 셈 셉 셋 셌 셍 셔 셕 션 셜 셤 셥 셧 셨 셩 셰 셴 셸 솅 소 속 솎 손 솔 솖 솜 솝 솟 송 솥 솨 솩 솬 솰 솽 쇄 쇈 쇌 쇔 쇗 쇘 쇠 쇤 쇨 쇰 쇱 쇳 쇼 쇽 숀 숄 숌 숍 숏 숑 수 숙 순 숟 술 숨 숩 숫 숭
  • Row 29: 숯 숱 숲 숴 쉈 쉐 쉑 쉔 쉘 쉠 쉥 쉬 쉭 쉰 쉴 쉼 쉽 쉿 슁 슈 슉 슐 슘 슛 슝 스 슥 슨 슬 슭 슴 습 슷 승 시 식 신 싣 실 싫 심 십 싯 싱 싶 싸 싹 싻 싼 쌀 쌈 쌉 쌌 쌍 쌓 쌔 쌕 쌘 쌜 쌤 쌥 쌨 쌩 썅 써 썩 썬 썰 썲 썸 썹 썼 썽 쎄 쎈 쎌 쏀 쏘 쏙 쏜 쏟 쏠 쏢 쏨 쏩 쏭 쏴 쏵 쏸 쐈 쐐 쐤 쐬 쐰
  • Row 30: 쐴 쐼 쐽 쑈 쑤 쑥 쑨 쑬 쑴 쑵 쑹 쒀 쒔 쒜 쒸 쒼 쓩 쓰 쓱 쓴 쓸 쓺 쓿 씀 씁 씌 씐 씔 씜 씨 씩 씬 씰 씸 씹 씻 씽 아 악 안 앉 않 알 앍 앎 앓 암 압 앗 았 앙 앝 앞 애 액 앤 앨 앰 앱 앳 앴 앵 야 약 얀 얄 얇 얌 얍 얏 양 얕 얗 얘 얜 얠 얩 어 억 언 얹 얻 얼 얽 얾 엄 업 없 엇 었 엉 엊 엌 엎
  • Row 31: 에 엑 엔 엘 엠 엡 엣 엥 여 역 엮 연 열 엶 엷 염 엽 엾 엿 였 영 옅 옆 옇 예 옌 옐 옘 옙 옛 옜 오 옥 온 올 옭 옮 옰 옳 옴 옵 옷 옹 옻 와 왁 완 왈 왐 왑 왓 왔 왕 왜 왝 왠 왬 왯 왱 외 왹 왼 욀 욈 욉 욋 욍 요 욕 욘 욜 욤 욥 욧 용 우 욱 운 울 욹 욺 움 웁 웃 웅 워 웍 원 월 웜 웝 웠 웡 웨
  • Row 32: 웩 웬 웰 웸 웹 웽 위 윅 윈 윌 윔 윕 윗 윙 유 육 윤 율 윰 윱 윳 융 윷 으 윽 은 을 읊 음 읍 읏 응 읒 읓 읔 읕 읖 읗 의 읜 읠 읨 읫 이 익 인 일 읽 읾 잃 임 입 잇 있 잉 잊 잎 자 작 잔 잖 잗 잘 잚 잠 잡 잣 잤 장 잦 재 잭 잰 잴 잼 잽 잿 쟀 쟁 쟈 쟉 쟌 쟎 쟐 쟘 쟝 쟤 쟨 쟬 저 적 전 절 젊
  • Row 33: 점 접 젓 정 젖 제 젝 젠 젤 젬 젭 젯 젱 져 젼 졀 졈 졉 졌 졍 졔 조 족 존 졸 졺 좀 좁 좃 종 좆 좇 좋 좌 좍 좔 좝 좟 좡 좨 좼 좽 죄 죈 죌 죔 죕 죗 죙 죠 죡 죤 죵 주 죽 준 줄 줅 줆 줌 줍 줏 중 줘 줬 줴 쥐 쥑 쥔 쥘 쥠 쥡 쥣 쥬 쥰 쥴 쥼 즈 즉 즌 즐 즘 즙 즛 증 지 직 진 짇 질 짊 짐 집 짓
  • Row 34: 징 짖 짙 짚 짜 짝 짠 짢 짤 짧 짬 짭 짯 짰 짱 째 짹 짼 쨀 쨈 쨉 쨋 쨌 쨍 쨔 쨘 쨩 쩌 쩍 쩐 쩔 쩜 쩝 쩟 쩠 쩡 쩨 쩽 쪄 쪘 쪼 쪽 쫀 쫄 쫌 쫍 쫏 쫑 쫓 쫘 쫙 쫠 쫬 쫴 쬈 쬐 쬔 쬘 쬠 쬡 쭁 쭈 쭉 쭌 쭐 쭘 쭙 쭝 쭤 쭸 쭹 쮜 쮸 쯔 쯤 쯧 쯩 찌 찍 찐 찔 찜 찝 찡 찢 찧 차 착 찬 찮 찰 참 찹 찻
  • Row 35: 찼 창 찾 채 책 챈 챌 챔 챕 챗 챘 챙 챠 챤 챦 챨 챰 챵 처 척 천 철 첨 첩 첫 첬 청 체 첵 첸 첼 쳄 쳅 쳇 쳉 쳐 쳔 쳤 쳬 쳰 촁 초 촉 촌 촐 촘 촙 촛 총 촤 촨 촬 촹 최 쵠 쵤 쵬 쵭 쵯 쵱 쵸 춈 추 축 춘 출 춤 춥 춧 충 춰 췄 췌 췐 취 췬 췰 췸 췹 췻 췽 츄 츈 츌 츔 츙 츠 측 츤 츨 츰 츱 츳 층
  • Row 36: 치 칙 친 칟 칠 칡 침 칩 칫 칭 카 칵 칸 칼 캄 캅 캇 캉 캐 캑 캔 캘 캠 캡 캣 캤 캥 캬 캭 컁 커 컥 컨 컫 컬 컴 컵 컷 컸 컹 케 켁 켄 켈 켐 켑 켓 켕 켜 켠 켤 켬 켭 켯 켰 켱 켸 코 콕 콘 콜 콤 콥 콧 콩 콰 콱 콴 콸 쾀 쾅 쾌 쾡 쾨 쾰 쿄 쿠 쿡 쿤 쿨 쿰 쿱 쿳 쿵 쿼 퀀 퀄 퀑 퀘 퀭 퀴 퀵 퀸 퀼
  • Row 37: 큄 큅 큇 큉 큐 큔 큘 큠 크 큭 큰 클 큼 큽 킁 키 킥 킨 킬 킴 킵 킷 킹 타 탁 탄 탈 탉 탐 탑 탓 탔 탕 태 택 탠 탤 탬 탭 탯 탰 탱 탸 턍 터 턱 턴 털 턺 텀 텁 텃 텄 텅 테 텍 텐 텔 템 텝 텟 텡 텨 텬 텼 톄 톈 토 톡 톤 톨 톰 톱 톳 통 톺 톼 퇀 퇘 퇴 퇸 툇 툉 툐 투 툭 툰 툴 툼 툽 툿 퉁 퉈 퉜
  • Row 38: 퉤 튀 튁 튄 튈 튐 튑 튕 튜 튠 튤 튬 튱 트 특 튼 튿 틀 틂 틈 틉 틋 틔 틘 틜 틤 틥 티 틱 틴 틸 팀 팁 팃 팅 파 팍 팎 판 팔 팖 팜 팝 팟 팠 팡 팥 패 팩 팬 팰 팸 팹 팻 팼 팽 퍄 퍅 퍼 퍽 펀 펄 펌 펍 펏 펐 펑 페 펙 펜 펠 펨 펩 펫 펭 펴 편 펼 폄 폅 폈 평 폐 폘 폡 폣 포 폭 폰 폴 폼 폽 폿 퐁
  • Row 39: 퐈 퐝 푀 푄 표 푠 푤 푭 푯 푸 푹 푼 푿 풀 풂 품 풉 풋 풍 풔 풩 퓌 퓐 퓔 퓜 퓟 퓨 퓬 퓰 퓸 퓻 퓽 프 픈 플 픔 픕 픗 피 픽 핀 필 핌 핍 핏 핑 하 학 한 할 핥 함 합 핫 항 해 핵 핸 핼 햄 햅 햇 했 행 햐 향 허 헉 헌 헐 헒 험 헙 헛 헝 헤 헥 헨 헬 헴 헵 헷 헹 혀 혁 현 혈 혐 협 혓 혔 형 혜 혠
  • Row 40: 혤 혭 호 혹 혼 홀 홅 홈 홉 홋 홍 홑 화 확 환 활 홧 황 홰 홱 홴 횃 횅 회 획 횐 횔 횝 횟 횡 효 횬 횰 횹 횻 후 훅 훈 훌 훑 훔 훗 훙 훠 훤 훨 훰 훵 훼 훽 휀 휄 휑 휘 휙 휜 휠 휨 휩 휫 휭 휴 휵 휸 휼 흄 흇 흉 흐 흑 흔 흖 흗 흘 흙 흠 흡 흣 흥 흩 희 흰 흴 흼 흽 힁 히 힉 힌 힐 힘 힙 힛 힝

Hanja sets

Johab encoding

Diagram of Johab encoding as stipulated by KS X 1001

KS X 1001, since 1992, also defines an alternative encoding known as Johab. This represents a hangul syllable as the sequence of three five-bit values, split across two 8-bit bytes, most significant bit first. The most significant bit of the lead byte is always set (allowing combination with single-byte ASCII or KS X 1003). This encoding is also used for the modern jamo from row 4 of KS X 1001, by using the filler values for the other components. The Johab encoding for hangul is shown in the table below.[25]

Johab encodes the remainder of KS X 1001 using lead bytes which do not correspond to an initial jamo (0xE0–0xF9 for hanja and 0xD9–0xDE[26] for non-hanja, excluding hangul syllables and modern jamo), with trail bytes in the ranges 0x31–0x7E and 0x91–0xFE.[25] These codes are algorithmically mapped from the characters' KS X 1001 code points,[26] with two KS X 1001 rows per lead byte (compare and contrast Shift JIS).

Layout of EBCDIC-based Johab variant when in double-byte state

The ASCII-based Johab encoding is numbered Code page 1361 by Microsoft.[27] Other, vendor-defined, Johab variants also exist; for example, IBM defines one for use as a Shift Out set with EBCDIC. That variant uses shift in and shift out to switch between a single-byte EBCDIC page and Johab, uses a different encoding for the non-hangul characters (using lead bytes 0x40–6C with a different layout), and uses lead bytes 0xD4–DD as a user-defined region, but uses the same Johab layout as the 1992 standard for the hangul characters when in shift-out state.[28] IBM number the EBCDIC-based, stateful Johab encoding Code page 1364,[28] and also define a subset of that encoding, including fewer hangul characters but in the same layout, as Code page 933.[29]

Some other vendors such as Samsung or GoldStar (now LG) used other "Johab" encodings where the mappings of five-bit codes to jamo differ from the below, consequently not being compatible with the 1992 standard Johab.[ac] The table below corresponds to the 1992 standard and also to IBM usage.

Johab codes for Hangul in KS C 5601(/X 1001):1992[25]
Five-bit sequence As initial As vowel As final
00000 Not used Not used[ad] Not used
00001 Filler Not used[ae] Filler (empty final)
00010 Filler
00011
00100
00101
00110
00111
01000 Not used[ad]
01001 Not used[ae]
01010
01011
01100
01101
01110
01111
10000 Not used[ad]
10001 Not used[ae]
10010 Not used
10011
10100
10101 Not used
10110 Non-Hangul lead bytes
10111 Non-Hangul lead bytes
11000 Non-Hangul lead bytes Not used[ad]
11001 Non-Hangul lead bytes Not used[ae]
11010 Non-Hangul lead bytes
11011 Non-Hangul lead bytes
11100 Non-Hangul lead bytes
11101 Non-Hangul lead bytes
11110 Non-Hangul lead bytes Not used Not used
11111 Not used Not used Not used

Footnotes

  1. ^ Korean: 정보 교환용 부호계 (한글 및 한자), romanizedJeongbo Gyohwan'yong Buhogye (Hangeul mich Hanja)
  2. ^ a b As a ISO 2022 compatible 94n-character set, the plain space and delete character are always available as single-byte codes at 0x20 and 0x7F (not 0xA0 and 0xFF) respectively.
  3. ^ a b c d e f g h i Mapped by Apple to a sequence of the ASCII digit, the combining square U+20DE, and the private-use character U+F87C.[19] Appearance shown here simulated.
  4. ^ a b c d e f g h i j k Mapped by Apple to an ASCII sequence with the number in square brackets, prefixed by the private-use character U+F863.[19] Appearance shown here simulated.
  5. ^ Narrower than 0xA2D2. Apple appends a private-use character U+F87F for round trip purposes.
  6. ^ Two vertical lines with right-hand line bolder. Apple maps this to the ordinary double vertical U+2016 (‖) plus a private-use character U+F87B for round trip purposes; U+1D102 is shown here to reflect the intended appearance.
  7. ^ Two vertical lines with left-hand line bolder. Apple maps this to the ordinary double vertical U+2016 (‖) plus a private-use character U+F87C for round trip purposes; U+1D103 is shown here to reflect the intended appearance.
  8. ^ Variant aligned to the bottom-left of the character cell, for horizontal use. Apple maps this to U+FF01+F874, where U+F874 is a private-use character used by Apple to tag the character for round-tripping purposes.[19] More recently,[21] a standardised variation sequence has been added for this form, using an appended Variation Selector 1 (U+FE00).[22]
  9. ^ Variant aligned to the bottom-left of the character cell, for horizontal use. Apple maps this to U+3002+F87D, where U+F87D is a private-use character used by Apple to tag the character for round-tripping purposes.[19] More recently,[21] a standardised variation sequence has been added for this form, using an appended Variation Selector 1 (U+FE00).[22]
  10. ^ a b Duplicate, mapped by Apple with an appended private-use character U+F87F for round tripping.[19]
  11. ^ An exact match does note exist in Unicode, shown simulated. Apple maps to U+3257+F87A, where U+F87A is a private-use character, and U+3257 is the unfilled circled character.[19]
  12. ^ An exact match does note exist in Unicode, shown simulated. Apple maps to U+3258+F87A, where U+F87A is a private-use character, and U+3258 is the unfilled circled character.[19]
  13. ^ An exact match does note exist in Unicode, shown simulated. Apple maps to U+3259+F87A, where U+F87A is a private-use character, and U+3259 is the unfilled circled character.[19]
  14. ^ An exact match does note exist in Unicode, shown simulated. Apple maps to U+325A+F87A, where U+F87A is a private-use character, and U+325A is the unfilled circled character.[19]
  15. ^ An exact match does note exist in Unicode, shown simulated. Apple maps to U+3251+F87A, where U+F87A is a private-use character, and U+3251 is the unfilled circled character.[19]
  16. ^ An exact match does note exist in Unicode, shown simulated. Apple maps to U+3252+F87A, where U+F87A is a private-use character, and U+3252 is the unfilled circled character.[19]
  17. ^ An exact match does note exist in Unicode, shown simulated. Apple maps to U+3253+F87A, where U+F87A is a private-use character, and U+3253 is the unfilled circled character.[19]
  18. ^ An exact match does note exist in Unicode, shown simulated. Apple maps to U+3254+F87A, where U+F87A is a private-use character, and U+3254 is the unfilled circled character.[19]
  19. ^ An exact match does note exist in Unicode, shown simulated. Apple maps to U+3255+F87A, where U+F87A is a private-use character, and U+3255 is the unfilled circled character.[19]
  20. ^ An exact match does note exist in Unicode, shown simulated. Apple maps to U+3256+F87A, where U+F87A is a private-use character, and U+3256 is the unfilled circled character.[19]
  21. ^ a b c d e f g h i j Mapped by Apple to an ASCII sequence, prefixed by the private-use character U+F862.[19]
  22. ^ a b c d e f g h i Mapped by Apple to a sequence of the ASCII digit, the combining square U+20DE, and the private-use character U+F875.[19] Appearance shown here simulated.
  23. ^ a b c d e f g h i j k Mapped by Apple to an ASCII sequence with the number in square brackets, prefixed by the private-use character U+F866.[19] Appearance shown here simulated.
  24. ^ a b c d These largely duplicate characters in row 1. Apple describes them as "long" versions, and appends the private-use character U+F879 for round-tripping purposes.[19]
  25. ^ a b c d The MacKorean encoding also includes several sets of differently styled arrows (including white arrows) outside of the KS X 1001 plane ranges, with lead bytes 0xA8 and 0xAC, and trail bytes between 0x41 and 0xA0. Apple appends the private-use character U+F878 to this particular set of white arrows for round-tripping purposes.[19]
  26. ^ a b Unlike those in row 1, these two marks are intended to display in low position (similarly to U+301F). Apple appends the private-use character U+F873 to distinguish them.[19]
  27. ^ Apple maps this to U+21E7+F87F, where U+21E7 is the white up arrow[19] and U+F87F is a private-use character, although this character is a black arrow.[24] The character shown is a Unicode character which postdates Apple's mapping table, and resembles the glyph[24] for this MacKorean character.
  28. ^ Apple maps this to a sequence of the ASCII exclamation mark followed by the private-use character U+F87F.[19]
  29. ^ Some mappings for these encodings are available here.
  30. ^ a b c d Were this one used, it would result in a trail byte in the C0 control codes range.
  31. ^ a b c d Were this one used, it would result in trail bytes in the 0x2_ and 0x3_ rows of ASCII. Johab does not use the 0x2_ row for trail bytes, similarly to most common legacy CJK encodings (compare Shift JIS, GBK, Big5). The EBCDIC-based version of Johab does not use trail bytes from either row, due to them being in the EBCDIC control code range.

References

  1. ^ a b c d e Lunde, Ken (2009). "Chapter 3: Character Set Standards". CJKV Information Processing. pp. 143–148. ISBN 978-0596514471.
  2. ^ a b c d e f Hwang, Jinsang (2005). The Social Shaping of ICTs Standards: A Case of National Coded Character Set Standards Controversy in Korea (PDF). University of Edinburgh.
  3. ^ a b c Lunde, Ken (1995-12-18). "2.4.6: Obsolete Standards". CJK.INF Version 1.9.
  4. ^ a b Shin, Jungshik. "What are KS X 1001(KS C 5601) and other Hangul codes?". Hangul & Internet in Korea FAQ.
  5. ^ a b c d Lunde, Ken (1995-12-18). "3.3.6: N-byte Hangul". CJK.INF Version 1.9.
  6. ^ a b "INFO: Hangul (Korean) Character Sets", Microsoft Support, Microsoft
  7. ^ a b Zsigri, Gyula (2002-06-18). "KSC and UHC".
  8. ^ Chang, Hye-Shik (28 November 2021). "cpython/Modules/cjkcodecs/_codecs_kr.c (revision d3faf43)". cPython source tree. Python Software Foundation.
  9. ^ a b c Chung, Jaemin (2017-03-30). Proposal to add an informative note to U+3164 HANGUL FILLER (PDF). Unicode Consortium. UTC L2/17-081.
  10. ^ "Code Page 01040" (PDF). IBM. Archived from the original (PDF) on 2015-07-08.
  11. ^ "Code Page 00891" (PDF). IBM. Archived from the original (PDF) on 2015-07-08.
  12. ^ "KSRI-87-37-IR: 항을・한자 코드 표준화에 관한 예연구: A Study on Standardization of Hangul and Hanja Codes" (PDF) (in Korean). Ministry of Science and Technology. 1987. p. 68. Archived from the original (PDF) on 2019-03-01.
  13. ^ "ibm-1363_P110-1997 (lead byte A1)". ICU Demonstration - Converter Explorer. International Components for Unicode / Unicode Consortium.
  14. ^ "euc-kr (lead byte A1)". ICU Demonstration - Converter Explorer. International Components for Unicode.
  15. ^ a b c d "Map (external version) from Mac OS Korean encoding to Unicode 3.2 and later". Apple.
  16. ^ "windows-949-2000 (lead byte A1)". ICU Demonstration - Converter Explorer. International Components for Unicode / Unicode Consortium.
  17. ^ a b c d "Lead Byte A1-A2 (Code page 949)". MSDN. Microsoft.
  18. ^ Korea Bureau of Standards (1988-10-01). Korean Graphic Character Set for Information Interchange (PDF). ITSCJ/IPSJ. ISO-IR-149.
  19. ^ a b c d e f g h i j k l m n o p q r s t u v w x y z aa ab ac ad ae Apple (2005-04-05). "Map (external version) from Mac OS Korean encoding to Unicode 3.2 and later". Unicode Consortium.
  20. ^ "windows-949-2000 (lead byte A2)". ICU Demonstration - Converter Explorer. International Components for Unicode / Unicode Consortium.
  21. ^ a b Lunde, Ken (2018-01-21). "Proposal to add standardized variation sequences for fullwidth East Asian punctuation" (PDF). UTC L2/17-436.
  22. ^ a b "StandardizedVariants.txt: Standardized Variation Sequences". Unicode Character Database. Unicode Consortium.
  23. ^ Lunde, Ken (2009). "Seemingly Missing Characters". CJKV Information Processing: Chinese, Japanese, Korean & Vietnamese Computing (2nd ed.). Sebastopol, CA: O'Reilly. p. 180. ISBN 978-0-596-51447-1.
  24. ^ a b Lunde, Ken (2009). "Appendix E: Vendor Character Set Standards" (PDF). CJKV Information Processing: Chinese, Japanese, Korean & Vietnamese Computing (2nd ed.). Sebastopol, CA: O'Reilly. ISBN 978-0-596-51447-1.
  25. ^ a b c Lunde, Ken (2008). "Chapter 4: Encoding Methods (§ Johab Encoding—KS X 1001:2004)". CJKV Information Processing (2nd ed.). Sebastopol, California: O'Reilly Media. pp. 268–273. ISBN 978-0-596-51447-1.
  26. ^ a b Shin, Jungshik (2011-10-14) [1999-08-16]. Johab to Unicode table. Unicode Consortium.
  27. ^ "Code Page Identifiers". Windows Dev Center. Microsoft.
  28. ^ a b "ibm-1364_P110-2007". International Components for Unicode. Unicode Consortium.
  29. ^ "ibm-933_P110-1995". International Components for Unicode. Unicode Consortium.