Jump to content

Hangul Syllables

From Wikipedia, the free encyclopedia
Hangul Syllables
RangeU+AC00..U+D7AF
(11,184 code points)
PlaneBMP
ScriptsHangul
Major alphabetsHangul
Assigned11,172 code points
Unused12 reserved code points
Source standardsKS C 5601-1992
Unicode Version History
2.0 (1996)11,172 (+11,172)
Unicode documentation
Code chart ∣ Web page
Note: [1][2]
6,656 characters were present at U+3400..U+4DFF in Unicode 1.1, but were moved to their current locations with Unicode version 2.0, along with 4,516 additional characters.

Hangul Syllables is a Unicode block containing precomposed Hangul syllabic blocks for modern Korean. The order of the characters in this Unicode block follows the Hangul alphabetical order of South Korea.

Decomposition and naming algorithm

[edit]

The canonical decomposition mappings and the character names of all characters in this Unicode block are algorithmically defined.

The following step gives the index number of the initial consonant, of the vowel, and of the final consonant for a given Hangul syllabic block.

  1. Let S = (code point of a character from U+AC00 to U+D7A3, in decimal) − 44032
    • 44032 is 0xAC00 in decimal.
  2. The index number of its
    1. initial consonant is S / 588
    2. vowel is (S % 588) / 28
    3. final consonant is S % 28
(x / y is the integer quotient of x divided by y; x % y is the remainder of x / y, also known as the modulo operator)

After getting the index numbers, use the following table to get the canonical decomposition mapping and the character name.

  • For the canonical decomposition mapping, simply concatenate the Hangul jamo (element) characters in the "Decomposition" columns below, in the order "initial consonant, vowel, final consonant". The result should match the regular expression ^[ᄀ-ᄒ][ᅡ-ᅵ][ᆨ-ᇂ]?$ (one character from U+1100 to U+1112, and then one character from U+1161 to U+1175, and then optionally one character from U+11A8 to U+11C2).
  • For the character name, write "HANGUL SYLLABLE " (with the trailing space) first and then concatenate the strings in the "Name" columns below, in the order "initial consonant, vowel, final consonant".
Index numberInitial consonantVowelFinal consonant
DecompositionNameDecompositionNameDecompositionName
0U+1100GU+1161A(null)
1U+1101GGU+1162AEU+11A8G
2U+1102NU+1163YAU+11A9GG
3U+1103DU+1164YAEU+11AAGS
4U+1104DDU+1165EOU+11ABN
5U+1105RU+1166EU+11ACNJ
6U+1106MU+1167YEOU+11ADNH
7U+1107BU+1168YEU+11AED
8U+1108BBU+1169OU+11AFL
9U+1109SU+116AWAU+11B0LG
10U+110ASSU+116BWAEU+11B1LM
11U+110B(null)U+116COEU+11B2LB
12U+110CJU+116DYOU+11B3LS
13U+110DJJU+116EUU+11B4LT
14U+110ECU+116FWEOU+11B5LP
15U+110FKU+1170WEU+11B6LH
16U+1110TU+1171WIU+11B7M
17U+1111PU+1172YUU+11B8B
18U+1112HU+1173EUU+11B9BS
19U+1174YIU+11BAS
20U+1175IU+11BBSS
21U+11BCNG
22U+11BDJ
23U+11BEC
24U+11BFK
25U+11C0T
26U+11C1P
27U+11C2H

Example

[edit]

Hangul syllabic block: 쇒 (U+C1D2, decimal 49618)

  1. S = 49618 − 44032 = 5586
  2. The index number of its
    1. initial consonant is 5586 / 588 = 9
    2. vowel is (5586 % 588) / 28 = 10
    3. final consonant is 5586 % 28 = 14

Therefore, its

  • canonical decomposition mapping is ᄉ+ᅫ+ᆵ (U+1109, U+116B, U+11B5)
  • character name is "HANGUL SYLLABLE SWAELP"

