languagesystem DFLT dflt;
languagesystem latn dflt;
languagesystem latn MOL;
languagesystem latn ROM;
languagesystem latn FRA;
languagesystem latn TUR;
languagesystem latn AZE;
languagesystem latn CRT;
languagesystem latn NAV;
languagesystem cyrl dflt;
languagesystem grek dflt;

# classes

@UC_ROMAN = [ A - Z Scedilla Udieresis Zcaron Zdotaccent Zacute Ydieresis Ycircumflex Wcircumflex Uogonek Uhungarumlaut Uring Ubreve Umacron Utilde Tcaron Scaron Scircumflex Sacute Rcaron Rcommaaccent Racute Ohungarumlaut Obreve Omacron Ncaron Ncommaaccent Nacute Ldot Lcaron Lcommaaccent Lacute Kcommaaccent Jcircumflex Iogonek Ibreve Imacron Itilde Hcircumflex Gcommaaccent Gbreve Gcircumflex Ecaron Eogonek Edotaccent Ebreve Emacron Dcaron Ccaron Ccircumflex Cacute Aogonek Abreve Amacron Yacute Ucircumflex Uacute Ugrave Odieresis Otilde Ocircumflex Oacute Ograve Ntilde Idieresis Icircumflex Iacute Igrave Edieresis Ecircumflex Eacute Egrave Ccedilla Aringacute Aring Adieresis Atilde Acircumflex Aacute Agrave Tbar Eth Dcroat Aogonek.NAV Eogonek.NAV Oogonek.NAV Oogonek];
@LC_ROMAN = [ a - z scedilla udieresis zcaron zdotaccent zacute ydieresis ycircumflex wcircumflex uogonek uhungarumlaut uring ubreve umacron utilde tcaron scaron scircumflex sacute rcaron rcommaaccent racute ohungarumlaut obreve omacron ncaron ncommaaccent nacute ldot lcaron lcommaaccent lacute kcommaaccent jcircumflex iogonek ibreve imacron itilde hcircumflex gcommaaccent gbreve gcircumflex ecaron eogonek edotaccent ebreve emacron dcaron ccaron ccircumflex cacute aogonek abreve amacron yacute ucircumflex uacute ugrave odieresis otilde ocircumflex oacute ograve ntilde idieresis icircumflex iacute igrave edieresis ecircumflex eacute egrave ccedilla aringacute aring adieresis atilde acircumflex aacute agrave tbar eth dcroat aogonek.NAV eogonek.NAV oogonek.NAV oogonek];
@SC_ROMAN = [ A.smcp B.smcp C.smcp D.smcp E.smcp F.smcp G.smcp H.smcp I.smcp J.smcp K.smcp L.smcp M.smcp N.smcp O.smcp P.smcp Q.smcp R.smcp S.smcp T.smcp U.smcp V.smcp W.smcp X.smcp Y.smcp Z.smcp Scedilla.smcp Udieresis.smcp Zcaron.smcp Zdotaccent.smcp Zacute.smcp Ydieresis.smcp Ycircumflex.smcp Wcircumflex.smcp Uogonek.smcp Uhungarumlaut.smcp Uring.smcp Ubreve.smcp Umacron.smcp Utilde.smcp Tcaron.smcp Scaron.smcp Scircumflex.smcp Sacute.smcp Rcaron.smcp Rcommaaccent.smcp Racute.smcp Ohungarumlaut.smcp Obreve.smcp Omacron.smcp Ncaron.smcp Ncommaaccent.smcp Nacute.smcp Ldot.smcp Lcaron.smcp Lcommaaccent.smcp Lacute.smcp Kcommaaccent.smcp Jcircumflex.smcp Iogonek.smcp Ibreve.smcp Imacron.smcp Itilde.smcp Hcircumflex.smcp Gcommaaccent.smcp Gbreve.smcp Gcircumflex.smcp Ecaron.smcp Eogonek.smcp Edotaccent.smcp Ebreve.smcp Emacron.smcp Dcaron.smcp Ccaron.smcp Ccircumflex.smcp Cacute.smcp Aogonek.smcp Abreve.smcp Amacron.smcp Yacute.smcp Ucircumflex.smcp Uacute.smcp Ugrave.smcp Odieresis.smcp Otilde.smcp Ocircumflex.smcp Oacute.smcp Ograve.smcp Ntilde.smcp Idieresis.smcp Icircumflex.smcp Iacute.smcp Igrave.smcp Edieresis.smcp Ecircumflex.smcp Eacute.smcp Egrave.smcp Ccedilla.smcp Aringacute.smcp Aring.smcp Adieresis.smcp Atilde.smcp Acircumflex.smcp Aacute.smcp Agrave.smcp Tbar.smcp Eth.smcp Dcroat.smcp Aogonek.smcp.NAV Eogonek.smcp.NAV Oogonek.smcp.NAV Oogonek.smcp];

@UC_SET1 = [ dollar Euro lira sterling yen uni0401 uni0402 uni0403 uni0404 uni0405 uni0406 uni0407 uni0408 uni0409 uni040A uni040B uni040C uni040E uni040F uni0410 uni0411 uni0412 uni0413 uni0414 uni0415 uni0416 uni0417 uni0418 uni0419 uni041A uni041B uni041C uni041D uni041E uni041F uni0420 uni0421 uni0422 uni0423 uni0424 uni0425 uni0426 uni0427 uni0428 uni0429 uni042A uni042B uni042C uni042D uni042E uni042F uni0490 uni0492 uni0496 uni0498 uni049A uni049C uni04A0 uni04A2 uni04A8 uni04AA uni04AE uni04B0 uni04B2 uni04B4 uni04B8 uni04BA uni04BC uni04BE uni04D8 uni04E0 uni04E2 uni04E8 uni04EE uni20B4 uni20B8 uni20BD uni2116 Idotaccent Mu ];
@SC_SET1 = [ dollar.smcp Euro.smcp lira.smcp sterling.smcp yen.smcp uni0401.smcp uni0402.smcp uni0403.smcp uni0404.smcp uni0405.smcp uni0406.smcp uni0407.smcp uni0408.smcp uni0409.smcp uni040A.smcp uni040B.smcp uni040C.smcp uni040E.smcp uni040F.smcp uni0410.smcp uni0411.smcp uni0412.smcp uni0413.smcp uni0414.smcp uni0415.smcp uni0416.smcp uni0417.smcp uni0418.smcp uni0419.smcp uni041A.smcp uni041B.smcp uni041C.smcp uni041D.smcp uni041E.smcp uni041F.smcp uni0420.smcp uni0421.smcp uni0422.smcp uni0423.smcp uni0424.smcp uni0425.smcp uni0426.smcp uni0427.smcp uni0428.smcp uni0429.smcp uni042A.smcp uni042B.smcp uni042C.smcp uni042D.smcp uni042E.smcp uni042F.smcp uni0490.smcp uni0492.smcp uni0496.smcp uni0498.smcp uni049A.smcp uni049C.smcp uni04A0.smcp uni04A2.smcp uni04A8.smcp uni04AA.smcp uni04AE.smcp uni04B0.smcp uni04B2.smcp uni04B4.smcp uni04B8.smcp uni04BA.smcp uni04BC.smcp uni04BE.smcp uni04D8.smcp uni04E0.smcp uni04E2.smcp uni04E8.smcp uni04EE.smcp uni20B4.smcp uni20B8.smcp uni20BD.smcp uni2116.smcp Idotaccent.smcp Mu.smcp ];

