# automatic
@Uppercase = [ A Aacute Abreve Abreveacute Abrevedotbelow Abrevegrave Abrevehookabove Abrevetilde Acircumflex Acircumflexacute Acircumflexdotbelow Acircumflexgrave Acircumflexhookabove Acircumflextilde Adblgrave Adieresis Adotbelow Agrave Ahookabove Ainvertedbreve Amacron Aogonek Aring Aringacute Atilde AE AEacute B C Cacute Ccaron Ccedilla Ccedillaacute Ccircumflex Cdotaccent D Eth Dcaron Dcroat Ddotbelow Dlinebelow E Eacute Ebreve Ecaron Ecedillabreve Ecircumflex Ecircumflexacute Ecircumflexdotbelow Ecircumflexgrave Ecircumflexhookabove Ecircumflextilde Edblgrave Edieresis Edotaccent Edotbelow Egrave Ehookabove Einvertedbreve Emacron Emacronacute Emacrongrave Eogonek Etilde Ezhreversed F G Gbreve Gcaron Gcircumflex Gcommaaccent Gdotaccent Gmacron H Hbar Hbrevebelow Hcircumflex Hdotbelow I Iacute Ibreve Icircumflex Idblgrave Idieresis Idieresisacute Idotaccent Idotbelow Igrave Ihookabove Iinvertedbreve Imacron Iogonek Itilde J Jcircumflex K Kcommaaccent Khook L LJ Lacute Lcaron Lcommaaccent Ldot Ldotbelow Lj Llinebelow Lslash M Mdotbelow N Nacute Ncaron Ncommaaccent Ndotaccent Ndotbelow Eng Nlinebelow Ntilde O Oacute Obreve Ocircumflex Ocircumflexacute Ocircumflexdotbelow Ocircumflexgrave Ocircumflexhookabove Ocircumflextilde Odblgrave Odieresis Odieresismacron Odotaccentmacron Odotbelow Ograve Ohookabove Ohorn Ohornacute Ohorndotbelow Ohorngrave Ohornhookabove Ohorntilde Ohungarumlaut Oinvertedbreve Omacron Omacronacute Omacrongrave Oogonek Oslash Oslashacute Otilde Otildeacute Otildedieresis Otildemacron OE P Thorn Q R Racute Rcaron Rcommaaccent Rdblgrave Rdotbelow Rinvertedbreve Rlinebelow S Sacute Sacutedotaccent Scaron Scarondotaccent Scedilla Scircumflex Scommaaccent Sdotaccent Sdotbelow Sdotbelowdotaccent Germandbls Schwa T Tbar Tcaron Tcedilla Tcommaaccent Tdotbelow Tlinebelow U Uacute Ubreve Ucircumflex Udblgrave Udieresis Udotbelow Ugrave Uhookabove Uhorn Uhornacute Uhorndotbelow Uhorngrave Uhornhookabove Uhorntilde Uhungarumlaut Uinvertedbreve Umacron Umacrondieresis Uogonek Uring Utilde Utildeacute V W Wacute Wcircumflex Wdieresis Wgrave X Y Yacute Ycircumflex Ydieresis Ydotaccent Ydotbelow Ygrave Yhookabove Ymacron Ytilde Z Zacute Zcaron Zdotaccent Zdotbelow U.i ZdoubleStruck ];

# Prefix: Languagesystems
# automatic
languagesystem DFLT dflt;
languagesystem latn dflt;
languagesystem latn CAT;
languagesystem latn ROM;
languagesystem latn MOL;
languagesystem latn KAZ;
languagesystem latn TAT;
languagesystem latn TRK;
languagesystem latn CRT;
languagesystem latn AZE;

feature aalt {
# automatic
feature ccmp;
feature locl;
feature subs;
feature sups;
feature numr;
feature dnom;
feature frac;
feature ordn;
feature case;
feature zero;
feature salt;
feature ss01;
feature ss02;
feature ss03;
} aalt;