Block

[edit]
Hangul Syllables[1][2]
Official Unicode Consortium code chart (PDF)
 0123456789ABCDEF
U+AC0x
U+AC1x
U+AC2x
U+AC3x 갿
U+AC4x
U+AC5x
U+AC6x
U+AC7x 걿
U+AC8x
U+AC9x
U+ACAx
U+ACBx 겿
U+ACCx
U+ACDx
U+ACEx
U+ACFx 곿
U+AD0x
U+AD1x
U+AD2x
U+AD3x 괿
U+AD4x
U+AD5x
U+AD6x
U+AD7x 굿
U+AD8x
U+AD9x
U+ADAx
U+ADBx 궿
U+ADCx
U+ADDx
U+ADEx
U+ADFx 귿
U+AE0x
U+AE1x
U+AE2x
U+AE3x 긿
U+AE4x
U+AE5x
U+AE6x
U+AE7x 깿
U+AE8x
U+AE9x
U+AEAx
U+AEBx 꺿
U+AECx
U+AEDx
U+AEEx
U+AEFx 껿
U+AF0x
U+AF1x
U+AF2x
U+AF3x 꼿
U+AF4x
U+AF5x
U+AF6x
U+AF7x 꽿
U+AF8x
U+AF9x
U+AFAx
U+AFBx 꾿
U+AFCx
U+AFDx
U+AFEx
U+AFFx 꿿
U+B00x 뀀
U+B01x
U+B02x
U+B03x
U+B04x
U+B05x
U+B06x
U+B07x
U+B08x
U+B09x
U+B0Ax
U+B0Bx
U+B0Cx
U+B0Dx
U+B0Ex
U+B0Fx
U+B10x
U+B11x
U+B12x
U+B13x
U+B14x
U+B15x
U+B16x
U+B17x
U+B18x
U+B19x
U+B1Ax
U+B1Bx
U+B1Cx
U+B1Dx
U+B1Ex
U+B1Fx
U+B20x
U+B21x
U+B22x
U+B23x
U+B24x
U+B25x
U+B26x
U+B27x
U+B28x
U+B29x
U+B2Ax
U+B2Bx
U+B2Cx
U+B2Dx
U+B2Ex
U+B2Fx
U+B30x
U+B31x
U+B32x
U+B33x
U+B34x
U+B35x
U+B36x
U+B37x
U+B38x
U+B39x
U+B3Ax
U+B3Bx
U+B3Cx
U+B3Dx
U+B3Ex
U+B3Fx
U+B40x
U+B41x
U+B42x
U+B43x
U+B44x
U+B45x
U+B46x
U+B47x
U+B48x
U+B49x
U+B4Ax
U+B4Bx
U+B4Cx
U+B4Dx
U+B4Ex
U+B4Fx
U+B50x
U+B51x
U+B52x
U+B53x
U+B54x
U+B55x
U+B56x
U+B57x
U+B58x
U+B59x
U+B5Ax
U+B5Bx
U+B5Cx
U+B5Dx
U+B5Ex
U+B5Fx
U+B60x
U+B61x
U+B62x
U+B63x
U+B64x
U+B65x
U+B66x
U+B67x
U+B68x
U+B69x
U+B6Ax
U+B6Bx
U+B6Cx
U+B6Dx
U+B6Ex
U+B6Fx
U+B70x
U+B71x
U+B72x
U+B73x
U+B74x
U+B75x
U+B76x
U+B77x
U+B78x
U+B79x
U+B7Ax
U+B7Bx
U+B7Cx
U+B7Dx
U+B7Ex
U+B7Fx
U+B80x
U+B81x
U+B82x
U+B83x
U+B84x
U+B85x
U+B86x
U+B87x
U+B88x
U+B89x
U+B8Ax
U+B8Bx
U+B8Cx
U+B8Dx
U+B8Ex
U+B8Fx
U+B90x
U+B91x
U+B92x
U+B93x 뤿
U+B94x
U+B95x
U+B96x
U+B97x 륿
U+B98x
U+B99x
U+B9Ax
U+B9Bx 릿
U+B9Cx
U+B9Dx
U+B9Ex
U+B9Fx 맿
U+BA0x
U+BA1x
U+BA2x
U+BA3x 먿
U+BA4x
U+BA5x
U+BA6x
U+BA7x 멿
U+BA8x
U+BA9x
U+BAAx
U+BABx 몿
U+BACx
U+BADx
U+BAEx
U+BAFx 뫿
U+BB0x
U+BB1x
U+BB2x
U+BB3x 묿
U+BB4x
U+BB5x
U+BB6x
U+BB7x 뭿
U+BB8x
U+BB9x
U+BBAx
U+BBBx 뮿
U+BBCx
U+BBDx
U+BBEx
U+BBFx 믿
U+BC0x
U+BC1x
U+BC2x
U+BC3x 밿
U+BC4x
U+BC5x
U+BC6x
U+BC7x 뱿
U+BC8x
U+BC9x
U+BCAx
U+BCBx 벿
U+BCCx
U+BCDx
U+BCEx
U+BCFx 볿
U+BD0x
U+BD1x
U+BD2x
U+BD3x 봿
U+BD4x
U+BD5x
U+BD6x
U+BD7x 뵿
U+BD8x
U+BD9x
U+BDAx
U+BDBx 붿
U+BDCx
U+BDDx
U+BDEx
U+BDFx 뷿
U+BE0x
U+BE1x
U+BE2x
U+BE3x 븿
U+BE4x
U+BE5x
U+BE6x
U+BE7x 빿
U+BE8x
U+BE9x
U+BEAx
U+BEBx 뺿
U+BECx
U+BEDx
U+BEEx
U+BEFx 뻿
U+BF0x
U+BF1x
U+BF2x
U+BF3x 뼿
U+BF4x
U+BF5x
U+BF6x
U+BF7x 뽿
U+BF8x
U+BF9x
U+BFAx
U+BFBx 뾿
U+BFCx
U+BFDx
U+BFEx
U+BFFx 뿿
U+C00x 쀀
U+C01x
U+C02x
U+C03x
U+C04x
U+C05x
U+C06x
U+C07x
U+C08x
U+C09x
U+C0Ax
U+C0Bx
U+C0Cx
U+C0Dx
U+C0Ex
U+C0Fx
U+C10x
U+C11x
U+C12x
U+C13x
U+C14x
U+C15x
U+C16x
U+C17x
U+C18x
U+C19x
U+C1Ax
U+C1Bx
U+C1Cx
U+C1Dx
U+C1Ex
U+C1Fx
U+C20x
U+C21x
U+C22x
U+C23x
U+C24x
U+C25x
U+C26x
U+C27x
U+C28x
U+C29x
U+C2Ax
U+C2Bx
U+C2Cx
U+C2Dx
U+C2Ex
U+C2Fx
U+C30x
U+C31x
U+C32x
U+C33x
U+C34x
U+C35x
U+C36x
U+C37x
U+C38x
U+C39x
U+C3Ax
U+C3Bx
U+C3Cx
U+C3Dx
U+C3Ex
U+C3Fx
U+C40x
U+C41x
U+C42x
U+C43x
U+C44x
U+C45x
U+C46x
U+C47x
U+C48x
U+C49x
U+C4Ax
U+C4Bx
U+C4Cx
U+C4Dx
U+C4Ex
U+C4Fx
U+C50x
U+C51x
U+C52x
U+C53x
U+C54x
U+C55x
U+C56x
U+C57x
U+C58x
U+C59x
U+C5Ax
U+C5Bx
U+C5Cx
U+C5Dx
U+C5Ex
U+C5Fx
U+C60x
U+C61x
U+C62x
U+C63x
U+C64x
U+C65x
U+C66x
U+C67x
U+C68x
U+C69x
U+C6Ax
U+C6Bx
U+C6Cx
U+C6Dx
U+C6Ex
U+C6Fx
U+C70x
U+C71x
U+C72x
U+C73x
U+C74x
U+C75x
U+C76x
U+C77x
U+C78x
U+C79x
U+C7Ax
U+C7Bx
U+C7Cx
U+C7Dx
U+C7Ex
U+C7Fx
U+C80x
U+C81x
U+C82x
U+C83x
U+C84x
U+C85x
U+C86x
U+C87x
U+C88x
U+C89x
U+C8Ax
U+C8Bx
U+C8Cx
U+C8Dx
U+C8Ex
U+C8Fx
U+C90x
U+C91x
U+C92x
U+C93x 줿
U+C94x
U+C95x
U+C96x
U+C97x 쥿
U+C98x
U+C99x
U+C9Ax
U+C9Bx 즿
U+C9Cx
U+C9Dx
U+C9Ex
U+C9Fx 짿
U+CA0x
U+CA1x
U+CA2x
U+CA3x 쨿
U+CA4x
U+CA5x
U+CA6x
U+CA7x 쩿
U+CA8x
U+CA9x
U+CAAx
U+CABx 쪿
U+CACx
U+CADx
U+CAEx
U+CAFx 쫿
U+CB0x
U+CB1x
U+CB2x
U+CB3x 쬿
U+CB4x
U+CB5x
U+CB6x
U+CB7x 쭿
U+CB8x
U+CB9x
U+CBAx
U+CBBx 쮿
U+CBCx
U+CBDx
U+CBEx
U+CBFx 쯿
U+CC0x
U+CC1x
U+CC2x
U+CC3x 찿
U+CC4x
U+CC5x
U+CC6x
U+CC7x 챿
U+CC8x
U+CC9x
U+CCAx
U+CCBx 첿
U+CCCx
U+CCDx
U+CCEx
U+CCFx 쳿
U+CD0x
U+CD1x
U+CD2x
U+CD3x 촿
U+CD4x
U+CD5x
U+CD6x
U+CD7x 쵿
U+CD8x
U+CD9x
U+CDAx
U+CDBx 춿
U+CDCx
U+CDDx
U+CDEx
U+CDFx 췿
U+CE0x
U+CE1x
U+CE2x
U+CE3x 츿
U+CE4x
U+CE5x
U+CE6x
U+CE7x 칿
U+CE8x
U+CE9x
U+CEAx
U+CEBx 캿
U+CECx
U+CEDx
U+CEEx
U+CEFx 컿
U+CF0x
U+CF1x
U+CF2x
U+CF3x 켿
U+CF4x
U+CF5x
U+CF6x
U+CF7x 콿
U+CF8x
U+CF9x
U+CFAx
U+CFBx 쾿
U+CFCx
U+CFDx
U+CFEx
U+CFFx 쿿
U+D00x 퀀
U+D01x
U+D02x
U+D03x
U+D04x
U+D05x
U+D06x
U+D07x
U+D08x
U+D09x
U+D0Ax
U+D0Bx
U+D0Cx
U+D0Dx
U+D0Ex
U+D0Fx
U+D10x
U+D11x
U+D12x
U+D13x
U+D14x
U+D15x
U+D16x
U+D17x
U+D18x
U+D19x
U+D1Ax
U+D1Bx
U+D1Cx
U+D1Dx
U+D1Ex
U+D1Fx
U+D20x
U+D21x
U+D22x
U+D23x
U+D24x
U+D25x
U+D26x
U+D27x
U+D28x
U+D29x
U+D2Ax
U+D2Bx
U+D2Cx
U+D2Dx
U+D2Ex
U+D2Fx
U+D30x
U+D31x
U+D32x
U+D33x
U+D34x
U+D35x
U+D36x
U+D37x
U+D38x
U+D39x
U+D3Ax
U+D3Bx
U+D3Cx
U+D3Dx
U+D3Ex
U+D3Fx
U+D40x
U+D41x
U+D42x
U+D43x
U+D44x
U+D45x
U+D46x
U+D47x
U+D48x
U+D49x
U+D4Ax
U+D4Bx
U+D4Cx
U+D4Dx
U+D4Ex
U+D4Fx
U+D50x
U+D51x
U+D52x
U+D53x
U+D54x
U+D55x
U+D56x
U+D57x
U+D58x
U+D59x
U+D5Ax
U+D5Bx
U+D5Cx
U+D5Dx
U+D5Ex
U+D5Fx
U+D60x
U+D61x
U+D62x
U+D63x
U+D64x
U+D65x
U+D66x
U+D67x
U+D68x
U+D69x
U+D6Ax
U+D6Bx
U+D6Cx
U+D6Dx
U+D6Ex
U+D6Fx
U+D70x
U+D71x
U+D72x
U+D73x
U+D74x
U+D75x
U+D76x
U+D77x
U+D78x
U+D79x
U+D7Ax
Notes
1.^As of Unicode version 17.0
2. Blue background: Characters in KS X 1001 (i.e. EUC-KR–safe characters)
3. Yellow background: Characters not in KS X 1001, but are in at least one of the character sets KS X 1002, KPS 9566, and GB 12052. See also List of modern Hangul characters in ISO/IEC 2022–compliant national character set standards
4.^Grey areas indicate non-assigned code points