@LC_SET2 = [ uni0430 uni0431 uni0432 uni0433 uni0434 uni0435 uni0436 uni0437 uni0438 uni0439 uni043A uni043B uni043C uni043D uni043E uni043F uni0440 uni0441 uni0442 uni0443 uni0444 uni0445 uni0446 uni0447 uni0448 uni0449 uni044A uni044B uni044C uni044D uni044E uni044F uni0491 uni0493 uni0497 uni0499 uni049B uni049D uni04A1 uni04A3 uni04A9 uni04AB uni04AF uni04B1 uni04B3 uni04B5 uni04B9 uni04BB uni04BD uni04BF uni04D9 uni04E1 uni04E3 uni04E9 uni04EF dotlessi ];
@SC_SET2 = [ uni0410.smcp uni0411.smcp uni0412.smcp uni0413.smcp uni0414.smcp uni0415.smcp uni0416.smcp uni0417.smcp uni0418.smcp uni0419.smcp uni041A.smcp uni041B.smcp uni041C.smcp uni041D.smcp uni041E.smcp uni041F.smcp uni0420.smcp uni0421.smcp uni0422.smcp uni0423.smcp uni0424.smcp uni0425.smcp uni0426.smcp uni0427.smcp uni0428.smcp uni0429.smcp uni042A.smcp uni042B.smcp uni042C.smcp uni042D.smcp uni042E.smcp uni042F.smcp uni0490.smcp uni0492.smcp uni0496.smcp uni0498.smcp uni049A.smcp uni049C.smcp uni04A0.smcp uni04A2.smcp uni04A8.smcp uni04AA.smcp uni04AE.smcp uni04B0.smcp uni04B2.smcp uni04B4.smcp uni04B8.smcp uni04BA.smcp uni04BC.smcp uni04BE.smcp uni04D8.smcp uni04E0.smcp uni04E2.smcp uni04E8.smcp uni04EE.smcp I.smcp ];

@UC_SET3 = [ Alpha Alphatonos Beta Chi Delta Epsilon Epsilontonos Eta Etatonos Gamma Iota Iotadieresis Iotatonos Kappa Lambda Omega Omegatonos Omicron Omicrontonos Phi Pi Psi Rho Sigma Tau Theta Upsilon Upsilondieresis Upsilontonos Xi Zeta Nu ];
@LC_SET3 = [ alpha alphatonos beta chi delta epsilon epsilontonos eta etatonos gamma iota iotadieresis iotatonos kappa lambda omega omegatonos omicron omicrontonos phi pi psi rho sigma tau theta upsilon upsilondieresis upsilontonos xi zeta nu ];
@SC_SET3 = [ Alpha.smcp Alphatonos.smcp Beta.smcp Chi.smcp Delta.smcp Epsilon.smcp Epsilontonos.smcp Eta.smcp Etatonos.smcp Gamma.smcp Iota.smcp Iotadieresis.smcp Iotatonos.smcp Kappa.smcp Lambda.smcp Omega.smcp Omegatonos.smcp Omicron.smcp Omicrontonos.smcp Phi.smcp Pi.smcp Psi.smcp Rho.smcp Sigma.smcp Tau.smcp Theta.smcp Upsilon.smcp Upsilondieresis.smcp Upsilontonos.smcp Xi.smcp Zeta.smcp Nu.smcp ];

@UC_SET4 = [ OE uni0162 uni010A uni0120 uni037F ];
@LC_SET4 = [ oe uni0163 uni010B uni0121 uni03F3 ];
@SC_SET4 = [ OE.smcp uni0162.smcp uni010A.smcp uni0120.smcp uni037F.smcp ];

@LC_SET5 = [ uni03BC uni0451 uni0452 uni0453 uni0454 uni0455 uni0456 uni0457 uni0458 uni0459 uni045A uni045B uni045C uni045E uni045F ];
@SC_SET5 = [ Mu.smcp uni0401.smcp uni0402.smcp uni0403.smcp uni0404.smcp uni0405.smcp uni0406.smcp uni0407.smcp uni0408.smcp uni0409.smcp uni040A.smcp uni040B.smcp uni040C.smcp uni040E.smcp uni040F.smcp ];

@LNUM = [zero one two three four five six seven eight nine];
@ONUM = [zero.onum one.onum two.onum three.onum four.onum five.onum six.onum seven.onum eight.onum nine.onum];
@PNUM = [zero.pnum one.pnum two.pnum three.pnum four.pnum five.pnum six.pnum seven.pnum eight.pnum nine.pnum];
@TNUM = [zero.tnum one.tnum two.tnum three.tnum four.tnum five.tnum six.tnum seven.tnum eight.tnum nine.tnum];
@frac1 = [ zero one two three four five six seven eight nine ];
@frac2 = [ zero.frac onesuperior twosuperior threesuperior four.frac five.frac six.frac seven.frac eight.frac nine.frac ];
@frac3 = [ fraction zero.sup one.sup two.sup three.sup four.sup five.sup six.sup seven.sup eight.sup nine.sup ];
@frac4 = [ zero.sup one.sup two.sup three.sup four.sup five.sup six.sup seven.sup eight.sup nine.sup ];

@unicase_l = [ a b c d e f g h i j k l m n o p q r s t u v w x y z scedilla udieresis zcaron zdotaccent zacute ydieresis ycircumflex wcircumflex uogonek uhungarumlaut uring ubreve umacron utilde tcaron scaron scircumflex sacute rcaron rcommaaccent racute ohungarumlaut obreve omacron ncaron ncommaaccent nacute ldot lcaron lcommaaccent lacute kcommaaccent jcircumflex iogonek ibreve imacron itilde hcircumflex gcommaaccent gbreve gcircumflex ecaron eogonek edotaccent ebreve emacron dcaron ccaron ccircumflex cacute aogonek abreve amacron yacute ucircumflex uacute ugrave odieresis otilde ocircumflex oacute ograve ntilde idieresis icircumflex iacute igrave edieresis ecircumflex eacute egrave ccedilla aringacute aring adieresis atilde acircumflex aacute agrave tbar eth dcroat thorn oslash hbar eng oslashacute wgrave wacute wdieresis ygrave];
@unicase_r = [ A.unic B C D E.unic F G H I J K L M.unic N.unic O P Q R S T U.unic V W X Y Z Scedilla Udieresis.unic Zcaron Zdotaccent Zacute Ydieresis Ycircumflex Wcircumflex Uogonek.unic Uhungarumlaut.unic Uring.unic Ubreve.unic Umacron.unic Utilde.unic Tcaron Scaron Scircumflex Sacute Rcaron Rcommaaccent Racute Ohungarumlaut Obreve Omacron Ncaron.unic Ncommaaccent.unic Nacute.unic Ldot Lcaron Lcommaaccent Lacute Kcommaaccent Jcircumflex Iogonek Ibreve Imacron Itilde Hcircumflex Gcommaaccent Gbreve Gcircumflex Ecaron.unic Eogonek.unic Edotaccent.unic Ebreve.unic Emacron.unic Dcaron Ccaron Ccircumflex Cacute Aogonek.unic Abreve.unic Amacron.unic Yacute Ucircumflex Uacute.unic Ugrave.unic Odieresis Otilde Ocircumflex Oacute Ograve Ntilde.unic Idieresis Icircumflex Iacute Igrave Edieresis.unic Ecircumflex.unic Eacute.unic Egrave.unic Ccedilla Aringacute.unic Aring.unic Adieresis.unic Atilde.unic Acircumflex.unic Aacute.unic Agrave.unic Tbar Eth Dcroat Thorn Oslash Hbar Eng Oslashacute Wgrave Wacute Wdieresis Ygrave];
@unicase2_l = [ A E M N U Udieresis Uogonek Uhungarumlaut Uring Ubreve Umacron Utilde Ncaron Ncommaaccent Nacute Ecaron Eogonek Edotaccent Ebreve Emacron Aogonek Abreve Amacron Uacute Ugrave Ntilde Edieresis Ecircumflex Eacute Egrave Aringacute Aring Adieresis Atilde Acircumflex Aacute Agrave];
@unicase2_r = [ A.unic E.unic M.unic N.unic U.unic Udieresis.unic Uogonek.unic Uhungarumlaut.unic Uring.unic Ubreve.unic Umacron.unic Utilde.unic Ncaron.unic Ncommaaccent.unic Nacute.unic Ecaron.unic Eogonek.unic Edotaccent.unic Ebreve.unic Emacron.unic Aogonek.unic Abreve.unic Amacron.unic Uacute.unic Ugrave.unic Ntilde.unic Edieresis.unic Ecircumflex.unic Eacute.unic Egrave.unic Aringacute.unic Aring.unic Adieresis.unic Atilde.unic Acircumflex.unic Aacute.unic Agrave.unic];
@unicase3_l = [ ae oe aeacute ij uni0163 uni010B uni0121 uni0219 ];
@unicase3_r = [ AE OE AEacute IJ uni0162 uni010A uni0120 uni0218 ];

