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