History

[edit]

Encoding Hangul syllabic blocks in Unicode was complicated by a reorganization of the code points:

  • Unicode version 1.0.0 encoded 2,350 modern Korean Hangul syllabic blocks from KS C 5601-1987 at U+3400–U+3D2D. This range is now part of CJK Unified Ideographs Extension A.
  • Version 1.1 added 1,930 additional modern syllabic blocks from KS C 5657-1991 at U+3D2E–U+44B7, six modern syllabic blocks from GB 12052-89 at U+44B8–U+44BD, and the first 2,370 syllabic blocks that are not in the aforementioned three sets at U+44BE–U+4DFF. These collectively cover the remainder of what is now CJK Unified Ideographs Extension A and all of what is now Yijing Hexagram Symbols.
    • In addition, there were three errors in Unicode 1.1:[3]
      • U+384E: 삤 in the Unicode Character Database, but 삣 in the Unicode 1.0 and ISO/IEC 10646-1:1993 code charts and per the source standard mappings
      • U+40BC: 삣 in the Unicode Character Database, but 삤 in the ISO/IEC 10646-1:1993 code charts and per the source standard mappings
      • U+436C: 콫 in the Unicode Character Database, but 콪 in the ISO/IEC 10646-1:1993 code charts and per the source standard mappings
  • Version 2.0 added the 4,516 remaining possible syllabic blocks from KS C 5601-1992 and rearranged[4][5] all of the encoded syllabic blocks into the current U+AC00–U+D7AF range which allows algorithmic decomposition into individual jamo.

RFC 2279 explains that this significant incompatible change was made on the assumption that no data or software using Unicode for Korean existed:

"The official justification for allowing such an incompatible change was that no implementations and no data containing Hangul existed, a statement that is likely to be true but remains unprovable. The incident has been dubbed the "Korean mess", and the relevant committees have pledged to never, ever again make such an incompatible change." — RFC 2279

Subsequently, Unicode adopted an encoding stability policy which states that "Once a character is encoded, it will not be moved or removed".[6]

After all this, North Korea submitted a proposal to rearrange the characters to follow its own alphabetical order;[7][8] it was rejected.[9]

The following Unicode-related documents record the purpose and process of defining specific characters in the Hangul Syllables block:

References

[edit]

See also

[edit]