feature ccmp {
# automatic
lookup ccmp_Other_1 {
	@CombiningTopAccents = [acutecomb brevecomb breveinvertedcomb caroncomb circumflexcomb commaturnedabovecomb dblgravecomb dieresiscomb dotaccentcomb gravecomb hookabovecomb hungarumlautcomb macroncomb ringcomb tildecomb];
	@CombiningNonTopAccents = [brevebelowcomb cedillacomb dieresisbelowcomb dotbelowcomb macronbelowcomb ogonekcomb horncomb strokelongcomb strokeshortcomb];
	sub [i j]' @CombiningTopAccents by [idotless jdotless];
	sub [i j]' @CombiningNonTopAccents @CombiningTopAccents by [idotless jdotless];
	@Markscomb = [dieresiscomb dotaccentcomb gravecomb acutecomb hungarumlautcomb circumflexcomb caroncomb brevecomb ringcomb tildecomb horncomb acute breve caron dieresis dotaccent grave hungarumlaut ring tilde circumflexcomb_acutecomb circumflexcomb_gravecomb circumflexcomb_hookabovecomb circumflexcomb_tildecomb];
	@MarkscombCase = [dieresiscomb.case dotaccentcomb.case gravecomb.case acutecomb.case hungarumlautcomb.case circumflexcomb.case caroncomb.case brevecomb.case ringcomb.case tildecomb.case horncomb.case acute.case breve.case caron.case dieresis.case dotaccent.case grave.case hungarumlaut.case ring.case tilde.case circumflexcomb_acutecomb.case circumflexcomb_gravecomb.case circumflexcomb_hookabovecomb.case circumflexcomb_tildecomb.case];
	sub @Markscomb @Markscomb' by @MarkscombCase;
	sub @Uppercase @Markscomb' by @MarkscombCase;
} ccmp_Other_1;

lookup ccmp_Other_2 {
	sub @Markscomb' @MarkscombCase by @MarkscombCase;
	sub @MarkscombCase @Markscomb' by @MarkscombCase;
} ccmp_Other_2;

lookup ccmp_latn_1 {
	script latn;
	lookupflag 0;
	sub brevecomb acutecomb by brevecomb_acutecomb;
	sub brevecomb gravecomb by brevecomb_gravecomb;
	sub brevecomb hookabovecomb by brevecomb_hookabovecomb;
	sub brevecomb tildecomb by brevecomb_tildecomb;
	sub circumflexcomb acutecomb by circumflexcomb_acutecomb;
	sub circumflexcomb gravecomb by circumflexcomb_gravecomb;
	sub circumflexcomb hookabovecomb by circumflexcomb_hookabovecomb;
	sub circumflexcomb tildecomb by circumflexcomb_tildecomb;
	sub circumflexcomb.case acutecomb.case by circumflexcomb_acutecomb.case;
	sub circumflexcomb.case gravecomb.case by circumflexcomb_gravecomb.case;
	sub circumflexcomb.case tildecomb.case by circumflexcomb_tildecomb.case;
} ccmp_latn_1;
} ccmp;

feature locl {
# automatic
script latn;
language CAT;
sub l periodcentered' l by periodcentered.loclCAT;
sub L periodcentered' L by periodcentered.loclCAT;
language ROM;
sub Scedilla by Scommaaccent;
sub scedilla by scommaaccent;
sub Tcedilla by Tcommaaccent;
sub tcedilla by tcommaaccent;
language MOL;
sub Scedilla by Scommaaccent;
sub scedilla by scommaaccent;
sub Tcedilla by Tcommaaccent;
sub tcedilla by tcommaaccent;
language KAZ;
sub i by idotaccent;
language TAT;
sub i by idotaccent;
language TRK;
sub i by idotaccent;
language CRT;
sub i by idotaccent;
language AZE;
sub i by idotaccent;
} locl;

feature subs {
# automatic
sub zero by zeroinferior;
sub one by oneinferior;
sub two by twoinferior;
sub three by threeinferior;
sub four by fourinferior;
sub five by fiveinferior;
sub six by sixinferior;
sub seven by seveninferior;
sub eight by eightinferior;
sub nine by nineinferior;
} subs;

feature sups {
# automatic
sub zero by zerosuperior;
sub one by onesuperior;
sub two by twosuperior;
sub three by threesuperior;
sub four by foursuperior;
sub five by fivesuperior;
sub six by sixsuperior;
sub seven by sevensuperior;
sub eight by eightsuperior;
sub nine by ninesuperior;
sub minus by minussuperior;
} sups;

feature numr {
# automatic
sub zero by zero.numr;
sub one by one.numr;
sub two by two.numr;
sub three by three.numr;
sub four by four.numr;
sub five by five.numr;
sub six by six.numr;
sub seven by seven.numr;
sub eight by eight.numr;
sub nine by nine.numr;
} numr;