@ccmp_acc = [ gravecomb acutecomb tildecomb brevetildecomb brevehookcomb breveacutecomb circumflextildecomb circumflexhookcomb circumflexgravecomb circumflexacutecomb brevegravecomb macroncomb commaaboverightcomb dieresismacroncomb dieresisacutecomb dieresiscaroncomb dieresisgravecomb dotmacroncomb tildeacutecomb macrongravecomb macronacutecomb macrondieresiscomb acutedotcomb carondotcomb tildemacroncomb tildedieresiscomb circumflexnosp overscorenosp brevenosp dotnosp dieresisnosp hook ringnosp acutedblnosp uni030C linevertnosp linevertdblnosp uni030F candrabindunosp breveinvnosp commaturnsupnosp uni0313 commasuprevnosp uni0315 anglesupnosp hornnosp xsupnosp tildevertsupnosp overscoredblnosp graveleftnosp acuterightnosp uni0342 uni0343 diaeresistonosnosp uni0346 uni034A uni034B uni034C uni0350 uni0351 uni0352 uni0357 uni0358 uni035B tildecomb_uni1ABB tildecomb_uni1ABC macroncomb_uni1ABB dieresisnosp_uni1ABB uni030C_uni1ABB uni1AB0 uni1AB1 uni1AB2 uni1AB3 uni1AB4 uni1DC0 uni1DC1 uni1DC3 uni1DC4 uni1DC5 uni1DC6 uni1DC7 uni1DC8 uni1DC9 uni1DCB uni1DCC uni1DCD uni1DCE uni1DD1 uni1DD2 uni1DD3 uni1DD4 uni1DD5 uni1DD6 uni1DD7 uni1DD8 uni1DD9 uni1DDA uni1DDB uni1DDC uni1DDD uni1DDE uni1DDF uni1DE0 uni1DE1 uni1DE2 uni1DE3 uni1DE4 uni1DE5 uni1DE6 uni1DE7 uni1DE8 uni1DE9 uni1DEA uni1DEB uni1DEC uni1DED uni1DEE uni1DEF uni1DF0 uni1DF1 uni1DF2 uni1DF3 uni1DF4 uni1DF5 uni1DFE uni0363 uni0364 uni0365 uni0366 uni0367 uni0368 uni0369 uni036A uni036B uni036C uni036D uni036E uni036F uni0483 uni0484 uni0485 uni0486 uni0487 uni20F0 uniA66F uniA674 uniA675 uniA676 uniA677 uniA678 uniA679 uniA67A uniA67B uniA67C uniA67D uniA69F uni2DE0 uni2DE1 uni2DE2 uni2DE3 uni2DE4 uni2DE5 uni2DE6 uni2DE7 uni2DE8 uni2DE9 uni2DEA uni2DEB uni2DEC uni2DED uni2DEE uni2DEF uni2DF0 uni2DF1 uni2DF2 uni2DF3 uni2DF4 uni2DF5 uni2DF6 uni2DF7 uni2DF8 uni2DF9 uni2DFA uni2DFB uni2DFC uni2DFD uni2DFE uni2DFF uni1ABB uni1ABC uni20DC uniFE20 uniFE21 uniFE22 uniFE23 uniFE24 uniFE25 uniFE26];


feature cpsp {
  pos @UC_ROMAN <36 0 72 0>;
  pos @UC_SET1 <36 0 72 0>;
} cpsp;


feature c2sc {
  sub @UC_ROMAN by @SC_ROMAN;
  sub @UC_SET1 by @SC_SET1;
  sub @UC_SET3 by @SC_SET3;
  sub @UC_SET4 by @SC_SET4;
  sub Germandbls by Germandbls.smcp;
  sub [zero one two three four five six seven eight nine ampersand] by [zero.smcp one.smcp two.smcp three.smcp four.smcp five.smcp six.smcp seven.smcp eight.smcp nine.smcp ampersand.smcp];
  sub [AE Hbar Oslash Lslash Eng Thorn] by [AE.smcp Hbar.smcp Oslash.smcp Lslash.smcp Eng.smcp Thorn.smcp];
  sub [IJ AEacute Oslashacute Wgrave Wacute Wdieresis Ygrave] by [IJ.smcp AEacute.smcp Oslashacute.smcp Wgrave.smcp Wacute.smcp Wdieresis.smcp Ygrave.smcp];
  sub uni0218 by Scommaaccent.smcp;
  sub uni021A by Tcommaaccent.smcp;
} c2sc;


feature smcp {
  sub @LC_ROMAN by @SC_ROMAN;
  sub @LC_SET2 by @SC_SET2;
  sub @LC_SET3 by @SC_SET3;
  sub @LC_SET4 by @SC_SET4;
  sub @LC_SET5 by @SC_SET5;
  sub [germandbls sigma1] by [Germandbls.smcp Sigma.smcp];
  sub [ae hbar oslash lslash eng thorn] by [AE.smcp Hbar.smcp Oslash.smcp Lslash.smcp Eng.smcp Thorn.smcp];
  sub [ij aeacute oslashacute wgrave wacute wdieresis ygrave] by [IJ.smcp AEacute.smcp Oslashacute.smcp Wgrave.smcp Wacute.smcp Wdieresis.smcp Ygrave.smcp];
  sub ampersand by ampersand.smcp;
  sub uni0219 by Scommaaccent.smcp;
  sub uni021B by Tcommaaccent.smcp;
} smcp;


feature unic {
  sub @unicase_l by @unicase_r ;
  sub @unicase2_l by @unicase2_r ;
  sub @unicase3_l by @unicase3_r ;
} unic;


feature mark {
  ;#insert from script mark
} mark;


feature mkmk {
  ;#insert from script mkmk
} mkmk;


