﻿# ***************************************************************************
# *
# *  Copyright (C) 2004-2007, International Business Machines
# *  Corporation; Unicode, Inc.; and others.  All Rights Reserved.
# *
# ***************************************************************************
# File: Latin_ConjoiningJamo.txt
# Generated from CLDR 
#
$Gi = ᄀ;
$KKi = ᄁ;
$Ni = ᄂ;
$Di = ᄃ;
$TTi = ᄄ;
$Li = ᄅ;
$Mi = ᄆ;
$Bi = ᄇ;
$PPi = ᄈ;
$Si = ᄉ;
$SSi = ᄊ;
$IEUNG = ᄋ; # null initial, inserted during Latin-Jamo
$Ji = ᄌ;
$JJi = ᄍ;
$CHi = ᄎ;
$Ki = ᄏ;
$Ti = ᄐ;
$Pi = ᄑ;
$Hi = ᄒ;
$A = ᅡ;
$AE = ᅢ;
$YA = ᅣ;
$YAE = ᅤ;
$EO = ᅥ;
$E = ᅦ;
$YEO = ᅧ;
$YE = ᅨ;
$O = ᅩ;
$WA = ᅪ;
$WAE = ᅫ;
$OE = ᅬ;
$YO = ᅭ;
$U = ᅮ;
$WO = ᅯ;
$WE = ᅰ;
$WI = ᅱ;
$YU = ᅲ;
$EU = ᅳ; # null medial, inserted during Latin-Jamo
$UI = ᅴ;
$I = ᅵ;
$Gf = ᆨ;
$GGf = ᆩ;
$GS = ᆪ;
$Nf = ᆫ;
$NJ = ᆬ;
$NH = ᆭ;
$Df = ᆮ;
$L = ᆯ;
$LG = ᆰ;
$LM = ᆱ;
$LB = ᆲ;
$LS = ᆳ;
$LT = ᆴ;
$LP = ᆵ;
$LH = ᆶ;
$Mf = ᆷ;
$Bf = ᆸ;
$BS = ᆹ;
$Sf = ᆺ;
$SSf = ᆻ;
$NG = ᆼ;
$Jf = ᆽ;
$Cf = ᆾ;
$Kf = ᆿ;
$Tf = ᇀ;
$Pf = ᇁ;
$Hf = ᇂ;
$jamoInitial = [ᄀ-ᄒ];
$jamoMedial = [ᅡ-ᅵ];
$latinInitial = [bcdghjklmnprst];
$latinMedial = [aeiouwy];
$latinMedialEnd = [aeiou];
$sep = \-;
$sep $sep <> $sep;
$sep < $latinMedialEnd s {} $SSi;
$sep < [^$latinMedial] [y] e {} [$O $OE];
$sep < [^$latinMedial] e {} [$U $UI];
$sep < [^$latinMedial] [o a] {} [$E $EO $EU];
$sep < [^$latinMedial] [w y] a {} [$E $EO $EU];
$sep < [^$latinMedial] [u] {} [$I];
$sep < [^$latinMedial] [y] e {} $IEUNG [$O $OE];
$sep < [^$latinMedial] e {} $IEUNG [$O $OE $U];
$sep < [^$latinMedial] [o a] {} $IEUNG [$E $EO $EU];
$sep < [^$latinMedial] [w y] a {} $IEUNG [$E $EO $EU];
$sep < $latinMedialEnd b {} $IEUNG $jamoMedial;
$sep < $latinMedialEnd d {} $IEUNG $jamoMedial;
$sep < $latinMedialEnd g {} $IEUNG $jamoMedial;
$sep < $latinMedialEnd h {} $IEUNG $jamoMedial;
$sep < $latinMedialEnd j {} $IEUNG $jamoMedial;
$sep < $latinMedialEnd k {} $IEUNG $jamoMedial;
$sep < $latinMedialEnd m {} $IEUNG $jamoMedial;
$sep < $latinMedialEnd n {} $IEUNG $jamoMedial;
$sep < $latinMedialEnd p {} $IEUNG $jamoMedial;
$sep < $latinMedialEnd s {} $IEUNG $jamoMedial;
$sep < $latinMedialEnd t {} $IEUNG $jamoMedial;
$sep < $latinMedialEnd l {} $IEUNG $jamoMedial;
$sep < $latinMedialEnd b s {} $IEUNG $jamoMedial;
$sep < $latinMedialEnd k k {} $IEUNG $jamoMedial;
$sep < $latinMedialEnd g s {} $IEUNG $jamoMedial;
$sep < $latinMedialEnd l b {} $IEUNG $jamoMedial;
$sep < $latinMedialEnd l g {} $IEUNG $jamoMedial;
$sep < $latinMedialEnd l h {} $IEUNG $jamoMedial;
$sep < $latinMedialEnd l m {} $IEUNG $jamoMedial;
$sep < $latinMedialEnd l p {} $IEUNG $jamoMedial;
$sep < $latinMedialEnd l s {} $IEUNG $jamoMedial;
$sep < $latinMedialEnd l t {} $IEUNG $jamoMedial;
$sep < $latinMedialEnd n g {} $IEUNG $jamoMedial;
$sep < $latinMedialEnd n h {} $IEUNG $jamoMedial;
$sep < $latinMedialEnd n j {} $IEUNG $jamoMedial;
$sep < $latinMedialEnd s s {} $IEUNG $jamoMedial;
$sep < $latinMedialEnd ch {} $IEUNG $jamoMedial;
$sep < $latinMedialEnd j {} $Ji $jamoMedial;
$sep < $latinMedialEnd k {} $Ki $jamoMedial;
$sep < $latinMedialEnd s {} $Si $jamoMedial;
$sep < $latinMedialEnd b s {} [$Si $SSi];
$sep < $latinMedialEnd g s {} [$Si $SSi];
$sep < $latinMedialEnd l b {} [$Bi];
$sep < $latinMedialEnd l g {} [$Gi];
$sep < $latinMedialEnd l s {} [$Si $SSi];
$sep < $latinMedialEnd n g {} [$Gi];
$sep < $latinMedialEnd n j {} [$Ji $JJi];
$sep < $latinMedialEnd l  {} [$PPi];
$sep < $latinMedialEnd l  {} [$TTi];
$sep < $latinMedialEnd k  {} [$KKi $Ki];
$sep < $latinMedialEnd p  {} $Pi;
$sep < $latinMedialEnd t  {} $Ti;
$sep < $latinMedialEnd c {} [$Hi];
$jamoMedial {b s} $latinMedial > $Bf $Si;
$jamoMedial {g s} $latinMedial > $Gf $Si;
$jamoMedial {l b} $latinMedial > $L $Bi;
$jamoMedial {l g} $latinMedial > $L $Gi;
$jamoMedial {l h} $latinMedial > $L $Hi;
$jamoMedial {l m} $latinMedial > $L $Mi;
$jamoMedial {l p} $latinMedial > $L $Pi;
$jamoMedial {l s} $latinMedial > $L $Si;
$jamoMedial {l t} $latinMedial > $L $Ti;
$jamoMedial {n g} $latinMedial > $Nf $Gi;
$jamoMedial {n h} $latinMedial > $Nf $Hi;
$jamoMedial {n j} $latinMedial > $Nf $Ji;
$jamoMedial {b} $latinMedial > $Bi;
$jamoMedial {ch} $latinMedial > $CHi;
$jamoMedial {d} $latinMedial > $Di;
$jamoMedial {g} $latinMedial > $Gi;
$jamoMedial {h} $latinMedial > $Hi;
$jamoMedial {j} $latinMedial > $Ji;
$jamoMedial {k} $latinMedial > $Ki;
$jamoMedial {m} $latinMedial > $Mi;
$jamoMedial {n} $latinMedial > $Ni;
$jamoMedial {p} $latinMedial > $Pi;
$jamoMedial {s} $latinMedial > $Si;
$jamoMedial {t} $latinMedial > $Ti;
$jamoMedial {l} $latinMedial > $Li;
$jamoMedial {pp} $latinMedial > $PPi;
$jamoMedial {t t} $latinMedial > $TTi;
$jamoMedial {j j} $latinMedial > $JJi;
$jamoMedial {k k} $latinMedial > $KKi;
$jamoMedial {s s} $latinMedial > $SSi;
$jamoMedial {b} s s > $Bf;
$jamoMedial {g} s s > $Gf;
$jamoMedial {l} b b > $L;
$jamoMedial {l} g g > $L;
$jamoMedial {l} s s > $L;
$jamoMedial {n} g g > $Nf;
$jamoMedial {n} j j > $Nf;
$jamoMedial {bs} <> $BS;
$jamoMedial {b} <> $Bf;
$jamoMedial {ch} <> $Cf;
$jamoMedial {c} > $Cf;
$jamoMedial {d} <> $Df;
$jamoMedial {kk} <> $GGf;
$jamoMedial {gs} <> $GS;
$jamoMedial {g} <> $Gf;
$jamoMedial {h} <> $Hf;
$jamoMedial {j} <> $Jf;
$jamoMedial {k} <> $Kf;
$jamoMedial {lb} <> $LB;  $jamoMedial {lg} <> $LG;
$jamoMedial {lh} <> $LH;
$jamoMedial {lm} <> $LM;
$jamoMedial {lp} <> $LP;
$jamoMedial {ls} <> $LS;
$jamoMedial {lt} <> $LT;
$jamoMedial {l} <> $L;
$jamoMedial {m} <> $Mf;
$jamoMedial {ng} <> $NG;
$jamoMedial {nh} <> $NH;
$jamoMedial {nj} <> $NJ;
$jamoMedial {n} <> $Nf;
$jamoMedial {p} <> $Pf;
$jamoMedial {ss} <> $SSf;
$jamoMedial {s} <> $Sf;
$jamoMedial {t} <> $Tf;
{kk} $latinMedial <> $KKi;
{g} $latinMedial <> $Gi;
{n} $latinMedial <> $Ni;
{tt} $latinMedial <> $TTi;
{d} $latinMedial <> $Di;
{l} $latinMedial <> $Li;
{m} $latinMedial <> $Mi;
{pp} $latinMedial <> $PPi;
{b} $latinMedial <> $Bi;
{ss} $latinMedial <> $SSi;
{s} $latinMedial <> $Si;
{jj} $latinMedial <> $JJi;
{j} $latinMedial <> $Ji;
{ch} $latinMedial <> $CHi;
{c} $latinMedial > $CHi;
{k} $latinMedial <> $Ki;
{t} $latinMedial <> $Ti;
{p} $latinMedial <> $Pi;
{h} $latinMedial <> $Hi;
kk > $KKi $EU;
tt > $TTi $EU;
pp > $PPi $EU;
ss > $SSi $EU;
jj > $JJi $EU;
([lbdghjkmnpst]) > | $1 eu;
l > | r;
$jamoInitial {ae} <> $AE;
$jamoInitial {a} <> $A;
$jamoInitial {eo} <> $EO;
$jamoInitial {eu} <> $EU;
$jamoInitial {e} <> $E;
$jamoInitial {i} <> $I;
$jamoInitial {oe} <> $OE;
$jamoInitial {o} <> $O;
$jamoInitial {ui} <> $UI;
$jamoInitial {u} <> $U;
$jamoInitial {wae} <> $WAE;
$jamoInitial {wa} <> $WA;
$jamoInitial {wo} <> $WO;
$jamoInitial {we} <> $WE;
$jamoInitial {wi} <> $WI;
$jamoInitial {yae} <> $YAE;
$jamoInitial {ya} <> $YA;
$jamoInitial {yeo} <> $YEO;
$jamoInitial {ye} <> $YE;
$jamoInitial {yo} <> $YO;
$jamoInitial {yu} <> $YU;
$jamoInitial {w} > | wi;
$jamoInitial {y} > | yu;
($latinMedial) > $IEUNG | $1;
f > | p;
q > | k;
v > | b;
x > | ks;
z > | s;
r > | l;
c > | k;
$sep > ;
< $IEUNG;
