1# © 2016 and later: Unicode, Inc. and others. 2# License & terms of use: http://www.unicode.org/copyright.html 3# Generated using tools/cldr/cldr-to-icu/build-icu-data.xml 4# 5# File: Latin_ConjoiningJamo.txt 6# Generated from CLDR 7# 8 9# Follows the Ministry of Culture and Tourism romanization: see http://www.korea.net/korea/kor_loca.asp?code=A020303 10# http://www.unicode.org/cldr/transliteration_guidelines.html#Korean 11#- N.B. DO NOT put any filters, NFD, etc. here -- those are aliased in 12#- the INDEX file. This transliterator is, by itself, not 13#- instantiated. It is used as a part of Latin-Jamo, Latin-Hangul, or 14#- inverses thereof. 15# Transliteration from Latin characters to Korean script is done in 16# two steps: Latin to Jamo, then Jamo to Hangul. The Jamo-Hangul 17# transliteration is done algorithmically following Unicode 3.0 18# section 3.11. This file implements the Latin to Jamo 19# transliteration using rules. 20# Jamo occupy the block 1100-11FF. Within this block there are three 21# groups of characters: initial consonants or choseong (I), medial 22# vowels or jungseong (M), and trailing consonants or jongseong (F). 23# Standard Korean syllables are of the form I+M+F*. 24# Section 3.11 describes the use of 'filler' jamo to convert 25# nonstandard syllables to standard form: the choseong filler 115F and 26# the junseong filler 1160. In this transliterator, we will not use 27# 115F or 1160. 28# We will, however, insert two 'null' jamo to make foreign words 29# conform to Korean syllable structure. These are the null initial 30# consonant 110B (IEUNG) and the null vowel 1173 (EU). In Latin text, 31# we will use the separator in order to disambiguate strings, 32# e.g. "kan-ggan" (initial GG) vs. "kanggan" (final NG + initial G). 33# We will not use all of the characters in the jamo block. We will 34# only use the 19 initials, 21 medials, and 27 finals possessing a 35# jamo short name as defined in section 4.4 of the Unicode book. 36# Rules of thumb. These guidelines provide the basic framework 37# for the rules. They are phrased in terms of Latin-Jamo transliteration. 38# The Jamo-Latin rules derive from these, since the Jamo-Latin rules are 39# just context-free transliteration of jamo to corresponding short names, 40# with the addition of separators to maintain round-trip integrity 41# in the context of the Latin-Jamo rules. 42# A sequence of vowels: 43# - Take the longest sequence you can. If there are too many, or you don't 44# have a starting consonant, introduce a 110B necessary. 45# A sequence of consonants. 46# - First join the double consonants: G + G -→ GG 47# - In the remaining list, 48# -- If there is no preceding vowel, take the first consonant, and insert EU 49# after it. Continue with the rest of the consonants. 50# -- If there is one consonant, attach to the following vowel 51# -- If there are two consonants and a following vowel, attach one to the 52# preceeding vowel, and one to the following vowel. 53# -- If there are more than two consonants, join the first two together if you 54# can: L + G =→ LG 55# -- If you still end up with more than 2 consonants, insert EU after the 56# first one, and continue with the rest of the consonants. 57#---------------------------------------------------------------------- 58# Variables 59# Some latin consonants or consonant pairs only occur as initials, and 60# some only as finals, but some occur as both. This makes some jamo 61# consonants ambiguous when transliterated into latin. 62# Initial only: IEUNG BB DD JJ R 63# Final only: BS GS L LB LG LH LM LP LS LT NG NH NJ 64# Initial and Final: B C D G GG H J K M N P S SS T 65$Gi = ᄀ; 66$KKi = ᄁ; 67$Ni = ᄂ; 68$Di = ᄃ; 69$TTi = ᄄ; 70$Li = ᄅ; 71$Mi = ᄆ; 72$Bi = ᄇ; 73$PPi = ᄈ; 74$Si = ᄉ; 75$SSi = ᄊ; 76$IEUNG = ᄋ; # null initial, inserted during Latin-Jamo 77$Ji = ᄌ; 78$JJi = ᄍ; 79$CHi = ᄎ; 80$Ki = ᄏ; 81$Ti = ᄐ; 82$Pi = ᄑ; 83$Hi = ᄒ; 84$A = ᅡ; 85$AE = ᅢ; 86$YA = ᅣ; 87$YAE = ᅤ; 88$EO = ᅥ; 89$E = ᅦ; 90$YEO = ᅧ; 91$YE = ᅨ; 92$O = ᅩ; 93$WA = ᅪ; 94$WAE = ᅫ; 95$OE = ᅬ; 96$YO = ᅭ; 97$U = ᅮ; 98$WO = ᅯ; 99$WE = ᅰ; 100$WI = ᅱ; 101$YU = ᅲ; 102$EU = ᅳ; # null medial, inserted during Latin-Jamo 103$UI = ᅴ; 104$I = ᅵ; 105$Gf = ᆨ; 106$GGf = ᆩ; 107$GS = ᆪ; 108$Nf = ᆫ; 109$NJ = ᆬ; 110$NH = ᆭ; 111$Df = ᆮ; 112$L = ᆯ; 113$LG = ᆰ; 114$LM = ᆱ; 115$LB = ᆲ; 116$LS = ᆳ; 117$LT = ᆴ; 118$LP = ᆵ; 119$LH = ᆶ; 120$Mf = ᆷ; 121$Bf = ᆸ; 122$BS = ᆹ; 123$Sf = ᆺ; 124$SSf = ᆻ; 125$NG = ᆼ; 126$Jf = ᆽ; 127$Cf = ᆾ; 128$Kf = ᆿ; 129$Tf = ᇀ; 130$Pf = ᇁ; 131$Hf = ᇂ; 132$jamoInitial = [ᄀ-ᄒ]; 133$jamoMedial = [ᅡ-ᅵ]; 134$latinInitial = [bcdghjklmnprst]; 135# Any character in the latin transliteration of a medial 136$latinMedial = [aeiouwy]; 137# The last character of the latin transliteration of a medial 138$latinMedialEnd = [aeiou]; 139# Disambiguation separator 140$sep = \-; 141#---------------------------------------------------------------------- 142# Jamo-Latin 143# 144# Jamo to latin is relatively simple, since it is the latin that is 145# ambiguous. Most rules are straightforward, and we encode them below 146# as simple add-on back rule, e.g.: 147# $jamoMedial {bs} → $BS; 148# becomes 149# $jamoMedial {bs} ↔ $BS; 150# 151# Furthermore, we don't care about the ordering for Jamo-Latin because 152# we are going from single characters, so we can very easily piggyback 153# on the Latin-Jamo. 154# 155# The main issue with Jamo-Latin is when to insert separators. 156# Separators are inserted to obtain correct round trip behavior. For 157# example, the sequence Ki A Gf Gi E, if transliterated to "kagge", 158# would then round trip to Ki A GGi E. To prevent this, we insert a 159# separator: "kag-ge". IMPORTANT: The need for separators depends 160# very specifically on the behavior of the Latin-Jamo rules. A change 161# in the Latin-Jamo behavior can completely change the way the 162# separator insertion must be done. 163# First try to preserve actual separators in the jamo text by doubling 164# them. This fixes problems like: 165# (Di)(A)(Ji)(U)(NG)-(IEUNG)(YEO)(Nf)(Gi)(YEO)(L) =→ dajung-yeongyeol 166# =→ (Di)(A)(Ji)(U)(NG)(IEUNG)(YEO)(Nf)(Gi)(YEO)(L). This is optional 167# -- if we don't care about losing separators in the jamo, we can delete 168# this rule. 169$sep $sep ↔ $sep; 170# Triple consonants. For three consonants "axxx" we insert a 171# separator between the first and second "x" if XXf, Xf, and Xi all 172# exist, and we have A Xf XXi. This prevents the reverse 173# transliteration to A XXf Xi. 174$sep ← $latinMedialEnd s {} $SSi; 175# For vowels the rule is similar. If there is a vowel "ae" such that 176# "a" by itself and "e" by itself are vowels, then we want to map A E 177# to "a-e" so as not to round trip to AE. However, in the text Ki EO 178# IEUNG E we don't need to map to "keo-e". "keoe" suffices. For 179# vowels of the form "aei", both "ae" + "i" and "a" + "ei" must be 180# tested. NOTE: These rules used to have a left context of 181# $latinInitial instead of [^$latinMedial]. The problem with this is 182# sequences where an initial IEUNG is transliterated away: 183# (IEUNG)(A)(IEUNG)(EO) =→ aeo =→ (IEUNG)(AE)(IEUNG)(O) 184# Also problems in cases like gayeo, which needs to be gaye-o 185# The hard case is a chain, like aeoeu. Normally interpreted as ae oe u. So for a-eoeu, we have to insert $sep 186# But, we don't insert between the o and the e. 187# 188# a ae 189# e eo eu 190# i 191# o oe 192# u 193# ui 194# wa wae we wi 195# yae ya yeo ye yo yu 196# These are simple, since they can't chain. Note that we don't handle extreme cases like [ga][eo][e][o] 197$sep ← a {} [$E $EO $EU]; 198$sep ← [^aow] e {} [$O $OE]; 199$sep ← [^aowy] e {} [$U $UI]; 200$sep ← [^ey] o {} [$E $EO $EU]; 201$sep ← [^y] u {} [$I]; 202# Similar to the above, but with an intervening $IEUNG. 203$sep ← [^$latinMedial] [y] e {} $IEUNG [$O $OE]; 204$sep ← [^$latinMedial] e {} $IEUNG [$O $OE $U]; 205$sep ← [^$latinMedial] [o a] {} $IEUNG [$E $EO $EU]; 206$sep ← [^$latinMedial] [w y] a {} $IEUNG [$E $EO $EU]; 207# Single finals followed by IEUNG. The jamo sequence A Xf IEUNG E, 208# where Xi also exists, must be transliterated as "ax-e" to prevent 209# the round trip conversion to A Xi E. 210$sep ← $latinMedialEnd b {} $IEUNG $jamoMedial; 211$sep ← $latinMedialEnd d {} $IEUNG $jamoMedial; 212$sep ← $latinMedialEnd g {} $IEUNG $jamoMedial; 213$sep ← $latinMedialEnd h {} $IEUNG $jamoMedial; 214$sep ← $latinMedialEnd j {} $IEUNG $jamoMedial; 215$sep ← $latinMedialEnd k {} $IEUNG $jamoMedial; 216$sep ← $latinMedialEnd m {} $IEUNG $jamoMedial; 217$sep ← $latinMedialEnd n {} $IEUNG $jamoMedial; 218$sep ← $latinMedialEnd p {} $IEUNG $jamoMedial; 219$sep ← $latinMedialEnd s {} $IEUNG $jamoMedial; 220$sep ← $latinMedialEnd t {} $IEUNG $jamoMedial; 221$sep ← $latinMedialEnd l {} $IEUNG $jamoMedial; 222# Double finals followed by IEUNG. Similar to the single finals 223# followed by IEUNG. Any latin consonant pair X Y, between medials, 224# that we would split by Latin-Jamo, we must handle when it occurs as 225# part of A XYf IEUNG E, to prevent round trip conversion to A Xf Yi E 226$sep ← $latinMedialEnd b s {} $IEUNG $jamoMedial; 227$sep ← $latinMedialEnd k k {} $IEUNG $jamoMedial; 228$sep ← $latinMedialEnd g s {} $IEUNG $jamoMedial; 229$sep ← $latinMedialEnd l b {} $IEUNG $jamoMedial; 230$sep ← $latinMedialEnd l g {} $IEUNG $jamoMedial; 231$sep ← $latinMedialEnd l h {} $IEUNG $jamoMedial; 232$sep ← $latinMedialEnd l m {} $IEUNG $jamoMedial; 233$sep ← $latinMedialEnd l p {} $IEUNG $jamoMedial; 234$sep ← $latinMedialEnd l s {} $IEUNG $jamoMedial; 235$sep ← $latinMedialEnd l t {} $IEUNG $jamoMedial; 236$sep ← $latinMedialEnd n g {} $IEUNG $jamoMedial; 237$sep ← $latinMedialEnd n h {} $IEUNG $jamoMedial; 238$sep ← $latinMedialEnd n j {} $IEUNG $jamoMedial; 239$sep ← $latinMedialEnd s s {} $IEUNG $jamoMedial; 240$sep ← $latinMedialEnd ch {} $IEUNG $jamoMedial; 241# Split doubles. Text of the form A Xi Xf E, where XXi also occurs, 242# we transliterate as "ax-xe" to prevent round trip transliteration as 243# A XXi E. 244$sep ← $latinMedialEnd j {} $Ji $jamoMedial; 245$sep ← $latinMedialEnd k {} $Ki $jamoMedial; 246$sep ← $latinMedialEnd s {} $Si $jamoMedial; 247# XYY. This corresponds to the XYY rule in Latin-Jamo. By default 248# Latin-Jamo maps "xyy" to Xf YYi, to keep YY together. As a result, 249# "xyy" forms that correspond to XYf Yi must be transliterated as 250# "xy-y". 251$sep ← $latinMedialEnd b s {} [$Si $SSi]; 252$sep ← $latinMedialEnd g s {} [$Si $SSi]; 253$sep ← $latinMedialEnd l b {} [$Bi]; 254$sep ← $latinMedialEnd l g {} [$Gi]; 255$sep ← $latinMedialEnd l s {} [$Si $SSi]; 256$sep ← $latinMedialEnd n g {} [$Gi]; 257$sep ← $latinMedialEnd n j {} [$Ji $JJi]; 258# $sep ← $latinMedialEnd l {} [$PPi]; 259# $sep ← $latinMedialEnd l {} [$TTi]; 260$sep ← $latinMedialEnd l p {} [$Pi]; 261$sep ← $latinMedialEnd l t {} [$Ti]; 262$sep ← $latinMedialEnd k {} [$KKi $Ki]; 263$sep ← $latinMedialEnd p {} $Pi; 264$sep ← $latinMedialEnd t {} $Ti; 265$sep ← $latinMedialEnd c {} [$Hi]; 266# Deletion of IEUNG is handled below. 267#---------------------------------------------------------------------- 268# Latin-Jamo 269# [Basic, context-free Jamo-Latin rules are embedded here too. See 270# above.] 271# Split digraphs: Text of the form 'axye', where 'xy' is a final 272# digraph, 'x' is a final (by itself), 'y' is an initial, and 'a' and 273# 'e' are medials, we want to transliterate this as A Xf Yi E rather 274# than A XYf IEUNG E. We do NOT include text of the form "axxe", 275# since that is handled differently below. These rules are generated 276# programmatically from the jamo data. 277$jamoMedial {b s} $latinMedial → $Bf $Si; 278$jamoMedial {g s} $latinMedial → $Gf $Si; 279$jamoMedial {l b} $latinMedial → $L $Bi; 280$jamoMedial {l g} $latinMedial → $L $Gi; 281$jamoMedial {l h} $latinMedial → $L $Hi; 282$jamoMedial {l m} $latinMedial → $L $Mi; 283$jamoMedial {l p} $latinMedial → $L $Pi; 284$jamoMedial {l s} $latinMedial → $L $Si; 285$jamoMedial {l t} $latinMedial → $L $Ti; 286$jamoMedial {n g} $latinMedial → $Nf $Gi; 287$jamoMedial {n h} $latinMedial → $Nf $Hi; 288$jamoMedial {n j} $latinMedial → $Nf $Ji; 289# Single consonants are initials: Text of the form 'axe', where 'x' 290# can be an initial or a final, and 'a' and 'e' are medials, we want 291# to transliterate as A Xi E rather than A Xf IEUNG E. 292$jamoMedial {b} $latinMedial → $Bi; 293$jamoMedial {ch} $latinMedial → $CHi; 294$jamoMedial {d} $latinMedial → $Di; 295$jamoMedial {g} $latinMedial → $Gi; 296$jamoMedial {h} $latinMedial → $Hi; 297$jamoMedial {j} $latinMedial → $Ji; 298$jamoMedial {k} $latinMedial → $Ki; 299$jamoMedial {m} $latinMedial → $Mi; 300$jamoMedial {n} $latinMedial → $Ni; 301$jamoMedial {p} $latinMedial → $Pi; 302$jamoMedial {s} $latinMedial → $Si; 303$jamoMedial {t} $latinMedial → $Ti; 304$jamoMedial {l} $latinMedial → $Li; 305# Doubled initials. The sequence "axxe", where XX exists as an initial 306# (XXi), and also Xi and Xf exist (true of all digraphs XX), we want 307# to transliterate as A XXi E, rather than split to A Xf Xi E. 308$jamoMedial {p p} $latinMedial → $PPi; 309$jamoMedial {t t} $latinMedial → $TTi; 310$jamoMedial {j j} $latinMedial → $JJi; 311$jamoMedial {k k} $latinMedial → $KKi; 312$jamoMedial {s s} $latinMedial → $SSi; 313# XYY. Because doubled consonants bind more strongly than XY 314# consonants, we must handle the sequence "axyy" specially. Here XYf 315# and YYi must exist. In these cases, we map to Xf YYi rather than 316# XYf. 317# However, there are two special cases. 318$jamoMedial {lp} p p → $LP; 319$jamoMedial {lt} t t → $LT; 320# End special cases 321$jamoMedial {b} s s → $Bf; 322$jamoMedial {g} s s → $Gf; 323$jamoMedial {l} b b → $L; 324$jamoMedial {l} g g → $L; 325$jamoMedial {l} s s → $L; 326$jamoMedial {l} t t → $L; 327$jamoMedial {l} p p → $L; 328$jamoMedial {n} g g → $Nf; 329$jamoMedial {n} j j → $Nf; 330# Finals: Attach consonant with preceding medial to preceding medial. 331# Do this BEFORE mapping consonants to initials. Longer keys must 332# precede shorter keys that they start with, e.g., the rule for 'bs' 333# must precede 'b'. 334# [BASIC Jamo-Latin FINALS handled here. Order irrelevant within this 335# block for Jamo-Latin.] 336$jamoMedial {bs} ↔ $BS; 337$jamoMedial {b} ↔ $Bf; 338$jamoMedial {ch} ↔ $Cf; 339$jamoMedial {c} → $Cf; 340$jamoMedial {d} ↔ $Df; 341$jamoMedial {kk} ↔ $GGf; 342$jamoMedial {gs} ↔ $GS; 343$jamoMedial {g} ↔ $Gf; 344$jamoMedial {h} ↔ $Hf; 345$jamoMedial {j} ↔ $Jf; 346$jamoMedial {k} ↔ $Kf; 347$jamoMedial {lb} ↔ $LB; $jamoMedial {lg} ↔ $LG; 348$jamoMedial {lh} ↔ $LH; 349$jamoMedial {lm} ↔ $LM; 350$jamoMedial {lp} ↔ $LP; 351$jamoMedial {ls} ↔ $LS; 352$jamoMedial {lt} ↔ $LT; 353$jamoMedial {l} ↔ $L; 354$jamoMedial {m} ↔ $Mf; 355$jamoMedial {ng} ↔ $NG; 356$jamoMedial {nh} ↔ $NH; 357$jamoMedial {nj} ↔ $NJ; 358$jamoMedial {n} ↔ $Nf; 359$jamoMedial {p} ↔ $Pf; 360$jamoMedial {ss} ↔ $SSf; 361$jamoMedial {s} ↔ $Sf; 362$jamoMedial {t} ↔ $Tf; 363# Initials: Attach single consonant to following medial. Do this 364# AFTER mapping finals. Longer keys must precede shorter keys that 365# they start with, e.g., the rule for 'gg' must precede 'g'. 366# [BASIC Jamo-Latin INITIALS handled here. Order irrelevant within 367# this block for Jamo-Latin.] 368{kk} $latinMedial ↔ $KKi; 369{g} $latinMedial ↔ $Gi; 370{n} $latinMedial ↔ $Ni; 371{tt} $latinMedial ↔ $TTi; 372{d} $latinMedial ↔ $Di; 373{l} $latinMedial ↔ $Li; 374{m} $latinMedial ↔ $Mi; 375{pp} $latinMedial ↔ $PPi; 376{b} $latinMedial ↔ $Bi; 377{ss} $latinMedial ↔ $SSi; 378{s} $latinMedial ↔ $Si; 379{jj} $latinMedial ↔ $JJi; 380{j} $latinMedial ↔ $Ji; 381{ch} $latinMedial ↔ $CHi; 382{c} $latinMedial → $CHi; 383{k} $latinMedial ↔ $Ki; 384{t} $latinMedial ↔ $Ti; 385{p} $latinMedial ↔ $Pi; 386{h} $latinMedial ↔ $Hi; 387# 'r' in final position. Because of the equivalency of the 'l' and 388# 'r' jamo (the glyphs are the same), we try to provide the same 389# equivalency in Latin-Jamo. The 'l' to 'r' conversion is handled 390# below. If we see an 'r' in an apparent final position, treat it 391# like 'l'. For example, "karka" =→ Ki A R EU Ki A without this rule. 392# Instead, we want Ki A L Ki A. 393# Initial + Final: If we match the next rule, we have initial then 394# final consonant with no intervening medial. We insert the null 395# vowel BEFORE it to create a well-formed syllable. (In the next rule 396# we insert a null vowel AFTER an anomalous initial.) 397# Initial + X: This block matches an initial consonant not followed by 398# a medial. We insert the null vowel after it. We handle double 399# initials explicitly here; for single initial consonants we insert EU 400# (as Latin) after them and let standard rules do the rest. 401# BREAKS ROUND TRIP INTEGRITY 402kk → $KKi $EU; 403tt → $TTi $EU; 404pp → $PPi $EU; 405ss → $SSi $EU; 406jj → $JJi $EU; 407ch → $CHi $EU; 408([lbdghjkmnpst]) → | $1 eu; 409# X + Final: Finally we have to deal with a consonant that can only be 410# interpreted as a final (not an initial) and which is preceded 411# neither by an initial nor a medial. It is the start of the 412# syllable, but cannot be. Most of these will already be handled by 413# the above rules. 'bs' splits into Bi EU Sf. Similar for 'gs' 'ng' 414# 'nh' 'nj'. The only problem is 'l' and digraphs starting with 'l'. 415# For this isolated case, we could add a null initial and medial, 416# which would give "la" =→ IEUNG EU L IEUNG A, for example. A more 417# economical solution is to transliterate isolated "l" (that is, 418# initial "l") to "r". (Other similar conversions of consonants that 419# occur neither as initials nor as finals are handled below.) 420l → | r; 421# Medials. If a medial is preceded by an initial, then we proceed 422# normally. As usual, longer keys must precede shorter ones. 423# [BASIC Jamo-Latin MEDIALS handled here. Order irrelevant within 424# this block for Jamo-Latin.] 425# 426# a e i o u 427# ae 428# eo eu 429# oe 430# ui 431# wa we wi 432# wae 433# yae ya yeo ye yo yu 434$jamoInitial {ae} ↔ $AE; 435$jamoInitial {a} ↔ $A; 436$jamoInitial {eo} ↔ $EO; 437$jamoInitial {eu} ↔ $EU; 438$jamoInitial {e} ↔ $E; 439$jamoInitial {i} ↔ $I; 440$jamoInitial {oe} ↔ $OE; 441$jamoInitial {o} ↔ $O; 442$jamoInitial {ui} ↔ $UI; 443$jamoInitial {u} ↔ $U; 444$jamoInitial {wae} ↔ $WAE; 445$jamoInitial {wa} ↔ $WA; 446$jamoInitial {wo} ↔ $WO; 447$jamoInitial {we} ↔ $WE; 448$jamoInitial {wi} ↔ $WI; 449$jamoInitial {yae} ↔ $YAE; 450$jamoInitial {ya} ↔ $YA; 451$jamoInitial {yeo} ↔ $YEO; 452$jamoInitial {ye} ↔ $YE; 453$jamoInitial {yo} ↔ $YO; 454$jamoInitial {yu} ↔ $YU; 455# We may see an anomalous isolated 'w' or 'y'. In that case, we 456# interpret it as 'wi' and 'yu', respectively. 457# BREAKS ROUND TRIP INTEGRITY 458$jamoInitial {w} → | wi; 459$jamoInitial {y} → | yu; 460# Otherwise, insert a null consonant IEUNG before the medial (which is 461# still an untransliterated latin vowel). 462($latinMedial) → $IEUNG | $1; 463# Convert non-jamo latin consonants to equivalents. These occur as 464# neither initials nor finals in jamo. 'l' occurs as a final, but not 465# an initial; it is handled above. The following letters (left hand 466# side) will never be output by Jamo-Latin. 467f → | p; 468q → | k; 469v → | b; 470x → | ks; 471z → | s; 472r → | l; 473c → | k; 474# Delete separators (Latin-Jamo). 475$sep → ; 476# Delete null consonants (Jamo-Latin). Do NOT delete null EU vowels, 477# since these may also occur in text. 478← $IEUNG; 479#- N.B. DO NOT put any filters, NFD, etc. here -- those are aliased in 480#- the INDEX file. This transliterator is, by itself, not 481#- instantiated. It is used as a part of Latin-Jamo, Latin-Hangul, or 482#- inverses thereof. 483# eof 484 485