feature ccmp {

  lookup ccmp01 {

  sub tildecomb uni1ABB by tildecomb_uni1ABB;
  sub tildecomb uni1ABC by tildecomb_uni1ABC;
  sub macroncomb uni1ABB by macroncomb_uni1ABB;
  sub dieresisnosp uni1ABB by dieresisnosp_uni1ABB;
  sub uni030C uni1ABB by uni030C_uni1ABB;
  sub iotasubnosp uni1ABD by iotasubnosp_uni1ABD;
  sub dotdblsubnosp uni1ABD by dotdblsubnosp_uni1ABD;
  sub dotbelow uni1ABD by dotbelow_uni1ABD;
  sub ringsubnosp uni1ABD by ringsubnosp_uni1ABD;
  sub linevertsubnosp uni1ABD by linevertsubnosp_uni1ABD;
  sub breveinvsubnosp uni1ABD by breveinvsubnosp_uni1ABD;
  sub tildesubnosp uni1ABD by tildesubnosp_uni1ABD;
  sub uni1AB9 uni1ABD by uni1AB9_uni1ABD;
  sub uni1ABA uni1ABD by uni1ABA_uni1ABD;
  sub uni1AB8 uni1ABD by uni1AB8_uni1ABD;

  } ccmp01;

  lookup ccmp02 {
  sub i' @ccmp_acc by uni0069.ccmp;
  sub j' @ccmp_acc by uni006A.ccmp;
  sub iogonek' @ccmp_acc by uni012F.ccmp;
  sub uni0249' @ccmp_acc by uni0249.ccmp;
  sub ibar' @ccmp_acc by uni0268.ccmp;
  sub jcrosstail' @ccmp_acc by uni029D.ccmp;
  sub jsuper' @ccmp_acc by uni02B2.ccmp;
  sub uni03F3' @ccmp_acc by uni03F3.ccmp;
  sub uni0456' @ccmp_acc by uni0456.ccmp;
  sub uni0458' @ccmp_acc by uni0458.ccmp;
  sub uni1D62' @ccmp_acc by uni1D62.ccmp;
  sub uni1D96' @ccmp_acc by uni1D96.ccmp;
  sub uni1DA4' @ccmp_acc by uni1DA4.ccmp;
  sub uni1DA8' @ccmp_acc by uni1DA8.ccmp;
  sub uni1E2D' @ccmp_acc by uni1E2D.ccmp;
  sub uni1ECB' @ccmp_acc by uni1ECB.ccmp;
  sub uni2071' @ccmp_acc by uni2071.ccmp;
  sub uni2C7C' @ccmp_acc by uni2C7C.ccmp;
  } ccmp02;

  lookup ccmp03 {

  sub d uni030C by dcaron;
  sub l uni030C by lcaron;
  sub t uni030C by tcaron;

  sub A gravecomb by Agrave;
  sub A acutecomb by Aacute;
  sub A circumflexnosp by Acircumflex;
  sub A tildecomb by Atilde;
  sub A dieresisnosp by Adieresis;
  sub A ringnosp by Aring;
  sub A ringacute by Aringacute;
  sub C cedillanosp by Ccedilla;
  sub E gravecomb by Egrave;
  sub E acutecomb by Eacute;
  sub E circumflexnosp by Ecircumflex;
  sub E dieresisnosp by Edieresis;
  sub I gravecomb by Igrave;
  sub I acutecomb by Iacute;
  sub I circumflexnosp by Icircumflex;
  sub I dieresisnosp by Idieresis;
  sub N tildecomb by Ntilde;
  sub O gravecomb by Ograve;
  sub O acutecomb by Oacute;
  sub O circumflexnosp by Ocircumflex;
  sub O tildecomb by Otilde;
  sub O dieresisnosp by Odieresis;
  sub U gravecomb by Ugrave;
  sub U acutecomb by Uacute;
  sub U circumflexnosp by Ucircumflex;
  sub U dieresisnosp by Udieresis;
  sub Y acutecomb by Yacute;
  sub a gravecomb by agrave;
  sub a acutecomb by aacute;
  sub a circumflexnosp by acircumflex;
  sub a tildecomb by atilde;
  sub a dieresisnosp by adieresis;
  sub a ringnosp by aring;
  sub a ringacute by aringacute;
  sub c cedillanosp by ccedilla;
  sub e gravecomb by egrave;
  sub e acutecomb by eacute;
  sub e circumflexnosp by ecircumflex;
  sub e dieresisnosp by edieresis;
  sub dotlessi gravecomb by igrave;
  sub dotlessi acutecomb by iacute;
  sub dotlessi circumflexnosp by icircumflex;
  sub dotlessi dieresisnosp by idieresis;
  sub n tildecomb by ntilde;
  sub o gravecomb by ograve;
  sub o acutecomb by oacute;
  sub o circumflexnosp by ocircumflex;
  sub o tildecomb by otilde;
  sub o dieresisnosp by odieresis;
  sub u gravecomb by ugrave;
  sub u acutecomb by uacute;
  sub u circumflexnosp by ucircumflex;
  sub u dieresisnosp by udieresis;
  sub y acutecomb by yacute;
  sub y dieresisnosp by ydieresis;
  sub A macroncomb by Amacron;
  sub a macroncomb by amacron;
  sub A brevenosp by Abreve;
  sub a brevenosp by abreve;
  sub A ogoneknosp by Aogonek;
  sub a ogoneknosp by aogonek;
  sub C acutecomb by Cacute;
  sub c acutecomb by cacute;
  sub C circumflexnosp by Ccircumflex;
  sub c circumflexnosp by ccircumflex;
  sub C dotnosp by uni010A;
  sub c dotnosp by uni010B;
  sub C uni030C by Ccaron;
  sub c uni030C by ccaron;
  sub D uni030C by Dcaron;
  sub E macroncomb by Emacron;
  sub e macroncomb by emacron;
  sub E brevenosp by Ebreve;
  sub e brevenosp by ebreve;
  sub E dotnosp by Edotaccent;
  sub e dotnosp by edotaccent;
  sub E ogoneknosp by Eogonek;
  sub e ogoneknosp by eogonek;
  sub E uni030C by Ecaron;
  sub e uni030C by ecaron;
  sub G circumflexnosp by Gcircumflex;
  sub g circumflexnosp by gcircumflex;
  sub G brevenosp by Gbreve;
  sub g brevenosp by gbreve;
  sub G dotnosp by uni0120;
  sub g dotnosp by uni0121;
  sub G commaaccent by Gcommaaccent;
  sub g commaaccentrotate by gcommaaccent;
  sub H circumflexnosp by Hcircumflex;
  sub h circumflexnosp by hcircumflex;
  sub I tildecomb by Itilde;
  sub dotlessi tildecomb by itilde;
  sub I macroncomb by Imacron;
  sub dotlessi macroncomb by imacron;
  sub I brevenosp by Ibreve;
  sub dotlessi brevenosp by ibreve;
  sub I ogoneknosp by Iogonek;
  sub i ogoneknosp by iogonek;
  sub I dotnosp by Idotaccent;
  sub J circumflexnosp by Jcircumflex;
  sub uni0237 circumflexnosp by jcircumflex;
  sub K commaaccent by Kcommaaccent;
  sub k commaaccent by kcommaaccent;
  sub L acutecomb by Lacute;
  sub l acutecomb by lacute;
  sub L commaaccent by Lcommaaccent;
  sub l commaaccent by lcommaaccent;
  sub L dotnosp by Ldot;
  sub l dotnosp by ldot;
  sub N acutecomb by Nacute;
  sub n acutecomb by nacute;
  sub N commaaccent by Ncommaaccent;
  sub n commaaccent by ncommaaccent;
  sub N uni030C by Ncaron;
  sub n uni030C by ncaron;
  sub O macroncomb by Omacron;
  sub o macroncomb by omacron;
  sub O brevenosp by Obreve;
  sub o brevenosp by obreve;
  sub O acutedblnosp by Ohungarumlaut;
  sub o acutedblnosp by ohungarumlaut;
  sub R acutecomb by Racute;
  sub r acutecomb by racute;
  sub R commaaccent by Rcommaaccent;
  sub r commaaccent by rcommaaccent;
  sub R uni030C by Rcaron;
  sub r uni030C by rcaron;
  sub S acutecomb by Sacute;
  sub s acutecomb by sacute;
  sub S circumflexnosp by Scircumflex;
  sub s circumflexnosp by scircumflex;
  sub S cedillanosp by Scedilla;
  sub s cedillanosp by scedilla;
  sub S commaaccent by uni0218;
  sub s commaaccent by uni0219;
  sub S uni030C by Scaron;
  sub s uni030C by scaron;
  sub T commaaccent by uni021A;
  sub t commaaccent by uni021B;
  sub T cedillanosp by uni0162;
  sub t cedillanosp by uni0163;
  sub T uni030C by Tcaron;
  sub U tildecomb by Utilde;
  sub u tildecomb by utilde;
  sub U macroncomb by Umacron;
  sub u macroncomb by umacron;
  sub U brevenosp by Ubreve;
  sub u brevenosp by ubreve;
  sub U ringnosp by Uring;
  sub u ringnosp by uring;
  sub U acutedblnosp by Uhungarumlaut;
  sub u acutedblnosp by uhungarumlaut;
  sub U ogoneknosp by Uogonek;
  sub u ogoneknosp by uogonek;
  sub W circumflexnosp by Wcircumflex;
  sub w circumflexnosp by wcircumflex;
  sub Y circumflexnosp by Ycircumflex;
  sub y circumflexnosp by ycircumflex;
  sub Y dieresisnosp by Ydieresis;
  sub Z acutecomb by Zacute;
  sub z acutecomb by zacute;
  sub Z dotnosp by Zdotaccent;
  sub z dotnosp by zdotaccent;
  sub Z uni030C by Zcaron;
  sub z uni030C by zcaron;
  sub AE acutecomb by AEacute;
  sub ae acutecomb by aeacute;
  sub Oslash acutecomb by Oslashacute;
  sub oslash acutecomb by oslashacute;
  #sub z uni030C by zcaron;
  sub W gravecomb by Wgrave;
  sub w gravecomb by wgrave;
  sub W acutecomb by Wacute;
  sub w acutecomb by wacute;
  sub W dieresisnosp by Wdieresis;
  sub w dieresisnosp by wdieresis;
  sub Y gravecomb by Ygrave;
  sub y gravecomb by ygrave;
  sub uni0237 uni030C by uni01F0;
  sub A dotbelow by uni1EA0;
  sub a dotbelow by uni1EA1;
  sub A hook by uni1EA2;
  sub a hook by uni1EA3;
  #sub A circumflexacutecomb by uni1EA4;
  sub A circumflexnosp acutecomb by uni1EA4;
  sub a circumflexacutecomb by uni1EA5;
  #sub A circumflexgravecomb by uni1EA6;
  sub A circumflexnosp gravecomb by uni1EA6;
  sub a circumflexgravecomb by uni1EA7;
  #sub A circumflexhookcomb by uni1EA8;
  sub A circumflexnosp hook by uni1EA8;
  sub a circumflexhookcomb by uni1EA9;
  #sub A circumflextildecomb by uni1EAA;
  sub A circumflexnosp tildecomb by uni1EAA;
  sub a circumflextildecomb by uni1EAB;
  #sub A breveacutecomb by uni1EAE;
  sub A brevenosp acutecomb by uni1EAE;
  sub a breveacutecomb by uni1EAF;
  #sub A brevegravecomb by uni1EB0;
  sub A brevenosp gravecomb by uni1EB0;
  sub a brevegravecomb by uni1EB1;
  #sub A brevehookcomb by uni1EB2;
  sub A brevenosp hook by uni1EB2;
  sub a brevehookcomb by uni1EB3;
  sub A brevetildecomb by uni1EB4;
  sub a brevetildecomb by uni1EB5;
  sub E dotbelow by uni1EB8;
  sub e dotbelow by uni1EB9;
  sub E hook by uni1EBA;
  sub e hook by uni1EBB;
  sub E tildecomb by uni1EBC;
  sub e tildecomb by uni1EBD;
  #sub E circumflexacutecomb by uni1EBE;
  sub E circumflexnosp acutecomb by uni1EBE;
  sub e circumflexacutecomb by uni1EBF;
  #sub E circumflexgravecomb by uni1EC0;
  sub E circumflexnosp gravecomb by uni1EC0;
  sub e circumflexgravecomb by uni1EC1;
  #sub E circumflexhookcomb by uni1EC2;
  sub E circumflexnosp hook by uni1EC2;
  sub e circumflexhookcomb by uni1EC3;
  #sub E circumflextildecomb by uni1EC4;
  sub E circumflexnosp tildecomb by uni1EC4;
  sub e circumflextildecomb by uni1EC5;
  sub I hook by uni1EC8;
  sub dotlessi hook by uni1EC9;
  sub I dotbelow by uni1ECA;
  sub i dotbelow by uni1ECB;
  sub O dotbelow by uni1ECC;
  sub o dotbelow by uni1ECD;
  sub O hook by uni1ECE;
  sub o hook by uni1ECF;
  #sub O circumflexacutecomb by uni1ED0;
  sub O circumflexnosp acutecomb by uni1ED0;
  sub o circumflexacutecomb by uni1ED1;
  #sub O circumflexgravecomb by uni1ED2;
  sub O circumflexnosp gravecomb by uni1ED2;
  sub o circumflexgravecomb by uni1ED3;
  #sub O circumflexhookcomb by uni1ED4;
  sub O circumflexnosp hook by uni1ED4;
  sub o circumflexhookcomb by uni1ED5;
  #sub O circumflextildecomb by uni1ED6;
  sub O circumflexnosp tildecomb by uni1ED6;
  sub o circumflextildecomb by uni1ED7;
  sub Ohorn acutecomb by uni1EDA;
  sub ohorn acutecomb by uni1EDB;
  sub Ohorn gravecomb by uni1EDC;
  sub ohorn gravecomb by uni1EDD;
  sub Ohorn hook by uni1EDE;
  sub ohorn hook by uni1EDF;
  sub Ohorn tildecomb by uni1EE0;
  sub ohorn tildecomb by uni1EE1;
  sub Ohorn dotbelow by uni1EE2;
  sub ohorn dotbelow by uni1EE3;
  sub U dotbelow by uni1EE4;
  sub u dotbelow by uni1EE5;
  sub U hook by uni1EE6;
  sub u hook by uni1EE7;
  sub Uhorn acutecomb by uni1EE8;
  sub uhorn acutecomb by uni1EE9;
  sub Uhorn gravecomb by uni1EEA;
  sub uhorn gravecomb by uni1EEB;
  sub Uhorn hook by uni1EEC;
  sub uhorn hook by uni1EED;
  sub Uhorn tildecomb by uni1EEE;
  sub uhorn tildecomb by uni1EEF;
  sub Uhorn dotbelow by uni1EF0;
  sub uhorn dotbelow by uni1EF1;
  sub Y dotbelow by uni1EF4;
  sub y dotbelow by uni1EF5;
  sub Y hook by uni1EF6;
  sub y hook by uni1EF7;
  sub Y tildecomb by uni1EF8;
  sub y tildecomb by uni1EF9;
  sub A uni030C by Acaron;
  sub a uni030C by acaron;
  sub I uni030C by Icaron;
  sub dotlessi uni030C by icaron;
  sub O uni030C by Ocaron;
  sub o uni030C by ocaron;
  sub U uni030C by Ucaron;
  sub u uni030C by ucaron;
  #sub U dieresismacroncomb by uni01D5;
  sub U dieresisnosp macroncomb by uni01D5;
  sub u dieresismacroncomb by uni01D6;
  #sub U dieresisacutecomb by uni01D7;
  sub U dieresisnosp acutecomb by uni01D7;
  sub u dieresisacutecomb by uni01D8;
  #sub U dieresiscaroncomb by uni01D9;
  sub U dieresisnosp uni030C by uni01D9;
  sub u dieresiscaroncomb by uni01DA;
  #sub U dieresisgravecomb by uni01DB;
  sub U dieresisnosp gravecomb by uni01DB;
  sub u dieresisgravecomb by uni01DC;
  #sub A dieresismacroncomb by uni01DE;
  sub A dieresisnosp macroncomb by uni01DE;
  sub a dieresismacroncomb by uni01DF;
  #sub A dotmacroncomb by uni01E0;
  sub A dotnosp macroncomb by uni01E0;
  sub a dotmacroncomb by uni01E1;
  sub AE macroncomb by AEmacron;
  sub ae macroncomb by aemacron;
  sub G uni030C by Gcaron;
  sub g uni030C by gcaron;
  sub K uni030C by Kcaron;
  sub k uni030C by kcaron;
  sub O ogoneknosp by Oogonek;
  sub o ogoneknosp by oogonek;
  sub G acutecomb by Gacute;
  sub g acutecomb by gacute;
  sub N gravecomb by uni01F8;
  sub n gravecomb by uni01F9;
  sub A uni030F by uni0200;
  sub a uni030F by uni0201;
  sub A breveinvnosp by uni0202;
  sub a breveinvnosp by uni0203;
  sub E uni030F by uni0204;
  sub e uni030F by uni0205;
  sub E breveinvnosp by uni0206;
  sub e breveinvnosp by uni0207;
  sub I uni030F by uni0208;
  sub dotlessi uni030F by uni0209;
  sub I breveinvnosp by uni020A;
  sub dotlessi breveinvnosp by uni020B;
  sub O uni030F by uni020C;
  sub o uni030F by uni020D;
  sub O breveinvnosp by uni020E;
  sub o breveinvnosp by uni020F;
  sub R uni030F by uni0210;
  sub r uni030F by uni0211;
  sub R breveinvnosp by uni0212;
  sub r breveinvnosp by uni0213;
  sub U uni030F by uni0214;
  sub u uni030F by uni0215;
  sub U breveinvnosp by uni0216;
  sub u breveinvnosp by uni0217;
  sub H uni030C by uni021E;
  sub h uni030C by uni021F;
  sub A dotnosp by uni0226;
  sub a dotnosp by uni0227;
  sub E cedillanosp by uni0228;
  sub e cedillanosp by uni0229;
  #sub O dieresismacroncomb by uni022A;
  sub O dieresisnosp macroncomb by uni022A;
  sub o dieresismacroncomb by uni022B;
  #sub O tildemacroncomb by uni022C;
  sub O tildecomb macroncomb by uni022C;
  sub o tildemacroncomb by uni022D;
  sub O dotnosp by uni022E;
  sub o dotnosp by uni022F;
  #sub O dotmacroncomb by uni0230;
  sub O dotnosp macroncomb by uni0230;
  sub o dotmacroncomb by uni0231;
  sub Y macroncomb by uni0232;
  sub y macroncomb by uni0233;
  sub uni03D2 acutecomb by uni03D3;
  sub uni03D2 dieresisnosp by uni03D4;
  sub B dotnosp by uni1E02;
  sub b dotnosp by uni1E03;
  sub B dotbelow by uni1E04;
  sub b dotbelow by uni1E05;
  sub B macronsubnosp by uni1E06;
  sub b macronsubnosp by uni1E07;
  sub D dotnosp by uni1E0A;
  sub d dotnosp by uni1E0B;
  sub D dotbelow by uni1E0C;
  sub d dotbelow by uni1E0D;
  sub D macronsubnosp by uni1E0E;
  sub d macronsubnosp by uni1E0F;
  sub D commaaccent by uni1E10;
  sub d commaaccent by uni1E11;
  sub D circumflexsubnosp by uni1E12;
  sub d circumflexsubnosp by uni1E13;
  #sub E macrongravecomb by uni1E14;
  sub E macroncomb gravecomb by uni1E14;
  sub e macrongravecomb by uni1E15;
  #sub E macronacutecomb by uni1E16;
  sub E macroncomb acutecomb by uni1E16;
  sub e macronacutecomb by uni1E17;
  sub E circumflexsubnosp by uni1E18;
  sub e circumflexsubnosp by uni1E19;
  sub E tildesubnosp by uni1E1A;
  sub e tildesubnosp by uni1E1B;
  sub F dotnosp by uni1E1E;
  sub f dotnosp by uni1E1F;
  sub G macroncomb by uni1E20;
  sub g macroncomb by uni1E21;
  sub H dotnosp by uni1E22;
  sub h dotnosp by uni1E23;
  sub H dotbelow by uni1E24;
  sub h dotbelow by uni1E25;
  sub H dieresisnosp by uni1E26;
  sub h dieresisnosp by uni1E27;
  sub H brevesubnosp by uni1E2A;
  sub h brevesubnosp by uni1E2B;
  sub I tildesubnosp by uni1E2C;
  sub i tildesubnosp by uni1E2D;
  #sub I dieresisacutecomb by uni1E2E;
  sub I dieresisnosp acutecomb by uni1E2E;
  sub dotlessi dieresisacutecomb by uni1E2F;
  sub K acutecomb by uni1E30;
  sub k acutecomb by uni1E31;
  sub K dotbelow by uni1E32;
  sub k dotbelow by uni1E33;
  sub K macronsubnosp by uni1E34;
  sub k macronsubnosp by uni1E35;
  sub L dotbelow by uni1E36;
  sub l dotbelow by uni1E37;
  sub L macronsubnosp by uni1E3A;
  sub l macronsubnosp by uni1E3B;
  sub L circumflexsubnosp by uni1E3C;
  sub l circumflexsubnosp by uni1E3D;
  sub M acutecomb by uni1E3E;
  sub m acutecomb by uni1E3F;
  sub M dotnosp by uni1E40;
  sub m dotnosp by uni1E41;
  sub M dotbelow by uni1E42;
  sub m dotbelow by uni1E43;
  sub N dotnosp by uni1E44;
  sub n dotnosp by uni1E45;
  sub N dotbelow by uni1E46;
  sub n dotbelow by uni1E47;
  sub N macronsubnosp by uni1E48;
  sub n macronsubnosp by uni1E49;
  sub N circumflexsubnosp by uni1E4A;
  sub n circumflexsubnosp by uni1E4B;
  #sub O tildeacutecomb by uni1E4C;
  sub O tildecomb acutecomb by uni1E4C;
  sub o tildeacutecomb by uni1E4D;
  #sub O tildedieresiscomb by uni1E4E;
  sub O tildecomb dieresisnosp by uni1E4E;
  sub o tildedieresiscomb by uni1E4F;
  #sub O macrongravecomb by uni1E50;
  sub O macroncomb gravecomb by uni1E50;
  sub o macrongravecomb by uni1E51;
  #sub O macronacutecomb by uni1E52;
  sub O macroncomb acutecomb by uni1E52;
  sub o macronacutecomb by uni1E53;
  sub P acutecomb by uni1E54;
  sub p acutecomb by uni1E55;
  sub P dotnosp by uni1E56;
  sub p dotnosp by uni1E57;
  sub R dotnosp by uni1E58;
  sub r dotnosp by uni1E59;
  sub R dotbelow by uni1E5A;
  sub r dotbelow by uni1E5B;
  sub R macronsubnosp by uni1E5E;
  sub r macronsubnosp by uni1E5F;
  sub S dotnosp by uni1E60;
  sub s dotnosp by uni1E61;
  sub S dotbelow by uni1E62;
  sub s dotbelow by uni1E63;
  #sub S acutedotcomb by uni1E64;
  sub S acutecomb dotnosp by uni1E64;
  sub s acutedotcomb by uni1E65;
  #sub S carondotcomb by uni1E66;
  sub S uni030C dotnosp by uni1E66;
  sub s carondotcomb by uni1E67;
  sub T dotnosp by uni1E6A;
  sub t dotnosp by uni1E6B;
  sub T dotbelow by uni1E6C;
  sub t dotbelow by uni1E6D;
  sub T macronsubnosp by uni1E6E;
  sub t macronsubnosp by uni1E6F;
  sub T circumflexsubnosp by uni1E70;
  sub t circumflexsubnosp by uni1E71;
  sub U dotdblsubnosp by uni1E72;
  sub u dotdblsubnosp by uni1E73;
  sub U tildesubnosp by uni1E74;
  sub u tildesubnosp by uni1E75;
  sub U circumflexsubnosp by uni1E76;
  sub u circumflexsubnosp by uni1E77;
  #sub U tildeacutecomb by uni1E78;
  sub U tildecomb acutecomb by uni1E78;
  sub u tildeacutecomb by uni1E79;
  #sub U macrondieresiscomb by uni1E7A;
  sub U macroncomb dieresisnosp by uni1E7A;
  sub u macrondieresiscomb by uni1E7B;
  sub V tildecomb by uni1E7C;
  sub v tildecomb by uni1E7D;
  sub V dotbelow by uni1E7E;
  sub v dotbelow by uni1E7F;
  sub W dotnosp by uni1E86;
  sub w dotnosp by uni1E87;
  sub W dotbelow by uni1E88;
  sub w dotbelow by uni1E89;
  sub X dotnosp by uni1E8A;
  sub x dotnosp by uni1E8B;
  sub X dieresisnosp by uni1E8C;
  sub x dieresisnosp by uni1E8D;
  sub Y dotnosp by uni1E8E;
  sub y dotnosp by uni1E8F;
  sub Z circumflexnosp by uni1E90;
  sub z circumflexnosp by uni1E91;
  sub Z dotbelow by uni1E92;
  sub z dotbelow by uni1E93;
  sub Z macronsubnosp by uni1E94;
  sub z macronsubnosp by uni1E95;
  sub h macronsubnosp by uni1E96;
  sub t dieresisnosp by uni1E97;
  sub w ringnosp by uni1E98;
  sub y ringnosp by uni1E99;
  sub longs dotnosp by uni1E9B;
  sub A ringsubnosp by uni1E00;
  sub a ringsubnosp by uni1E01;
  } ccmp03;

  lookup ccmp04 {
  sub uni02E9 uni02E7 uni02E6 by uni02E9_uni02E7_uni02E6;
  sub uni02E5 uni02E7 uni02E8 by uni02E5_uni02E7_uni02E8;
  sub uni02E5 uni02E7 uni02E9 by uni02E5_uni02E7_uni02E9;
  sub uni02E9 uni02E5 uni02E5 by uni02E9_uni02E5_uni02E5;
  sub uni02E5 uni02E7 uni02E6 by uni02E5_uni02E7_uni02E6;
  sub uni02E5 uni02E7 uni02E7 by uni02E5_uni02E7_uni02E7;
  sub uni02E5 uni02E7 uni02E5 by uni02E5_uni02E7_uni02E5;
  sub uni02E5 uni02E9 uni02E8 by uni02E5_uni02E9_uni02E8;
  sub uni02E9 uni02E7 uni02E5 by uni02E9_uni02E7_uni02E5;
  sub uni02E6 uni02E9 uni02E7 by uni02E6_uni02E9_uni02E7;
  sub uni02E6 uni02E9 uni02E6 by uni02E6_uni02E9_uni02E6;
  sub uni02E6 uni02E9 uni02E5 by uni02E6_uni02E9_uni02E5;
  sub uni02E6 uni02E9 uni02E9 by uni02E6_uni02E9_uni02E9;
  sub uni02E6 uni02E9 uni02E8 by uni02E6_uni02E9_uni02E8;
  sub uni02E7 uni02E5 uni02E6 by uni02E7_uni02E5_uni02E6;
  sub uni02E7 uni02E5 uni02E7 by uni02E7_uni02E5_uni02E7;
  sub uni02E7 uni02E5 uni02E5 by uni02E7_uni02E5_uni02E5;
  sub uni02E7 uni02E5 uni02E8 by uni02E7_uni02E5_uni02E8;
  sub uni02E7 uni02E5 uni02E9 by uni02E7_uni02E5_uni02E9;
  sub uni02E5 uni02E9 uni02E6 by uni02E5_uni02E9_uni02E6;
  sub uni02E5 uni02E9 uni02E7 by uni02E5_uni02E9_uni02E7;
  sub uni02E9 uni02E7 uni02E8 by uni02E9_uni02E7_uni02E8;
  sub uni02E9 uni02E7 uni02E9 by uni02E9_uni02E7_uni02E9;
  sub uni02E9 uni02E6 uni02E5 by uni02E9_uni02E6_uni02E5;
  sub uni02E5 uni02E9 uni02E5 by uni02E5_uni02E9_uni02E5;
  sub uni02E6 uni02E5 uni02E9 by uni02E6_uni02E5_uni02E9;
  sub uni02E6 uni02E5 uni02E8 by uni02E6_uni02E5_uni02E8;
  sub uni02E6 uni02E7 uni02E5 by uni02E6_uni02E7_uni02E5;
  sub uni02E7 uni02E9 uni02E8 by uni02E7_uni02E9_uni02E8;
  sub uni02E6 uni02E7 uni02E7 by uni02E6_uni02E7_uni02E7;
  sub uni02E6 uni02E7 uni02E6 by uni02E6_uni02E7_uni02E6;
  sub uni02E6 uni02E7 uni02E9 by uni02E6_uni02E7_uni02E9;
  sub uni02E6 uni02E7 uni02E8 by uni02E6_uni02E7_uni02E8;
  sub uni02E6 uni02E5 uni02E7 by uni02E6_uni02E5_uni02E7;
  sub uni02E6 uni02E5 uni02E6 by uni02E6_uni02E5_uni02E6;
  sub uni02E6 uni02E5 uni02E5 by uni02E6_uni02E5_uni02E5;
  sub uni02E5 uni02E7 by uni02E5_uni02E7;
  sub uni02E5 uni02E6 by uni02E5_uni02E6;
  sub uni02E7 uni02E7 uni02E9 by uni02E7_uni02E7_uni02E9;
  sub uni02E5 uni02E9 by uni02E5_uni02E9;
  sub uni02E5 uni02E8 by uni02E5_uni02E8;
  sub uni02E8 uni02E7 uni02E7 by uni02E8_uni02E7_uni02E7;
  sub uni02E8 uni02E7 uni02E6 by uni02E8_uni02E7_uni02E6;
  sub uni02E8 uni02E7 uni02E5 by uni02E8_uni02E7_uni02E5;
  sub uni02E8 uni02E5 uni02E9 by uni02E8_uni02E5_uni02E9;
  sub uni02E6 uni02E6 uni02E5 by uni02E6_uni02E6_uni02E5;
  sub uni02E6 uni02E6 uni02E7 by uni02E6_uni02E6_uni02E7;
  sub uni02E6 uni02E6 uni02E8 by uni02E6_uni02E6_uni02E8;
  sub uni02E6 uni02E6 uni02E9 by uni02E6_uni02E6_uni02E9;
  sub uni02E8 uni02E5 uni02E7 by uni02E8_uni02E5_uni02E7;
  sub uni02E8 uni02E5 uni02E6 by uni02E8_uni02E5_uni02E6;
  sub uni02E8 uni02E7 uni02E9 by uni02E8_uni02E7_uni02E9;
  sub uni02E5 uni02E9 uni02E9 by uni02E5_uni02E9_uni02E9;
  sub uni02E5 uni02E5 uni02E8 by uni02E5_uni02E5_uni02E8;
  sub uni02E5 uni02E5 uni02E9 by uni02E5_uni02E5_uni02E9;
  sub uni02E5 uni02E5 uni02E6 by uni02E5_uni02E5_uni02E6;
  sub uni02E5 uni02E5 uni02E7 by uni02E5_uni02E5_uni02E7;
  sub uni02E5 uni02E6 uni02E7 by uni02E5_uni02E6_uni02E7;
  sub uni02E5 uni02E6 uni02E6 by uni02E5_uni02E6_uni02E6;
  sub uni02E5 uni02E6 uni02E5 by uni02E5_uni02E6_uni02E5;
  sub uni02E9 uni02E6 uni02E8 by uni02E9_uni02E6_uni02E8;
  sub uni02E9 uni02E6 uni02E7 by uni02E9_uni02E6_uni02E7;
  sub uni02E9 uni02E6 uni02E6 by uni02E9_uni02E6_uni02E6;
  sub uni02E5 uni02E6 uni02E9 by uni02E5_uni02E6_uni02E9;
  sub uni02E5 uni02E6 uni02E8 by uni02E5_uni02E6_uni02E8;
  sub uni02E8 uni02E6 by uni02E8_uni02E6;
  sub uni02E8 uni02E7 by uni02E8_uni02E7;
  sub uni02E8 uni02E5 by uni02E8_uni02E5;
  sub uni02E8 uni02E9 by uni02E8_uni02E9;
  sub uni02E8 uni02E8 uni02E5 by uni02E8_uni02E8_uni02E5;
  sub uni02E8 uni02E6 uni02E8 by uni02E8_uni02E6_uni02E8;
  sub uni02E8 uni02E6 uni02E9 by uni02E8_uni02E6_uni02E9;
  sub uni02E8 uni02E6 uni02E6 by uni02E8_uni02E6_uni02E6;
  sub uni02E8 uni02E6 uni02E7 by uni02E8_uni02E6_uni02E7;
  sub uni02E8 uni02E6 uni02E5 by uni02E8_uni02E6_uni02E5;
  sub uni02E7 uni02E8 uni02E7 by uni02E7_uni02E8_uni02E7;
  sub uni02E9 uni02E7 uni02E7 by uni02E9_uni02E7_uni02E7;
  sub uni02E7 uni02E8 uni02E5 by uni02E7_uni02E8_uni02E5;
  sub uni02E9 uni02E5 uni02E7 by uni02E9_uni02E5_uni02E7;
  sub uni02E9 uni02E5 uni02E8 by uni02E9_uni02E5_uni02E8;
  sub uni02E9 uni02E5 uni02E9 by uni02E9_uni02E5_uni02E9;
  sub uni02E7 uni02E8 uni02E9 by uni02E7_uni02E8_uni02E9;
  sub uni02E7 uni02E8 uni02E8 by uni02E7_uni02E8_uni02E8;
  sub uni02E8 uni02E5 uni02E8 by uni02E8_uni02E5_uni02E8;
  sub uni02E8 uni02E5 uni02E5 by uni02E8_uni02E5_uni02E5;
  sub uni02E7 uni02E9 by uni02E7_uni02E9;
  sub uni02E7 uni02E8 by uni02E7_uni02E8;
  sub uni02E8 uni02E9 uni02E7 by uni02E8_uni02E9_uni02E7;
  sub uni02E8 uni02E9 uni02E6 by uni02E8_uni02E9_uni02E6;
  sub uni02E7 uni02E5 by uni02E7_uni02E5;
  sub uni02E8 uni02E9 uni02E8 by uni02E8_uni02E9_uni02E8;
  sub uni02E9 uni02E5 uni02E6 by uni02E9_uni02E5_uni02E6;
  sub uni02E7 uni02E6 by uni02E7_uni02E6;
  sub uni02E8 uni02E8 uni02E7 by uni02E8_uni02E8_uni02E7;
  sub uni02E8 uni02E7 uni02E8 by uni02E8_uni02E7_uni02E8;
  sub uni02E7 uni02E7 uni02E8 by uni02E7_uni02E7_uni02E8;
  sub uni02E7 uni02E7 uni02E5 by uni02E7_uni02E7_uni02E5;
  sub uni02E7 uni02E7 uni02E6 by uni02E7_uni02E7_uni02E6;
  sub uni02E7 uni02E9 uni02E9 by uni02E7_uni02E9_uni02E9;
  sub uni02E7 uni02E9 uni02E6 by uni02E7_uni02E9_uni02E6;
  sub uni02E7 uni02E9 uni02E7 by uni02E7_uni02E9_uni02E7;
  sub uni02E7 uni02E9 uni02E5 by uni02E7_uni02E9_uni02E5;
  sub uni02E7 uni02E8 uni02E6 by uni02E7_uni02E8_uni02E6;
  sub uni02E8 uni02E8 uni02E9 by uni02E8_uni02E8_uni02E9;
  sub uni02E5 uni02E8 uni02E5 by uni02E5_uni02E8_uni02E5;
  sub uni02E5 uni02E8 uni02E7 by uni02E5_uni02E8_uni02E7;
  sub uni02E5 uni02E8 uni02E6 by uni02E5_uni02E8_uni02E6;
  sub uni02E6 uni02E8 uni02E8 by uni02E6_uni02E8_uni02E8;
  sub uni02E6 uni02E8 uni02E9 by uni02E6_uni02E8_uni02E9;
  sub uni02E6 uni02E8 uni02E6 by uni02E6_uni02E8_uni02E6;
  sub uni02E6 uni02E8 uni02E7 by uni02E6_uni02E8_uni02E7;
  sub uni02E6 uni02E8 uni02E5 by uni02E6_uni02E8_uni02E5;
  sub uni02E5 uni02E8 uni02E9 by uni02E5_uni02E8_uni02E9;
  sub uni02E5 uni02E8 uni02E8 by uni02E5_uni02E8_uni02E8;
  sub uni02E9 uni02E8 by uni02E9_uni02E8;
  sub uni02E8 uni02E9 uni02E5 by uni02E8_uni02E9_uni02E5;
  sub uni02E9 uni02E7 by uni02E9_uni02E7;
  sub uni02E9 uni02E6 by uni02E9_uni02E6;
  sub uni02E9 uni02E5 by uni02E9_uni02E5;
  sub uni02E9 uni02E8 uni02E9 by uni02E9_uni02E8_uni02E9;
  sub uni02E9 uni02E8 uni02E8 by uni02E9_uni02E8_uni02E8;
  sub uni02E9 uni02E8 uni02E5 by uni02E9_uni02E8_uni02E5;
  sub uni02E9 uni02E8 uni02E7 by uni02E9_uni02E8_uni02E7;
  sub uni02E9 uni02E8 uni02E6 by uni02E9_uni02E8_uni02E6;
  sub uni02E8 uni02E9 uni02E9 by uni02E8_uni02E9_uni02E9;
  sub uni02E9 uni02E6 uni02E9 by uni02E9_uni02E6_uni02E9;
  sub uni02E9 uni02E9 uni02E8 by uni02E9_uni02E9_uni02E8;
  sub uni02E7 uni02E6 uni02E5 by uni02E7_uni02E6_uni02E5;
  sub uni02E7 uni02E6 uni02E7 by uni02E7_uni02E6_uni02E7;
  sub uni02E7 uni02E6 uni02E6 by uni02E7_uni02E6_uni02E6;
  sub uni02E7 uni02E6 uni02E9 by uni02E7_uni02E6_uni02E9;
  sub uni02E7 uni02E6 uni02E8 by uni02E7_uni02E6_uni02E8;
  sub uni02E9 uni02E9 uni02E5 by uni02E9_uni02E9_uni02E5;
  sub uni02E9 uni02E9 uni02E6 by uni02E9_uni02E9_uni02E6;
  sub uni02E9 uni02E9 uni02E7 by uni02E9_uni02E9_uni02E7;
  sub uni02E6 uni02E8 by uni02E6_uni02E8;
  sub uni02E6 uni02E9 by uni02E6_uni02E9;
  sub uni02E8 uni02E8 uni02E6 by uni02E8_uni02E8_uni02E6;
  sub uni02E6 uni02E5 by uni02E6_uni02E5;
  sub uni02E6 uni02E7 by uni02E6_uni02E7;
  } ccmp04;

  lookup ccmp05 {

  sub lmidtilde [uni1ABB uni1ABD uni1ABE]' by uni1ABE.w2;
  sub dcroat [uni1ABB uni1ABD uni1ABE]' by uni1ABE.w2;
  sub eng [uni1ABB uni1ABD uni1ABE]' by uni1ABE.w1;
  sub gbar [uni1ABB uni1ABD uni1ABE]' by uni1ABE.w3;
  sub bbar [uni1ABB uni1ABD uni1ABE]' by uni1ABE.w2;
  sub rrthook [uni1ABB uni1ABD uni1ABE]' by uni1ABE.w1;

  sub lmidtilde uni1ABC' by uni1ABC.w2;
  sub dcroat uni1ABC' by uni1ABC.w2;
  sub eng uni1ABC' by uni1ABC.w1;
  sub gbar uni1ABC' by uni1ABC.w3;
  sub bbar uni1ABC' by uni1ABC.w2;
  sub rrthook uni1ABC' by uni1ABC.w1;

  } ccmp05;

  lookup ccmp05a {

  sub lmidtilde uni1ABE.w2 by lmidtilde_uni1ABE;
  sub dcroat uni1ABE.w2 by dcroat_uni1ABE;
  sub eng uni1ABE.w1 by eng_uni1ABE;
  sub gbar uni1ABE.w3 by gbar_uni1ABE;
  sub bbar uni1ABE.w2 by bbar_uni1ABE;
  sub rrthook uni1ABE.w1 by rrthook_uni1ABE;

  } ccmp05a;

} ccmp;


