[cantarell-fonts/ufo-conversion] Move feature files back to UFOs
- From: Nikolaus Waxweiler <nwaxweiler src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [cantarell-fonts/ufo-conversion] Move feature files back to UFOs
- Date: Sun, 10 Feb 2019 13:26:33 +0000 (UTC)
commit ab061aae31e7a18e2f46c651faec80220170092a
Author: Nikolaus Waxweiler <madigens gmail com>
Date: Sun Feb 10 13:25:55 2019 +0000
Move feature files back to UFOs
So we can edit, update and export from Glyphs.
src/Cantarell-Bold.ufo/features.fea | 505 ++++++++++++++++++++++++++++++++-
src/Cantarell-Light.ufo/features.fea | 505 ++++++++++++++++++++++++++++++++-
src/Cantarell-Regular.ufo/features.fea | 505 ++++++++++++++++++++++++++++++++-
src/family.fea | 504 --------------------------------
4 files changed, 1512 insertions(+), 507 deletions(-)
---
diff --git a/src/Cantarell-Bold.ufo/features.fea b/src/Cantarell-Bold.ufo/features.fea
index 5e62ed1b..9d07fd49 100644
--- a/src/Cantarell-Bold.ufo/features.fea
+++ b/src/Cantarell-Bold.ufo/features.fea
@@ -1 +1,504 @@
-include(family.fea)
+# automatic
+@Uppercase = [ A Aacute Abreve Abreveacute Abrevedotbelow Abrevegrave Abrevehookabove Abrevetilde Acaron
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 DZcaron Eth Dcaron Dcroat Ddotbelow
Dlinebelow Dzcaron E Eacute Ebreve Ecaron Ecedillabreve Ecircumflex Ecircumflexacute Ecircumflexdotbelow
Ecircumflexgrave Ecircumflexhookabove Ecircumflextilde Edblgrave Edieresis Edotaccent Edotbelow Egrave
Ehookabove Einvertedbreve Emacron Emacronacute Emacrongrave Eogonek Etilde F G Gbreve Gcaron Gcircumflex
Gcommaaccent Gdotaccent Gmacron H Hbar Hbrevebelow Hcircumflex Hdotbelow I Iacute Ibreve Icaron Icircumflex
Idblgrave Idieresis Idieresisacute Idotaccent Idotbelow Igrave Ihookabove Iinvertedbreve Imacron Iogonek
Itilde J Jacute Jcircumflex K Kacute K
commaacc
ent L LJ Lacute Lcaron Lcommaaccent Ldot Ldotbelow Lj Llinebelow Lslash M Mdotbelow N NJ Nacute Ncaron
Ncommaaccent Ndotaccent Ndotbelow Eng Nj Nlinebelow Ntilde O Oacute Obreve Ocaron 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 Saltillo Scaron Scarondotaccent
Scedilla Scircumflex Scommaaccent Sdotaccent Sdotbelow Sdotbelowdotaccent Germandbls Schwa T Tbar Tcaron
Tcedilla Tcommaaccent Tdotbelow Tlinebelow U Uacute Ubreve Ucaron Ucircumflex Udblgrave Udieresis
Udieresisacute Udieresiscaron Udieresisgrave Udieresismacron Udotb
elow Ugr
ave 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 A-cy Be-cy Ve-cy Ge-cy Gje-cy Gheupturn-cy De-cy Ie-cy Iegrave-cy Io-cy Zhe-cy Ze-cy
Ii-cy Iishort-cy Iigrave-cy Ka-cy Kje-cy El-cy Em-cy En-cy O-cy Pe-cy Er-cy Es-cy Te-cy U-cy Ushort-cy Ef-cy
Ha-cy Che-cy Tse-cy Sha-cy Shcha-cy Dzhe-cy Softsign-cy Hardsign-cy Yeru-cy Lje-cy Nje-cy Dze-cy E-cy
Ereversed-cy I-cy Yi-cy Je-cy Tshe-cy Iu-cy Ia-cy Dje-cy Yat-cy Yusbig-cy Fita-cy Izhitsa-cy Ghestroke-cy
Ghemiddlehook-cy Zhedescender-cy Zedescender-cy Kadescender-cy Kaverticalstroke-cy Kabashkir-cy
Endescender-cy Enghe-cy Esdescender-cy Ustraight-cy Ustraightstroke-cy Hadescender-cy Chedescender-cy
Cheverticalstroke-cy Shha-cy Palochka-cy Zhebreve-cy Che
khakassi
an-cy Abreve-cy Adieresis-cy Aie-cy Iebreve-cy Schwa-cy Zhedieresis-cy Zedieresis-cy Imacron-cy Idieresis-cy
Odieresis-cy Obarred-cy Umacron-cy Udieresis-cy Uhungarumlaut-cy Chedieresis-cy Gedescender-cy
Yerudieresis-cy Qa-cy We-cy ];
+
+# Prefix: Languagesystems
+# automatic
+languagesystem DFLT dflt;
+languagesystem latn dflt;
+languagesystem latn NLD;
+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 sinf;
+feature sups;
+feature numr;
+feature dnom;
+feature frac;
+feature ordn;
+feature lnum;
+feature pnum;
+feature tnum;
+feature onum;
+feature case;
+feature zero;
+feature salt;
+feature ss01;
+
+} aalt;
+
+feature ccmp {
+# automatic
+lookup ccmp_Other_1 {
+ @CombiningTopAccents = [acutecomb brevecomb breveinvertedcomb caroncomb circumflexcomb
commaturnedabovecomb dblgravecomb dieresiscomb dotaccentcomb gravecomb hookabovecomb hungarumlautcomb
macroncomb ringcomb tildecomb verticallineabovecomb];
+ @CombiningNonTopAccents = [brevebelowcomb cedillacomb dieresisbelowcomb dotbelowcomb macronbelowcomb
ogonekcomb verticallinebelowcomb horncomb slashlongcomb slashshortcomb 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 ringcomb_acutecomb tildecomb macroncomb hookabovecomb dblgravecomb
breveinvertedcomb strokeshortcomb slashshortcomb slashlongcomb macroncomb.narrow ogonekcomb.tall brevecomb-cy
descender-cy brevecomb_acutecomb brevecomb_gravecomb brevecomb_hookabovecomb brevecomb_tildecomb
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 ringcomb_acutecomb.case
tildecomb.case macroncomb.case hookabovecomb.case dblgravecomb.case breveinvertedcomb.case
strokeshortcomb.case slashshortcomb.case slashlongcomb.case macroncomb.narrow.case ogonekcomb.tall.case
brevecomb-cy.case descender-cy.case brevecomb_acutecomb.case brevecomb_gravecomb.case
brevecomb_hookabovecomb.case brevecomb_tildecomb.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_Other_3 {
+ lookupflag 0;
+ sub acutecomb dotaccentcomb by acutecomb_dotaccentcomb;
+ sub caroncomb dotaccentcomb by caroncomb_dotaccentcomb;
+ sub dieresiscomb acutecomb by dieresiscomb_acutecomb;
+ sub dieresiscomb caroncomb by dieresiscomb_caroncomb;
+ sub dieresiscomb gravecomb by dieresiscomb_gravecomb;
+ sub dieresiscomb macroncomb by dieresiscomb_macroncomb;
+ sub dotaccentcomb macroncomb by dotaccentcomb_macroncomb;
+ sub macroncomb acutecomb by macroncomb_acutecomb;
+ sub macroncomb dieresiscomb by macroncomb_dieresiscomb;
+ sub macroncomb gravecomb by macroncomb_gravecomb;
+ sub ringcomb acutecomb by ringcomb_acutecomb;
+ sub ringcomb.case acutecomb.case by ringcomb_acutecomb.case;
+ sub tildecomb acutecomb by tildecomb_acutecomb;
+ sub tildecomb dieresiscomb by tildecomb_dieresiscomb;
+ sub tildecomb macroncomb by tildecomb_macroncomb;
+} ccmp_Other_3;
+
+lookup ccmp_Other_4 {
+ lookupflag 0;
+ sub acutecomb dotaccentcomb by acutecomb_dotaccentcomb;
+ sub caroncomb dotaccentcomb by caroncomb_dotaccentcomb;
+ sub dieresiscomb acutecomb by dieresiscomb_acutecomb;
+ sub dieresiscomb caroncomb by dieresiscomb_caroncomb;
+ sub dieresiscomb gravecomb by dieresiscomb_gravecomb;
+ sub dieresiscomb macroncomb by dieresiscomb_macroncomb;
+ sub dotaccentcomb macroncomb by dotaccentcomb_macroncomb;
+ sub macroncomb acutecomb by macroncomb_acutecomb;
+ sub macroncomb dieresiscomb by macroncomb_dieresiscomb;
+ sub macroncomb gravecomb by macroncomb_gravecomb;
+ sub ringcomb acutecomb by ringcomb_acutecomb;
+ sub ringcomb.case acutecomb.case by ringcomb_acutecomb.case;
+ sub tildecomb acutecomb by tildecomb_acutecomb;
+ sub tildecomb dieresiscomb by tildecomb_dieresiscomb;
+ sub tildecomb macroncomb by tildecomb_macroncomb;
+} ccmp_Other_4;
+
+lookup ccmp_latn_1 {
+ lookupflag 0;
+ sub brevecomb acutecomb by brevecomb_acutecomb;
+ sub brevecomb.case acutecomb.case by brevecomb_acutecomb.case;
+ sub brevecomb gravecomb by brevecomb_gravecomb;
+ sub brevecomb.case gravecomb.case by brevecomb_gravecomb.case;
+ sub brevecomb hookabovecomb by brevecomb_hookabovecomb;
+ sub brevecomb.case hookabovecomb.case by brevecomb_hookabovecomb.case;
+ sub brevecomb tildecomb by brevecomb_tildecomb;
+ sub brevecomb.case tildecomb.case by brevecomb_tildecomb.case;
+ sub circumflexcomb acutecomb by circumflexcomb_acutecomb;
+ sub circumflexcomb.case acutecomb.case by circumflexcomb_acutecomb.case;
+ sub circumflexcomb gravecomb by circumflexcomb_gravecomb;
+ sub circumflexcomb.case gravecomb.case by circumflexcomb_gravecomb.case;
+ sub circumflexcomb hookabovecomb by circumflexcomb_hookabovecomb;
+ sub circumflexcomb.case hookabovecomb.case by circumflexcomb_hookabovecomb.case;
+ sub circumflexcomb tildecomb by circumflexcomb_tildecomb;
+ sub circumflexcomb.case tildecomb.case by circumflexcomb_tildecomb.case;
+} ccmp_latn_1;
+
+lookup ccmp_latn_2 {
+ lookupflag 0;
+ sub brevecomb acutecomb by brevecomb_acutecomb;
+ sub brevecomb.case acutecomb.case by brevecomb_acutecomb.case;
+ sub brevecomb gravecomb by brevecomb_gravecomb;
+ sub brevecomb.case gravecomb.case by brevecomb_gravecomb.case;
+ sub brevecomb hookabovecomb by brevecomb_hookabovecomb;
+ sub brevecomb.case hookabovecomb.case by brevecomb_hookabovecomb.case;
+ sub brevecomb tildecomb by brevecomb_tildecomb;
+ sub brevecomb.case tildecomb.case by brevecomb_tildecomb.case;
+ sub circumflexcomb acutecomb by circumflexcomb_acutecomb;
+ sub circumflexcomb.case acutecomb.case by circumflexcomb_acutecomb.case;
+ sub circumflexcomb gravecomb by circumflexcomb_gravecomb;
+ sub circumflexcomb.case gravecomb.case by circumflexcomb_gravecomb.case;
+ sub circumflexcomb hookabovecomb by circumflexcomb_hookabovecomb;
+ sub circumflexcomb.case hookabovecomb.case by circumflexcomb_hookabovecomb.case;
+ sub circumflexcomb tildecomb by circumflexcomb_tildecomb;
+ sub circumflexcomb.case tildecomb.case by circumflexcomb_tildecomb.case;
+} ccmp_latn_2;
+
+script latn;
+
+} ccmp;
+
+feature locl {
+# automatic
+script latn;
+language NLD;
+sub iacute j' by jacute;
+sub Iacute J' by Jacute;
+language CAT;
+sub l periodcentered' l by periodcentered.loclCAT;
+sub L periodcentered' L by periodcentered.loclCAT.case;
+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 sinf {
+# automatic
+sub zero by zero.subs;
+sub one by one.subs;
+sub two by two.subs;
+sub three by three.subs;
+sub four by four.subs;
+sub five by five.subs;
+sub six by six.subs;
+sub seven by seven.subs;
+sub eight by eight.subs;
+sub nine by nine.subs;
+
+} sinf;
+
+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;
+
+} 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 lnum {
+# automatic
+sub zero.osf by zero;
+sub one.osf by one;
+sub two.osf by two;
+sub three.osf by three;
+sub four.osf by four;
+sub five.osf by five;
+sub six.osf by six;
+sub seven.osf by seven;
+sub eight.osf by eight;
+sub nine.osf by nine;
+
+} lnum;
+
+feature pnum {
+# automatic
+sub zero.tf by zero;
+sub one.tf by one;
+sub two.tf by two;
+sub three.tf by three;
+sub four.tf by four;
+sub five.tf by five;
+sub six.tf by six;
+sub seven.tf by seven;
+sub eight.tf by eight;
+sub nine.tf by nine;
+sub bulletoperator.tf by bulletoperator;
+sub commercialMinusSign.tf by commercialMinusSign;
+sub divisionslash.tf by divisionslash;
+sub equivalence.tf by equivalence;
+sub notidentical.tf by notidentical;
+sub plus.tf by plus;
+sub minus.tf by minus;
+sub multiply.tf by multiply;
+sub divide.tf by divide;
+sub equal.tf by equal;
+sub notequal.tf by notequal;
+sub greater.tf by greater;
+sub less.tf by less;
+sub greaterequal.tf by greaterequal;
+sub lessequal.tf by lessequal;
+sub plusminus.tf by plusminus;
+sub approxequal.tf by approxequal;
+sub logicalnot.tf by logicalnot;
+sub zero.tosf by zero.osf;
+sub one.tosf by one.osf;
+sub two.tosf by two.osf;
+sub three.tosf by three.osf;
+sub four.tosf by four.osf;
+sub five.tosf by five.osf;
+sub six.tosf by six.osf;
+sub seven.tosf by seven.osf;
+sub eight.tosf by eight.osf;
+sub nine.tosf by nine.osf;
+
+} pnum;
+
+feature tnum {
+# automatic
+sub zero by zero.tf;
+sub one by one.tf;
+sub two by two.tf;
+sub three by three.tf;
+sub four by four.tf;
+sub five by five.tf;
+sub six by six.tf;
+sub seven by seven.tf;
+sub eight by eight.tf;
+sub nine by nine.tf;
+sub bulletoperator by bulletoperator.tf;
+sub commercialMinusSign by commercialMinusSign.tf;
+sub divisionslash by divisionslash.tf;
+sub equivalence by equivalence.tf;
+sub notidentical by notidentical.tf;
+sub plus by plus.tf;
+sub minus by minus.tf;
+sub multiply by multiply.tf;
+sub divide by divide.tf;
+sub equal by equal.tf;
+sub notequal by notequal.tf;
+sub greater by greater.tf;
+sub less by less.tf;
+sub greaterequal by greaterequal.tf;
+sub lessequal by lessequal.tf;
+sub plusminus by plusminus.tf;
+sub approxequal by approxequal.tf;
+sub logicalnot by logicalnot.tf;
+sub zero.osf by zero.tosf;
+sub one.osf by one.tosf;
+sub two.osf by two.tosf;
+sub three.osf by three.tosf;
+sub four.osf by four.tosf;
+sub five.osf by five.tosf;
+sub six.osf by six.tosf;
+sub seven.osf by seven.tosf;
+sub eight.osf by eight.tosf;
+sub nine.osf by nine.tosf;
+
+} tnum;
+
+feature onum {
+# automatic
+sub zero.tf by zero.tosf;
+sub one.tf by one.tosf;
+sub two.tf by two.tosf;
+sub three.tf by three.tosf;
+sub four.tf by four.tosf;
+sub five.tf by five.tosf;
+sub six.tf by six.tosf;
+sub seven.tf by seven.tosf;
+sub eight.tf by eight.tosf;
+sub nine.tf by nine.tosf;
+sub zero by zero.osf;
+sub one by one.osf;
+sub two by two.osf;
+sub three by three.osf;
+sub four by four.osf;
+sub five by five.osf;
+sub six by six.osf;
+sub seven by seven.osf;
+sub eight by eight.osf;
+sub nine by nine.osf;
+
+} onum;
+
+feature case {
+# automatic
+sub periodcentered.loclCAT by periodcentered.loclCAT.case;
+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 ringcomb_acutecomb by ringcomb_acutecomb.case;
+sub tildecomb by tildecomb.case;
+sub macroncomb by macroncomb.case;
+sub hookabovecomb by hookabovecomb.case;
+sub dblgravecomb by dblgravecomb.case;
+sub breveinvertedcomb by breveinvertedcomb.case;
+sub strokeshortcomb by strokeshortcomb.case;
+sub slashshortcomb by slashshortcomb.case;
+sub slashlongcomb by slashlongcomb.case;
+sub macroncomb.narrow by macroncomb.narrow.case;
+sub ogonekcomb.tall by ogonekcomb.tall.case;
+sub brevecomb-cy by brevecomb-cy.case;
+sub descender-cy by descender-cy.case;
+sub brevecomb_acutecomb by brevecomb_acutecomb.case;
+sub brevecomb_gravecomb by brevecomb_gravecomb.case;
+sub brevecomb_hookabovecomb by brevecomb_hookabovecomb.case;
+sub brevecomb_tildecomb by brevecomb_tildecomb.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;
+sub zero.osf by zero.lf;
+sub one.osf by one.lf;
+sub two.osf by two.lf;
+sub three.osf by three.lf;
+sub four.osf by four.lf;
+sub five.osf by five.lf;
+sub six.osf by six.lf;
+sub seven.osf by seven.lf;
+sub eight.osf by eight.lf;
+sub nine.osf by nine.lf;
+sub zero.tf by zero.lf;
+sub one.tf by one.lf;
+sub two.tf by two.lf;
+sub three.tf by three.lf;
+sub four.tf by four.lf;
+sub five.tf by five.lf;
+sub six.tf by six.lf;
+sub seven.tf by seven.lf;
+sub eight.tf by eight.lf;
+sub nine.tf by nine.lf;
+sub zero.tosf by zero.lf;
+sub one.tosf by one.lf;
+sub two.tosf by two.lf;
+sub three.tosf by three.lf;
+sub four.tosf by four.lf;
+sub five.tosf by five.lf;
+sub six.tosf by six.lf;
+sub seven.tosf by seven.lf;
+sub eight.tosf by eight.lf;
+sub nine.tosf by nine.lf;
+
+} case;
+
+feature liga {
+# automatic
+sub f f i by f_f_i;
+sub f f l by f_f_l;
+sub f f by f_f;
+sub f i by fi;
+sub f l by fl;
+
+} liga;
+
+feature zero {
+# automatic
+sub zero.lf by zero.lf.zero;
+sub zero.osf by zero.osf.zero;
+sub zero.tf by zero.tf.zero;
+sub zero.tosf by zero.tosf.zero;
+sub zero by zero.zero;
+
+} zero;
+
+feature salt {
+# automatic
+sub six by six.ss01;
+sub nine by nine.ss01;
+
+} salt;
+
+feature ss01 {
+# automatic
+sub six by six.ss01;
+sub nine by nine.ss01;
+
+} ss01;
+
+table GDEF {
+ # automatic
+ GlyphClassDef
+ [A Aacute Abreve Abreveacute Abrevedotbelow Abrevegrave Abrevehookabove Abrevetilde Acaron
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 DZcaron Eth Dcaron Dcroat Ddotbelow
Dlinebelow Dzcaron E Eacute Ebreve Ecaron Ecedillabreve Ecircumflex Ecircumflexacute Ecircumflexdotbelow
Ecircumflexgrave Ecircumflexhookabove Ecircumflextilde Edblgrave Edieresis Edotaccent Edotbelow Egrave
Ehookabove Einvertedbreve Emacron Emacronacute Emacrongrave Eogonek Etilde F G Gbreve Gcaron Gcircumflex
Gcommaaccent Gdotaccent Gmacron H Hbar Hbrevebelow Hcircumflex Hdotbelow I Iacute Ibreve Icaron Icircumflex
Idblgrave Idieresis Idieresisacute Idotaccent Idotbelow Igrave Ihookabove Iinvertedbreve Imacron Iogonek
Itilde J Jacute Jcircumflex K Kacute Kcommaaccent L
LJ Lacu
te Lcaron Lcommaaccent Ldot Ldotbelow Lj Llinebelow Lslash M Mdotbelow N NJ Nacute Ncaron Ncommaaccent
Ndotaccent Ndotbelow Nj Nlinebelow Ntilde O Oacute Obreve Ocaron 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 Q R Racute Rcaron Rcommaaccent Rdblgrave
Rdotbelow Rinvertedbreve Rlinebelow S Sacute Sacutedotaccent Scaron Scarondotaccent Scedilla Scircumflex
Scommaaccent Sdotaccent Sdotbelow Sdotbelowdotaccent Schwa T Tbar Tcaron Tcedilla Tcommaaccent Tdotbelow
Tlinebelow U Uacute Ubreve Ucaron Ucircumflex Udblgrave Udieresis Udieresisacute Udieresiscaron
Udieresisgrave Udieresismacron Udotbelow Ugrave Uhookabove Uhorn Uhornacute Uho
rndotbel
ow 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 a aacute abreve abreveacute
abrevedotbelow abrevegrave abrevehookabove abrevetilde acaron 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 dcaron dcroat ddotbelow dlinebelow dzcaron e eacute ebreve
ecaron ecedillabreve ecircumflex ecircumflexacute ecircumflexdotbelow ecircumflexgrave ecircumflexhookabove
ecircumflextilde edblgrave edieresis edotaccent edotbelow egrave ehookabove einvertedbreve emacron
emacronacute emacrongrave eogonek etilde schwa f g gbreve g
caron gc
ircumflex gcommaaccent gdotaccent gmacron h hbar hbrevebelow hcircumflex hdotbelow i idotless iacute ibreve
icaron icircumflex idblgrave idieresis idieresisacute idotaccent idotbelow igrave ihookabove iinvertedbreve
imacron iogonek itilde j jdotless jacute jcircumflex k kacute kcommaaccent l lacute lcaron lcommaaccent ldot
ldotbelow lj llinebelow lslash m mdotbelow n nacute ncaron ncommaaccent ndotaccent ndotbelow nj nlinebelow
ntilde o oacute obreve ocaron 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 q r racute rcaron rcommaaccent rdblgrave rdotbelow rinvertedbreve rlinebelow s sacute sacutedotaccent
scaron scarondotaccent scedill
a scircu
mflex scommaaccent sdotaccent sdotbelow sdotbelowdotaccent t tbar tcaron tcedilla tcommaaccent tdieresis
tdotbelow tlinebelow u uacute ubreve ucaron ucircumflex udblgrave udieresis udieresisacute udieresiscaron
udieresisgrave udieresismacron 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 A-cy Ve-cy Ge-cy Gje-cy Ie-cy
Iegrave-cy Io-cy Zhe-cy Ze-cy Ii-cy Iishort-cy Iigrave-cy Ka-cy Kje-cy Em-cy En-cy O-cy Pe-cy Er-cy Es-cy
Te-cy U-cy Ushort-cy Ha-cy Che-cy Hardsign-cy Yeru-cy Dze-cy Ereversed-cy I-cy Yi-cy Je-cy Iu-cy Ia-cy
Fita-cy Zhedescender-cy Zedescender-cy Kadescender-cy Endescender-cy Esdescender-cy Ustraight-cy
Ustraightstroke-cy Hadescender-cy Chedescender-cy Palochka-cy Zhe
breve-cy
Chekhakassian-cy Abreve-cy Adieresis-cy Aie-cy Iebreve-cy Schwa-cy Zhedieresis-cy Zedieresis-cy Imacron-cy
Idieresis-cy Odieresis-cy Obarred-cy Umacron-cy Udieresis-cy Uhungarumlaut-cy Chedieresis-cy Gedescender-cy
Yerudieresis-cy Qa-cy We-cy a-cy ge-cy gje-cy ie-cy iegrave-cy io-cy zhe-cy ze-cy ii-cy iishort-cy iigrave-cy
ka-cy kje-cy en-cy o-cy pe-cy er-cy es-cy te-cy u-cy ushort-cy ha-cy che-cy yeru-cy dze-cy e-cy ereversed-cy
i-cy yi-cy je-cy tshe-cy iu-cy ia-cy dje-cy fita-cy zhedescender-cy zedescender-cy kadescender-cy
endescender-cy esdescender-cy ustraight-cy hadescender-cy chedescender-cy shha-cy palochka-cy zhebreve-cy
chekhakassian-cy abreve-cy adieresis-cy aie-cy iebreve-cy schwa-cy zhedieresis-cy zedieresis-cy imacron-cy
idieresis-cy odieresis-cy obarred-cy umacron-cy udieresis-cy uhungarumlaut-cy chedieresis-cy gedescender-cy
yerudieresis-cy qa-cy we-cy cedi cent colonsign dollar dong euro franc guarani naira peseta peso won numero
ustraightstroke-cy], # Base
+ [f_f f_f_i f_f_l fi fl], # Liga
+ [dieresiscomb dieresiscomb_gravecomb dieresiscomb_acutecomb dieresiscomb_caroncomb
dieresiscomb_macroncomb dotaccentcomb dotaccentcomb_macroncomb gravecomb acutecomb acutecomb_dotaccentcomb
hungarumlautcomb caroncomb.alt circumflexcomb caroncomb caroncomb_dotaccentcomb brevecomb ringcomb
ringcomb_acutecomb tildecomb tildecomb_dieresiscomb tildecomb_acutecomb tildecomb_macroncomb macroncomb
macroncomb_dieresiscomb macroncomb_gravecomb macroncomb_acutecomb hookabovecomb verticallineabovecomb
dblgravecomb breveinvertedcomb commaturnedabovecomb horncomb dotbelowcomb dieresisbelowcomb commaaccentcomb
cedillacomb ogonekcomb verticallinebelowcomb brevebelowcomb macronbelowcomb strokeshortcomb strokelongcomb
slashshortcomb slashlongcomb dieresiscomb.case dotaccentcomb.case gravecomb.case acutecomb.case
hungarumlautcomb.case circumflexcomb.case caroncomb.case brevecomb.case ringcomb.case ringcomb_acutecomb.case
tildecomb.case macroncomb.case hookabovecomb.case dblgravecomb.case br
eveinver
tedcomb.case strokeshortcomb.case slashshortcomb.case slashlongcomb.case macroncomb.narrow.case
ogonekcomb.tall.case dieresiscomb.loclVIET dotaccentcomb.loclVIET gravecomb.loclVIET acutecomb.loclVIET
circumflexcomb.loclVIET caroncomb.loclVIET brevecomb.loclVIET tildecomb.loclVIET macroncomb.loclVIET
hookabovecomb.loclVIET macroncomb.narrow ogonekcomb.narrow macronbelowcomb.narrow ogonekcomb.tall
brevecomb-cy descender-cy brevecomb-cy.case descender-cy.case descender-cy.strait brevecomb_acutecomb
brevecomb_gravecomb brevecomb_hookabovecomb brevecomb_tildecomb circumflexcomb_acutecomb
circumflexcomb_gravecomb circumflexcomb_hookabovecomb circumflexcomb_tildecomb brevecomb_acutecomb.case
brevecomb_gravecomb.case brevecomb_hookabovecomb.case brevecomb_tildecomb.case circumflexcomb_acutecomb.case
circumflexcomb_gravecomb.case circumflexcomb_hookabovecomb.case circumflexcomb_tildecomb.case], # Mark
+ ;
+} GDEF;
diff --git a/src/Cantarell-Light.ufo/features.fea b/src/Cantarell-Light.ufo/features.fea
index 5e62ed1b..9d07fd49 100644
--- a/src/Cantarell-Light.ufo/features.fea
+++ b/src/Cantarell-Light.ufo/features.fea
@@ -1 +1,504 @@
-include(family.fea)
+# automatic
+@Uppercase = [ A Aacute Abreve Abreveacute Abrevedotbelow Abrevegrave Abrevehookabove Abrevetilde Acaron
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 DZcaron Eth Dcaron Dcroat Ddotbelow
Dlinebelow Dzcaron E Eacute Ebreve Ecaron Ecedillabreve Ecircumflex Ecircumflexacute Ecircumflexdotbelow
Ecircumflexgrave Ecircumflexhookabove Ecircumflextilde Edblgrave Edieresis Edotaccent Edotbelow Egrave
Ehookabove Einvertedbreve Emacron Emacronacute Emacrongrave Eogonek Etilde F G Gbreve Gcaron Gcircumflex
Gcommaaccent Gdotaccent Gmacron H Hbar Hbrevebelow Hcircumflex Hdotbelow I Iacute Ibreve Icaron Icircumflex
Idblgrave Idieresis Idieresisacute Idotaccent Idotbelow Igrave Ihookabove Iinvertedbreve Imacron Iogonek
Itilde J Jacute Jcircumflex K Kacute K
commaacc
ent L LJ Lacute Lcaron Lcommaaccent Ldot Ldotbelow Lj Llinebelow Lslash M Mdotbelow N NJ Nacute Ncaron
Ncommaaccent Ndotaccent Ndotbelow Eng Nj Nlinebelow Ntilde O Oacute Obreve Ocaron 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 Saltillo Scaron Scarondotaccent
Scedilla Scircumflex Scommaaccent Sdotaccent Sdotbelow Sdotbelowdotaccent Germandbls Schwa T Tbar Tcaron
Tcedilla Tcommaaccent Tdotbelow Tlinebelow U Uacute Ubreve Ucaron Ucircumflex Udblgrave Udieresis
Udieresisacute Udieresiscaron Udieresisgrave Udieresismacron Udotb
elow Ugr
ave 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 A-cy Be-cy Ve-cy Ge-cy Gje-cy Gheupturn-cy De-cy Ie-cy Iegrave-cy Io-cy Zhe-cy Ze-cy
Ii-cy Iishort-cy Iigrave-cy Ka-cy Kje-cy El-cy Em-cy En-cy O-cy Pe-cy Er-cy Es-cy Te-cy U-cy Ushort-cy Ef-cy
Ha-cy Che-cy Tse-cy Sha-cy Shcha-cy Dzhe-cy Softsign-cy Hardsign-cy Yeru-cy Lje-cy Nje-cy Dze-cy E-cy
Ereversed-cy I-cy Yi-cy Je-cy Tshe-cy Iu-cy Ia-cy Dje-cy Yat-cy Yusbig-cy Fita-cy Izhitsa-cy Ghestroke-cy
Ghemiddlehook-cy Zhedescender-cy Zedescender-cy Kadescender-cy Kaverticalstroke-cy Kabashkir-cy
Endescender-cy Enghe-cy Esdescender-cy Ustraight-cy Ustraightstroke-cy Hadescender-cy Chedescender-cy
Cheverticalstroke-cy Shha-cy Palochka-cy Zhebreve-cy Che
khakassi
an-cy Abreve-cy Adieresis-cy Aie-cy Iebreve-cy Schwa-cy Zhedieresis-cy Zedieresis-cy Imacron-cy Idieresis-cy
Odieresis-cy Obarred-cy Umacron-cy Udieresis-cy Uhungarumlaut-cy Chedieresis-cy Gedescender-cy
Yerudieresis-cy Qa-cy We-cy ];
+
+# Prefix: Languagesystems
+# automatic
+languagesystem DFLT dflt;
+languagesystem latn dflt;
+languagesystem latn NLD;
+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 sinf;
+feature sups;
+feature numr;
+feature dnom;
+feature frac;
+feature ordn;
+feature lnum;
+feature pnum;
+feature tnum;
+feature onum;
+feature case;
+feature zero;
+feature salt;
+feature ss01;
+
+} aalt;
+
+feature ccmp {
+# automatic
+lookup ccmp_Other_1 {
+ @CombiningTopAccents = [acutecomb brevecomb breveinvertedcomb caroncomb circumflexcomb
commaturnedabovecomb dblgravecomb dieresiscomb dotaccentcomb gravecomb hookabovecomb hungarumlautcomb
macroncomb ringcomb tildecomb verticallineabovecomb];
+ @CombiningNonTopAccents = [brevebelowcomb cedillacomb dieresisbelowcomb dotbelowcomb macronbelowcomb
ogonekcomb verticallinebelowcomb horncomb slashlongcomb slashshortcomb 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 ringcomb_acutecomb tildecomb macroncomb hookabovecomb dblgravecomb
breveinvertedcomb strokeshortcomb slashshortcomb slashlongcomb macroncomb.narrow ogonekcomb.tall brevecomb-cy
descender-cy brevecomb_acutecomb brevecomb_gravecomb brevecomb_hookabovecomb brevecomb_tildecomb
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 ringcomb_acutecomb.case
tildecomb.case macroncomb.case hookabovecomb.case dblgravecomb.case breveinvertedcomb.case
strokeshortcomb.case slashshortcomb.case slashlongcomb.case macroncomb.narrow.case ogonekcomb.tall.case
brevecomb-cy.case descender-cy.case brevecomb_acutecomb.case brevecomb_gravecomb.case
brevecomb_hookabovecomb.case brevecomb_tildecomb.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_Other_3 {
+ lookupflag 0;
+ sub acutecomb dotaccentcomb by acutecomb_dotaccentcomb;
+ sub caroncomb dotaccentcomb by caroncomb_dotaccentcomb;
+ sub dieresiscomb acutecomb by dieresiscomb_acutecomb;
+ sub dieresiscomb caroncomb by dieresiscomb_caroncomb;
+ sub dieresiscomb gravecomb by dieresiscomb_gravecomb;
+ sub dieresiscomb macroncomb by dieresiscomb_macroncomb;
+ sub dotaccentcomb macroncomb by dotaccentcomb_macroncomb;
+ sub macroncomb acutecomb by macroncomb_acutecomb;
+ sub macroncomb dieresiscomb by macroncomb_dieresiscomb;
+ sub macroncomb gravecomb by macroncomb_gravecomb;
+ sub ringcomb acutecomb by ringcomb_acutecomb;
+ sub ringcomb.case acutecomb.case by ringcomb_acutecomb.case;
+ sub tildecomb acutecomb by tildecomb_acutecomb;
+ sub tildecomb dieresiscomb by tildecomb_dieresiscomb;
+ sub tildecomb macroncomb by tildecomb_macroncomb;
+} ccmp_Other_3;
+
+lookup ccmp_Other_4 {
+ lookupflag 0;
+ sub acutecomb dotaccentcomb by acutecomb_dotaccentcomb;
+ sub caroncomb dotaccentcomb by caroncomb_dotaccentcomb;
+ sub dieresiscomb acutecomb by dieresiscomb_acutecomb;
+ sub dieresiscomb caroncomb by dieresiscomb_caroncomb;
+ sub dieresiscomb gravecomb by dieresiscomb_gravecomb;
+ sub dieresiscomb macroncomb by dieresiscomb_macroncomb;
+ sub dotaccentcomb macroncomb by dotaccentcomb_macroncomb;
+ sub macroncomb acutecomb by macroncomb_acutecomb;
+ sub macroncomb dieresiscomb by macroncomb_dieresiscomb;
+ sub macroncomb gravecomb by macroncomb_gravecomb;
+ sub ringcomb acutecomb by ringcomb_acutecomb;
+ sub ringcomb.case acutecomb.case by ringcomb_acutecomb.case;
+ sub tildecomb acutecomb by tildecomb_acutecomb;
+ sub tildecomb dieresiscomb by tildecomb_dieresiscomb;
+ sub tildecomb macroncomb by tildecomb_macroncomb;
+} ccmp_Other_4;
+
+lookup ccmp_latn_1 {
+ lookupflag 0;
+ sub brevecomb acutecomb by brevecomb_acutecomb;
+ sub brevecomb.case acutecomb.case by brevecomb_acutecomb.case;
+ sub brevecomb gravecomb by brevecomb_gravecomb;
+ sub brevecomb.case gravecomb.case by brevecomb_gravecomb.case;
+ sub brevecomb hookabovecomb by brevecomb_hookabovecomb;
+ sub brevecomb.case hookabovecomb.case by brevecomb_hookabovecomb.case;
+ sub brevecomb tildecomb by brevecomb_tildecomb;
+ sub brevecomb.case tildecomb.case by brevecomb_tildecomb.case;
+ sub circumflexcomb acutecomb by circumflexcomb_acutecomb;
+ sub circumflexcomb.case acutecomb.case by circumflexcomb_acutecomb.case;
+ sub circumflexcomb gravecomb by circumflexcomb_gravecomb;
+ sub circumflexcomb.case gravecomb.case by circumflexcomb_gravecomb.case;
+ sub circumflexcomb hookabovecomb by circumflexcomb_hookabovecomb;
+ sub circumflexcomb.case hookabovecomb.case by circumflexcomb_hookabovecomb.case;
+ sub circumflexcomb tildecomb by circumflexcomb_tildecomb;
+ sub circumflexcomb.case tildecomb.case by circumflexcomb_tildecomb.case;
+} ccmp_latn_1;
+
+lookup ccmp_latn_2 {
+ lookupflag 0;
+ sub brevecomb acutecomb by brevecomb_acutecomb;
+ sub brevecomb.case acutecomb.case by brevecomb_acutecomb.case;
+ sub brevecomb gravecomb by brevecomb_gravecomb;
+ sub brevecomb.case gravecomb.case by brevecomb_gravecomb.case;
+ sub brevecomb hookabovecomb by brevecomb_hookabovecomb;
+ sub brevecomb.case hookabovecomb.case by brevecomb_hookabovecomb.case;
+ sub brevecomb tildecomb by brevecomb_tildecomb;
+ sub brevecomb.case tildecomb.case by brevecomb_tildecomb.case;
+ sub circumflexcomb acutecomb by circumflexcomb_acutecomb;
+ sub circumflexcomb.case acutecomb.case by circumflexcomb_acutecomb.case;
+ sub circumflexcomb gravecomb by circumflexcomb_gravecomb;
+ sub circumflexcomb.case gravecomb.case by circumflexcomb_gravecomb.case;
+ sub circumflexcomb hookabovecomb by circumflexcomb_hookabovecomb;
+ sub circumflexcomb.case hookabovecomb.case by circumflexcomb_hookabovecomb.case;
+ sub circumflexcomb tildecomb by circumflexcomb_tildecomb;
+ sub circumflexcomb.case tildecomb.case by circumflexcomb_tildecomb.case;
+} ccmp_latn_2;
+
+script latn;
+
+} ccmp;
+
+feature locl {
+# automatic
+script latn;
+language NLD;
+sub iacute j' by jacute;
+sub Iacute J' by Jacute;
+language CAT;
+sub l periodcentered' l by periodcentered.loclCAT;
+sub L periodcentered' L by periodcentered.loclCAT.case;
+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 sinf {
+# automatic
+sub zero by zero.subs;
+sub one by one.subs;
+sub two by two.subs;
+sub three by three.subs;
+sub four by four.subs;
+sub five by five.subs;
+sub six by six.subs;
+sub seven by seven.subs;
+sub eight by eight.subs;
+sub nine by nine.subs;
+
+} sinf;
+
+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;
+
+} 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 lnum {
+# automatic
+sub zero.osf by zero;
+sub one.osf by one;
+sub two.osf by two;
+sub three.osf by three;
+sub four.osf by four;
+sub five.osf by five;
+sub six.osf by six;
+sub seven.osf by seven;
+sub eight.osf by eight;
+sub nine.osf by nine;
+
+} lnum;
+
+feature pnum {
+# automatic
+sub zero.tf by zero;
+sub one.tf by one;
+sub two.tf by two;
+sub three.tf by three;
+sub four.tf by four;
+sub five.tf by five;
+sub six.tf by six;
+sub seven.tf by seven;
+sub eight.tf by eight;
+sub nine.tf by nine;
+sub bulletoperator.tf by bulletoperator;
+sub commercialMinusSign.tf by commercialMinusSign;
+sub divisionslash.tf by divisionslash;
+sub equivalence.tf by equivalence;
+sub notidentical.tf by notidentical;
+sub plus.tf by plus;
+sub minus.tf by minus;
+sub multiply.tf by multiply;
+sub divide.tf by divide;
+sub equal.tf by equal;
+sub notequal.tf by notequal;
+sub greater.tf by greater;
+sub less.tf by less;
+sub greaterequal.tf by greaterequal;
+sub lessequal.tf by lessequal;
+sub plusminus.tf by plusminus;
+sub approxequal.tf by approxequal;
+sub logicalnot.tf by logicalnot;
+sub zero.tosf by zero.osf;
+sub one.tosf by one.osf;
+sub two.tosf by two.osf;
+sub three.tosf by three.osf;
+sub four.tosf by four.osf;
+sub five.tosf by five.osf;
+sub six.tosf by six.osf;
+sub seven.tosf by seven.osf;
+sub eight.tosf by eight.osf;
+sub nine.tosf by nine.osf;
+
+} pnum;
+
+feature tnum {
+# automatic
+sub zero by zero.tf;
+sub one by one.tf;
+sub two by two.tf;
+sub three by three.tf;
+sub four by four.tf;
+sub five by five.tf;
+sub six by six.tf;
+sub seven by seven.tf;
+sub eight by eight.tf;
+sub nine by nine.tf;
+sub bulletoperator by bulletoperator.tf;
+sub commercialMinusSign by commercialMinusSign.tf;
+sub divisionslash by divisionslash.tf;
+sub equivalence by equivalence.tf;
+sub notidentical by notidentical.tf;
+sub plus by plus.tf;
+sub minus by minus.tf;
+sub multiply by multiply.tf;
+sub divide by divide.tf;
+sub equal by equal.tf;
+sub notequal by notequal.tf;
+sub greater by greater.tf;
+sub less by less.tf;
+sub greaterequal by greaterequal.tf;
+sub lessequal by lessequal.tf;
+sub plusminus by plusminus.tf;
+sub approxequal by approxequal.tf;
+sub logicalnot by logicalnot.tf;
+sub zero.osf by zero.tosf;
+sub one.osf by one.tosf;
+sub two.osf by two.tosf;
+sub three.osf by three.tosf;
+sub four.osf by four.tosf;
+sub five.osf by five.tosf;
+sub six.osf by six.tosf;
+sub seven.osf by seven.tosf;
+sub eight.osf by eight.tosf;
+sub nine.osf by nine.tosf;
+
+} tnum;
+
+feature onum {
+# automatic
+sub zero.tf by zero.tosf;
+sub one.tf by one.tosf;
+sub two.tf by two.tosf;
+sub three.tf by three.tosf;
+sub four.tf by four.tosf;
+sub five.tf by five.tosf;
+sub six.tf by six.tosf;
+sub seven.tf by seven.tosf;
+sub eight.tf by eight.tosf;
+sub nine.tf by nine.tosf;
+sub zero by zero.osf;
+sub one by one.osf;
+sub two by two.osf;
+sub three by three.osf;
+sub four by four.osf;
+sub five by five.osf;
+sub six by six.osf;
+sub seven by seven.osf;
+sub eight by eight.osf;
+sub nine by nine.osf;
+
+} onum;
+
+feature case {
+# automatic
+sub periodcentered.loclCAT by periodcentered.loclCAT.case;
+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 ringcomb_acutecomb by ringcomb_acutecomb.case;
+sub tildecomb by tildecomb.case;
+sub macroncomb by macroncomb.case;
+sub hookabovecomb by hookabovecomb.case;
+sub dblgravecomb by dblgravecomb.case;
+sub breveinvertedcomb by breveinvertedcomb.case;
+sub strokeshortcomb by strokeshortcomb.case;
+sub slashshortcomb by slashshortcomb.case;
+sub slashlongcomb by slashlongcomb.case;
+sub macroncomb.narrow by macroncomb.narrow.case;
+sub ogonekcomb.tall by ogonekcomb.tall.case;
+sub brevecomb-cy by brevecomb-cy.case;
+sub descender-cy by descender-cy.case;
+sub brevecomb_acutecomb by brevecomb_acutecomb.case;
+sub brevecomb_gravecomb by brevecomb_gravecomb.case;
+sub brevecomb_hookabovecomb by brevecomb_hookabovecomb.case;
+sub brevecomb_tildecomb by brevecomb_tildecomb.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;
+sub zero.osf by zero.lf;
+sub one.osf by one.lf;
+sub two.osf by two.lf;
+sub three.osf by three.lf;
+sub four.osf by four.lf;
+sub five.osf by five.lf;
+sub six.osf by six.lf;
+sub seven.osf by seven.lf;
+sub eight.osf by eight.lf;
+sub nine.osf by nine.lf;
+sub zero.tf by zero.lf;
+sub one.tf by one.lf;
+sub two.tf by two.lf;
+sub three.tf by three.lf;
+sub four.tf by four.lf;
+sub five.tf by five.lf;
+sub six.tf by six.lf;
+sub seven.tf by seven.lf;
+sub eight.tf by eight.lf;
+sub nine.tf by nine.lf;
+sub zero.tosf by zero.lf;
+sub one.tosf by one.lf;
+sub two.tosf by two.lf;
+sub three.tosf by three.lf;
+sub four.tosf by four.lf;
+sub five.tosf by five.lf;
+sub six.tosf by six.lf;
+sub seven.tosf by seven.lf;
+sub eight.tosf by eight.lf;
+sub nine.tosf by nine.lf;
+
+} case;
+
+feature liga {
+# automatic
+sub f f i by f_f_i;
+sub f f l by f_f_l;
+sub f f by f_f;
+sub f i by fi;
+sub f l by fl;
+
+} liga;
+
+feature zero {
+# automatic
+sub zero.lf by zero.lf.zero;
+sub zero.osf by zero.osf.zero;
+sub zero.tf by zero.tf.zero;
+sub zero.tosf by zero.tosf.zero;
+sub zero by zero.zero;
+
+} zero;
+
+feature salt {
+# automatic
+sub six by six.ss01;
+sub nine by nine.ss01;
+
+} salt;
+
+feature ss01 {
+# automatic
+sub six by six.ss01;
+sub nine by nine.ss01;
+
+} ss01;
+
+table GDEF {
+ # automatic
+ GlyphClassDef
+ [A Aacute Abreve Abreveacute Abrevedotbelow Abrevegrave Abrevehookabove Abrevetilde Acaron
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 DZcaron Eth Dcaron Dcroat Ddotbelow
Dlinebelow Dzcaron E Eacute Ebreve Ecaron Ecedillabreve Ecircumflex Ecircumflexacute Ecircumflexdotbelow
Ecircumflexgrave Ecircumflexhookabove Ecircumflextilde Edblgrave Edieresis Edotaccent Edotbelow Egrave
Ehookabove Einvertedbreve Emacron Emacronacute Emacrongrave Eogonek Etilde F G Gbreve Gcaron Gcircumflex
Gcommaaccent Gdotaccent Gmacron H Hbar Hbrevebelow Hcircumflex Hdotbelow I Iacute Ibreve Icaron Icircumflex
Idblgrave Idieresis Idieresisacute Idotaccent Idotbelow Igrave Ihookabove Iinvertedbreve Imacron Iogonek
Itilde J Jacute Jcircumflex K Kacute Kcommaaccent L
LJ Lacu
te Lcaron Lcommaaccent Ldot Ldotbelow Lj Llinebelow Lslash M Mdotbelow N NJ Nacute Ncaron Ncommaaccent
Ndotaccent Ndotbelow Nj Nlinebelow Ntilde O Oacute Obreve Ocaron 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 Q R Racute Rcaron Rcommaaccent Rdblgrave
Rdotbelow Rinvertedbreve Rlinebelow S Sacute Sacutedotaccent Scaron Scarondotaccent Scedilla Scircumflex
Scommaaccent Sdotaccent Sdotbelow Sdotbelowdotaccent Schwa T Tbar Tcaron Tcedilla Tcommaaccent Tdotbelow
Tlinebelow U Uacute Ubreve Ucaron Ucircumflex Udblgrave Udieresis Udieresisacute Udieresiscaron
Udieresisgrave Udieresismacron Udotbelow Ugrave Uhookabove Uhorn Uhornacute Uho
rndotbel
ow 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 a aacute abreve abreveacute
abrevedotbelow abrevegrave abrevehookabove abrevetilde acaron 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 dcaron dcroat ddotbelow dlinebelow dzcaron e eacute ebreve
ecaron ecedillabreve ecircumflex ecircumflexacute ecircumflexdotbelow ecircumflexgrave ecircumflexhookabove
ecircumflextilde edblgrave edieresis edotaccent edotbelow egrave ehookabove einvertedbreve emacron
emacronacute emacrongrave eogonek etilde schwa f g gbreve g
caron gc
ircumflex gcommaaccent gdotaccent gmacron h hbar hbrevebelow hcircumflex hdotbelow i idotless iacute ibreve
icaron icircumflex idblgrave idieresis idieresisacute idotaccent idotbelow igrave ihookabove iinvertedbreve
imacron iogonek itilde j jdotless jacute jcircumflex k kacute kcommaaccent l lacute lcaron lcommaaccent ldot
ldotbelow lj llinebelow lslash m mdotbelow n nacute ncaron ncommaaccent ndotaccent ndotbelow nj nlinebelow
ntilde o oacute obreve ocaron 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 q r racute rcaron rcommaaccent rdblgrave rdotbelow rinvertedbreve rlinebelow s sacute sacutedotaccent
scaron scarondotaccent scedill
a scircu
mflex scommaaccent sdotaccent sdotbelow sdotbelowdotaccent t tbar tcaron tcedilla tcommaaccent tdieresis
tdotbelow tlinebelow u uacute ubreve ucaron ucircumflex udblgrave udieresis udieresisacute udieresiscaron
udieresisgrave udieresismacron 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 A-cy Ve-cy Ge-cy Gje-cy Ie-cy
Iegrave-cy Io-cy Zhe-cy Ze-cy Ii-cy Iishort-cy Iigrave-cy Ka-cy Kje-cy Em-cy En-cy O-cy Pe-cy Er-cy Es-cy
Te-cy U-cy Ushort-cy Ha-cy Che-cy Hardsign-cy Yeru-cy Dze-cy Ereversed-cy I-cy Yi-cy Je-cy Iu-cy Ia-cy
Fita-cy Zhedescender-cy Zedescender-cy Kadescender-cy Endescender-cy Esdescender-cy Ustraight-cy
Ustraightstroke-cy Hadescender-cy Chedescender-cy Palochka-cy Zhe
breve-cy
Chekhakassian-cy Abreve-cy Adieresis-cy Aie-cy Iebreve-cy Schwa-cy Zhedieresis-cy Zedieresis-cy Imacron-cy
Idieresis-cy Odieresis-cy Obarred-cy Umacron-cy Udieresis-cy Uhungarumlaut-cy Chedieresis-cy Gedescender-cy
Yerudieresis-cy Qa-cy We-cy a-cy ge-cy gje-cy ie-cy iegrave-cy io-cy zhe-cy ze-cy ii-cy iishort-cy iigrave-cy
ka-cy kje-cy en-cy o-cy pe-cy er-cy es-cy te-cy u-cy ushort-cy ha-cy che-cy yeru-cy dze-cy e-cy ereversed-cy
i-cy yi-cy je-cy tshe-cy iu-cy ia-cy dje-cy fita-cy zhedescender-cy zedescender-cy kadescender-cy
endescender-cy esdescender-cy ustraight-cy hadescender-cy chedescender-cy shha-cy palochka-cy zhebreve-cy
chekhakassian-cy abreve-cy adieresis-cy aie-cy iebreve-cy schwa-cy zhedieresis-cy zedieresis-cy imacron-cy
idieresis-cy odieresis-cy obarred-cy umacron-cy udieresis-cy uhungarumlaut-cy chedieresis-cy gedescender-cy
yerudieresis-cy qa-cy we-cy cedi cent colonsign dollar dong euro franc guarani naira peseta peso won numero
ustraightstroke-cy], # Base
+ [f_f f_f_i f_f_l fi fl], # Liga
+ [dieresiscomb dieresiscomb_gravecomb dieresiscomb_acutecomb dieresiscomb_caroncomb
dieresiscomb_macroncomb dotaccentcomb dotaccentcomb_macroncomb gravecomb acutecomb acutecomb_dotaccentcomb
hungarumlautcomb caroncomb.alt circumflexcomb caroncomb caroncomb_dotaccentcomb brevecomb ringcomb
ringcomb_acutecomb tildecomb tildecomb_dieresiscomb tildecomb_acutecomb tildecomb_macroncomb macroncomb
macroncomb_dieresiscomb macroncomb_gravecomb macroncomb_acutecomb hookabovecomb verticallineabovecomb
dblgravecomb breveinvertedcomb commaturnedabovecomb horncomb dotbelowcomb dieresisbelowcomb commaaccentcomb
cedillacomb ogonekcomb verticallinebelowcomb brevebelowcomb macronbelowcomb strokeshortcomb strokelongcomb
slashshortcomb slashlongcomb dieresiscomb.case dotaccentcomb.case gravecomb.case acutecomb.case
hungarumlautcomb.case circumflexcomb.case caroncomb.case brevecomb.case ringcomb.case ringcomb_acutecomb.case
tildecomb.case macroncomb.case hookabovecomb.case dblgravecomb.case br
eveinver
tedcomb.case strokeshortcomb.case slashshortcomb.case slashlongcomb.case macroncomb.narrow.case
ogonekcomb.tall.case dieresiscomb.loclVIET dotaccentcomb.loclVIET gravecomb.loclVIET acutecomb.loclVIET
circumflexcomb.loclVIET caroncomb.loclVIET brevecomb.loclVIET tildecomb.loclVIET macroncomb.loclVIET
hookabovecomb.loclVIET macroncomb.narrow ogonekcomb.narrow macronbelowcomb.narrow ogonekcomb.tall
brevecomb-cy descender-cy brevecomb-cy.case descender-cy.case descender-cy.strait brevecomb_acutecomb
brevecomb_gravecomb brevecomb_hookabovecomb brevecomb_tildecomb circumflexcomb_acutecomb
circumflexcomb_gravecomb circumflexcomb_hookabovecomb circumflexcomb_tildecomb brevecomb_acutecomb.case
brevecomb_gravecomb.case brevecomb_hookabovecomb.case brevecomb_tildecomb.case circumflexcomb_acutecomb.case
circumflexcomb_gravecomb.case circumflexcomb_hookabovecomb.case circumflexcomb_tildecomb.case], # Mark
+ ;
+} GDEF;
diff --git a/src/Cantarell-Regular.ufo/features.fea b/src/Cantarell-Regular.ufo/features.fea
index 5e62ed1b..68efb5a0 100644
--- a/src/Cantarell-Regular.ufo/features.fea
+++ b/src/Cantarell-Regular.ufo/features.fea
@@ -1 +1,504 @@
-include(family.fea)
+# automatic
+@Uppercase = [ A Aacute Abreve Abreveacute Abrevedotbelow Abrevegrave Abrevehookabove Abrevetilde Acaron
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 DZcaron Eth Dcaron Dcroat Ddotbelow
Dlinebelow Dzcaron E Eacute Ebreve Ecaron Ecedillabreve Ecircumflex Ecircumflexacute Ecircumflexdotbelow
Ecircumflexgrave Ecircumflexhookabove Ecircumflextilde Edblgrave Edieresis Edotaccent Edotbelow Egrave
Ehookabove Einvertedbreve Emacron Emacronacute Emacrongrave Eogonek Etilde F G Gbreve Gcaron Gcircumflex
Gcommaaccent Gdotaccent Gmacron H Hbar Hbrevebelow Hcircumflex Hdotbelow I Iacute Ibreve Icaron Icircumflex
Idblgrave Idieresis Idieresisacute Idotaccent Idotbelow Igrave Ihookabove Iinvertedbreve Imacron Iogonek
Itilde J Jacute Jcircumflex K Kacute K
commaacc
ent L LJ Lacute Lcaron Lcommaaccent Ldot Ldotbelow Lj Llinebelow Lslash M Mdotbelow N NJ Nacute Ncaron
Ncommaaccent Ndotaccent Ndotbelow Eng Nj Nlinebelow Ntilde O Oacute Obreve Ocaron 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 Saltillo Scaron Scarondotaccent
Scedilla Scircumflex Scommaaccent Sdotaccent Sdotbelow Sdotbelowdotaccent Germandbls Schwa T Tbar Tcaron
Tcedilla Tcommaaccent Tdotbelow Tlinebelow U Uacute Ubreve Ucaron Ucircumflex Udblgrave Udieresis
Udieresisacute Udieresiscaron Udieresisgrave Udieresismacron Udotb
elow Ugr
ave 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 A-cy Be-cy Ve-cy Ge-cy Gje-cy Gheupturn-cy De-cy Ie-cy Iegrave-cy Io-cy Zhe-cy Ze-cy
Ii-cy Iishort-cy Iigrave-cy Ka-cy Kje-cy El-cy Em-cy En-cy O-cy Pe-cy Er-cy Es-cy Te-cy U-cy Ushort-cy Ef-cy
Ha-cy Che-cy Tse-cy Sha-cy Shcha-cy Dzhe-cy Softsign-cy Hardsign-cy Yeru-cy Lje-cy Nje-cy Dze-cy E-cy
Ereversed-cy I-cy Yi-cy Je-cy Tshe-cy Iu-cy Ia-cy Dje-cy Yat-cy Yusbig-cy Fita-cy Izhitsa-cy Ghestroke-cy
Ghemiddlehook-cy Zhedescender-cy Zedescender-cy Kadescender-cy Kaverticalstroke-cy Kabashkir-cy
Endescender-cy Enghe-cy Esdescender-cy Ustraight-cy Ustraightstroke-cy Hadescender-cy Chedescender-cy
Cheverticalstroke-cy Shha-cy Palochka-cy Zhebreve-cy Che
khakassi
an-cy Abreve-cy Adieresis-cy Aie-cy Iebreve-cy Schwa-cy Zhedieresis-cy Zedieresis-cy Imacron-cy Idieresis-cy
Odieresis-cy Obarred-cy Umacron-cy Udieresis-cy Uhungarumlaut-cy Chedieresis-cy Gedescender-cy
Yerudieresis-cy Qa-cy We-cy ];
+
+# Prefix: Languagesystems
+# automatic
+languagesystem DFLT dflt;
+languagesystem latn dflt;
+languagesystem latn NLD;
+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 sinf;
+feature sups;
+feature numr;
+feature dnom;
+feature frac;
+feature ordn;
+feature lnum;
+feature pnum;
+feature tnum;
+feature onum;
+feature case;
+feature zero;
+feature salt;
+feature ss01;
+
+} aalt;
+
+feature ccmp {
+# automatic
+lookup ccmp_Other_1 {
+ @CombiningTopAccents = [acutecomb brevecomb breveinvertedcomb caroncomb circumflexcomb
commaturnedabovecomb dblgravecomb dieresiscomb dotaccentcomb gravecomb hookabovecomb hungarumlautcomb
macroncomb ringcomb tildecomb verticallineabovecomb];
+ @CombiningNonTopAccents = [brevebelowcomb cedillacomb dieresisbelowcomb dotbelowcomb macronbelowcomb
ogonekcomb verticallinebelowcomb horncomb slashlongcomb slashshortcomb 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 ringcomb_acutecomb tildecomb macroncomb hookabovecomb dblgravecomb
breveinvertedcomb strokeshortcomb slashshortcomb slashlongcomb macroncomb.narrow ogonekcomb.tall brevecomb-cy
descender-cy brevecomb_acutecomb brevecomb_gravecomb brevecomb_hookabovecomb brevecomb_tildecomb
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 ringcomb_acutecomb.case
tildecomb.case macroncomb.case hookabovecomb.case dblgravecomb.case breveinvertedcomb.case
strokeshortcomb.case slashshortcomb.case slashlongcomb.case macroncomb.narrow.case ogonekcomb.tall.case
brevecomb-cy.case descender-cy.case brevecomb_acutecomb.case brevecomb_gravecomb.case
brevecomb_hookabovecomb.case brevecomb_tildecomb.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_Other_3 {
+ lookupflag 0;
+ sub acutecomb dotaccentcomb by acutecomb_dotaccentcomb;
+ sub caroncomb dotaccentcomb by caroncomb_dotaccentcomb;
+ sub dieresiscomb acutecomb by dieresiscomb_acutecomb;
+ sub dieresiscomb caroncomb by dieresiscomb_caroncomb;
+ sub dieresiscomb gravecomb by dieresiscomb_gravecomb;
+ sub dieresiscomb macroncomb by dieresiscomb_macroncomb;
+ sub dotaccentcomb macroncomb by dotaccentcomb_macroncomb;
+ sub macroncomb acutecomb by macroncomb_acutecomb;
+ sub macroncomb dieresiscomb by macroncomb_dieresiscomb;
+ sub macroncomb gravecomb by macroncomb_gravecomb;
+ sub ringcomb acutecomb by ringcomb_acutecomb;
+ sub ringcomb.case acutecomb.case by ringcomb_acutecomb.case;
+ sub tildecomb acutecomb by tildecomb_acutecomb;
+ sub tildecomb dieresiscomb by tildecomb_dieresiscomb;
+ sub tildecomb macroncomb by tildecomb_macroncomb;
+} ccmp_Other_3;
+
+lookup ccmp_Other_4 {
+ lookupflag 0;
+ sub acutecomb dotaccentcomb by acutecomb_dotaccentcomb;
+ sub caroncomb dotaccentcomb by caroncomb_dotaccentcomb;
+ sub dieresiscomb acutecomb by dieresiscomb_acutecomb;
+ sub dieresiscomb caroncomb by dieresiscomb_caroncomb;
+ sub dieresiscomb gravecomb by dieresiscomb_gravecomb;
+ sub dieresiscomb macroncomb by dieresiscomb_macroncomb;
+ sub dotaccentcomb macroncomb by dotaccentcomb_macroncomb;
+ sub macroncomb acutecomb by macroncomb_acutecomb;
+ sub macroncomb dieresiscomb by macroncomb_dieresiscomb;
+ sub macroncomb gravecomb by macroncomb_gravecomb;
+ sub ringcomb acutecomb by ringcomb_acutecomb;
+ sub ringcomb.case acutecomb.case by ringcomb_acutecomb.case;
+ sub tildecomb acutecomb by tildecomb_acutecomb;
+ sub tildecomb dieresiscomb by tildecomb_dieresiscomb;
+ sub tildecomb macroncomb by tildecomb_macroncomb;
+} ccmp_Other_4;
+
+lookup ccmp_latn_1 {
+ lookupflag 0;
+ sub brevecomb acutecomb by brevecomb_acutecomb;
+ sub brevecomb.case acutecomb.case by brevecomb_acutecomb.case;
+ sub brevecomb gravecomb by brevecomb_gravecomb;
+ sub brevecomb.case gravecomb.case by brevecomb_gravecomb.case;
+ sub brevecomb hookabovecomb by brevecomb_hookabovecomb;
+ sub brevecomb.case hookabovecomb.case by brevecomb_hookabovecomb.case;
+ sub brevecomb tildecomb by brevecomb_tildecomb;
+ sub brevecomb.case tildecomb.case by brevecomb_tildecomb.case;
+ sub circumflexcomb acutecomb by circumflexcomb_acutecomb;
+ sub circumflexcomb.case acutecomb.case by circumflexcomb_acutecomb.case;
+ sub circumflexcomb gravecomb by circumflexcomb_gravecomb;
+ sub circumflexcomb.case gravecomb.case by circumflexcomb_gravecomb.case;
+ sub circumflexcomb hookabovecomb by circumflexcomb_hookabovecomb;
+ sub circumflexcomb.case hookabovecomb.case by circumflexcomb_hookabovecomb.case;
+ sub circumflexcomb tildecomb by circumflexcomb_tildecomb;
+ sub circumflexcomb.case tildecomb.case by circumflexcomb_tildecomb.case;
+} ccmp_latn_1;
+
+lookup ccmp_latn_2 {
+ lookupflag 0;
+ sub brevecomb acutecomb by brevecomb_acutecomb;
+ sub brevecomb.case acutecomb.case by brevecomb_acutecomb.case;
+ sub brevecomb gravecomb by brevecomb_gravecomb;
+ sub brevecomb.case gravecomb.case by brevecomb_gravecomb.case;
+ sub brevecomb hookabovecomb by brevecomb_hookabovecomb;
+ sub brevecomb.case hookabovecomb.case by brevecomb_hookabovecomb.case;
+ sub brevecomb tildecomb by brevecomb_tildecomb;
+ sub brevecomb.case tildecomb.case by brevecomb_tildecomb.case;
+ sub circumflexcomb acutecomb by circumflexcomb_acutecomb;
+ sub circumflexcomb.case acutecomb.case by circumflexcomb_acutecomb.case;
+ sub circumflexcomb gravecomb by circumflexcomb_gravecomb;
+ sub circumflexcomb.case gravecomb.case by circumflexcomb_gravecomb.case;
+ sub circumflexcomb hookabovecomb by circumflexcomb_hookabovecomb;
+ sub circumflexcomb.case hookabovecomb.case by circumflexcomb_hookabovecomb.case;
+ sub circumflexcomb tildecomb by circumflexcomb_tildecomb;
+ sub circumflexcomb.case tildecomb.case by circumflexcomb_tildecomb.case;
+} ccmp_latn_2;
+
+script latn;
+
+} ccmp;
+
+feature locl {
+# automatic
+script latn;
+language NLD;
+sub iacute j' by jacute;
+sub Iacute J' by Jacute;
+language CAT;
+sub l periodcentered' l by periodcentered.loclCAT;
+sub L periodcentered' L by periodcentered.loclCAT.case;
+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 sinf {
+# automatic
+sub zero by zero.subs;
+sub one by one.subs;
+sub two by two.subs;
+sub three by three.subs;
+sub four by four.subs;
+sub five by five.subs;
+sub six by six.subs;
+sub seven by seven.subs;
+sub eight by eight.subs;
+sub nine by nine.subs;
+
+} sinf;
+
+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;
+
+} 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 lnum {
+# automatic
+sub zero.osf by zero;
+sub one.osf by one;
+sub two.osf by two;
+sub three.osf by three;
+sub four.osf by four;
+sub five.osf by five;
+sub six.osf by six;
+sub seven.osf by seven;
+sub eight.osf by eight;
+sub nine.osf by nine;
+
+} lnum;
+
+feature pnum {
+# automatic
+sub zero.tf by zero;
+sub one.tf by one;
+sub two.tf by two;
+sub three.tf by three;
+sub four.tf by four;
+sub five.tf by five;
+sub six.tf by six;
+sub seven.tf by seven;
+sub eight.tf by eight;
+sub nine.tf by nine;
+sub bulletoperator.tf by bulletoperator;
+sub commercialMinusSign.tf by commercialMinusSign;
+sub divisionslash.tf by divisionslash;
+sub equivalence.tf by equivalence;
+sub notidentical.tf by notidentical;
+sub plus.tf by plus;
+sub minus.tf by minus;
+sub multiply.tf by multiply;
+sub divide.tf by divide;
+sub equal.tf by equal;
+sub notequal.tf by notequal;
+sub greater.tf by greater;
+sub less.tf by less;
+sub greaterequal.tf by greaterequal;
+sub lessequal.tf by lessequal;
+sub plusminus.tf by plusminus;
+sub approxequal.tf by approxequal;
+sub logicalnot.tf by logicalnot;
+sub zero.tosf by zero.osf;
+sub one.tosf by one.osf;
+sub two.tosf by two.osf;
+sub three.tosf by three.osf;
+sub four.tosf by four.osf;
+sub five.tosf by five.osf;
+sub six.tosf by six.osf;
+sub seven.tosf by seven.osf;
+sub eight.tosf by eight.osf;
+sub nine.tosf by nine.osf;
+
+} pnum;
+
+feature tnum {
+# automatic
+sub zero by zero.tf;
+sub one by one.tf;
+sub two by two.tf;
+sub three by three.tf;
+sub four by four.tf;
+sub five by five.tf;
+sub six by six.tf;
+sub seven by seven.tf;
+sub eight by eight.tf;
+sub nine by nine.tf;
+sub bulletoperator by bulletoperator.tf;
+sub commercialMinusSign by commercialMinusSign.tf;
+sub divisionslash by divisionslash.tf;
+sub equivalence by equivalence.tf;
+sub notidentical by notidentical.tf;
+sub plus by plus.tf;
+sub minus by minus.tf;
+sub multiply by multiply.tf;
+sub divide by divide.tf;
+sub equal by equal.tf;
+sub notequal by notequal.tf;
+sub greater by greater.tf;
+sub less by less.tf;
+sub greaterequal by greaterequal.tf;
+sub lessequal by lessequal.tf;
+sub plusminus by plusminus.tf;
+sub approxequal by approxequal.tf;
+sub logicalnot by logicalnot.tf;
+sub zero.osf by zero.tosf;
+sub one.osf by one.tosf;
+sub two.osf by two.tosf;
+sub three.osf by three.tosf;
+sub four.osf by four.tosf;
+sub five.osf by five.tosf;
+sub six.osf by six.tosf;
+sub seven.osf by seven.tosf;
+sub eight.osf by eight.tosf;
+sub nine.osf by nine.tosf;
+
+} tnum;
+
+feature onum {
+# automatic
+sub zero.tf by zero.tosf;
+sub one.tf by one.tosf;
+sub two.tf by two.tosf;
+sub three.tf by three.tosf;
+sub four.tf by four.tosf;
+sub five.tf by five.tosf;
+sub six.tf by six.tosf;
+sub seven.tf by seven.tosf;
+sub eight.tf by eight.tosf;
+sub nine.tf by nine.tosf;
+sub zero by zero.osf;
+sub one by one.osf;
+sub two by two.osf;
+sub three by three.osf;
+sub four by four.osf;
+sub five by five.osf;
+sub six by six.osf;
+sub seven by seven.osf;
+sub eight by eight.osf;
+sub nine by nine.osf;
+
+} onum;
+
+feature case {
+# automatic
+sub periodcentered.loclCAT by periodcentered.loclCAT.case;
+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 ringcomb_acutecomb by ringcomb_acutecomb.case;
+sub tildecomb by tildecomb.case;
+sub macroncomb by macroncomb.case;
+sub hookabovecomb by hookabovecomb.case;
+sub dblgravecomb by dblgravecomb.case;
+sub breveinvertedcomb by breveinvertedcomb.case;
+sub strokeshortcomb by strokeshortcomb.case;
+sub slashshortcomb by slashshortcomb.case;
+sub slashlongcomb by slashlongcomb.case;
+sub macroncomb.narrow by macroncomb.narrow.case;
+sub ogonekcomb.tall by ogonekcomb.tall.case;
+sub brevecomb-cy by brevecomb-cy.case;
+sub descender-cy by descender-cy.case;
+sub brevecomb_acutecomb by brevecomb_acutecomb.case;
+sub brevecomb_gravecomb by brevecomb_gravecomb.case;
+sub brevecomb_hookabovecomb by brevecomb_hookabovecomb.case;
+sub brevecomb_tildecomb by brevecomb_tildecomb.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;
+sub zero.osf by zero.lf;
+sub one.osf by one.lf;
+sub two.osf by two.lf;
+sub three.osf by three.lf;
+sub four.osf by four.lf;
+sub five.osf by five.lf;
+sub six.osf by six.lf;
+sub seven.osf by seven.lf;
+sub eight.osf by eight.lf;
+sub nine.osf by nine.lf;
+sub zero.tf by zero.lf;
+sub one.tf by one.lf;
+sub two.tf by two.lf;
+sub three.tf by three.lf;
+sub four.tf by four.lf;
+sub five.tf by five.lf;
+sub six.tf by six.lf;
+sub seven.tf by seven.lf;
+sub eight.tf by eight.lf;
+sub nine.tf by nine.lf;
+sub zero.tosf by zero.lf;
+sub one.tosf by one.lf;
+sub two.tosf by two.lf;
+sub three.tosf by three.lf;
+sub four.tosf by four.lf;
+sub five.tosf by five.lf;
+sub six.tosf by six.lf;
+sub seven.tosf by seven.lf;
+sub eight.tosf by eight.lf;
+sub nine.tosf by nine.lf;
+
+} case;
+
+feature liga {
+# automatic
+sub f f i by f_f_i;
+sub f f l by f_f_l;
+sub f f by f_f;
+sub f i by fi;
+sub f l by fl;
+
+} liga;
+
+feature zero {
+# automatic
+sub zero.lf by zero.lf.zero;
+sub zero.osf by zero.osf.zero;
+sub zero.tf by zero.tf.zero;
+sub zero.tosf by zero.tosf.zero;
+sub zero by zero.zero;
+
+} zero;
+
+feature salt {
+# automatic
+sub six by six.ss01;
+sub nine by nine.ss01;
+
+} salt;
+
+feature ss01 {
+# automatic
+sub six by six.ss01;
+sub nine by nine.ss01;
+
+} ss01;
+
+table GDEF {
+ # automatic
+ GlyphClassDef
+ [A Aacute Abreve Abreveacute Abrevedotbelow Abrevegrave Abrevehookabove Abrevetilde Acaron
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 DZcaron Eth Dcaron Dcroat Ddotbelow
Dlinebelow Dzcaron E Eacute Ebreve Ecaron Ecedillabreve Ecircumflex Ecircumflexacute Ecircumflexdotbelow
Ecircumflexgrave Ecircumflexhookabove Ecircumflextilde Edblgrave Edieresis Edotaccent Edotbelow Egrave
Ehookabove Einvertedbreve Emacron Emacronacute Emacrongrave Eogonek Etilde F G Gbreve Gcaron Gcircumflex
Gcommaaccent Gdotaccent Gmacron H Hbar Hbrevebelow Hcircumflex Hdotbelow I Iacute Ibreve Icaron Icircumflex
Idblgrave Idieresis Idieresisacute Idotaccent Idotbelow Igrave Ihookabove Iinvertedbreve Imacron Iogonek
Itilde J Jacute Jcircumflex K Kacute Kcommaaccent L
LJ Lacu
te Lcaron Lcommaaccent Ldot Ldotbelow Lj Llinebelow Lslash M Mdotbelow N NJ Nacute Ncaron Ncommaaccent
Ndotaccent Ndotbelow Nj Nlinebelow Ntilde O Oacute Obreve Ocaron 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 Q R Racute Rcaron Rcommaaccent Rdblgrave
Rdotbelow Rinvertedbreve Rlinebelow S Sacute Sacutedotaccent Scaron Scarondotaccent Scedilla Scircumflex
Scommaaccent Sdotaccent Sdotbelow Sdotbelowdotaccent Schwa T Tbar Tcaron Tcedilla Tcommaaccent Tdotbelow
Tlinebelow U Uacute Ubreve Ucaron Ucircumflex Udblgrave Udieresis Udieresisacute Udieresiscaron
Udieresisgrave Udieresismacron Udotbelow Ugrave Uhookabove Uhorn Uhornacute Uho
rndotbel
ow 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 a aacute abreve abreveacute
abrevedotbelow abrevegrave abrevehookabove abrevetilde acaron 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 dcaron dcroat ddotbelow dlinebelow dzcaron e eacute ebreve
ecaron ecedillabreve ecircumflex ecircumflexacute ecircumflexdotbelow ecircumflexgrave ecircumflexhookabove
ecircumflextilde edblgrave edieresis edotaccent edotbelow egrave ehookabove einvertedbreve emacron
emacronacute emacrongrave eogonek etilde schwa f g gbreve g
caron gc
ircumflex gcommaaccent gdotaccent gmacron h hbar hbrevebelow hcircumflex hdotbelow i idotless iacute ibreve
icaron icircumflex idblgrave idieresis idieresisacute idotaccent idotbelow igrave ihookabove iinvertedbreve
imacron iogonek itilde j jdotless jacute jcircumflex k kacute kcommaaccent l lacute lcaron lcommaaccent ldot
ldotbelow lj llinebelow lslash m mdotbelow n nacute ncaron ncommaaccent ndotaccent ndotbelow nj nlinebelow
ntilde o oacute obreve ocaron 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 q r racute rcaron rcommaaccent rdblgrave rdotbelow rinvertedbreve rlinebelow s sacute sacutedotaccent
scaron scarondotaccent scedill
a scircu
mflex scommaaccent sdotaccent sdotbelow sdotbelowdotaccent t tbar tcaron tcedilla tcommaaccent tdieresis
tdotbelow tlinebelow u uacute ubreve ucaron ucircumflex udblgrave udieresis udieresisacute udieresiscaron
udieresisgrave udieresismacron 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 A-cy Ve-cy Ge-cy Gje-cy Ie-cy
Iegrave-cy Io-cy Zhe-cy Ze-cy Ii-cy Iishort-cy Iigrave-cy Ka-cy Kje-cy Em-cy En-cy O-cy Pe-cy Er-cy Es-cy
Te-cy U-cy Ushort-cy Ha-cy Che-cy Hardsign-cy Yeru-cy Dze-cy Ereversed-cy I-cy Yi-cy Je-cy Iu-cy Ia-cy
Fita-cy Zhedescender-cy Zedescender-cy Kadescender-cy Endescender-cy Esdescender-cy Ustraight-cy
Ustraightstroke-cy Hadescender-cy Chedescender-cy Palochka-cy Zhe
breve-cy
Chekhakassian-cy Abreve-cy Adieresis-cy Aie-cy Iebreve-cy Schwa-cy Zhedieresis-cy Zedieresis-cy Imacron-cy
Idieresis-cy Odieresis-cy Obarred-cy Umacron-cy Udieresis-cy Uhungarumlaut-cy Chedieresis-cy Gedescender-cy
Yerudieresis-cy Qa-cy We-cy a-cy ge-cy gje-cy ie-cy iegrave-cy io-cy zhe-cy ze-cy ii-cy iishort-cy iigrave-cy
ka-cy kje-cy en-cy o-cy pe-cy er-cy es-cy te-cy u-cy ushort-cy ha-cy che-cy yeru-cy dze-cy e-cy ereversed-cy
i-cy yi-cy je-cy tshe-cy iu-cy ia-cy dje-cy fita-cy zhedescender-cy zedescender-cy kadescender-cy
endescender-cy esdescender-cy ustraight-cy hadescender-cy chedescender-cy shha-cy palochka-cy zhebreve-cy
chekhakassian-cy abreve-cy adieresis-cy aie-cy iebreve-cy schwa-cy zhedieresis-cy zedieresis-cy imacron-cy
idieresis-cy odieresis-cy obarred-cy umacron-cy udieresis-cy uhungarumlaut-cy chedieresis-cy gedescender-cy
yerudieresis-cy qa-cy we-cy cedi cent colonsign dollar dong euro franc guarani naira peseta peso won numero
ustraightstroke-cy], # Base
+ [f_f f_f_i f_f_l fi fl], # Liga
+ [dieresiscomb dieresiscomb_gravecomb dieresiscomb_acutecomb dieresiscomb_caroncomb
dieresiscomb_macroncomb dotaccentcomb dotaccentcomb_macroncomb gravecomb acutecomb acutecomb_dotaccentcomb
hungarumlautcomb caroncomb.alt circumflexcomb caroncomb caroncomb_dotaccentcomb brevecomb ringcomb
ringcomb_acutecomb tildecomb tildecomb_dieresiscomb tildecomb_acutecomb tildecomb_macroncomb macroncomb
macroncomb_dieresiscomb macroncomb_gravecomb macroncomb_acutecomb hookabovecomb verticallineabovecomb
dblgravecomb breveinvertedcomb commaturnedabovecomb horncomb dotbelowcomb dieresisbelowcomb commaaccentcomb
cedillacomb ogonekcomb verticallinebelowcomb brevebelowcomb macronbelowcomb strokeshortcomb strokelongcomb
slashshortcomb slashlongcomb dieresiscomb.case dotaccentcomb.case gravecomb.case acutecomb.case
hungarumlautcomb.case circumflexcomb.case caroncomb.case brevecomb.case ringcomb.case ringcomb_acutecomb.case
tildecomb.case macroncomb.case hookabovecomb.case dblgravecomb.case br
eveinver
tedcomb.case strokeshortcomb.case slashshortcomb.case slashlongcomb.case macroncomb.narrow.case
ogonekcomb.tall.case dieresiscomb.loclVIET dotaccentcomb.loclVIET gravecomb.loclVIET acutecomb.loclVIET
circumflexcomb.loclVIET caroncomb.loclVIET brevecomb.loclVIET tildecomb.loclVIET macroncomb.loclVIET
hookabovecomb.loclVIET macroncomb.narrow ogonekcomb.narrow macronbelowcomb.narrow ogonekcomb.tall
brevecomb-cy descender-cy brevecomb-cy.case descender-cy.case descender-cy.strait brevecomb_acutecomb
brevecomb_gravecomb brevecomb_hookabovecomb brevecomb_tildecomb circumflexcomb_acutecomb
circumflexcomb_gravecomb circumflexcomb_hookabovecomb circumflexcomb_tildecomb brevecomb_acutecomb.case
brevecomb_gravecomb.case brevecomb_hookabovecomb.case brevecomb_tildecomb.case circumflexcomb_acutecomb.case
circumflexcomb_gravecomb.case circumflexcomb_hookabovecomb.case circumflexcomb_tildecomb.case], # Mark
+ ;
+} GDEF;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]