정보기술 - 국제문자부호계(UCS) - 한글 - 제1부 : 정보교환용 한글 처리지침
Information Technology - Universal Multiple-Octect Coded Character Set(UCS) - Hangul - Part1 : Hangul processing guide for information interchange
KS X 1026-1:2007
1. 적용범위 |
2. 인용규격 |
3. 용어와 정의 |
3.1 정보교환 (Information Interchange) |
3.2 문자 (Character) |
3.3 한글 낱자 (Hangul Jamo) |
3.4 한글 글자마디 (Hangul Syllable) |
3.5 현대한글 (Modern Hangul) |
3.6 옛한글(Old Hangul) |
3.7 정규화(Normalization) |
4. 한글 문자의 종류 |
4.1 조합 한글 낱자 |
4.2 호환 한글 낱자 |
4.3 반각 한글 낱자 |
4.4 완성형 한글 글자마디 |
4.5 조합형 한글 글자마디 |
4.6 못 갖춘 글자마디 |
1) | 첫소리 글자뿐일 때 |
2) | 가운뎃소리 글자뿐일 때 |
3) | 끝소리 글자뿐일 때 |
4) | 가운뎃소리 글자와 끝소리 글자 뿐일 때 |
비고 | 첫소리 글자와 끝소리 글자만의 조합은 허용하지 않는다. |
4.7 방점 |
4.8 한글 포함 기호 |
5. 한글 표현 형식 |
5.1 한글 낱자의 표현 |
1) | 첫소리 글자의 표현:L VF |
2) | 가운뎃소리 글자의 표현:LF V |
3) | 끝소리 글자의 표현:LF VF T |
5.2 현대한글 글자마디의 표현 |
5.3 옛한글 글자마디의 표현 |
1) | 첫소리와 가운뎃소리로 이루어진 글자:L V |
2) | 첫소리, 가운뎃소리, 끝소리로 이루어진 글자:L V T |
3) | 가운뎃소리, 끝소리로 이루어진 글자:LF V T |
1) | 한글 낱자의 표현 규칙에서와 마찬가지로 낱자 여러 개를 이용하여 겹글자를 표기하는 것은 금지된다. |
2) | 완성형 한글 글자마디와 조합 한글 낱자를 다시 조합하여 한글 글자마디를 표기하는 것은 금지된다. |
3) | 현대한글의 표현은 완성형 한글 글자마디로 표기하여야 하며, 조합형 한글 글자마디로 표기하는 것은 금지된다. |
5.4 방점의 표현 |
1) | 현대한글에 방점을 적용:S M? |
2) | 옛한글에 방점을 적용:L V T? M? |
6. 한글의 정규화 |
6.1 한글 코드의 정규화 |
6.2 호환 한글 낱자와 반각 한글 낱자의 정규화 |
6.3 한글 포함 기호의 정규화 |
6.4 한글 글자마디의 정규화 |
7. 한글 글자마디 분리 |
7.1 글자마디 분리 |
7.2 현대한글 글자마디, 한글 낱자 분리 규칙 |
7.3 옛한글 글자마디 분리 규칙 |
1) | L×V :연달아 나오는 첫소리 글자와 가운뎃소리 글자는 분리하지 않는다. |
2) | L V×T :연달아 나오는 첫소리, 가운뎃소리, 끝소리 글자는 분리하지 않는다. |
3) | V×T :연달아 나오는 가운뎃소리 글자와 끝소리 글자는 분리하지 않는다. |
7.4 글자마디 분리 규칙의 정리 |
Other | Extend | L | V | T | S | |
Other | ÷ | × | ÷ | ÷ | ÷ | ÷ |
Extend | ÷ | × | ÷ | ÷ | ÷ | ÷ |
L | ÷ | × | ÷ | × | ÷ | ÷ |
V | ÷ | × | ÷ | ÷ | × | ÷ |
T | ÷ | × | ÷ | ÷ | ÷ | ÷ |
S | ÷ | × | ÷ | ÷ | ÷ | ÷ |
번호 | 문자열 | 분리된 문자열(채움문자 적용 전) | |
1 | LVTLVLVLVFLFVLFVFT | ⇒ | LVTㆍLVㆍLVㆍLVFㆍLFVㆍLFVFT |
2 | LLTTVVTTVVLLVV | ⇒ | LㆍLㆍTㆍTㆍVㆍVTㆍTㆍVㆍVㆍLㆍLVㆍV |
3 | LLVFLFVFTTLFVVTTLFVVLLVV | ⇒ | LㆍLVFㆍLFVFTㆍTㆍLFVㆍVTㆍTㆍLFVㆍVㆍLㆍLVㆍV |
7.5 문자열의 글자마디 경계에서 해당 글자마디 가져오기 |
1) | 현재 글자가 현대한글 글자마디(S)이면 S를 가져온다. |
2) | 현재 글자가 첫소리 낱자(L)이면, 다음 글자를 탐색한다. |
i) | bsp; i) 그 다음 글자가 끝소리 낱자(T)이면, LVT를 가져온다. |
3) | 현재 글자가 가운뎃소리 낱자(V)이면, 다음 글자를 탐색한다. |
4) | 현재 글자가 끝소리 글자이면, T를 가져온다. |
5) | 현재 글자가 다른 글자이면 해당 글자를 가져온다. |
7.6 한글 문자열의 순방향 글자마디 경계 탐색 |
1) | 현재 글자가 첫소리 낱자(L)이면, 다음 글자를 탐색한다. |
i) | bsp; i) 그 다음 글자가 끝소리 낱자(T)이면, 그 다음 글자부터 경계로 한다. |
2) | 현재 글자가 가운뎃소리 낱자(V)이면, 다음 글자를 탐색한다. |
3) | 현재 글자가 다른 글자이면 그 다음 글자부터 경계로 한다. |
7.7 한글 문자열의 역방향 글자마디 경계 탐색 |
1) | 시작 위치 앞자리의 글자를 가져오고, 해당 글자를 현재 글자로 삼는다. |
2) | 현재 글자가 끝소리 낱자(T)이면, 이전 글자를 탐색한다. |
i) | bsp; i) 그 이전 글자가 첫소리 낱자(L)이면, 그 글자부터 경계로 한다. |
3) | 현재 글자가 가운뎃소리 낱자(V)이면, 이전 글자를 탐색한다. |
4) | 현재 글자가 다른 글자이면 현재 글자부터 경계로 한다. |
7.8 한글 표현 형식을 따르지 않은 글자마디의 처리 |
1) | L ⇒ L VF |
2) | V ⇒ LF V |
3) | V T ⇒ LF V T |
4) | T ⇒ LF VF T |
번호 | 문자열(채움문자 적용 전) | 변환된 문자열(채움문자 적용) | |
1 | LVTㆍLVㆍLVㆍLVFㆍLFVㆍLFVFT | ⇒ | LVTㆍLVㆍLVㆍLVFㆍLFVㆍLFVFT |
2 | LㆍLㆍTㆍTㆍVㆍVTㆍTㆍVㆍVㆍLㆍLVㆍV | ⇒ | LVFㆍLVFㆍLFVFTㆍLFVFTㆍLFVㆍLFVTㆍLFVFTㆍLFVㆍLFVㆍLVFㆍLVㆍLFV |
3 | LㆍLVFㆍLFVFTㆍTㆍLFVㆍVTㆍTㆍLFVㆍVㆍLㆍLVㆍV | ⇒ | LVFㆍLVFㆍLFVFTㆍLFVFTㆍLFVㆍLFVTㆍLFVFTㆍLFVㆍLFVㆍLVFㆍLVㆍLFV |
8. 한글 글자의 정렬 |
8.1 한글 낱자의 순서와 이름 |
1) | 닿소리 낱자의 순서와 이름 |
2) | 홀소리 낱자의 순서와 이름 |
8.2 바뀐 한글 낱자의 순서와 이름 |
8.3 한글 낱자와 한글 글자마디의 정렬 순서 |
1) | 한글 낱자와 현대한글 글자마디만을 사용한 예 |
2) | 한글 낱자와 옛한글을 포함한 모든 글자마디를 사용한 예 |
8.4 여러 종류의 한글 낱자와 한글 글자마디의 정렬 순서 |
1) | 조합 한글 첫소리 낱자:U+1100 ᄀ 한글 첫소리 낱자 기역 |
2) | 조합 한글 끝소리 낱자:U+11A8 ᆨ 한글 끝소리 낱자 기역 |
3) | 반각 한글 닿소리 낱자:U+FFA1 ㄱ 반각 한글 낱자 기역 |
4) | 호환 한글 닿소리 낱자:U+3131 ㄱ 호환 한글 낱자 기역 |
5) | 괄호 안 한글 닿소리 낱자:U+3200 ㈀ 괄호 안 한글 낱자 기역 |
6) | 동그라미 안 한글 닿소리 낱자:U+3260 ㉠ 동그라미 안 한글 낱자 기역 |
7) | 한글 글자마디:U+AC00 가 한글 글자마디 가 |
8) | 괄호 안 한글 글자마디:U+320E ㈎ 괄호 안 한글 글자마디 가 |
9) | 동그라미 안 한글 글자마디:U+326E ㉮ 동그라미 안 한글 글자마디 가 |
8.5 한글의 정렬 알고리즘 |
A.1 한글 낱자 표와 이름 |
A.1.1 조합 한글 낱자 표와 이름 |
1) | UCS의 한글 낱자(Hangul Jamo) 영역인 U+1100∼U+11FF에 배치된 한글 낱자는 표 A.1과 같다. |
2) | UCS의 한글 확장 자모 A(Hangul Jamo Exteded A) 영역인 U+A960∼U+A97F에 배치된 한글 낱자는 표 A.2와 같다. |
3) | UCS의 한글 자모 확장 B(Hangul Jamo Extended-B) 영역인 U+D7B0∼U+D7FF에 배치된 한글 낱자는 표 A.2와 같다. |
A.1.2 호환 한글 낱자와 반각 한글 낱자 |
1) | UCS의 한글 호환 자모(Hangul Compatibility Jamo) 영역인 U+3131∼U+318E에 배치된 한글 낱자는 표 A.3과 같다. |
2) | UCS의 괄호 안 문자와 동그라미 안 문자(Enclosed CJK Letters and Months) 영역인 U+3200∼U+32FF에 배치된 괄호 안 한글 낱자와 글자마디, 동그라미 안 한글 낱자와 글자마디는 표 A.3과 같다. |
3) | UCS의 반각 한글 낱자(Halfwidth Hangul Letter) 영역인 U+FFA0∼U+FFDC에 배치된 한글 낱자는 표 A.3과 같다. |
B.1 한글 글자마디의 정규화 |
B.1.1 일반 상수(Common Constants) |
B.1.2 일반 함수(Common Functions) |
B.1.3 한글 분해(Hangul Decomposition) |
B.1.4 한글 조립(Hangul Composition) |
B.1.5 한글 재조립(Hangul Recomposition) |
B.2 한글 낱자 및 한글 기호의 정규화(Hangul Jamo Normalize) |
B.2.1 호환 한글 낱자의 변환 |
B.2.2 반각 한글 낱자의 변환 |
B.2.3 괄호 안 한글 낱자, 동그라미 안 한글 낱자의 변환 |
B.2.4 한글 낱자 및 한글 기호의 정규화(Hangul Jamo Normalize) |
C.1 한글 정렬의 전처리 |
C.1.1 호환 한글 낱자의 변환 |
C.1.2 반각 한글 낱자의 변환 |
0x1160, | 0x1100, | 0x1101, | 0x11AA, | 0x1102, | 0x11AC, | 0x11AD, | 0x1103, | 0x1104, | 0x1105, |
0x11B0, | 0x11B1, | 0x11B2, | 0x11B3, | 0x11B4, | 0x11B5, | 0x111A, | 0x1106, | 0x1107, | 0x1108, |
0x1121, | 0x1109, | 0x110A, | 0x110B, | 0x110C, | 0x110D, | 0x110E, | 0x110F, | 0x1110, | 0x1111, |
0x1112, | 0xFFBF, | 0xFFC0, | 0xFFC1, | 0x1161, | 0x1162, | 0x1163, | 0x1164, | 0x1165, | 0x1166, |
0xFFC8, | 0xFFC9, | 0x1167, | 0x1168, | 0x1169, | 0x116A, | 0x116B, | 0x116C, | 0xFFD0, | 0xFFD1, |
0x116D, | 0x116E, | 0x116F, | 0x1170, | 0x1171, | 0x1172, | 0xFFD8, | 0xFFD9, | 0x1173, | 0x1174, |
0x1175, | 0xFFDD, | 0xFFDE, | 0xFFDF, |
C.1.3 괄호 안 한글 낱자와 글자마디의 변환 |
0x1100, | 0x1102, | 0x1103, | 0x1105, | 0x1106, | 0x1107, | 0x1109, | 0x110B, | 0x110C, | 0x110E, |
0x110F, | 0x1110, | 0x1111, | 0x1112, | 0xAC00, | 0xB098, | 0xB2E4, | 0xB77C, | 0xB9C8, | 0xBC14, |
0xC0AC, | 0xC544, | 0xC790, | 0xCC28, | 0xCE74, | 0xD0C0, | 0xD30C, | 0xD558, | 0xC8FC, | 0x321D, |
0x321E, | 0x321F, |
C.1.4 동그라미 안 한글 낱자와 글자마디의 변환 |
0x1100, | 0x1102, | 0x1103, | 0x1105, | 0x1106, | 0x1107, | 0x1109, | 0x110B, | 0x110C, | 0x110E, |
0x110F, | 0x1110, | 0x1111, | 0x1112, | 0xAC00, | 0xB098, | 0xB2E4, | 0xB77C, | 0xB9C8, | 0xBC14, |
0xC0AC, | 0xC544, | 0xC790, | 0xCC28, | 0xCE74, | 0xD0C0, | 0xD30C, | 0xD558, | 0x327C, | 0x327D, |
0xCB60, | 0x326F, |
C.2 조합 한글 낱자의 순서 |
C.2.1 조합 한글 낱자의 순서 표 |
1) | UCS의 한글 자모 영역(Hangul Jamo)인 U+1100∼U+11FF, 한글 확장 자모 A 영역(Hangul Jamo Exteded A)인 U+A960∼U+A97F, 한글 자모 확장 B 영역(Hangul Jamo Extended-B)인 U+D7B0∼U+D7FF에 배치된 조합 한글 낱자에 대하여 닿소리의 순서는 표 C.2에 실려있다. 닿소리는 첫소리와 가운뎃소리 낱자를 자형에 따라 같이 배열하여 차례를 구하고 있다. |
2) | 같은 영역에 배치된 조합 한글 낱자에 대하여 홀소리의 순서는 표 C.3에 실려있다. |
C.2.2 조합 한글 낱자의 순서 테이블 |
C.3 한글 글자의 정렬 가중 값 |
C.3.1 가중 값의 구성 방법 |
1) | 조합형 한글 글자마디 혹은 완성형 한글 글자마디는 0을 가진다. |
2) | 한글 끝소리 낱자만 있는 경우에는 1을 가진다. |
3) | 반각 한글 낱자의 경우에는 2를 가진다. |
4) | 호환 한글 낱자의 경우에는 3을 가진다. |
5) | 괄호 안 한글 문자의 경우에는 4를 가진다. |
6) | 동그라미 안 한글 문자의 경우에는 5를 가진다. |
C.3.2 조합형 한글 글자마디의 정렬 가중 값 구하기 |
C.3.3 완성형 한글 글자마디와 기타 한글 낱자의 정렬 가중 값 구하기 |