feature locl {
 script latn; language dflt; #set comment (#) for FDK 2.5
 language MOL  exclude_dflt; # Moldavian
  sub [Scedilla scedilla] by [uni0218 uni0219];
 language ROM  exclude_dflt; # Romanian
  sub [Scedilla scedilla] by [uni0218 uni0219];
 language NAV  exclude_dflt; # Navajo
  sub [ Aogonek aogonek Eogonek eogonek Oogonek oogonek Aogonek.smcp Eogonek.smcp Oogonek.smcp ] by [ Aogonek.NAV aogonek.NAV Eogonek.NAV eogonek.NAV Oogonek.NAV oogonek.NAV Aogonek.smcp.NAV Eogonek.smcp.NAV Oogonek.smcp.NAV ];
 language FRA  exclude_dflt; # French
  sub [ uni2009 ] by [ uni2009.fra ];
} locl;


feature dlig {
  sub f f by f_f;
  sub longs t by longst;
  sub s t by st;
} dlig;


feature liga {
  script latn; language dflt; #set comment (#) for FDK 2.5

  lookup liga01 {
    sub f_f i by f_f_i;
    sub f i by fi;
  } liga01;

  lookup liga02 {
    sub f_f l by f_f_l;
    sub f l by f_l;
  } liga02;

  language TUR  exclude_dflt;
  lookup liga02;

} liga;


