Complex Scripts




1. Example(s) #

한글ᄒᆞᆫ글ᅟᅳᆯ
"ꥯᅡ
ꥯᅡᆫ
ꥠᅵ
ꥦᅩᆯ
ꥧᅳ
ꥼᅧᆼ"
가ᇫ, 오ᇢ, ᅌᅡ, ᄫᅥ, ᄒᆞᆫ, ᄒᆡ, ᄋힶ, ᄣᆞᆯ, ᅑᅡ

ᅑᅠᇯ〯ᄮᆡퟳ〮
ᅑ: An obsolete Middle Korean consonant (Consonant Cluster: ngieung-ieung / ᄋㅇ).
ᅠ: A Unicode character used as a filler (e.g., Hangul Jungseong Filler).
ᇯ: An obsolete Middle Korean final consonant or cluster (ieung-khieukh / ᆼᆿ).
.〯: A historical tone mark (Bangjeom) called the Hangul Double Dot Tone Mark (U+302F), used to indicate a rising tone.

데바나가리(देवनागरी, /d̪eːvəˈn̪ɑɡəˌɾi/)는 고대 인도에서 발달한 문자이다.
1111हिन्दी2222ᄒᆞᆫ글과12ᄒᆞᆫ글과컴퓨터123123

مرحبا بالعالم. كيف حالك؟
한글입니다.
This is English.
日本語です。
यह हिन्दी है।
مرحبا.
U.S.A. is a country.
It is large.
क्ष एक संयुक्ताक्षर है।
यह दूसरा वाक्य है।
Mr. × Smith arrived. ÷ He sat down.

2. Grapheme cluster #

예시: 데바나가리
हिन्दी
구성:
ह + ि
न् + द + ी
UAX #29 기준 grapheme cluster 분리:
हि | न्दी

3. UAX #29 테스트에 자주 쓰이는 극단적 예시 #

á
한
किं
👨‍👩‍👧‍👦
👩🏽‍💻
🇰🇷🇺🇸
🏴󠁧󠁢󠁳󠁣󠁴󠁿

가족 이모지 👨‍👩‍👧‍👦(22바이트), 👨🏼‍👩🏾‍👦🏻‍👧🏿(38바이트), 깃발이 자주 쓰인다. 특히 🏴󠁧󠁢󠁳󠁣󠁴󠁿(스코틀랜드 깃발; 28바이트)은 태그 문자(Tag Character)를 사용하여 구성되므로 코드 포인트 수가 매우 많지만 UAX #29에서는 하나의 grapheme cluster로 취급되는 대표적인 테스트 케이스.

코드 포인트 문자
U+1F3F4 🏴 (Black Flag)
U+E0067 TAG LATIN SMALL LETTER G
U+E0062 TAG LATIN SMALL LETTER B
U+E0073 TAG LATIN SMALL LETTER S
U+E0063 TAG LATIN SMALL LETTER C
U+E0074 TAG LATIN SMALL LETTER T
U+E007F CANCEL TAG

코드 포인트 개수: 7개
UTF-8 크기: 7 × 4 = 28바이트
UTF-16 크기: 각 코드 포인트가 보조 평면(SMP)이므로 surrogate pair(4바이트)를 사용하여 28바이트
UTF-32 크기: 7 × 4 = 28바이트

4. 관련 문서 #

UAX #29 Grapheme cluster(사용자가 인식하는 문자 단위)에 대한 정의
https://www.unicode.org/reports/tr29/



Show Comments