feature dnom {
# automatic
sub zero by zero.dnom;
sub one by one.dnom;
sub two by two.dnom;
sub three by three.dnom;
sub four by four.dnom;
sub five by five.dnom;
sub six by six.dnom;
sub seven by seven.dnom;
sub eight by eight.dnom;
sub nine by nine.dnom;
} dnom;

feature frac {
# automatic
lookup FRAC {
	sub slash by fraction;
} FRAC;
lookup UP {
	sub [zero one two three four five six seven eight nine] by [zero.numr one.numr two.numr three.numr four.numr five.numr six.numr seven.numr eight.numr nine.numr];
} UP;
lookup DOWN {
	sub fraction [zero.numr one.numr two.numr three.numr four.numr five.numr six.numr seven.numr eight.numr nine.numr]' by [zero.dnom one.dnom two.dnom three.dnom four.dnom five.dnom six.dnom seven.dnom eight.dnom nine.dnom];
	sub [zero.dnom one.dnom two.dnom three.dnom four.dnom five.dnom six.dnom seven.dnom eight.dnom nine.dnom] [zero.numr one.numr two.numr three.numr four.numr five.numr six.numr seven.numr eight.numr nine.numr]' by [zero.dnom one.dnom two.dnom three.dnom four.dnom five.dnom six.dnom seven.dnom eight.dnom nine.dnom];
} DOWN;
} frac;

feature ordn {
# automatic
sub [zero one two three four five six seven eight nine] [A a]' by ordfeminine;
sub [zero one two three four five six seven eight nine] [O o]' by ordmasculine;
sub N o period by numero;
} ordn;

feature case {
# automatic
sub dieresiscomb by dieresiscomb.case;
sub dotaccentcomb by dotaccentcomb.case;
sub gravecomb by gravecomb.case;
sub acutecomb by acutecomb.case;
sub hungarumlautcomb by hungarumlautcomb.case;
sub circumflexcomb by circumflexcomb.case;
sub caroncomb by caroncomb.case;
sub brevecomb by brevecomb.case;
sub ringcomb by ringcomb.case;
sub tildecomb by tildecomb.case;
sub horncomb by horncomb.case;
sub acute by acute.case;
sub breve by breve.case;
sub caron by caron.case;
sub dieresis by dieresis.case;
sub dotaccent by dotaccent.case;
sub grave by grave.case;
sub hungarumlaut by hungarumlaut.case;
sub ring by ring.case;
sub tilde by tilde.case;
sub circumflexcomb_acutecomb by circumflexcomb_acutecomb.case;
sub circumflexcomb_gravecomb by circumflexcomb_gravecomb.case;
sub circumflexcomb_hookabovecomb by circumflexcomb_hookabovecomb.case;
sub circumflexcomb_tildecomb by circumflexcomb_tildecomb.case;
} case;

feature dlig {
# automatic
sub exclam equal equal by exclam_equal_equal.dlig;
sub equal equal equal by equal_equal_equal.dlig;
sub hyphen greater by hyphen_greater.dlig;
sub equal greater by equal_greater.dlig;
sub greater equal by greater_equal.dlig;
sub less hyphen by less_hyphen.dlig;
sub less equal by less_equal.dlig;
} dlig;

feature zero {
# automatic
sub zero by zero.zero;
sub zeroinferior by zeroinferior.zero;
sub zero.dnom by zero.dnom.zero;
sub zero.numr by zero.numr.zero;
sub zerosuperior by zerosuperior.zero;
} zero;

feature salt {
# automatic
sub asterisk by asterisk.ss01;
sub asciitilde by asciitilde.ss01;
sub asciicircum by asciicircum.ss01;
} salt;

feature ss01 {
# automatic
sub asterisk by asterisk.ss01;
sub asciitilde by asciitilde.ss01;
sub asciicircum by asciicircum.ss01;
} ss01;

feature ss02 {
# automatic
sub zero by zero.ss02;
sub zeroinferior by zeroinferior.ss02;
sub zero.dnom by zero.dnom.ss02;
sub zero.numr by zero.numr.ss02;
sub zerosuperior by zerosuperior.ss02;
} ss02;

feature ss03 {
# automatic
sub quotedbl by quotedbl.ss03;
sub quotesingle by quotesingle.ss03;
} ss03;