feature salt {
  sub K by K.alt;
  sub g by g.alt;
} salt;


feature ss01 {
  sub g by g.alt ;
} ss01;


feature ss02 {
  sub alpha by alpha.alt;
} ss02;


feature ss03 {
  sub R by R.alt ;
} ss03;


feature ss04 {
  sub K by K.alt;
  sub k by k.alt;
} ss04;


feature ss05 {
  sub k by k.alt2;
  sub K by K.alt2;
} ss05;


feature ss06 {
  sub C by C.ss06;
  sub D by D.ss06;
  sub O by O.ss06;
  sub Q by Q.ss06;
  sub G by G.ss06;
  sub [b c d g o p q] by [b.ss06 c.ss06 d.ss06 g.ss06 o.ss06 p.ss06 q.ss06];
} ss06;


feature ss07 {
  sub [g e] by [g.ss07 e.ss07];
  sub [g.ss06] by [g.ss07];
} ss07;


feature onum {
  sub @LNUM by @TNUM;
  sub @PNUM by @ONUM;
} onum;


feature pnum {
  sub @LNUM by @PNUM;
  sub @TNUM by @ONUM;
} pnum;


feature tnum {
  sub @PNUM by @LNUM;
  sub @ONUM by @TNUM;
} tnum;


feature lnum {
  sub @TNUM by @LNUM;
  sub @ONUM by @PNUM;
} lnum;


feature frac { # Fractions
 # Latin
lookup frac_1 {
    sub slash by fraction;
} frac_1;
lookup frac_2 {
    sub @frac3 @frac1' by @frac4;
} frac_2;
lookup frac_3 {
    sub @frac1 by @frac2;
} frac_3;
} frac;


feature dnom {
  sub @frac1 by @frac4;
} dnom;


feature numr {
  sub @frac1 by @frac2;
} numr;
