한글 음절
1. 개요
한글 음절은 현대 한글에서 11,172자를 표현할 수 있으며, 초성, 중성, 종성의 조합으로 구성된다. 옛 한글 음절은 유니코드에서 자모의 조합으로 나타나며, 유니코드 2.0 이후의 한글 음절 명명 규칙은 "HANGUL SYLLABLE (초성)(중성)(종성)" 형식을 따른다. 유니코드에서 한글 음절 인코딩은 여러 단계를 거쳐 발전해 왔으며, 초기에는 KS X 1001에 있는 2,350자만 포함되었으나, 이후 확장을 통해 현재의 11,172자를 지원하게 되었다.
이미지 준비중입니다.
| 유니코드 이름 | Hangul Syllables (한글 음절) |
|---|---|
| 블록 위치 | 0xAC00–0xD7A3 (44032–55203) |
| 유니코드 버전 | 2.0 |
| 글자 수 | 11,172 |
| 포함된 문자 | 한글 |
| 소스 | KS C 5601-1992 |
|---|
| 비고 | 6,656자는 유니코드 1.1의 U+3400..U+4DFF에 있었지만, 4,516개의 추가 문자와 함께 유니코드 버전 2.0에서 현재 위치로 이동되었다. |
|---|
2. 현대 한글의 음절
현대 한글에서 표현할 수 있는 글자는 총 11,172자이다. 현대 한글에서 사용되는 낱자는 다음과 같다.
* 초성: ㄱㄲㄴㄷㄸㄹㅁㅂㅃㅅㅆㅇㅈㅉㅊㅋㅌㅍㅎ (19개)
* 중성: ㅏㅐㅑㅒㅓㅔㅕㅖㅗㅘㅙㅚㅛㅜㅝㅞㅟㅠㅡㅢㅣ (21개)
* 종성: ㄱㄲㄳㄴㄵㄶㄷㄹㄺㄻㄼㄽㄾㄿㅀㅁㅂㅄㅅㅆㅇㅈㅊㅋㅌㅍㅎ (27개) - 종성이 없는 경우도 있음
위의 초성, 중성, 종성을 조합해서 만들 수 있는 글자 수는 다음과 같다.
19 × 21 × (27 + 1) = 11172
이 글자들은 한글 조합형 인코딩에서는 모두 표현할 수 있으나 KS X 1001 한글 완성형 인코딩에는 자주 쓰는 2,350글자만 포함되어 있어 나머지 8,822글자는 표현할 수 없으므로 고유 명사를 표기할 때 문제가 발생하였다. 최근에 사용되는 확장 완성형 코드나 유니코드 계열에서는 11,172글자를 모두 지원하고 있다. 실제로 발음되지 못하거나 한국어에 나타나지 않는 예를 빼면 전부는 6300 미만 정도가 된다.
3. 옛 한글 음절
옛 한글 음절은 KS X 1002나 GB 12052(중국어)에만 한 글자로 등록되어 있으며, 유니코드에서는 자모를 조합하여 나타낸다. 유니코드에서 나타낼 수 있는 모든 한글 음절의 수는 다음과 같다.
* 초성: U+1100~U+115E의 95개 + U+A960~U+A97C의 29개 + U+115F의 채움 문자 1개, 총 125개
* 중성: U+1161~U+11A7의 71개 + U+D7B0~U+D7C6의 23개 + U+1160의 채움 문자 1개, 총 95개
* 종성: U+11A8~U+11FF의 88개 + U+D7CB~U+D7FB의 49개, 총 137개 (종성이 없는 경우도 포함)
이러한 초성, 중성, 종성을 조합하여 만들 수 있는 글자 수는 125 × 95 × (137 + 1) = 1,638,750이다. KS X 1026-1이 허용하지 않는 초성(채움 문자 제외)과 종성만의 조합(중성에는 채움 문자 사용)의 개수는 124 × 137 = 16,988자이며, 사실상 빈 문자인 초성 채움 문자와 중성 채움 문자의 조합 한 자 또한 있으므로 이 16,989자를 제외하면 1,621,761자가 된다. 이 1,621,761 자 중, 한글 낱자를 표현하는 것은 124 + 94 + 137 = 355 자이다.
한글 자모의 초성 자리에 쓰이는 닿소리 글자는 ㄱ(g), ㄲ(kk), ㄴ(n), ㄷ(d), ㄸ(tt), ㄹ(r), ㅁ(m), ㅂ(b), ㅃ(pp), ㅅ(s), ㅆ(ss), ㅇ(ng), ㅈ(j), ㅉ(jj), ㅊ(ch), ㅋ(k), ㅌ(t), ㅍ(p), ㅎ(h) 등이 있다.
한글의 중성은 로마자로 표기할 때 ㅏ는 a, ㅐ는 ae, ㅑ는 ya, ㅒ는 yae, ㅓ는 eo, ㅔ는 e, ㅕ는 yeo, ㅖ는 ye, ㅗ는 o, ㅘ는 wa, ㅙ는 wae, ㅚ는 oe, ㅛ는 yo, ㅜ는 u, ㅝ는 wo, ㅞ는 we, ㅟ는 wi, ㅠ는 yu, ㅡ는 eu, ㅢ는 ui, ㅣ는 i로 표기한다.
한글 음절의 종성(終聲)은 자음으로, 음절의 마지막에 오는 소리이다. 종성에는 ㄱ(g), ㄲ(kk), ㄳ(gs), ㄴ(n), ㄵ(nj), ㄶ(nh), ㄷ(d), ㄹ(l), ㄺ(lg), ㄻ(lm), ㄼ(lb), ㄽ(ls), ㄾ(lt), ㄿ(lp), ㅀ(lh), ㅁ(m), ㅂ(b), ㅄ(bs), ㅅ(s), ㅆ(ss), ㅇ(ng), ㅈ(j), ㅊ(ch), ㅋ(k), ㅌ(t), ㅍ(p), ㅎ(h) 등의 자음이 올 수 있다. 예시로 밖(bak), 밖에(bakke), 안(an), 닫(dad), 달(dal), 암(am), 밥(bab), 솟(sos), 강(gang), 쿡(kuk), 툿(tut), 숲(sup), 닿(dah) 등을 들 수 있다.
4. 한글 음절 유니코드
초기 유니코드에는 KS X 1001에 있던 한글 음절 2,350자만이 포함되어 있었다. 이후 4,306자가 추가되어 유니코드 1.1에는 한글 음절이 6,656자 있었지만, 당시 한글 음절 영역인 U+3400~U+4DFF 뒤에는 곧바로 한자가 위치해 있어 나머지 한글 음절을 붙여 추가할 영역이 없었다. 1995년 대한민국의 제안으로 유니코드의 한글 음절 영역이 U+AC00~U+D7A3으로 새로 배정되고, 음절 11,172자가 가나다순으로 배열되었다.
유니코드 2.0 이후의 한글 음절의 명명 규칙은 "HANGUL SYLLABLE (초성)(중성)(종성)"의 형식이다. 예를 들어 은 과 같이 표현된다.
한글 음절 블록
유니코드에서 한글 음절을 인코딩하는 과정은 복잡했다. 초기 유니코드 1.0.0은 U+3400–U+3D2D 범위에 KS C 5601-1987의 현대 한국어 한글 음절 2,350자를 인코딩했다. 이후 버전 1.1에서 1,930개의 추가 현대 음절을 U+3D2E–U+44B7에, GB 12052-89에서 6개의 현대 음절을 U+44B8–U+44BD에, U+44BE–U+4DFF에 위에 언급된 세 가지 집합에 없는 처음 2,370개의 음절을 추가했다.
유니코드 1.1에는 세 가지 오류가 있었다. U+384E는 유니코드 문자 데이터베이스에서는 삤이지만, 유니코드 1.0 및 ISO/IEC 10646-1:1993 코드 차트 및 소스 표준 매핑에 따르면 삣이다. U+40BC는 유니코드 문자 데이터베이스에서는 삣이지만, ISO/IEC 10646-1:1993 코드 차트 및 소스 표준 매핑에 따르면 삤이다. U+436C는 유니코드 문자 데이터베이스에서는 콫이지만, ISO/IEC 10646-1:1993 코드 차트 및 소스 표준 매핑에 따르면 콪이다.
버전 2.0에서는 KS C 5601-1992에서 나머지 4,516개의 가능한 음절을 추가하고 모든 인코딩된 음절을 현재의 U+AC00–U+D7AF 범위로 재정렬하여 알고리즘 방식으로 개별 자모로 분해할 수 있게 했다.
에서는 이처럼 호환되지 않는 중요한 변경이 한국어에 유니코드를 사용하는 데이터나 소프트웨어가 존재하지 않는다는 가정하에 이루어졌다고 설명한다.
이후, 유니코드는 "문자가 인코딩되면 이동하거나 제거되지 않습니다"라고 명시하는 인코딩 안정성 정책을 채택했다.
다음은 한글 음절 블록에서 특정 문자를 정의하는 목적과 과정을 기록한 유니코드 관련 문서이다.
| 버전 | 개수 | UTC ID | L2 ID | WG2 ID | 문서 | |
|---|---|---|---|---|---|---|
| 2.0 | U+AC00..D7A3 | 11,172 | [https://web.archive.org/web/20200215052615/http://std.dkuug.dk/jtc1/sc2/wg2/docs/n0767.doc N767] | |||
| N848 | ||||||
| N1158 | ||||||
| N1170 | ||||||
| N1198 | ||||||
| N1199 | ||||||
| [https://web.archive.org/web/20200215052615/http://std.dkuug.dk/jtc1/sc2/wg2/docs/n1203.txt N1203] | ||||||
| N1209 | ||||||
| [https://web.archive.org/web/20200215052615/http://std.dkuug.dk/jtc1/sc2/wg2/docs/n1253.txt txt]) | ||||||
| N1285 | ||||||
| [https://web.archive.org/web/20200215052615/http://std.dkuug.dk/jtc1/sc2/wg2/docs/n1303.doc doc]) | ||||||
| N1331 | ||||||
| N1332 | ||||||
| N1391 | ||||||
| [https://web.archive.org/web/20200215052615/http://std.dkuug.dk/jtc1/sc2/wg2/docs/n1353.doc N1353] | ||||||
| N1537 | ||||||
| N1561 | ||||||
| N1570 | ||||||
| [https://web.archive.org/web/20200215052615/http://std.dkuug.dk/jtc1/sc2/wg2/docs/n1603.doc N1603] | ||||||
| [https://www.unicode.org/wg2/docs/n1806w97.doc doc]) | ||||||
| [https://www.unicode.org/wg2/docs/n1942w97.doc N1942] | ||||||
| [https://www.unicode.org/wg2/docs/n1903.htm html], [https://www.unicode.org/wg2/docs/n1903w97.doc doc]) | ||||||
| [https://web.archive.org/web/20200215052615/http://std.dkuug.dk/jtc1/sc2/wg2/docs/n2018.pdf N2018] | ||||||
| [https://www.unicode.org/wg2/docs/n2003.pdf N2003] | ||||||
| [https://www.unicode.org/wg2/docs/n2119.htm N2119] | ||||||
| [https://web.archive.org/web/20200215052615/http://std.dkuug.dk/jtc1/sc2/wg2/docs/n2120.pdf N2120] | ||||||
| [https://www.unicode.org/wg2/docs/n2564.pdf N2564] | ||||||
=== 한글 음절 표기 (로마자) ===
한글 음절은 초성, 중성, 종성의 조합으로 이루어져 있으며, 각 구성 요소는 특정한 로마자로 표기된다.
==== 중성 ====
한글의 중성은 다음과 같이 로마자로 표기한다.
* ㅏ: a
* ㅐ: ae
* ㅑ: ya
* ㅒ: yae
* ㅓ: eo
* ㅔ: e
* ㅕ: yeo
* ㅖ: ye
* ㅗ: o
* ㅘ: wa
* ㅙ: wae
* ㅚ: oe
* ㅛ: yo
* ㅜ: u
* ㅝ: wo
* ㅞ: we
* ㅟ: wi
* ㅠ: yu
* ㅡ: eu
* ㅢ: ui
* ㅣ: i
==== 종성 ====
한글 음절의 종성은 음절의 마지막에 오는 소리로, 자음으로 구성된다. 종성은 다음과 같은 자음으로 표기한다.
* ㄱ: g (예: 밖(bak))
* ㄲ: kk (예: 밖에(bakke))
* ㄳ: gs
* ㄴ: n (예: 안(an))
* ㄵ: nj
* ㄶ: nh
* ㄷ: d (예: 닫(dad))
* ㄹ: l (예: 달(dal))
* ㄺ: lg
* ㄻ: lm
* ㄼ: lb
* ㄽ: ls
* ㄾ: lt
* ㄿ: lp
* ㅀ: lh
* ㅁ: m (예: 암(am))
* ㅂ: b (예: 밥(bab))
* ㅄ: bs
* ㅅ: s (예: 솟(sos))
* ㅆ: ss
* ㅇ: ng (예: 강(gang))
* ㅈ: j
* ㅊ: ch
* ㅋ: k (예: 쿡(kuk))
* ㅌ: t (예: 툿(tut))
* ㅍ: p (예: 숲(sup))
* ㅎ: h (예: 닿(dah))
4.1. 초성
한글 자모의 초성 자리에 쓰이는 닿소리 글자는 다음과 같다. ㄱ(g), ㄲ(kk), ㄴ(n), ㄷ(d), ㄸ(tt), ㄹ(r), ㅁ(m), ㅂ(b), ㅃ(pp), ㅅ(s), ㅆ(ss), ㅇ(ng), ㅈ(j), ㅉ(jj), ㅊ(ch), ㅋ(k), ㅌ(t), ㅍ(p), ㅎ(h)
4.2. 중성
한글의 중성은 다음과 같이 로마자로 표기한다.
* ㅏ는 a로 표기한다.
* ㅐ는 ae로 표기한다.
* ㅑ는 ya로 표기한다.
* ㅒ는 yae로 표기한다.
* ㅓ는 eo로 표기한다.
* ㅔ는 e로 표기한다.
* ㅕ는 yeo로 표기한다.
* ㅖ는 ye로 표기한다.
* ㅗ는 o로 표기한다.
* ㅘ는 wa로 표기한다.
* ㅙ는 wae로 표기한다.
* ㅚ는 oe로 표기한다.
* ㅛ는 yo로 표기한다.
* ㅜ는 u로 표기한다.
* ㅝ는 wo로 표기한다.
* ㅞ는 we로 표기한다.
* ㅟ는 wi로 표기한다.
* ㅠ는 yu로 표기한다.
* ㅡ는 eu로 표기한다.
* ㅢ는 ui로 표기한다.
* ㅣ는 i로 표기한다.
4.3. 종성
한글 음절의 종성(終聲)은 자음으로, 음절의 마지막에 오는 소리이다. 종성에는 다음과 같은 자음들이 올 수 있으며, 각각에 대한 로마자 표기 규칙은 다음과 같다.
* ㄱ: g로 표기한다. 예) 밖(bak)
* ㄲ: kk로 표기한다. 예) 밖에(bakke)
* ㄳ: gs로 표기한다.
* ㄴ: n으로 표기한다. 예) 안(an)
* ㄵ: nj로 표기한다.
* ㄶ: nh로 표기한다.
* ㄷ: d로 표기한다. 예) 닫(dad)
* ㄹ: l로 표기한다. 예) 달(dal)
* ㄺ: lg로 표기한다.
* ㄻ: lm으로 표기한다.
* ㄼ: lb로 표기한다.
* ㄽ: ls로 표기한다.
* ㄾ: lt로 표기한다.
* ㄿ: lp로 표기한다.
* ㅀ: lh로 표기한다.
* ㅁ: m으로 표기한다. 예) 암(am)
* ㅂ: b로 표기한다. 예) 밥(bab)
* ㅄ: bs로 표기한다.
* ㅅ: s로 표기한다. 예) 솟(sos)
* ㅆ: ss로 표기한다.
* ㅇ: ng로 표기한다. 예) 강(gang)
* ㅈ: j로 표기한다.
* ㅊ: ch로 표기한다.
* ㅋ: k로 표기한다. 예) 쿡(kuk)
* ㅌ: t로 표기한다. 예) 툿(tut)
* ㅍ: p로 표기한다. 예) 숲(sup)
* ㅎ: h로 표기한다. 예) 닿(dah)
5. 현대 한글 음절 목록
현대 한글 음절 목록은 유니코드에 포함되어 있으며, 총 11,172글자가 있다. 이 글자들은 U+AC00부터 U+D7A3까지 연속적으로 배열되어 있다. 유니코드 컨소시엄은 공식 코드 차트를 PDF 형태로 제공한다.
{| class="wikitable nounderlines" style="border-collapse:collapse;background:#FFFFFF;font-size:large;text-align:center"
| colspan="17" style="background:#F8F8F8;font-size:small" | 한글 음절
[https://www.unicode.org/charts/PDF/UAC00.pdf 공식 유니코드 컨소시엄 코드 차트] (PDF)
|- style="background:#F8F8F8;font-size:small"
| style="width:45pt" | || style="width:20pt" | 0 || style="width:20pt" | 1 || style="width:20pt" | 2 || style="width:20pt" | 3 || style="width:20pt" | 4 || style="width:20pt" | 5 || style="width:20pt" | 6 || style="width:20pt" | 7 || style="width:20pt" | 8 || style="width:20pt" | 9 || style="width:20pt" | A || style="width:20pt" | B || style="width:20pt" | C || style="width:20pt" | D || style="width:20pt" | E || style="width:20pt" | F
|-
| style="background:#F8F8F8;font-size:small" | U+AC0x
| 가 || 각 || 갂 || 갃 || 간 || 갅 || 갆 || 갇
| 갈 || 갉 || 갊 || 갋 || 갌 || 갍 || 갎 || 갏
|-
| style="background:#F8F8F8;font-size:small" | U+AC1x
| 감 || 갑 || 값 || 갓 || 갔 || 강 || 갖 || 갗
| 갘 || 같 || 갚 || 갛 || 개 || 객 || 갞 || 갟
|-
| style="background:#F8F8F8;font-size:small" | U+AC2x
| 갠 || 갡 || 갢 || 갣 || 갤 || 갥 || 갦 || 갧
| 갨 || 갩 || 갪 || 갫 || 갬 || 갭 || 갮 || 갯
|-
| style="background:#F8F8F8;font-size:small" | U+AC3x
| 갰 || 갱 || 갲 || 갳 || 갴 || 갵 || 갶 || 갷
| 갸 || 갹 || 갺 || 갻 || 갼 || 갽 || 갾 || 갿
|-
| style="background:#F8F8F8;font-size:small" | U+AC4x
| 걀 || 걁 || 걂 || 걃 || 걄 || 걅 || 걆 || 걇
| 걈 || 걉 || 걊 || 걋 || 걌 || 걍 || 걎 || 걏
|-
| style="background:#F8F8F8;font-size:small" | U+AC5x
| 걐 || 걑 || 걒 || 걓 || 걔 || 걕 || 걖 || 걗
| 걘 || 걙 || 걚 || 걛 || 걜 || 걝 || 걞 || 걟
|-
| style="background:#F8F8F8;font-size:small" | U+AC6x
| 걠 || 걡 || 걢 || 걣 || 걤 || 걥 || 걦 || 걧
| 걨 || 걩 || 걪 || 걫 || 걬 || 걭 || 걮 || 걯
|-
| style="background:#F8F8F8;font-size:small" | U+AC7x
| 거 || 걱 || 걲 || 걳 || 건 || 걵 || 걶 || 걷
| 걸 || 걹 || 걺 || 걻 || 걼 || 걽 || 걾 || 걿
|-
| style="background:#F8F8F8;font-size:small" | U+AC8x
| 검 || 겁 || 겂 || 것 || 겄 || 겅 || 겆 || 겇
| 겈 || 겉 || 겊 || 겋 || 게 || 겍 || 겎 || 겏
|-
| style="background:#F8F8F8;font-size:small" | U+AC9x
| 겐 || 겑 || 겒 || 겓 || 겔 || 겕 || 겖 || 겗
| 겘 || 겙 || 겚 || 겛 || 겜 || 겝 || 겞 || 겟
|-
| style="background:#F8F8F8;font-size:small" | U+ACAx
| 겠 || 겡 || 겢 || 겣 || 겤 || 겥 || 겦 || 겧
| 겨 || 격 || 겪 || 겫 || 견 || 겭 || 겮 || 겯
|-
| style="background:#F8F8F8;font-size:small" | U+ACBx
| 결 || 겱 || 겲 || 겳 || 겴 || 겵 || 겶 || 겷
| 겸 || 겹 || 겺 || 겻 || 겼 || 경 || 겾 || 겿
|-
| style="background:#F8F8F8;font-size:small" | U+ACCx
| 곀 || 곁 || 곂 || 곃 || 계 || 곅 || 곆 || 곇
| 곈 || 곉 || 곊 || 곋 || 곌 || 곍 || 곎 || 곏
|-
| style="background:#F8F8F8;font-size:small" | U+ACDx
| 곐 || 곑 || 곒 || 곓 || 곔 || 곕 || 곖 || 곗
| 곘 || 곙 || 곚 || 곛 || 곜 || 곝 || 곞 || 곟
|-
| style="background:#F8F8F8;font-size:small" | U+ACEx
| 고 || 곡 || 곢 || 곣 || 곤 || 곥 || 곦 || 곧
| 골 || 곩 || 곪 || 곫 || 곬 || 곭 || 곮 || 곯
|-
| style="background:#F8F8F8;font-size:small" | U+ACFx
| 곰 || 곱 || 곲 || 곳 || 곴 || 공 || 곶 || 곷
| 곸 || 곹 || 곺 || 곻 || 과 || 곽 || 곾 || 곿
|-
| style="background:#F8F8F8;font-size:small" | U+AD0x
| 관 || 괁 || 괂 || 괃 || 괄 || 괅 || 괆 || 괇
| 괈 || 괉 || 괊 || 괋 || 괌 || 괍 || 괎 || 괏
|-
| style="background:#F8F8F8;font-size:small" | U+AD1x
| 괐 || 광 || 괒 || 괓 || 괔 || 괕 || 괖 || 괗
| 괘 || 괙 || 괚 || 괛 || 괜 || 괝 || 괞 || 괟
|-
| style="background:#F8F8F8;font-size:small" | U+AD2x
| 괠 || 괡 || 괢 || 괣 || 괤 || 괥 || 괦 || 괧
| 괨 || 괩 || 괪 || 괫 || 괬 || 괭 || 괮 || 괯
|-
| style="background:#F8F8F8;font-size:small" | U+AD3x
| 괰 || 괱 || 괲 || 괳 || 괴 || 괵 || 괶 || 괷
| 괸 || 괹 || 괺 || 괻 || 괼 || 괽 || 괾 || 괿
|-
| style="background:#F8F8F8;font-size:small" | U+AD4x
| 굀 || 굁 || 굂 || 굃 || 굄 || 굅 || 굆 || 굇
| 굈 || 굉 || 굊 || 굋 || 굌 || 굍 || 굎 || 굏
|-
| style="background:#F8F8F8;font-size:small" | U+AD5x
| 교 || 굑 || 굒 || 굓 || 굔 || 굕 || 굖 || 굗
| 굘 || 굙 || 굚 || 굛 || 굜 || 굝 || 굞 || 굟
|-
| style="background:#F8F8F8;font-size:small" | U+AD6x
| 굠 || 굡 || 굢 || 굣 || 굤 || 굥 || 굦 || 굧
| 굨 || 굩 || 굪 || 굫 || 구 || 국 || 굮 || 굯
|-
| style="background:#F8F8F8;font-size:small" | U+AD7x
| 군 || 굱 || 굲 || 굳 || 굴 || 굵 || 굶 || 굷
| 굸 || 굹 || 굺 || 굻 || 굼 || 굽 || 굾 || 굿
|-
| style="background:#F8F8F8;font-size:small" | U+AD8x
| 궀 || 궁 || 궂 || 궃 || 궄 || 궅 || 궆 || 궇
| 궈 || 궉 || 궊 || 궋 || 권 || 궍 || 궎 || 궏
|-
| style="background:#F8F8F8;font-size:small" | U+AD9x
| 궐 || 궑 || 궒 || 궓 || 궔 || 궕 || 궖 || 궗
| 궘 || 궙 || 궚 || 궛 || 궜 || 궝 || 궞 || 궟
|-
| style="background:#F8F8F8;font-size:small" | U+ADAx
| 궠 || 궡 || 궢 || 궣 || 궤 || 궥 || 궦 || 궧
| 궨 || 궩 || 궪 || 궫 || 궬 || 궭 || 궮 || 궯
|-
| style="background:#F8F8F8;font-size:small" | U+ADBx
| 궰 || 궱 || 궲 || 궳 || 궴 || 궵 || 궶 || 궷
| 궸 || 궹 || 궺 || 궻 || 궼 || 궽 || 궾 || 궿
|-
| style="background:#F8F8F8;font-size:small" | U+ADCx
| 귀 || 귁 || 귂 || 귃 || 귄 || 귅 || 귆 || 귇
| 귈 || 귉 || 귊 || 귋 || 귌 || 귍 || 귎 || 귏
|-
| style="background:#F8F8F8;font-size:small" | U+ADDx
| 귐 || 귑 || 귒 || 귓 || 귔 || 귕 || 귖 || 귗
| 귘 || 귙 || 귚 || 귛 || 규 || 귝 || 귞 || 귟
|-
| style="background:#F8F8F8;font-size:small" | U+ADEx
| 균 || 귡 || 귢 || 귣 || 귤 || 귥 || 귦 || 귧
| 귨 || 귩 || 귪 || 귫 || 귬 || 귭 || 귮 || 귯
|-
| style="background:#F8F8F8;font-size:small" | U+ADFx
| 귰 || 귱 || 귲 || 귳 || 귴 || 귵 || 귶 || 귷
| 그 || 극 || 귺 || 귻 || 근 || 귽 || 귾 || 귿
|-
| style="background:#F8F8F8;font-size:small" | U+AE0x
| 글 || 긁 || 긂 || 긃 || 긄 || 긅 || 긆 || 긇
| 금 || 급 || 긊 || 긋 || 긌 || 긍 || 긎 || 긏
|-
| style="background:#F8F8F8;font-size:small" | U+AE1x
| 긐 || 긑 || 긒 || 긓 || 긔 || 긕 || 긖 || 긗
| 긘 || 긙 || 긚 || 긛 || 긜 || 긝 || 긞 || 긟
|-
| style="background:#F8F8F8;font-size:small" | U+AE2x
| 긠 || 긡 || 긢 || 긣 || 긤 || 긥 || 긦 || 긧
| 긨 || 긩 || 긪 || 긫 || 긬 || 긭 || 긮 || 긯
|-
| style="background:#F8F8F8;font-size:small" | U+AE3x
| 기 || 긱 || 긲 || 긳 || 긴 || 긵 || 긶 || 긷
| 길 || 긹 || 긺 || 긻 || 긼 || 긽 || 긾 || 긿
|-
| style="background:#F8F8F8;font-size:small" | U+AE4x
| 김 || 깁 || 깂 || 깃 || 깄 || 깅 || 깆 || 깇
| 깈 || 깉 || 깊 || 깋 || 까 || 깍 || 깎 || 깏
|-
| style="background:#F8F8F8;font-size:small" | U+AE5x
| 깐 || 깑 || 깒 || 깓 || 깔 || 깕 || 깖 || 깗
| 깘 || 깙 || 깚 || 깛 || 깜 || 깝 || 깞 || 깟
|-
| style="background:#F8F8F8;font-size:small" | U+AE6x
| 깠 || 깡 || 깢 || 깣 || 깤 || 깥 || 깦 || 깧
| 깨 || 깩 || 깪 || 깫 || 깬 || 깭 || 깮 || 깯
|-
| style="background:#F8F8F8;font-size:small" | U+AE7x
| 깰 || 깱 || 깲 || 깳 || 깴 || 깵 || 깶 || 깷
| 깸 || 깹 || 깺 || 깻 || 깼 || 깽 || 깾 || 깿
|-
| style="background:#F8F8F8;font-size:small" | U+AE8x
| 꺀 || 꺁 || 꺂 || 꺃 || 꺄 || 꺅 || 꺆 || 꺇
| 꺈 || 꺉 || 꺊 || 꺋 || 꺌 || 꺍 || 꺎 || 꺏
|-
| style="background:#F8F8F8;font-size:small" | U+AE9x
| 꺐 || 꺑 || 꺒 || 꺓 || 꺔 || 꺕 || 꺖 || 꺗
| 꺘 || 꺙 || 꺚 || 꺛 || 꺜 || 꺝 || 꺞 || 꺟
|-
| style="background:#F8F8F8;font-size:small" | U+AEAx
| 꺠 || 꺡 || 꺢 || 꺣 || 꺤 || 꺥 || 꺦 || 꺧
| 꺨 || 꺩 || 꺪 || 꺫 || 꺬 || 꺭 || 꺮 || 꺯
|-
| style="background:#F8F8F8;font-size:small" | U+AEBx
| 꺰 || 꺱 || 꺲 || 꺳 || 꺴 || 꺵 || 꺶 || 꺷
| 꺸 || 꺹 || 꺺 || 꺻 || 꺼 || 꺽 || 꺾 || 꺿
|-
| style="background:#F8F8F8;font-size:small" | U+AECx
| 껀 || 껁 || 껂 || 껃 || 껄 || 껅 || 껆 || 껇
| 껈 || 껉 || 껊 || 껋 || 껌 || 껍 || 껎 || 껏
|-
| style="background:#F8F8F8;font-size:small" | U+AEDx
| 껐 || 껑 || 껒 || 껓 || 껔 || 껕 || 껖 || 껗
| 께 || 껙 || 껚 || 껛 || 껜 || 껝 || 껞 || 껟
|-
| style="background:#F8F8F8;font-size:small" | U+AEEx
| 껠 || 껡 || 껢 || 껣 || 껤 || 껥 || 껦 || 껧
| 껨 || 껩 || 껪 || 껫 || 껬 || 껭 || 껮 || 껯
|-
| style="background:#F8F8F8;font-size:small" | U+AEFx
| 껰 || 껱 || 껲 || 껳 || 껴 || 껵 || 껶 || 껷
| 껸 || 껹 || 껺 || 껻 || 껼 || 껽 || 껾 || 껿
|-
| style="background:#F8F8F8;font-size:small" | U+AF0x
| 꼀 || 꼁 || 꼂 || 꼃 || 꼄 || 꼅 || 꼆 || 꼇
| 꼈 || 꼉 || 꼊 || 꼋 || 꼌 || 꼍 || 꼎 || 꼏
|-
| style="background:#F8F8F8;font-size:small" | U+AF1x
| 꼐 || 꼑 || 꼒 || 꼓 || 꼔 || 꼕 || 꼖 || 꼗
| 꼘 || 꼙 || 꼚 || 꼛 || 꼜 || 꼝 || 꼞 || 꼟
|-
| style="background:#F8F8F8;font-size:small" | U+AF2x
| 꼠 || 꼡 || 꼢 || 꼣 || 꼤 || 꼥 || 꼦 || 꼧
| 꼨 || 꼩 || 꼪 || 꼫 || 꼬 || 꼭 || 꼮 || 꼯
|-
| style="background:#F8F8F8;font-size:small" | U+AF3x
| 꼰 || 꼱 || 꼲 || 꼳 || 꼴 || 꼵 || 꼶 || 꼷
| 꼸 || 꼹 || 꼺 || 꼻 || 꼼 || 꼽 || 꼾 || 꼿
|-
| style="background:#F8F8F8;font-size:small" | U+AF4x
| 꽀 || 꽁 || 꽂 || 꽃 || 꽄 || 꽅 || 꽆 || 꽇
| 꽈 || 꽉 || 꽊 || 꽋 || 꽌 || 꽍 || 꽎 || 꽏
|-
| style="background:#F8F8F8;font-size:small" | U+AF5x
| 꽐 || 꽑 || 꽒 || 꽓 || 꽔 || 꽕 || 꽖 || 꽗
| 꽘 || 꽙 || 꽚 || 꽛 || 꽜 || 꽝 || 꽞 || 꽟
|-
| style="background:#F8F8F8;font-size:small" | U+AF6x
| 꽠 || 꽡 || 꽢 || 꽣 || 꽤 || 꽥 || 꽦 || 꽧
| 꽨 || 꽩 || 꽪 || 꽫 || 꽬 || 꽭 || 꽮 || 꽯
|-
| style="background:#F8F8F8;font-size:small" | U+AF7x
| 꽰 || 꽱 || 꽲 || 꽳 || 꽴 || 꽵 || 꽶 || 꽷
| 꽸 || 꽹 || 꽺 || 꽻 || 꽼 || 꽽 || 꽾 || 꽿
|-
| style="background:#F8F8F8;font-size:small" | U+AF8x
| 꾀 || 꾁 || 꾂 || 꾃 || 꾄 || 꾅 || 꾆 || 꾇
| 꾈 || 꾉 || 꾊 || 꾋 || 꾌 || 꾍 || 꾎 || 꾏
|-
| style="background:#F8F8F8;font-size:small" | U+AF9x
| 꾐 || 꾑 || 꾒 || 꾓 || 꾔 || 꾕 || 꾖 || 꾗
| 꾘 || 꾙 || 꾚 || 꾛 || 꾜 || 꾝 || 꾞 || 꾟
|-
| style="background:#F8F8F8;font-size:small" | U+AFAx
| 꾠 || 꾡 || 꾢 || 꾣 || 꾤 || 꾥 || 꾦 || 꾧
| 꾨 || 꾩 || 꾪 || 꾫 || 꾬 || 꾭 || 꾮 || 꾯
|-
| style="background:#F8F8F8;font-size:small" | U+AFBx
| 꾰 || 꾱 || 꾲 || 꾳 || 꾴 || 꾵 || 꾶 || 꾷
| 꾸 || 꾹 || 꾺 || 꾻 || 꾼 || 꾽 || 꾾 || 꾿
|-
| style="background:#F8F8F8;font-size:small" | U+AFCx
| 꿀 || 꿁 || 꿂 || 꿃 || 꿄 || 꿅 || 꿆 || 꿇
| 꿈 || 꿉 || 꿊 || 꿋 || 꿌 || 꿍 || 꿎 || 꿏
|-
| style="background:#F8F8F8;font-size:small" | U+AFDx
| 꿐 || 꿑 || 꿒 || 꿓 || 꿔 || 꿕 || 꿖 || 꿗
| 꿘 || 꿙 || 꿚 || 꿛 || 꿜 || 꿝 || 꿞 || 꿟
|-
| style="background:#F8F8F8;font-size:small" | U+AFEx
| 꿠 || 꿡 || 꿢 || 꿣 || 꿤 || 꿥 || 꿦 || 꿧
| 꿨 || 꿩 || 꿪 || 꿫 || 꿬 || 꿭 || 꿮 || 꿯
|-
| style="background:#F8F8F8;font-size:small" | U+AFFx
| 꿰 || 꿱 || 꿲 || 꿳 || 꿴 || 꿵 || 꿶 || 꿷
| 꿸 || 꿹 || 꿺 || 꿻 || 꿼 || 꿽 || 꿾 || 꿿
|-
| style="background:#F8F8F8;font-size:small" | U+B00x
| 뀀 || 뀁 || 뀂 || 뀃 || 뀄 || 뀅 || 뀆 || 뀇
| 뀈 || 뀉 || 뀊 || 뀋 || 뀌 || 뀍 || 뀎 || 뀏
|-
| style="background:#F8F8F8;font-size:small" | U+B01x
| 뀐 || 뀑 || 뀒 || 뀓 || 뀔 || 뀕 || 뀖 || 뀗
| 뀘 || 뀙 || 뀚 || 뀛 || 뀜 || 뀝 || 뀞 || 뀟
|-
| style="background:#F8F8F8;font-size:small" | U+B02x
| 뀠 || 뀡 || 뀢 || 뀣 || 뀤 || 뀥 || 뀦 || 뀧
| 뀨 || 뀩 || 뀪 || 뀫 || 뀬 || 뀭 || 뀮 || 뀯
|-
| style="background:#F8F8F8;font-size:small" | U+B03x
| 뀰 || 뀱 || 뀲 || 뀳 || 뀴 || 뀵 || 뀶 || 뀷
| 뀸 || 뀹 || 뀺 || 뀻 || 뀼 || 뀽 || 뀾 || 뀿
|-
| style="background:#F8F8F8;font-size:small" | U+B04x
| 끀 || 끁 || 끂 || 끃 || 끄 || 끅 || 끆 || 끇
| 끈 || 끉 || 끊 || 끋 || 끌 || 끍 || 끎 || 끏
|-
| style="background:#F8F8F8;font-size:small" | U+B05x
| 끐 || 끑 || 끒 || 끓 || 끔 || 끕 || 끖 || 끗
| 끘 || 끙 || 끚 || 끛 || 끜 || 끝 || 끞 || 끟
|-
| style="background:#F8F8F8;font-size:small" | U+B06x
| 끠 || 끡 || 끢 || 끣 || 끤 || 끥 || 끦 || 끧
| 끨 || 끩 || 끪 || 끫 || 끬 || 끭 || 끮 || 끯
|-
| style="background:#F8F8F8;font-size:small" | U+B07x
| 끰 || 끱 || 끲 || 끳 || 끴 || 끵 || 끶 || 끷
| 끸 || 끹 || 끺 || 끻 || 끼 || 끽 || 끾 || 끿
|-
| style="background:#F8F8F8;font-size:small" | U+B08x
| 낀 || 낁 || 낂 || 낃 || 낄 || 낅 || 낆 || 낇
| 낈 || 낉 || 낊 || 낋 || 낌 || 낍 || 낎 || 낏
|-
| style="background:#F8F8F8;font-size:small" | U+B09x
| 낐 || 낑 || 낒 || 낓 || 낔 || 낕 || 낖 || 낗
| 나 || 낙 || 낚 || 낛 || 난 || 낝 || 낞 || 낟
|-
| style="background:#F8F8F8;font-size:small" | U+B0Ax
| 날 || 낡 || 낢 || 낣 || 낤 || 낥 || 낦 || 낧
| 남 || 납 || 낪 || 낫 || 났 || 낭 || 낮 || 낯
|-
| style="background:#F8F8F8;font-size:small" | U+B0Bx
| 낰 || 낱 || 낲 || 낳 || 내 || 낵 || 낶 || 낷
| 낸 || 낹 || 낺 || 낻 || 낼 || 낽 || 낾 ||
6. 유니코드의 한글 음절 인코딩 역사
유니코드에서 한글 음절을 인코딩하는 과정은 복잡한 변화를 거쳐왔다. 초기 유니코드에는 KS X 1001에 정의된 한글 음절 2350자만이 포함되어 있었다.
이후 4306자가 추가되어 유니코드 1.1에는 총 6656자의 한글 음절이 존재했지만, 당시 U+3400~U+4DFF 영역 뒤에 바로 한중일 통합 한자가 이어져 있어 추가적인 확장이 어려웠다.
1995년, 대한민국은 유니코드에 한글 음절 영역을 U+AC00~U+D7A3으로 재배정하고, 11172자를 가나다순으로 배열할 것을 제안했다.
유니코드 버전별 변화는 다음과 같다.
* 유니코드 1.0.0: U+3400–U+3D2D 영역에 KS C 5601-1987 기반의 현대 한글 음절 2,350자를 인코딩했다. 이 영역은 현재 CJK 통합 표의 문자 확장 A에 포함된다.
* 유니코드 1.1: KS C 5657-1991의 1,930자를 U+3D2E–U+44B7에, GB 12052-89의 6자를 U+44B8–U+44BD에 추가했다. 또한 U+44BE–U+4DFF에는 앞선 세 집합에 없는 2,370자를 추가했다. 이들은 현재 CJK 통합 표의 문자 확장 A의 나머지 부분과 역경 괘 상징 전체를 포함한다. 유니코드 1.1에는 다음과 같은 오류도 있었다.
U+384E: 데이터베이스상으로는 '삤'이지만, 유니코드 1.0 및 ISO/IEC 10646-1:1993 코드 차트에는 '삣'으로 되어 있다.
U+40BC: 데이터베이스상으로는 '삣'이지만, ISO/IEC 10646-1:1993 코드 차트에는 '삤'으로 되어 있다.
** U+436C: 데이터베이스상으로는 '콫'이지만, ISO/IEC 10646-1:1993 코드 차트에는 '콪'으로 되어 있다.
* 유니코드 2.0: KS X 1001의 나머지 4,516자를 추가하고, 모든 음절을 U+AC00–U+D7AF 영역으로 재정렬하여 알고리즘 방식으로 자모를 분해할 수 있도록 했다.
IETF RFC 2279에 따르면, 이러한 변경은 당시 한국어 유니코드 사용자나 소프트웨어가 없다는 가정하에 이루어졌다. 하지만 이러한 가정은 논란의 여지가 있었으며, 이후 유니코드는 인코딩 안정성 정책을 채택하여 "문자가 인코딩되면 이동하거나 제거되지 않는다"는 원칙을 확립했다.
유니코드 2.0 이후 한글 음절 명명 규칙은 "HANGUL SYLLABLE (초성)(중성)(종성)" 형식을 따른다. 각 부분에 대한 세부 규칙은 다음과 같다.
; 초성
| ㄱ | ㄲ | ㄴ | ㄷ | ㄸ | ㄹ | ㅁ | ㅂ | ㅃ | ㅅ | ㅆ | ㅇ | ㅈ | ㅉ | ㅊ | ㅋ | ㅌ | ㅍ | ㅎ |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| G | GG | N | D | DD | R | M | B | BB | S | SS | (없음) | J | JJ | C | K | T | P | H |
; 중성
| ㅏ | ㅐ | ㅑ | ㅒ | ㅓ | ㅔ | ㅕ | ㅖ | ㅗ | ㅘ | ㅙ | ㅚ | ㅛ | ㅜ | ㅝ | ㅞ | ㅟ | ㅠ | ㅡ | ㅢ | ㅣ |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| A | AE | YA | YAE | EO | E | YEO | YE | O | WA | WAE | OE | YO | U | WEO | WE | WI | YU | EU | YI | I |
; 종성
| ㄱ | ㄲ | ㄳ | ㄴ | ㄵ | ㄶ | ㄷ | ㄹ | ㄺ | ㄻ | ㄼ | ㄽ | ㄾ | ㄿ | ㅀ | ㅁ | ㅂ | ㅄ | ㅅ | ㅆ | ㅇ | ㅈ | ㅊ | ㅋ | ㅌ | ㅍ | ㅎ |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| G | GG | GS | N | NJ | NH | D | L | LG | LM | LB | LS | LT | LP | LH | M | B | BS | S | SS | NG | J | C | K | T | P | H |
예를 들어 퓛은 'Hangul Syllable PWILH'로 표현된다.
다음 표는 한글 음절 블록의 문자 정의 과정에 대한 유니코드 관련 문서 목록이다.
| 버전 | 최종 코드 포인트 | 개수 | UTC ID | L2 ID | WG2 ID | 문서 |
|---|---|---|---|---|---|---|
| 2.0 | U+AC00..D7A3 | 11,172 | [https://web.archive.org/web/20200215052615/http://std.dkuug.dk/jtc1/sc2/wg2/docs/n0767.doc N0767] | 1991년 10월 WG2-파리 회의 비확정 의사록 | ||
| X3L2/93-078 | N848 | 수정된 한국어 위치 | ||||
| https://www.unicode.org/L2/L1994-UTC/Discussion-on-Korean.TXT UTC/1994-xxx | 유니코드 기술 위원회 회의 #62: 한국어 한글 제안에 대한 토론 | |||||
| X3L2/95-031 | N1158 | 한글 문자를 추가하기 위한 한국 국가 입장 | ||||
| N1170 | 한글 문자를 추가하기 위한 N 1158의 한국어 제안에 대한 캐나다 입장 | |||||
| https://www.unicode.org/L2/L1995-UTC/UTC64-Closed-Caucus-Minutes.txt UTC/1995-021B | 비공개 코커스 회의록, UTC #64 | |||||
| N1198 | 한글에 대한 pDAM을 10646에 대한 작업 초안 | |||||
| X3L2/95-053.1 | N1199 | 한국어 코딩 배경 | ||||
| https://web.archive.org/web/20200215052615/http://std.dkuug.dk/jtc1/sc2/wg2/docs/n1203.txt N1203 | SC2/WG2 회의 27, 제네바의 비확정 의사록 | |||||
| X3L2/95-053 | N1209 | ISO/IEC 10646-1에 대한 PDAM 5: 한글 문자 집합 | ||||
| https://www.unicode.org/L2/L1995-UTC/UTC65-Minutes.TXT UTC/1995-xxx | 유니코드 기술 위원회 회의 #65, 의사록 | |||||
| X3L2/95-090 | [[https://web.archive.org/web/20200215052615/http://std.dkuug.dk/jtc1/sc2/wg2/docs/n1253.doc N1253 (doc],] [[https://web.archive.org/web/20200215052615/http://std.dkuug.dk/jtc1/sc2/wg2/docs/n1253.txt txt])] || 핀란드 헬싱키에서 열린 WG 2 회의 # 28 비확정 의사록; 1995-06-26--27 | |||||
| N1285 | 한글 음절 문자 이름 생성 알고리즘 | |||||
| [[https://web.archive.org/web/20200215052615/http://std.dkuug.dk/jtc1/sc2/wg2/docs/n1303d.html N1303 (html],] [[https://web.archive.org/web/20200215052615/http://std.dkuug.dk/jtc1/sc2/wg2/docs/n1303.doc doc])] || 회의 29, 도쿄 의사록 | ||||||
| N1331 | JTC1에 대한 DAM 5 (한글) | |||||
| N1332 | BMP 개정 레이아웃 (DAM 5 다이어그램 첨부) | |||||
| N1391 | 한글 음절 이름 알고리즘, 단순화 | |||||
| https://web.archive.org/web/20200215052615/http://std.dkuug.dk/jtc1/sc2/wg2/docs/n1353.doc N1353 | WG2 코펜하겐 회의 # 30의 초안 의사록 | |||||
| N1537 | 수정 5 - 한글에 대한 회신 및 피드백 테이블 | |||||
| L2/97-125 | N1561 | ISO/IEC 10646-1에 대한 DAM No. 5에 대한 JTC1 서면 투표에 대한 초안 보고서 (한글) | ||||
| N1570 | DAM 5 - 한글의 거의 최종 텍스트 (2-5 및 182페이지만) | |||||
| L2/97-288 | https://web.archive.org/web/20200215052615/http://std.dkuug.dk/jtc1/sc2/wg2/docs/n1603.doc N1603 | 비확정 회의록, WG 2 회의 # 33, 그리스 헤라클리온, 1997년 6월 20일 – 7월 4일 | ||||
| [[https://www.unicode.org/wg2/docs/n1806.pdf N1806 (pdf],] [[https://www.unicode.org/wg2/docs/n1806w97.doc doc])] || AMD 5 - 편집자의 응답과 함께 한글 음절에 대한 결함 보고서 | ||||||
| https://www.unicode.org/L2/L1999/n1942.pdf L2/99-022 | https://www.unicode.org/wg2/docs/n1942w97.doc N1942 | ISO/IEC 10646 2판에 제안된 한글 음절 이름 규칙 | ||||
| https://www.unicode.org/L2/L1999/n1903.rtf L2/99-010 | [[https://www.unicode.org/wg2/docs/n1903.pdf N1903 (pdf],] [[https://www.unicode.org/wg2/docs/n1903.htm html],] [[https://www.unicode.org/wg2/docs/n1903w97.doc doc])] || WG 2 회의 35, 영국 런던 의사록; 1998-09-21--25 | |||||
| https://www.unicode.org/L2/L1999/02n3306.pdf L2/99-114 | https://web.archive.org/web/20200215052615/http://std.dkuug.dk/jtc1/sc2/wg2/docs/n2018.pdf N2018 | ISO/IEC 10646-1: 1993에 대한 초안 기술 정정 3호 | ||||
| https://www.unicode.org/L2/L1999/N2003.pdf L2/99-232 | https://www.unicode.org/wg2/docs/n2003.pdf N2003 | WG 2 회의 36, 일본 후쿠오카 의사록, 1999-03-09--15 | ||||
| https://www.unicode.org/L2/L1999/99297-02n3358.htm L2/99-297 | https://www.unicode.org/wg2/docs/n2119.htm N2119 | SC 2 N 3306에 대한 의견 보고서, ISO/IEC 10646-1: 1993에 대한 초안 기술 정정 3호 | ||||
| https://www.unicode.org/L2/L1999/99298-02n3359.pdf L2/99-298 | https://web.archive.org/web/20200215052615/http://std.dkuug.dk/jtc1/sc2/wg2/docs/n2120.pdf N2120 | ISO/IEC 10646-1: 1993에 대한 기술 정정 3호에 대한 최종 텍스트 | ||||
| https://www.unicode.org/L2/L2003/03100-hangul-map-errors.pdf L2/03-100 | 한글 매핑 오류 | |||||
| https://www.unicode.org/L2/L2002/02463-n2564-3-way-tables-.pdf L2/02-463 | https://www.unicode.org/wg2/docs/n2564.pdf N2564 | 3방향 교차 참조 표 - KS X 1001, KPS 9566, 및 UCS | ||||
| https://www.unicode.org/L2/L2004/04392-hangul.html L2/04-392 | 유니코드 1 한글 매핑 오류 | |||||
| https://www.unicode.org/L2/L2004/04361.htm L2/04-361 | UTC #101 의사록 | |||||
| https://www.unicode.org/L2/L2017/17080-three-hangul-syl.pdf L2/17-080 | 유니코드 2.0 이전의 세 가지 현대 한글 음절에 대한 정보 문서 | |||||
6.1. 유니코드 버전 1.0.0
초기 유니코드에는 KS X 1001에 있던 한글 음절 2350자만이 포함되어 있었다.
유니코드 버전 1.0.0은 U+3400–U+3D2D 범위에서 KS C 5601-1987의 현대 한국어 한글 음절 2,350자를 인코딩했다. 이 범위는 현재 CJK 통합 표의 문자 확장 A의 일부이다.
6.2. 유니코드 버전 1.1
초기 유니코드에는 KS X 1001에 있던 한글 음절 2350자만이 포함되어 있었다. 이후에 4306자가 추가되어 유니코드 1.1에는 한글 음절가 6656자가 있었지만, 당시 한글 음절 영역인 U+3400~U+4DFF 뒤에는 곧바로 한자가 위치해 있어 나머지 한글 음절을 붙여 추가할 영역이 없었다.
유니코드 버전 1.0.0은 U+3400–U+3D2D에서 KS C 5601-1987의 현대 한국어 한글 음절 2,350자를 인코딩했다. 이 범위는 현재 CJK 통합 표의 문자 확장 A의 일부이다. 버전 1.1에서는 KS C 5657-1991에서 1,930개의 추가 현대 음절을 U+3D2E–U+44B7에, GB 12052-89에서 6개의 현대 음절을 U+44B8–U+44BD에 추가했다. U+44BE–U+4DFF에는 위에 언급된 세 가지 집합에 없는 처음 2,370개의 음절을 추가했다. 이것들은 집합적으로 현재 CJK 통합 표의 문자 확장 A의 나머지 부분과 현재 역경 괘 상징의 전부를 포함한다.
6.2.1. 유니코드 1.1의 오류
초기 유니코드에는 KS X 1001에 있던 한글 음절 2350자만이 포함되어 있었다. 이후에 4306자가 추가되어 유니코드 1.1에는 한글 음절가 6656자가 있었지만, 당시 한글 음절 영역인 U+3400~U+4DFF 뒤에는 곧바로 한자가 위치해 있어 나머지 한글 음절을 붙여 추가할 영역이 없었다. 이후, 1995년에 대한민국의 제안으로 유니코드의 한글 음절 영역이 U+AC00~U+D7A3으로 새로 배정되고, 음절 11172자가 가나다순으로 배열되었다.
유니코드 2.0 이후의 한글 음절의 명명 규칙은 "HANGUL SYLLABLE (초성)(중성)(종성)"의 형식이고, 초성, 중성, 종성의 세부적인 규칙은 아래와 같다.
초성
| ㄱ | ㄲ | ㄴ | ㄷ | ㄸ | ㄹ | ㅁ | ㅂ | ㅃ | ㅅ | ㅆ | ㅇ | ㅈ | ㅉ | ㅊ | ㅋ | ㅌ | ㅍ | ㅎ |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| G | GG | N | D | DD | R | M | B | BB | S | SS | (없음) | J | JJ | C | K | T | P | H |
중성
| ㅏ | ㅐ | ㅑ | ㅒ | ㅓ | ㅔ | ㅕ | ㅖ | ㅗ | ㅘ | ㅙ | ㅚ | ㅛ | ㅜ | ㅝ | ㅞ | ㅟ | ㅠ | ㅡ | ㅢ | ㅣ |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| A | AE | YA | YAE | EO | E | YEO | YE | O | WA | WAE | OE | YO | U | WEO | WE | WI | YU | EU | YI | I |
종성
| ㄱ | ㄲ | ㄳ | ㄴ | ㄵ | ㄶ | ㄷ | ㄹ | ㄺ | ㄻ | ㄼ | ㄽ | ㄾ | ㄿ | ㅀ | ㅁ | ㅂ | ㅄ | ㅅ | ㅆ | ㅇ | ㅈ | ㅊ | ㅋ | ㅌ | ㅍ | ㅎ |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| G | GG | GS | N | NJ | NH | D | L | LG | LM | LB | LS | LT | LP | LH | M | B | BS | S | SS | NG | J | C | K | T | P | H |
이 규칙에 따르면, U+D4DB은 Hangul Syllable PWILH과 같이 표현된다.
6.3. 유니코드 버전 2.0
초기 유니코드에는 KS X 1001에 있던 한글 음절 2350자만이 포함되어 있었다. 이후에 4306자가 추가되어 유니코드 1.1에는 한글 음절가 6656자가 있었지만, 당시 한글 음절 영역인 U+3400~U+4DFF 뒤에는 곧바로 한자가 위치해 있어 나머지 한글 음절을 붙여 추가할 영역이 없었다. 이후, 1995년에 대한민국의 제안으로 유니코드의 한글 음절 영역이 U+AC00~U+D7A3으로 새로 배정되고, 음절 11172자가 가나다순으로 배열되었다.
유니코드 2.0 이후의 한글 음절의 명명 규칙은 "HANGUL SYLLABLE (초성)(중성)(종성)"의 형식이고, 초성, 중성, 종성의 세부적인 규칙은 아래와 같다.
| ㄱ | ㄲ | ㄴ | ㄷ | ㄸ | ㄹ | ㅁ | ㅂ | ㅃ | ㅅ | ㅆ | ㅇ | ㅈ | ㅉ | ㅊ | ㅋ | ㅌ | ㅍ | ㅎ |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| G | GG | N | D | DD | R | M | B | BB | S | SS | (없음) | J | JJ | C | K | T | P | H |
| ㅏ | ㅐ | ㅑ | ㅒ | ㅓ | ㅔ | ㅕ | ㅖ | ㅗ | ㅘ | ㅙ | ㅚ | ㅛ | ㅜ | ㅝ | ㅞ | ㅟ | ㅠ | ㅡ | ㅢ | ㅣ |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| A | AE | YA | YAE | EO | E | YEO | YE | O | WA | WAE | OE | YO | U | WEO | WE | WI | YU | EU | YI | I |
| ㄱ | ㄲ | ㄳ | ㄴ | ㄵ | ㄶ | ㄷ | ㄹ | ㄺ | ㄻ | ㄼ | ㄽ | ㄾ | ㄿ | ㅀ | ㅁ | ㅂ | ㅄ | ㅅ | ㅆ | ㅇ | ㅈ | ㅊ | ㅋ | ㅌ | ㅍ | ㅎ |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| G | GG | GS | N | NJ | NH | D | L | LG | LM | LB | LS | LT | LP | LH | M | B | BS | S | SS | NG | J | C | K | T | P | H |
이 규칙에 따르면, 퓛은 Hangul Syllable PWILH과 같이 표현된다.
유니코드에서 한글 음절을 인코딩하는 것은 코드 포인트의 재구성에 의해 복잡해졌다.
* 유니코드 버전 1.0.0은 U+3400–U+3D2D에서 KS C 5601-1987의 현대 한국어 한글 음절 2,350자를 인코딩했다. 이 범위는 현재 CJK 통합 표의 문자 확장 A의 일부이다.
* 버전 1.1에서는 KS C 5657-1991에서 1,930개의 추가 현대 음절을 U+3D2E–U+44B7에, GB 12052-89에서 6개의 현대 음절을 U+44B8–U+44BD에, U+44BE–U+4DFF에 위에 언급된 세 가지 집합에 없는 처음 2,370개의 음절을 추가했다. 이것들은 집합적으로 현재 CJK 통합 표의 문자 확장 A의 나머지 부분과 현재 역경 괘 상징의 전부를 포함한다.
* 또한, 유니코드 1.1에는 세 가지 오류가 있었다.
U+384E: 유니코드 문자 데이터베이스에서는 삤이지만, 유니코드 1.0 및 ISO/IEC 10646-1:1993 코드 차트 및 소스 표준 매핑에 따르면 삣이다.
U+40BC: 유니코드 문자 데이터베이스에서는 삣이지만, ISO/IEC 10646-1:1993 코드 차트 및 소스 표준 매핑에 따르면 삤이다.
** U+436C: 유니코드 문자 데이터베이스에서는 콫이지만, ISO/IEC 10646-1:1993 코드 차트 및 소스 표준 매핑에 따르면 콪이다.
* 버전 2.0에서는 KS C 5601-1992에서 나머지 4,516개의 가능한 음절을 추가하고 모든 인코딩된 음절을 현재의 U+AC00–U+D7AF 범위로 재정렬하여 알고리즘 방식으로 개별 자모로 분해할 수 있게 했다.
IETF RFC 2279에서는 이처럼 호환되지 않는 중요한 변경이 한국어에 유니코드를 사용하는 데이터나 소프트웨어가 존재하지 않는다는 가정하에 이루어졌다고 설명한다.
그러한 호환되지 않는 변경을 허용한 공식적인 정당성은 한글을 포함하는 구현과 데이터가 존재하지 않는다는 것이었는데, 이는 사실일 가능성이 높지만 입증할 수 없는 진술입니다. 이 사건은 "한국어 혼란"이라고 불리며, 관련 위원회는 다시는 그러한 호환되지 않는 변경을 절대 하지 않겠다고 약속했습니다. — IETF RFC 2279
이후, 유니코드는 "문자가 인코딩되면 이동하거나 제거되지 않습니다"라고 명시하는 인코딩 안정성 정책을 채택했다.
다음은 한글 음절 블록에서 특정 문자를 정의하는 목적과 과정을 기록한 유니코드 관련 문서이다.
| 버전 | 최종 코드 포인트 | 개수 | UTC ID | L2 ID | WG2 ID | 문서 |
|---|---|---|---|---|---|---|
| 2.0 | U+AC00..D7A3 | 11,172 | https://web.archive.org/web/20200215052615/http://std.dkuug.dk/jtc1/sc2/wg2/docs/n0767.doc N767 | 1991년 10월 WG2-파리 회의 비확정 의사록 | ||
| X3L2/93-078 | N848 | 수정된 한국어 위치 | ||||
| https://www.unicode.org/L2/L1994-UTC/Discussion-on-Korean.TXT UTC/1994-xxx | 유니코드 기술 위원회 회의 #62: 한국어 한글 제안에 대한 토론 | |||||
| X3L2/95-031 | N1158 | 한글 문자를 추가하기 위한 한국 국가 입장 | ||||
| N1170 | 한글 문자를 추가하기 위한 N 1158의 한국어 제안에 대한 캐나다 입장 | |||||
| https://www.unicode.org/L2/L1995-UTC/UTC64-Closed-Caucus-Minutes.txt UTC/1995-021B | 비공개 코커스 회의록, UTC #64 | |||||
| N1198 | 한글에 대한 pDAM을 10646에 대한 작업 초안 | |||||
| X3L2/95-053.1 | N1199 | 한국어 코딩 배경 | ||||
| https://web.archive.org/web/20200215052615/http://std.dkuug.dk/jtc1/sc2/wg2/docs/n1203.txt N1203 | SC2/WG2 회의 27, 제네바의 비확정 의사록 | |||||
| X3L2/95-053 | N1209 | ISO/IEC 10646-1에 대한 PDAM 5: 한글 문자 집합 | ||||
| https://www.unicode.org/L2/L1995-UTC/UTC65-Minutes.TXT UTC/1995-xxx | 유니코드 기술 위원회 회의 #65, 의사록 | |||||
| X3L2/95-090 | [[https://web.archive.org/web/20200215052615/http://std.dkuug.dk/jtc1/sc2/wg2/docs/n1253.doc N1253 (doc],] [[https://web.archive.org/web/20200215052615/http://std.dkuug.dk/jtc1/sc2/wg2/docs/n1253.txt txt])] || 핀란드 헬싱키에서 열린 WG 2 회의 # 28 비확정 의사록; 1995-06-26--27 | |||||
| N1285 | 한글 음절 문자 이름 생성 알고리즘 | |||||
| [[https://web.archive.org/web/20200215052615/http://std.dkuug.dk/jtc1/sc2/wg2/docs/n1303d.html N1303 (html],] [[https://web.archive.org/web/20200215052615/http://std.dkuug.dk/jtc1/sc2/wg2/docs/n1303.doc doc])] || 회의 29, 도쿄 의사록 | ||||||
| N1331 | JTC1에 대한 DAM 5 (한글) | |||||
| N1332 | BMP 개정 레이아웃 (DAM 5 다이어그램 첨부) | |||||
| N1391 | 한글 음절 이름 알고리즘, 단순화 | |||||
| https://web.archive.org/web/20200215052615/http://std.dkuug.dk/jtc1/sc2/wg2/docs/n1353.doc N1353 | WG2 코펜하겐 회의 # 30의 초안 의사록 | |||||
| N1537 | 수정 5 - 한글에 대한 회신 및 피드백 테이블 | |||||
| L2/97-125 | N1561 | ISO/IEC 10646-1에 대한 DAM No. 5에 대한 JTC1 서면 투표에 대한 초안 보고서 (한글) | ||||
| N1570 | DAM 5 - 한글의 거의 최종 텍스트 (2-5 및 182페이지만) | |||||
| L2/97-288 | https://web.archive.org/web/20200215052615/http://std.dkuug.dk/jtc1/sc2/wg2/docs/n1603.doc N1603 | 비확정 회의록, WG 2 회의 # 33, 그리스 헤라클리온, 1997년 6월 20일 – 7월 4일 | ||||
| [[https://www.unicode.org/wg2/docs/n1806.pdf N1806 (pdf],] [[https://www.unicode.org/wg2/docs/n1806w97.doc doc])] || AMD 5 - 편집자의 응답과 함께 한글 음절에 대한 결함 보고서 | ||||||
| https://www.unicode.org/L2/L1999/n1942.pdf L2/99-022 | https://www.unicode.org/wg2/docs/n1942w97.doc N1942 | ISO/IEC 10646 2판에 제안된 한글 음절 이름 규칙 | ||||
| https://www.unicode.org/L2/L1999/n1903.rtf L2/99-010 | [[https://www.unicode.org/wg2/docs/n1903.pdf N1903 (pdf],] [[https://www.unicode.org/wg2/docs/n1903.htm html],] [[https://www.unicode.org/wg2/docs/n1903w97.doc doc])] || WG 2 회의 35, 영국 런던 의사록; 1998-09-21--25 | |||||
| https://www.unicode.org/L2/L1999/02n3306.pdf L2/99-114 | https://web.archive.org/web/20200215052615/http://std.dkuug.dk/jtc1/sc2/wg2/docs/n2018.pdf N2018 | ISO/IEC 10646-1: 1993에 대한 초안 기술 정정 3호 | ||||
| https://www.unicode.org/L2/L1999/N2003.pdf L2/99-232 | https://www.unicode.org/wg2/docs/n2003.pdf N2003 | WG 2 회의 36, 일본 후쿠오카 의사록, 1999-03-09--15 | ||||
| https://www.unicode.org/L2/L1999/99297-02n3358.htm L2/99-297 | https://www.unicode.org/wg2/docs/n2119.htm N2119 | SC 2 N 3306에 대한 의견 보고서, ISO/IEC 10646-1: 1993에 대한 초안 기술 정정 3호 | ||||
| https://www.unicode.org/L2/L1999/99298-02n3359.pdf L2/99-298 | https://web.archive.org/web/20200215052615/http://std.dkuug.dk/jtc1/sc2/wg2/docs/n2120.pdf N2120 | ISO/IEC 10646-1: 1993에 대한 기술 정정 3호에 대한 최종 텍스트 | ||||
| https://www.unicode.org/L2/L2003/03100-hangul-map-errors.pdf L2/03-100 | 한글 매핑 오류 | |||||
| https://www.unicode.org/L2/L2002/02463-n2564-3-way-tables-.pdf L2/02-463 | https://www.unicode.org/wg2/docs/n2564.pdf N2564 | 3방향 교차 참조 표 - KS X 1001, KPS 9566, 및 UCS | ||||
| https://www.unicode.org/L2/L2004/04392-hangul.html L2/04-392 | 유니코드 1 한글 매핑 오류 | |||||
| https://www.unicode.org/L2/L2004/04361.htm L2/04-361 | UTC #101 의사록 | |||||
| https://www.unicode.org/L2/L2017/17080-three-hangul-syl.pdf L2/17-080 | 유니코드 2.0 이전의 세 가지 현대 한글 음절에 대한 정보 문서 | |||||
6.4. 인코딩 안정성 정책
유니코드는 "문자가 인코딩되면 이동하거나 제거되지 않습니다"라고 명시하는 인코딩 안정성 정책을 채택했다.
초기 유니코드에는 KS X 1001에 있던 한글 음절 2350자만이 포함되어 있었다. 이후 4306자가 추가되어 유니코드 1.1에는 한글 음절이 6656자였지만, 당시 한글 음절 영역인 U+3400~U+4DFF 뒤에는 곧바로 한중일 통합 한자가 위치해 있어 나머지 한글 음절을 붙여 추가할 영역이 없었다. 이후, 1995년에 대한민국의 제안으로 유니코드의 한글 음절 영역이 U+AC00~U+D7A3으로 새로 배정되고, 음절 11172자가 가나다순으로 배열되었다.
유니코드 2.0 이후의 한글 음절의 명명 규칙은 "HANGUL SYLLABLE (초성)(중성)(종성)"의 형식이고, 초성, 중성, 종성의 세부적인 규칙은 아래와 같다.
; 초성
| ㄱ | ㄲ | ㄴ | ㄷ | ㄸ | ㄹ | ㅁ | ㅂ | ㅃ | ㅅ | ㅆ | ㅇ | ㅈ | ㅉ | ㅊ | ㅋ | ㅌ | ㅍ | ㅎ |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| G | GG | N | D | DD | R | M | B | BB | S | SS | (없음) | J | JJ | C | K | T | P | H |
; 중성
| ㅏ | ㅐ | ㅑ | ㅒ | ㅓ | ㅔ | ㅕ | ㅖ | ㅗ | ㅘ | ㅙ | ㅚ | ㅛ | ㅜ | ㅝ | ㅞ | ㅟ | ㅠ | ㅡ | ㅢ | ㅣ |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| A | AE | YA | YAE | EO | E | YEO | YE | O | WA | WAE | OE | YO | U | WEO | WE | WI | YU | EU | YI | I |
; 종성
| ㄱ | ㄲ | ㄳ | ㄴ | ㄵ | ㄶ | ㄷ | ㄹ | ㄺ | ㄻ | ㄼ | ㄽ | ㄾ | ㄿ | ㅀ | ㅁ | ㅂ | ㅄ | ㅅ | ㅆ | ㅇ | ㅈ | ㅊ | ㅋ | ㅌ | ㅍ | ㅎ |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| G | GG | GS | N | NJ | NH | D | L | LG | LM | LB | LS | LT | LP | LH | M | B | BS | S | SS | NG | J | C | K | T | P | H |
이 규칙에 따르면, 퓛은 Hangul Syllable PWILH과 같이 표현된다.
7. 유니코드 관련 문서
초기 유니코드에는 KS X 1001에 있던 한글 음절 2350자만이 포함되어 있었다. 이후에 4306자가 추가되어 유니코드 1.1에는 한글 음절가 6656자가 있었지만, 당시 한글 음절 영역인 U+3400~U+4DFF 뒤에는 곧바로 한자가 위치해 있어 나머지 한글 음절을 붙여 추가할 영역이 없었다. 이후, 1995년에 대한민국의 주도로 유니코드의 한글 음절 영역이 U+AC00~U+D7A3으로 새로 배정되고, 음절 11172자가 가나다순으로 배열되었다.
유니코드 2.0 이후의 한글 음절의 명명 규칙은 "HANGUL SYLLABLE (초성)(중성)(종성)"의 형식이고, 초성, 중성, 종성의 세부적인 규칙은 아래와 같다.
; 초성
| ㄱ | ㄲ | ㄴ | ㄷ | ㄸ | ㄹ | ㅁ | ㅂ | ㅃ | ㅅ | ㅆ | ㅇ | ㅈ | ㅉ | ㅊ | ㅋ | ㅌ | ㅍ | ㅎ |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| G | GG | N | D | DD | R | M | B | BB | S | SS | (없음) | J | JJ | C | K | T | P | H |
; 중성
| ㅏ | ㅐ | ㅑ | ㅒ | ㅓ | ㅔ | ㅕ | ㅖ | ㅗ | ㅘ | ㅙ | ㅚ | ㅛ | ㅜ | ㅝ | ㅞ | ㅟ | ㅠ | ㅡ | ㅢ | ㅣ |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| A | AE | YA | YAE | EO | E | YEO | YE | O | WA | WAE | OE | YO | U | WEO | WE | WI | YU | EU | YI | I |
; 종성
| ㄱ | ㄲ | ㄳ | ㄴ | ㄵ | ㄶ | ㄷ | ㄹ | ㄺ | ㄻ | ㄼ | ㄽ | ㄾ | ㄿ | ㅀ | ㅁ | ㅂ | ㅄ | ㅅ | ㅆ | ㅇ | ㅈ | ㅊ | ㅋ | ㅌ | ㅍ | ㅎ |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| G | GG | GS | N | NJ | NH | D | L | LG | LM | LB | LS | LT | LP | LH | M | B | BS | S | SS | NG | J | C | K | T | P | H |
이 규칙에 따르면, U+D4DB은 "Hangul Syllable PWILH"과 같이 표현된다.