MOCT · 2000
Ministry of Culture and Tourism Korean Romanization System (2000)
moct-kor-Hang-Latn-2000 Generation of Jamo from Hangul This is how the Hangul-to-Jamo maps are generated. Please refer to this page for details about Korean text handling in Unicode. http://gernot-katzers-spice-pages.com/var/korean_hangul_unicode.html This formula copied from the page above is used: [stem] ==== tail = mod (Hangul codepoint − 44032, 28) vowel = 1 + mod (Hangul codepoint − 44032 − tail, 588) / 28 lead = 1 + int [ (Hangul codepoint − 44032)/588 ] ==== [source,python] ---- import pandas as pd import re import math leadjamo = [chr(0x1100+i) for i in range(0,19)] # ᄀᄁᄂᄃᄄᄅᄆᄇᄈᄉᄊᄋᄌᄍᄎᄏᄐᄑᄒ voweljamo = [chr(0x1161+i) for i in range(0,21)] # ᅡᅢᅣᅤᅥᅦᅧᅨᅩᅪᅫᅬᅭᅮᅯᅰᅱᅲᅳᅴᅵ tailjamo = ['']+[chr(0x11A8+i) for i in range(0,27)] # ᆨᆩᆪᆫᆬᆭᆮᆯᆰᆱᆲᆳᆴᆵᆶᆷᆸᆹᆺᆻᆼᆽᆾᆿᇀᇁᇂ hanguls = [chr(i) for i in range(44032,55204)] tails = [tailjamo[(i-44032) % 28] for i in range(44032,55204)] vowels = [voweljamo[((i-44032-((i-44032) % 28)) % 588) // 28] for i in range(44032,55204)] leads = [leadjamo[math.floor((i-44032)// 588)] for i in range(44032,55204)] kr_df = pd.DataFrame({'Hangul':hanguls, 'Lead':leads,'Vowel':vowels, 'Tail':tails}) ---- Hangul Lead Vowel Tail 0 가 ᄀ ᅡ 1 각 ᄀ ᅡ ᆨ 2 갂 ᄀ ᅡ ᆩ 3 갃 ᄀ ᅡ ᆪ 4 간 ᄀ ᅡ ᆫ 5 갅 ᄀ ᅡ ᆬ 6 갆 ᄀ ᅡ ᆭ 7 갇 ᄀ ᅡ ᆮ 8 갈 ᄀ ᅡ ᆯ 9 갉 ᄀ ᅡ ᆰ
Live preview
Try this system.
Type any text in Hang to see the Latn output.
Backed by interscript-ts running in your browser.
Reference vector
What the map should produce.
This vector is checked into git and verified by the Ruby test suite.
Source (Hang)
불국사
Expected (Latn)
Bulguksa
Rule chart
Every rule of this map.
Parsed live from the map's ISC source. Stages and parallel/
sequence groups expand; each row is one transformation — pattern,
replacement, and the conditions it applies under.
Source
Read the map definition.
Every Interscript map is a human-readable ISC file checked into the interscript/maps repo.