1# automatic 2@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 Kcommaaccent 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 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 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 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 Alpha Alphadasia Alphadasiaoxia Alphadasiaoxiaprosgegrammeni Alphadasiaperispomeni Alphadasiaperispomeniprosgegrammeni Alphadasiaprosgegrammeni Alphadasiavaria Alphadasiavariaprosgegrammeni Alphamacron Alphaoxia Alphaprosgegrammeni Alphapsili Alphapsilioxia Alphapsilioxiaprosgegrammeni Alphapsiliperispomeni Alphapsiliperispomeniprosgegrammeni Alphapsiliprosgegrammeni Alphapsilivaria Alphapsilivariaprosgegrammeni Alphatonos Alphavaria Alphavrachy Beta Chi Delta Epsilon Epsilondasia Epsilondasiaoxia Epsilondasiavaria Epsilonoxia Epsilonpsili Epsilonpsilioxia Epsilonpsilivaria Epsilontonos Epsilonvaria Eta Etadasia Etadasiaoxia Etadasiaoxiaprosgegrammeni Etadasiaperispomeni Etadasiaperispomeniprosgegrammeni Etadasiaprosgegrammeni Etadasiavaria Etadasiavariaprosgegrammeni Etaoxia Etaprosgegrammeni Etapsili Etapsilioxia Etapsilioxiaprosgegrammeni Etapsiliperispomeni Etapsiliperispomeniprosgegrammeni Etapsiliprosgegrammeni Etapsilivaria Etapsilivariaprosgegrammeni Etatonos Etavaria Gamma Iota Iotadasia Iotadasiaoxia Iotadasiaperispomeni Iotadasiavaria Iotadieresis Iotamacron Iotaoxia Iotapsili Iotapsilioxia Iotapsiliperispomeni Iotapsilivaria Iotatonos Iotavaria Iotavrachy Kappa Lambda Mu Nu Omega Omegadasia Omegadasiaoxia Omegadasiaoxiaprosgegrammeni Omegadasiaperispomeni Omegadasiaperispomeniprosgegrammeni Omegadasiaprosgegrammeni Omegadasiavaria Omegadasiavariaprosgegrammeni Omegaoxia Omegaprosgegrammeni Omegapsili Omegapsilioxia Omegapsilioxiaprosgegrammeni Omegapsiliperispomeni Omegapsiliperispomeniprosgegrammeni Omegapsiliprosgegrammeni Omegapsilivaria Omegapsilivariaprosgegrammeni Omegatonos Omegavaria Omicron Omicrondasia Omicrondasiaoxia Omicrondasiavaria Omicronoxia Omicronpsili Omicronpsilioxia Omicronpsilivaria Omicrontonos Omicronvaria Phi Pi Psi Rho Rhodasia Sigma Tau Theta Upsilon Upsilondasia Upsilondasiaoxia Upsilondasiaperispomeni Upsilondasiavaria Upsilondieresis Upsilonmacron Upsilonoxia Upsilontonos Upsilonvaria Upsilonvrachy Xi Zeta ]; 3 4# Prefix: Languagesystems 5# automatic 6languagesystem DFLT dflt; 7 8languagesystem latn dflt; 9languagesystem latn AZE; 10languagesystem latn CRT; 11languagesystem latn KAZ; 12languagesystem latn TAT; 13languagesystem latn TRK; 14languagesystem latn ROM; 15languagesystem latn MOL; 16languagesystem latn CAT; 17languagesystem latn NLD; 18 19 20# Prefix: GDEF 21table GDEF { 22 GlyphClassDef 23 [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 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 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 Lacute Lcaron Lcommaaccent Ldotbelow Llinebelow Lslash M Mdotbelow N Nacute Ncaron Ncommaaccent Ndotaccent Ndotbelow 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 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 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 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 gcaron gcircumflex 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 ldotbelow llinebelow lslash m mdotbelow n nacute ncaron ncommaaccent ndotaccent ndotbelow 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 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 l.ss01 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 Sha-cy Shcha-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 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 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 u-cy ushort-cy ha-cy che-cy sha-cy shcha-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 ustraightstroke-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 Alpha Beta Gamma Delta Epsilon Zeta Eta Theta Iota Kappa Lambda Mu Nu Omicron Pi Rho Tau Upsilon Chi Psi Omega Alphatonos Epsilontonos Etatonos Iotatonos Omicrontonos Upsilontonos Omegatonos Iotadieresis Upsilondieresis Alphapsili Alphadasia Alphapsilivaria Alphadasiavaria Alphapsilioxia Alphadasiaoxia Alphapsiliperispomeni Alphadasiaperispomeni Alphavaria Alphaoxia Alphavrachy Alphamacron Alphaprosgegrammeni Alphapsiliprosgegrammeni Alphadasiaprosgegrammeni Alphapsilivariaprosgegrammeni Alphadasiavariaprosgegrammeni Alphapsilioxiaprosgegrammeni Alphadasiaoxiaprosgegrammeni Alphapsiliperispomeniprosgegrammeni Alphadasiaperispomeniprosgegrammeni Epsilonpsili Epsilondasia Epsilonpsilivaria Epsilondasiavaria Epsilonpsilioxia Epsilondasiaoxia Epsilonvaria Epsilonoxia Etapsili Etadasia Etapsilivaria Etadasiavaria Etapsilioxia Etadasiaoxia Etapsiliperispomeni Etadasiaperispomeni Etavaria Etaoxia Etaprosgegrammeni Etapsiliprosgegrammeni Etadasiaprosgegrammeni Etapsilivariaprosgegrammeni Etadasiavariaprosgegrammeni Etapsilioxiaprosgegrammeni Etadasiaoxiaprosgegrammeni Etapsiliperispomeniprosgegrammeni Etadasiaperispomeniprosgegrammeni Iotapsili Iotadasia Iotapsilivaria Iotadasiavaria Iotapsilioxia Iotadasiaoxia Iotapsiliperispomeni Iotadasiaperispomeni Iotavaria Iotaoxia Iotavrachy Iotamacron Omicronpsili Omicrondasia Omicronpsilivaria Omicrondasiavaria Omicronpsilioxia Omicrondasiaoxia Omicronvaria Omicronoxia Rhodasia Upsilondasia Upsilondasiavaria Upsilondasiaoxia Upsilondasiaperispomeni Upsilonvaria Upsilonoxia Upsilonvrachy Upsilonmacron Omegapsili Omegadasia Omegapsilivaria Omegadasiavaria Omegapsilioxia Omegadasiaoxia Omegapsiliperispomeni Omegadasiaperispomeni Omegavaria Omegaoxia Omegaprosgegrammeni Omegapsiliprosgegrammeni Omegadasiaprosgegrammeni Omegapsilivariaprosgegrammeni Omegadasiavariaprosgegrammeni Omegapsilioxiaprosgegrammeni Omegadasiaoxiaprosgegrammeni Omegapsiliperispomeniprosgegrammeni Omegadasiaperispomeniprosgegrammeni alpha epsilon eta iota mu nu omicron rho upsilon omega iotatonos iotadieresis iotadieresistonos upsilontonos upsilondieresis upsilondieresistonos omicrontonos omegatonos alphatonos epsilontonos etatonos alphapsili alphadasia alphapsilivaria alphadasiavaria alphapsilioxia alphadasiaoxia alphapsiliperispomeni alphadasiaperispomeni alphavaria alphaoxia alphaperispomeni alphavrachy alphamacron alphaypogegrammeni alphavariaypogegrammeni alphaoxiaypogegrammeni alphapsiliypogegrammeni alphadasiaypogegrammeni alphapsilivariaypogegrammeni alphadasiavariaypogegrammeni alphapsilioxiaypogegrammeni alphadasiaoxiaypogegrammeni alphapsiliperispomeniypogegrammeni alphadasiaperispomeniypogegrammeni alphaperispomeniypogegrammeni epsilonpsili epsilondasia epsilonpsilivaria epsilondasiavaria epsilonpsilioxia epsilondasiaoxia epsilonvaria epsilonoxia etapsili etadasia etapsilivaria etadasiavaria etapsilioxia etadasiaoxia etapsiliperispomeni etadasiaperispomeni etavaria etaoxia etaperispomeni etaypogegrammeni etavariaypogegrammeni etaoxiaypogegrammeni etapsiliypogegrammeni etadasiaypogegrammeni etapsilivariaypogegrammeni etadasiavariaypogegrammeni etapsilioxiaypogegrammeni etadasiaoxiaypogegrammeni etapsiliperispomeniypogegrammeni etadasiaperispomeniypogegrammeni etaperispomeniypogegrammeni iotapsili iotadasia iotapsilivaria iotadasiavaria iotapsilioxia iotadasiaoxia iotapsiliperispomeni iotadasiaperispomeni iotavaria iotaoxia iotaperispomeni iotavrachy iotamacron iotadialytikavaria iotadialytikaoxia iotadialytikaperispomeni omicronpsili omicrondasia omicronpsilivaria omicrondasiavaria omicronpsilioxia omicrondasiaoxia omicronvaria omicronoxia rhopsili rhodasia upsilonpsili upsilondasia upsilonpsilivaria upsilondasiavaria upsilonpsilioxia upsilondasiaoxia upsilonpsiliperispomeni upsilondasiaperispomeni upsilonvaria upsilonoxia upsilonperispomeni upsilonvrachy upsilonmacron upsilondialytikavaria upsilondialytikaoxia upsilondialytikaperispomeni omegapsili omegadasia omegapsilivaria omegadasiavaria omegapsilioxia omegadasiaoxia omegapsiliperispomeni omegadasiaperispomeni omegavaria omegaoxia omegaperispomeni omegaypogegrammeni omegavariaypogegrammeni omegaoxiaypogegrammeni omegapsiliypogegrammeni omegadasiaypogegrammeni omegapsilivariaypogegrammeni omegadasiavariaypogegrammeni omegapsilioxiaypogegrammeni omegadasiaoxiaypogegrammeni omegapsiliperispomeniypogegrammeni omegadasiaperispomeniypogegrammeni omegaperispomeniypogegrammeni], # Base 24 , # Liga 25 [dieresiscomb dotaccentcomb gravecomb acutecomb hungarumlautcomb caroncomb.alt circumflexcomb caroncomb brevecomb ringcomb ringcomb_acutecomb tildecomb macroncomb 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 breveinvertedcomb.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 vrachy vrachy.case brevecomb-cy descender-cy brevecomb-cy.case descender-cy.case descender-cy.strait], # Mark 26 ; 27} GDEF; 28 29 30feature aalt { 31# automatic 32feature locl; 33feature subs; 34feature sinf; 35feature sups; 36feature numr; 37feature dnom; 38feature frac; 39feature ordn; 40feature lnum; 41feature pnum; 42feature tnum; 43feature onum; 44feature case; 45feature zero; 46feature salt; 47feature ss01; 48 49} aalt; 50 51feature ccmp { 52# automatic 53lookup ccmp_Other_1 { 54 @CombiningTopAccents = [acutecomb brevecomb breveinvertedcomb caroncomb circumflexcomb commaturnedabovecomb dblgravecomb dieresiscomb dotaccentcomb gravecomb hookabovecomb hungarumlautcomb macroncomb ringcomb tildecomb verticallineabovecomb]; 55 @CombiningNonTopAccents = [brevebelowcomb cedillacomb dieresisbelowcomb dotbelowcomb macronbelowcomb ogonekcomb verticallinebelowcomb horncomb slashlongcomb slashshortcomb strokelongcomb strokeshortcomb]; 56 sub [i j]' @CombiningTopAccents by [idotless jdotless]; 57 sub [i j]' @CombiningNonTopAccents @CombiningTopAccents by [idotless jdotless]; 58 @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 dasia dasiaoxia dasiavaria koronis oxia psili psilioxia psiliperispomeni psilivaria tonos varia vrachy]; 59 @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 dasia.case dasiaoxia.case dasiavaria.case koronis.case oxia.case psili.case psilioxia.case psiliperispomeni.case psilivaria.case tonos.case varia.case vrachy.case]; 60 sub @Markscomb @Markscomb' by @MarkscombCase; 61 sub @Uppercase @Markscomb' by @MarkscombCase; 62} ccmp_Other_1; 63 64lookup ccmp_Other_2 { 65 sub @Markscomb' @MarkscombCase by @MarkscombCase; 66 sub @MarkscombCase @Markscomb' by @MarkscombCase; 67} ccmp_Other_2; 68 69lookup ccmp_Other_3 { 70 lookupflag 0; 71 sub ringcomb acutecomb by ringcomb_acutecomb; 72 sub ringcomb.case acutecomb.case by ringcomb_acutecomb.case; 73} ccmp_Other_3; 74 75} ccmp; 76 77feature locl { 78# automatic 79lookup locl_latn_0 { 80 script latn; 81 language AZE; 82 language CRT; 83 language KAZ; 84 language TAT; 85 language TRK; 86 sub i by idotaccent; 87} locl_latn_0; 88 89lookup locl_latn_1 { 90 script latn; 91 language ROM; 92 language MOL; 93 sub Scedilla by Scommaaccent; 94 sub scedilla by scommaaccent; 95 sub Tcedilla by Tcommaaccent; 96 sub tcedilla by tcommaaccent; 97} locl_latn_1; 98 99lookup locl_latn_2 { 100 script latn; 101 language CAT; 102 sub l periodcentered' l by periodcentered.loclCAT; 103 sub L periodcentered' L by periodcentered.loclCAT.case; 104} locl_latn_2; 105 106lookup locl_latn_3 { 107 script latn; 108 language NLD; 109 sub iacute j' by jacute; 110 sub Iacute J' by Jacute; 111} locl_latn_3; 112 113} locl; 114 115feature subs { 116# automatic 117sub zero by zeroinferior; 118sub one by oneinferior; 119sub two by twoinferior; 120sub three by threeinferior; 121sub four by fourinferior; 122sub five by fiveinferior; 123sub six by sixinferior; 124sub seven by seveninferior; 125sub eight by eightinferior; 126sub nine by nineinferior; 127 128} subs; 129 130feature sinf { 131# automatic 132sub zero by zeroinferior; 133sub one by oneinferior; 134sub two by twoinferior; 135sub three by threeinferior; 136sub four by fourinferior; 137sub five by fiveinferior; 138sub six by sixinferior; 139sub seven by seveninferior; 140sub eight by eightinferior; 141sub nine by nineinferior; 142 143} sinf; 144 145feature sups { 146# automatic 147sub zero by zerosuperior; 148sub one by onesuperior; 149sub two by twosuperior; 150sub three by threesuperior; 151sub four by foursuperior; 152sub five by fivesuperior; 153sub six by sixsuperior; 154sub seven by sevensuperior; 155sub eight by eightsuperior; 156sub nine by ninesuperior; 157 158} sups; 159 160feature numr { 161# automatic 162sub zero by zero.numr; 163sub one by one.numr; 164sub two by two.numr; 165sub three by three.numr; 166sub four by four.numr; 167sub five by five.numr; 168sub six by six.numr; 169sub seven by seven.numr; 170sub eight by eight.numr; 171sub nine by nine.numr; 172 173} numr; 174 175feature dnom { 176# automatic 177sub zero by zero.dnom; 178sub one by one.dnom; 179sub two by two.dnom; 180sub three by three.dnom; 181sub four by four.dnom; 182sub five by five.dnom; 183sub six by six.dnom; 184sub seven by seven.dnom; 185sub eight by eight.dnom; 186sub nine by nine.dnom; 187 188} dnom; 189 190feature frac { 191# automatic 192lookup FRAC { 193 sub slash by fraction; 194} FRAC; 195lookup UP { 196 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]; 197} UP; 198lookup DOWN { 199 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]; 200 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]; 201} DOWN; 202 203} frac; 204 205feature ordn { 206# automatic 207sub [zero one two three four five six seven eight nine] [A a]' by ordfeminine; 208sub [zero one two three four five six seven eight nine] [O o]' by ordmasculine; 209sub N o period by numero; 210 211} ordn; 212 213feature lnum { 214# automatic 215sub zero.osf by zero; 216sub one.osf by one; 217sub two.osf by two; 218sub three.osf by three; 219sub four.osf by four; 220sub five.osf by five; 221sub six.osf by six; 222sub seven.osf by seven; 223sub eight.osf by eight; 224sub nine.osf by nine; 225 226} lnum; 227 228feature pnum { 229# automatic 230sub zero.tf by zero; 231sub one.tf by one; 232sub two.tf by two; 233sub three.tf by three; 234sub four.tf by four; 235sub five.tf by five; 236sub six.tf by six; 237sub seven.tf by seven; 238sub eight.tf by eight; 239sub nine.tf by nine; 240 241} pnum; 242 243feature tnum { 244# automatic 245sub zero by zero.tf; 246sub one by one.tf; 247sub two by two.tf; 248sub three by three.tf; 249sub four by four.tf; 250sub five by five.tf; 251sub six by six.tf; 252sub seven by seven.tf; 253sub eight by eight.tf; 254sub nine by nine.tf; 255 256} tnum; 257 258feature onum { 259# automatic 260sub zero by zero.osf; 261sub one by one.osf; 262sub two by two.osf; 263sub three by three.osf; 264sub four by four.osf; 265sub five by five.osf; 266sub six by six.osf; 267sub seven by seven.osf; 268sub eight by eight.osf; 269sub nine by nine.osf; 270 271} onum; 272 273feature case { 274# automatic 275sub periodcentered.loclCAT by periodcentered.loclCAT.case; 276sub dieresiscomb by dieresiscomb.case; 277sub dotaccentcomb by dotaccentcomb.case; 278sub gravecomb by gravecomb.case; 279sub acutecomb by acutecomb.case; 280sub hungarumlautcomb by hungarumlautcomb.case; 281sub circumflexcomb by circumflexcomb.case; 282sub caroncomb by caroncomb.case; 283sub brevecomb by brevecomb.case; 284sub ringcomb by ringcomb.case; 285sub ringcomb_acutecomb by ringcomb_acutecomb.case; 286sub tildecomb by tildecomb.case; 287sub macroncomb by macroncomb.case; 288sub hookabovecomb by hookabovecomb.case; 289sub dblgravecomb by dblgravecomb.case; 290sub breveinvertedcomb by breveinvertedcomb.case; 291sub strokeshortcomb by strokeshortcomb.case; 292sub slashshortcomb by slashshortcomb.case; 293sub slashlongcomb by slashlongcomb.case; 294sub macroncomb.narrow by macroncomb.narrow.case; 295sub ogonekcomb.tall by ogonekcomb.tall.case; 296sub brevecomb-cy by brevecomb-cy.case; 297sub descender-cy by descender-cy.case; 298sub dasia by dasia.case; 299sub dasiaoxia by dasiaoxia.case; 300sub dasiavaria by dasiavaria.case; 301sub koronis by koronis.case; 302sub oxia by oxia.case; 303sub psili by psili.case; 304sub psilioxia by psilioxia.case; 305sub psiliperispomeni by psiliperispomeni.case; 306sub psilivaria by psilivaria.case; 307sub tonos by tonos.case; 308sub varia by varia.case; 309sub vrachy by vrachy.case; 310 311} case; 312 313feature liga { 314# automatic 315lookupflag IgnoreMarks; 316sub f i by fi; 317sub f l by fl; 318 319} liga; 320 321feature zero { 322# automatic 323sub zero by zero.zero; 324sub zero.osf by zero.osf.zero; 325sub zero.tf by zero.tf.zero; 326 327} zero; 328 329feature salt { 330# automatic 331sub l by l.ss01; 332 333} salt; 334 335feature ss01 { 336# automatic 337sub l by l.ss01; 338 339} ss01; 340