diff --git a/CHANGELOG.md b/CHANGELOG.md index 787b0f3..6771cc9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -53,14 +53,16 @@ All notable changes to this project will be documented in this file. - Added Forces `||-` ligature and U+22A2..U+22AF `⊢ ⊣ ⊤ ⊥ ⊦ ⊧ ⊨ ⊩ ⊪ ⊫ ⊬ ⊭ ⊮ ⊯` [#709] - Tuned `fl` and `fi` pairs [#795] - Disabled ligatures after regexp lookahead/lookbehinds `(?<=<` `(?<=>` `(?<==>` `(?<=|` `(?<==` `(?=:=` `(?=!=` `(?==` `(?===` `(?==>` `(?=>` `(?=>>` `(?=<<` `(?=/=` `(?!!` `(?!!.` `(?!=` `(?!==` `(?=` (ss02) [#263] [#617] + - Less than/greater than `<=` `>=` (ss02) [#263] [#617] - Ampersand `&` (ss03) [#617] - Dotted zero `0` (zero, ss04) - Dollar sign `$` (ss05) [#617] - At sign `@` (ss06) [#617] [#748] [#817] + - Old-style figures (onum, ss07) [#561] [#715] +- Old-style figures no longer prevent ligatures [#561] [#715] #### 1.207 (April 6, 2019) diff --git a/FiraCode.glyphs b/FiraCode.glyphs index 467cf2b..4a8fe48 100644 --- a/FiraCode.glyphs +++ b/FiraCode.glyphs @@ -1,7 +1,14 @@ { .appVersion = "1131"; +DisplayStrings = ( +"a:b\012A:B\0120:9\0120x1" +); classes = ( { +code = "A Aacute Abreve Acircumflex Adieresis Agrave Amacron Aogonek Aring Atilde AE AEacute B C Cacute Ccaron Ccedilla Ccircumflex Cdotaccent D Eth Dcaron Dcroat E Eacute Ebreve Ecaron Ecircumflex Edieresis Edotaccent Egrave Emacron Eogonek F G Gbreve Gcircumflex Gcommaaccent Gdotaccent H Hbar Hcircumflex I IJ Iacute Ibreve Icircumflex Idieresis Idotaccent Igrave Imacron Iogonek Itilde J Jcircumflex K Kcommaaccent L Lacute Lcaron Lcommaaccent Ldot Lslash M N Nacute Ncaron Ncommaaccent Eng Ntilde O Oacute Obreve Ocircumflex Odieresis Ograve Ohungarumlaut Omacron Oslash Oslashacute Otilde OE P Thorn Q R Racute Rcaron Rcommaaccent S Sacute Scaron Scedilla Scircumflex Scommaaccent Germandbls T Tbar Tcaron Tcedilla Tcommaaccent U Uacute Ubreve Ucircumflex Udieresis Ugrave Uhungarumlaut Umacron Uogonek Uring Utilde V W Wacute Wcircumflex Wdieresis Wgrave X Y Yacute Ycircumflex Ydieresis Ygrave Z Zacute Zcaron Zdotaccent Cacute.loclPLK Nacute.loclPLK Oacute.loclPLK Sacute.loclPLK Zacute.loclPLK a aacute abreve acircumflex adieresis agrave amacron aogonek aring atilde ae aeacute b c cacute ccaron ccedilla ccircumflex cdotaccent d eth dcaron dcroat e eacute ebreve ecaron ecircumflex edieresis edotaccent egrave emacron eogonek f g gbreve gcircumflex gcommaaccent gdotaccent h hbar hcircumflex i dotlessi iacute ibreve icircumflex idieresis idotaccent igrave ij imacron iogonek itilde j dotlessj jcircumflex k kcommaaccent kgreenlandic l lacute lcaron lcommaaccent ldot lslash m n nacute napostrophe ncaron ncommaaccent eng ntilde o oacute obreve ocircumflex odieresis ograve ohungarumlaut omacron oslash oslashacute otilde oe p thorn q r racute rcaron rcommaaccent s sacute scaron scedilla scircumflex scommaaccent germandbls t tbar tcaron tcedilla tcommaaccent u uacute ubreve ucircumflex udieresis ugrave uhungarumlaut umacron uogonek uring utilde v w wacute wcircumflex wdieresis wgrave x y yacute ycircumflex ydieresis ygrave z zacute zcaron zdotaccent cacute.loclPLK nacute.loclPLK oacute.loclPLK sacute.loclPLK zacute.loclPLK x.multiply f.salt_highbar l.salt_noserif r.ss01 w_w_w.liga ordfeminine ordmasculine nmod 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 Iishorttail-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 Omega-cy Yat-cy Eiotified-cy Yuslittle-cy Yuslittleiotified-cy Yusbig-cy Yusbigiotified-cy Ksi-cy Psi-cy Fita-cy Izhitsa-cy Izhitsadblgrave-cy Uk-cy Ghestroke-cy Ghemiddlehook-cy Zhedescender-cy Zedescender-cy Kadescender-cy Kaverticalstroke-cy Kastroke-cy Kabashkir-cy Endescender-cy Enghe-cy Pemiddlehook-cy Pedescender-cy Haabkhasian-cy Esdescender-cy Tedescender-cy Ustrait-cy Ustraitstroke-cy Hadescender-cy Tetse-cy Chedescender-cy Cheverticalstroke-cy Shha-cy Shhadescender-cy Cheabkhasian-cy Chedescenderabkhasian-cy Palochka-cy Zhebreve-cy Kahook-cy Eltail-cy Enhook-cy Entail-cy Chekhakassian-cy Emtail-cy Abreve-cy Adieresis-cy Aie-cy Iebreve-cy Schwa-cy Schwadieresis-cy Zhedieresis-cy Zedieresis-cy Dzeabkhasian-cy Imacron-cy Idieresis-cy Odieresis-cy Obarred-cy Obarreddieresis-cy Edieresis-cy Umacron-cy Udieresis-cy Uhungarumlaut-cy Chedieresis-cy Gedescender-cy Yerudieresis-cy Gestrokehook-cy Hahook-cy Hastroke-cy Komide-cy Komidje-cy Komizje-cy Komidzje-cy Komilje-cy Kominje-cy Komisje-cy Komitje-cy Reversedze-cy Elhook-cy Lha-cy Rha-cy Yae-cy Qa-cy We-cy Aleutka-cy Elmiddlehook-cy Enmiddlehook-cy Semisoftsign-cy Ertick-cy EnLeftHook-cy Dzzhe-cy Dche-cy Eldescender-cy 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 iishorttail-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 omega-cy yat-cy eiotified-cy yuslittle-cy yuslittleiotified-cy yusbig-cy yusbigiotified-cy ksi-cy psi-cy fita-cy izhitsa-cy izhitsadblgrave-cy uk-cy ghestroke-cy ghemiddlehook-cy zhedescender-cy zedescender-cy kadescender-cy kaverticalstroke-cy kastroke-cy kabashkir-cy endescender-cy enghe-cy pedescender-cy pemiddlehook-cy haabkhasian-cy esdescender-cy tedescender-cy ustrait-cy ustraitstroke-cy hadescender-cy tetse-cy chedescender-cy cheverticalstroke-cy shha-cy shhadescender-cy cheabkhasian-cy chedescenderabkhasian-cy palochka-cy zhebreve-cy kahook-cy eltail-cy enhook-cy entail-cy chekhakassian-cy emtail-cy abreve-cy adieresis-cy aie-cy iebreve-cy schwa-cy schwadieresis-cy zhedieresis-cy zedieresis-cy dzeabkhasian-cy imacron-cy idieresis-cy odieresis-cy obarred-cy obarreddieresis-cy edieresis-cy umacron-cy udieresis-cy uhungarumlaut-cy chedieresis-cy gedescender-cy yerudieresis-cy gestrokehook-cy hahook-cy hastroke-cy komide-cy komidje-cy komizje-cy komidzje-cy komilje-cy kominje-cy komisje-cy komitje-cy reversedze-cy elhook-cy lha-cy rha-cy yae-cy qa-cy we-cy aleutka-cy elmiddlehook-cy enmiddlehook-cy semisoftsign-cy ertick-cy enlefthook-cy dzzhe-cy dche-cy eldescender-cy Yot-greek Alpha Beta Gamma Delta Epsilon Zeta Eta Theta Iota Kappa Lambda Mu Nu Xi Omicron Pi Rho Sigma Tau Upsilon Phi Chi Psi Omega Alphatonos Epsilontonos Etatonos Iotatonos Omicrontonos Upsilontonos Omegatonos Iotadieresis Upsilondieresis Heta Archaicsampi Pamphyliandigamma KoppaArchaic Stigma Digamma Koppa Sampi KaiSymbol UpsilonhookSymbol UpsilonacutehookSymbol UpsilondieresishookSymbol ThetaSymbol Sho SigmaLunateSymbol San SigmaLunateReversedSymbol SigmaLunateDottedSymbol SigmaLunateDottedReversedSymbol 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 beta gamma delta epsilon zeta eta theta iota kappa lambda mu nu xi omicron pi rho sigmafinal sigma tau upsilon phi chi psi omega iotatonos iotadieresis iotadieresistonos upsilontonos upsilondieresis upsilondieresistonos omicrontonos omegatonos alphatonos epsilontonos etatonos heta archaicsampi pamphyliandigamma reversedlunatesigmasymbol dottedlunatesigmasymbol reverseddottedlunatesigmasymbol koppaArchaic stigma digamma koppa sampi kaiSymbol betaSymbol thetaSymbol phiSymbol piSymbol kappaSymbol rhoSymbol sigmaLunateSymbol yot epsilonLunateSymbol sho san rhoStrokeSymbol 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 prosgegrammeni ypogegrammeni zero one two three four five six seven eight nine zero.tosf one.tosf two.tosf three.tosf four.tosf five.tosf six.tosf seven.tosf eight.tosf nine.tosf zero.tosf.zero zero.zero zero.zero.tosf zeroinferior oneinferior twoinferior threeinferior fourinferior fiveinferior sixinferior seveninferior eightinferior nineinferior 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 zerosuperior onesuperior twosuperior threesuperior foursuperior fivesuperior sixsuperior sevensuperior eightsuperior ninesuperior fraction onefraction onehalf onethird twothirds onequarter threequarters onefifth twofifths threefifths fourfifths onesixth fivesixths oneeighth threeeighths fiveeighths seveneighths period comma colon semicolon ellipsis exclam exclamdown question questiondown periodcentered bullet asterisk dblverticalbar numbersign slash backslash tironiansignet exclamdown.case questiondown.case asterisk.lc colon.uc parenleftinferior parenrightinferior parenleft parenright braceleft braceright bracketleft bracketright parenleftsuperior parenrightsuperior parenleft.case parenright.case braceleft.case braceright.case bracketleft.case bracketright.case hyphen softhyphen endash emdash afii00208 figuredash underscore underscoredbl hyphen.case softhyphen.case endash.case emdash.case hyphen.lc quotesinglbase quotedblbase quotedblleft quotedblright quoteleft quoteright guillemetleft guillemetright guilsinglleft guilsinglright quotedbl quotesingle guillemetleft.case guillemetright.case guilsinglleft.case guilsinglright.case parenleft.dnom parenright.dnom hyphen_hyphen.liga hyphen_hyphen_hyphen.liga hyphen_hyphen_greater.liga hyphen_bar.liga hyphen_greater.liga hyphen_greater_greater.liga hyphen_less.liga hyphen_less_less.liga hyphen_asciitilde.liga braceleft_bar.liga bracketleft_bar.liga bracketright_numbersign.liga period_hyphen.liga period_period.liga period_period_period.liga period_period_less.liga period_question.liga period_equal.liga colon_colon.liga colon_colon_colon.liga colon_colon_equal.liga colon_equal.liga colon_greater.liga colon_less.liga semicolon_semicolon.liga exclam_exclam.liga exclam_exclam_period.liga exclam_equal.liga exclam_equal_equal.liga question_period.liga question_colon.liga question_question.liga question_equal.liga asterisk_asterisk.liga asterisk_asterisk_asterisk.liga asterisk_greater.liga asterisk_slash.liga numbersign_parenleft.liga numbersign_braceleft.liga numbersign_bracketleft.liga numbersign_colon.liga numbersign_exclam.liga numbersign_question.liga numbersign_numbersign.liga numbersign_numbersign_numbersign.liga numbersign_numbersign_numbersign_numbersign.liga numbersign_equal.liga numbersign_underscore.liga numbersign_underscore_parenleft.liga slash_asterisk.liga slash_equal.liga slash_equal_equal.liga slash_greater.liga slash_slash.liga slash_slash_slash.liga slash_backslash.liga backslash_slash.liga underscore_bar_underscore.liga underscore_underscore.liga numbersign_colon.liga_rem parenleft.numr parenright.numr leftanglebracket-math rightanglebracket-math anoteleia questiongreek CR uniFEFF cent currency dollar drachma euro florin liraTurkish ruble rupeeIndian sterling yen dollar.ss05 assertion because bulletoperator curlybracketextension divisionslash doesnotforce doesnotprove doubleverticalbardoublerightturnstile equalsinferior equalsuperior equivalence forces integralbt integraltp leftcurlybracketlowerhook leftcurlybracketmiddlepiece leftcurlybracketupperhook leftsquarebracketextension leftsquarebracketlowercorner leftsquarebracketuppercorner minusinferior minussuperior models negateddoubleverticalbardoublerightturnstile notidentical nottrue plus minus multiply divide equal notequal greater less greaterequal lessequal plusminus approxequal asciitilde logicalnot asciicircum infinity logicaland logicalor intersection integral increment product summation radical micro partialdiff parenleftextension parenleftlowerhook parenleftupperhook parenrightextension parenrightlowerhook parenrightupperhook percent perthousand plusinferior plussuperior revlogicalnot rightcurlybracketlowerhook rightcurlybracketmiddlepiece rightcurlybracketupperhook rightsquarebracketextension rightsquarebracketlowercorner rightsquarebracketuppercorner righttack tackdown tackleft therefore tripleverticalbarrightturnstile true uptack infinity.case plus.lc arrowup arrowupright arrowright arrowdownright arrowdown arrowdownleft arrowleft arrowupleft arrowboth arrowupdown leftTabArrow rightTabArrow leftHookArrow anticlockwiseGappedCircleArrow clockwiseGappedCircleArrow arrowupwhite arrowrightwhite arrowdownwhite arrowleftwhite downArrowHead upBetweenTwoHorizontalBarsArrowHead upBlackArrow downBlackArrow leftBlackArrow upQuadrupleArrow downQuadrupleArrow rightCircledPlusArrow leftLongArrow rightlongArrow leftRightLongArrow leftLongDoubleArrow rightLongDoubleArrow leftRightLongDoubleArrow leftLongFromBarArrow rightLongFromBarArrow leftLongDoubleFromBarArrow rightLongDoubleFromBarArrow rightLongSquiggleArrow blackRightArrow lowerOneEighthBlock lowerOneQuarterBlock lowerThreeEighthsBlock downBlock lowerFiveEighthsBlock lowerThreeQuartersBlock lowerSevenEighthsBlock fullBlock upBlock upperOneEighthBlock leftOneEighthBlock leftOneQuarterBlock leftThreeEighthsBlock leftBlock leftFiveEighthsBlock leftThreeQuartersBlock leftSevenEighthsBlock rightBlock rightOneEighthBlock quadrantLowerLeft quadrantLowerRight quadrantUpperLeft quadrantUpperLeftAndLowerLeftAndLowerRight quadrantUpperLeftAndLowerRight quadrantUpperLeftAndUpperRightAndLowerLeft quadrantUpperLeftAndUpperRightAndLowerRight quadrantUpperRight quadrantUpperRightAndLowerLeft quadrantUpperRightAndLowerLeftAndLowerRight ltshade shade dkshade blackCircle whiteCircle largeCircle leftHalfBlackWhiteCircle rightHalfBlackWhiteCircle lowerHalfBlackWhiteCircle upperHalfBlackWhiteCircle leftHalfBlackCircle rightHalfBlackCircle upperLeftWhiteCircle upperLeftQuadrantWhiteCircle lowerLeftQuadrantWhiteCircle lowerRightQuadrantWhiteCircle upperRightQuadrantWhiteCircle fisheye bullseye inverseWhiteCircle upperHalfInverseWhiteCircle lowerHalfInverseWhiteCircle upperHalfArc lowerHalfArc upperLeftArc upperRightArc lowerRightArc lowerLeftArc blackDiamond whiteDiamond lozenge blackVerticalRect filledRect whiteRect whiteVerticalRect SF010000 SF020000 SF030000 SF040000 SF050000 SF060000 SF070000 SF080000 SF090000 SF100000 SF110000 SF190000 SF200000 SF210000 SF220000 SF230000 SF240000 SF250000 SF260000 SF270000 SF280000 SF360000 SF370000 SF380000 SF390000 SF400000 SF410000 SF420000 SF430000 SF440000 SF450000 SF460000 SF470000 SF480000 SF490000 SF500000 SF510000 SF520000 SF530000 SF540000 filledbox H22073 whiteSquareWithRoundedCorners squarewhitewithsmallblack H18543 H18551 leftHalfBlackSquare rightHalfBlackSquare upperLeftDiagonalHalfBlackSquare lowerRightDiagonalHalfBlackSquare verticalBisectingLineWhiteSquare whiteSquareWithUpperLeftQuadrant whiteSquareWithLowerLeftQuadrant whiteSquareWithLowerRightQuadrant whiteSquareWithUpperRightQuadrant triagupTriangle rightBlackTriangle triangledown leftBlackTriangle triangleright triaglf blackUpperRightTriangle blackLowerRightTriangle blackLowerLeftTriangle blackUpperLeftTriangle boxDownHeavyAndHorizontalLight boxDownHeavyAndLeftLight boxDownHeavyAndLeftUpLight boxDownHeavyAndRightLight boxDownHeavyAndRightUpLight boxDownHeavyAndUpHorizontalLight boxDownLightAndHorizontalHeavy boxDownLightAndLeftHeavy boxDownLightAndLeftUpHeavy boxDownLightAndRightHeavy boxDownLightAndRightUpHeavy boxDownLightAndUpHorizontalHeavy boxHeavyDoubleDashHorizontal boxHeavyDoubleDashVertical boxHeavyDown boxHeavyDownAndHorizontal boxHeavyDownAndLeft boxHeavyDownAndRight boxHeavyHorizontal boxHeavyLeft boxHeavyLeftAndLightRight boxHeavyQuadrupleDashHorizontal boxHeavyQuadrupleDashVertical boxHeavyRight boxHeavyTripleDashHorizontal boxHeavyTripleDashVertical boxHeavyUp boxHeavyUpAndHorizontal boxHeavyUpAndLeft boxHeavyUpAndLightDown boxHeavyUpAndRight boxHeavyVertical boxHeavyVerticalAndHorizontal boxHeavyVerticalAndLeft boxHeavyVerticalAndRight boxLeftDownHeavyAndRightUpLight boxLeftHeavyAndRightDownLight boxLeftHeavyAndRightUpLight boxLeftHeavyAndRightVerticalLight boxLeftLightAndRightDownHeavy boxLeftLightAndRightUpHeavy boxLeftLightAndRightVerticalHeavy boxLeftUpHeavyAndRightDownLight boxLightDiagonalCross boxLightDiagonalUpperLeftToLowerRight boxLightDiagonalUpperRightToLowerLeft boxLightDoubleDashHorizontal boxLightDoubleDashVertical boxLightDown boxLightLeft boxLightLeftAndHeavyRight boxLightQuadrupleDashHorizontal boxLightQuadrupleDashVertical boxLightRight boxLightTripleDashHorizontal boxLightTripleDashVertical boxLightUp boxLightUpAndHeavyDown boxRightDownHeavyAndLeftUpLight boxRightHeavyAndLeftDownLight boxRightHeavyAndLeftUpLight boxRightHeavyAndLeftVerticalLight boxRightLightAndLeftDownHeavy boxRightLightAndLeftUpHeavy boxRightLightAndLeftVerticalHeavy boxRightUpHeavyAndLeftDownLight boxUpHeavyAndDownHorizontalLight boxUpHeavyAndHorizontalLight boxUpHeavyAndLeftDownLight boxUpHeavyAndLeftLight boxUpHeavyAndRightDownLight boxUpHeavyAndRightLight boxUpLightAndDownHorizontalHeavy boxUpLightAndHorizontalHeavy boxUpLightAndLeftDownHeavy boxUpLightAndLeftHeavy boxUpLightAndRightDownHeavy boxUpLightAndRightHeavy boxVerticalHeavyAndHorizontalLight boxVerticalHeavyAndLeftLight boxVerticalHeavyAndRightLight boxVerticalLightAndHorizontalHeavy boxVerticalLightAndLeftHeavy boxVerticalLightAndRightHeavy uni256D uni256E uni256F uni2570 ballotBox ballotBoxWithCheck ballotBoxWithX skullAndCrossbones whiteFrowningFace smileface invsmileface sun female male spade club heart diamond musicalnote musicalnotedbl checkmark acknowledge-control alternativekeysymbol backspace-control at ampersand paragraph section copyright registered trademark degree diameterSign bar brokenbar literSign dagger daggerdbl estimated numero bell-control blank blankSymbol brokenCircleNorthWestArrow cancel-control carriageReturn-control control dataLinkEscape-control delete-control deleteFormTwo-control deviceControlFour-control deviceControlOne-control deviceControlThree-control deviceControlTwo-control endOfMedium-control endOfText-control endOfTransmission-control endOfTransmissionBlock-control enquiry-control escape-control fileSeparator-control formFeed-control globeWithMeridians groupSeparator-control helmsymbol horizontalTabulation-control house capslock clear deleteLeftKey deleterightKey ejectsymbol keyboard optionKey pagedown pageup propellor returnsymbol lineFeed-control negativeAcknowledge-control newline-control null-control perspective projective recordSeparator-control shiftIn-control shiftOut-control space-control startOfHeading-control startOfText-control substitute-control substituteFormTwo-control synchronousIdle-control threeTurned twoTurned unitSeparator-control verticalTabulation-control ampersand.ss03 at.ss06 plus.dnom minus.dnom equal.dnom ampersand_ampersand.liga bar_hyphen.liga bar_hyphen_greater.liga bar_braceright.liga bar_bracketright.liga bar_bar.liga bar_bar_hyphen.liga bar_bar_bar_greater.liga bar_bar_equal.liga bar_bar_greater.liga bar_equal.liga bar_equal_greater.liga bar_greater.liga dollar_greater.liga plus_plus.liga plus_plus_plus.liga plus_greater.liga equal_colon_equal.liga equal_exclam_equal.liga equal_equal.liga equal_equal_equal.liga equal_equal_greater.liga equal_greater.liga equal_greater_greater.liga equal_less_less.liga equal_slash_equal.liga greater_hyphen.liga greater_hyphen_greater.liga greater_colon.liga greater_equal.liga greater_equal_greater.liga greater_greater.liga greater_greater_hyphen.liga greater_greater_equal.liga greater_greater_greater.liga less_hyphen.liga less_hyphen_hyphen.liga less_hyphen_bar.liga less_hyphen_greater.liga less_hyphen_less.liga less_colon.liga less_exclam_hyphen_hyphen.liga less_asterisk.liga less_asterisk_greater.liga less_bar.liga less_bar_bar.liga less_bar_bar_bar.liga less_bar_greater.liga less_dollar.liga less_dollar_greater.liga less_plus.liga less_plus_greater.liga less_equal.liga less_equal_bar.liga less_equal_equal.liga less_equal_equal_greater.liga less_equal_greater.liga less_equal_less.liga less_greater.liga less_less.liga less_less_hyphen.liga less_less_equal.liga less_less_less.liga less_asciitilde.liga less_asciitilde_greater.liga less_asciitilde_asciitilde.liga less_slash.liga less_slash_greater.liga asciitilde_hyphen.liga asciitilde_at.liga asciitilde_equal.liga asciitilde_greater.liga asciitilde_asciitilde.liga asciitilde_asciitilde_greater.liga asciicircum_equal.liga percent_percent.liga plus.numr minus.numr equal.numr greater_equal.ss02 less_equal.ss02 epsilonLunateReversedSymbol numeral-greek lowernumeral-greek apostrophemod doubleprimemod firsttonechinese primemod dieresiscomb dotaccentcomb gravecomb acutecomb hungarumlautcomb circumflexcomb caroncomb brevecomb ringcomb tildecomb macroncomb overlinecomb dblgravecomb commaabovecomb commareversedabovecomb commaaccent cedillacomb strokeshortoverlay strokelongoverlay acute breve caron cedilla circumflex dieresis dotaccent grave hungarumlaut macron ogonek ring tilde caron.alt commaaccent.case acute.case breve.case caron.case cedilla.case circumflex.case dieresis.case dotaccent.case grave.case hungarumlaut.case macron.case ring.case tilde.case acute.loclPLK acute.case.loclPLK perispomenicomb ypogegrammenicomb tonos tonos.case dieresistonos psili koronis dasia psilivaria dasiavaria psilioxia dasiaoxia psiliperispomeni dasiaperispomeni dialytikavaria dialytikaoxia dialytikaperispomeni varia varia.case oxia oxia.case perispomeni canadiansyllabicso canadiansyllabicsa uniE000 uniE001 uniE002 uniE003 uniE0A0 uniE0A1 uniE0A2 uniE0B0 uniE0B1 uniE0B2 uniE0B3 LIG breve-cy breve-cy.case null"; +name = NotSpace; +}, +{ automatic = 1; code = "A Aacute Abreve Acircumflex Adieresis Agrave Amacron Aogonek Aring Atilde AE AEacute B C Cacute Ccaron Ccedilla Ccircumflex Cdotaccent D Eth Dcaron Dcroat E Eacute Ebreve Ecaron Ecircumflex Edieresis Edotaccent Egrave Emacron Eogonek F G Gbreve Gcircumflex Gcommaaccent Gdotaccent H Hbar Hcircumflex I IJ Iacute Ibreve Icircumflex Idieresis Idotaccent Igrave Imacron Iogonek Itilde J Jcircumflex K Kcommaaccent L Lacute Lcaron Lcommaaccent Ldot Lslash M N Nacute Ncaron Ncommaaccent Eng Ntilde O Oacute Obreve Ocircumflex Odieresis Ograve Ohungarumlaut Omacron Oslash Oslashacute Otilde OE P Thorn Q R Racute Rcaron Rcommaaccent S Sacute Scaron Scedilla Scircumflex Scommaaccent T Tbar Tcaron Tcedilla Tcommaaccent U Uacute Ubreve Ucircumflex Udieresis Ugrave Uhungarumlaut Umacron Uogonek Uring Utilde V W Wacute Wcircumflex Wdieresis Wgrave X Y Yacute Ycircumflex Ydieresis Ygrave Z Zacute Zcaron Zdotaccent Cacute.loclPLK Nacute.loclPLK Oacute.loclPLK Sacute.loclPLK Zacute.loclPLK Dche-cy Dzzhe-cy Eldescender-cy EnLeftHook-cy 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 Iishorttail-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 Omega-cy Yat-cy Eiotified-cy Yuslittle-cy Yuslittleiotified-cy Yusbig-cy Yusbigiotified-cy Ksi-cy Psi-cy Fita-cy Izhitsa-cy Izhitsadblgrave-cy Uk-cy Ghestroke-cy Ghemiddlehook-cy Zhedescender-cy Zedescender-cy Kadescender-cy Kaverticalstroke-cy Kastroke-cy Kabashkir-cy Endescender-cy Enghe-cy Pemiddlehook-cy Pedescender-cy Haabkhasian-cy Esdescender-cy Tedescender-cy Ustrait-cy Ustraitstroke-cy Hadescender-cy Tetse-cy Chedescender-cy Cheverticalstroke-cy Shha-cy Shhadescender-cy Cheabkhasian-cy Chedescenderabkhasian-cy Palochka-cy Zhebreve-cy Kahook-cy Eltail-cy Enhook-cy Entail-cy Chekhakassian-cy Emtail-cy Abreve-cy Adieresis-cy Aie-cy Iebreve-cy Schwa-cy Schwadieresis-cy Zhedieresis-cy Zedieresis-cy Dzeabkhasian-cy Imacron-cy Idieresis-cy Odieresis-cy Obarred-cy Obarreddieresis-cy Edieresis-cy Umacron-cy Udieresis-cy Uhungarumlaut-cy Chedieresis-cy Gedescender-cy Yerudieresis-cy Gestrokehook-cy Hahook-cy Hastroke-cy Komide-cy Komidje-cy Komizje-cy Komidzje-cy Komilje-cy Kominje-cy Komisje-cy Komitje-cy Reversedze-cy Elhook-cy Lha-cy Rha-cy Yae-cy Qa-cy We-cy Aleutka-cy Elmiddlehook-cy Enmiddlehook-cy Semisoftsign-cy Ertick-cy Yot-greek Alpha Beta Gamma Delta Epsilon Zeta Eta Theta Iota Kappa Lambda Mu Nu Xi Omicron Pi Rho Sigma Tau Upsilon Phi Chi Psi Omega Alphatonos Epsilontonos Etatonos Iotatonos Omicrontonos Upsilontonos Omegatonos Iotadieresis Upsilondieresis Heta Archaicsampi Pamphyliandigamma KoppaArchaic Stigma Digamma Koppa Sampi KaiSymbol UpsilonhookSymbol UpsilonacutehookSymbol UpsilondieresishookSymbol ThetaSymbol Sho SigmaLunateSymbol San SigmaLunateReversedSymbol SigmaLunateDottedSymbol SigmaLunateDottedReversedSymbol 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"; name = Uppercase; @@ -19,7 +26,7 @@ code = "bracketright braceright parenright"; name = ClosingBracket; }, { -code = "zero one two twoTurned threeTurned three four five six seven eight nine"; +code = "zero one two twoTurned threeTurned three four five six seven eight nine zero.tosf one.tosf two.tosf three.tosf four.tosf five.tosf six.tosf seven.tosf eight.tosf nine.tosf zero.zero.tosf"; name = Digit; }, { @@ -27,7 +34,7 @@ code = "@Digit a b c d e f A B C D E F"; name = HexDigit; }, { -code = "@Uppercase @Digit @OpeningBracket @ClosingBracket bar"; +code = "@Uppercase zero one two twoTurned threeTurned three four five six seven eight nine @OpeningBracket @ClosingBracket bar"; name = Tall; }, { @@ -49,10 +56,6 @@ name = GreekUCdiphUPSILON; { code = "Alpha\012Epsilon\012Eta\012Iota\012Omicron\012Upsilon\012Omega\012Alpha\012Alpha\012Alpha\012Alpha\012Alpha\012Alpha\012Alpha\012Alpha\012Alpha\012Alpha\012Alpha\012Alpha\012Alpha\012Alpha\012Alpha\012Alpha\012Alpha\012Alpha\012Alpha\012Alpha\012Alpha\012Epsilon\012Epsilon\012Epsilon\012Epsilon\012Epsilon\012Epsilon\012Epsilon\012Epsilon\012Eta\012Eta\012Eta\012Eta\012Eta\012Eta\012Eta\012Eta\012Eta\012Eta\012Eta\012Eta\012Eta\012Eta\012Eta\012Eta\012Eta\012Eta\012Eta\012Iota\012Iota\012Iota\012Iota\012Iota\012Iota\012Iota\012Iota\012Iota\012Iota\012Iota\012Iota\012Omicron\012Omicron\012Omicron\012Omicron\012Omicron\012Omicron\012Omicron\012Omicron\012Rho\012Upsilon\012Upsilon\012Upsilon\012Upsilon\012Upsilon\012Upsilon\012Upsilon\012Upsilon\012Omega\012Omega\012Omega\012Omega\012Omega\012Omega\012Omega\012Omega\012Omega\012Omega\012Omega\012Omega\012Omega\012Omega\012Omega\012Omega\012Omega\012Omega\012Omega"; name = GreekUCcalt; -}, -{ -code = "A Aacute Abreve Acircumflex Adieresis Agrave Amacron Aogonek Aring Atilde AE AEacute B C Cacute Ccaron Ccedilla Ccircumflex Cdotaccent D Eth Dcaron Dcroat E Eacute Ebreve Ecaron Ecircumflex Edieresis Edotaccent Egrave Emacron Eogonek F G Gbreve Gcircumflex Gcommaaccent Gdotaccent H Hbar Hcircumflex I IJ Iacute Ibreve Icircumflex Idieresis Idotaccent Igrave Imacron Iogonek Itilde J Jcircumflex K Kcommaaccent L Lacute Lcaron Lcommaaccent Ldot Lslash M N Nacute Ncaron Ncommaaccent Eng Ntilde O Oacute Obreve Ocircumflex Odieresis Ograve Ohungarumlaut Omacron Oslash Oslashacute Otilde OE P Thorn Q R Racute Rcaron Rcommaaccent S Sacute Scaron Scedilla Scircumflex Scommaaccent Germandbls T Tbar Tcaron Tcedilla Tcommaaccent U Uacute Ubreve Ucircumflex Udieresis Ugrave Uhungarumlaut Umacron Uogonek Uring Utilde V W Wacute Wcircumflex Wdieresis Wgrave X Y Yacute Ycircumflex Ydieresis Ygrave Z Zacute Zcaron Zdotaccent Cacute.loclPLK Nacute.loclPLK Oacute.loclPLK Sacute.loclPLK Zacute.loclPLK a aacute abreve acircumflex adieresis agrave amacron aogonek aring atilde ae aeacute b c cacute ccaron ccedilla ccircumflex cdotaccent d eth dcaron dcroat e eacute ebreve ecaron ecircumflex edieresis edotaccent egrave emacron eogonek f g gbreve gcircumflex gcommaaccent gdotaccent h hbar hcircumflex i dotlessi iacute ibreve icircumflex idieresis idotaccent igrave ij imacron iogonek itilde j dotlessj jcircumflex k kcommaaccent kgreenlandic l lacute lcaron lcommaaccent ldot lslash m n nacute napostrophe ncaron ncommaaccent eng ntilde o oacute obreve ocircumflex odieresis ograve ohungarumlaut omacron oslash oslashacute otilde oe p thorn q r racute rcaron rcommaaccent s sacute scaron scedilla scircumflex scommaaccent germandbls t tbar tcaron tcedilla tcommaaccent u uacute ubreve ucircumflex udieresis ugrave uhungarumlaut umacron uogonek uring utilde v w wacute wcircumflex wdieresis wgrave x y yacute ycircumflex ydieresis ygrave z zacute zcaron zdotaccent cacute.loclPLK nacute.loclPLK oacute.loclPLK sacute.loclPLK zacute.loclPLK x.multiply f.salt_highbar l.salt_noserif r.ss01 w_w_w.liga ordfeminine ordmasculine nmod 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 Iishorttail-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 Omega-cy Yat-cy Eiotified-cy Yuslittle-cy Yuslittleiotified-cy Yusbig-cy Yusbigiotified-cy Ksi-cy Psi-cy Fita-cy Izhitsa-cy Izhitsadblgrave-cy Uk-cy Ghestroke-cy Ghemiddlehook-cy Zhedescender-cy Zedescender-cy Kadescender-cy Kaverticalstroke-cy Kastroke-cy Kabashkir-cy Endescender-cy Enghe-cy Pemiddlehook-cy Pedescender-cy Haabkhasian-cy Esdescender-cy Tedescender-cy Ustrait-cy Ustraitstroke-cy Hadescender-cy Tetse-cy Chedescender-cy Cheverticalstroke-cy Shha-cy Shhadescender-cy Cheabkhasian-cy Chedescenderabkhasian-cy Palochka-cy Zhebreve-cy Kahook-cy Eltail-cy Enhook-cy Entail-cy Chekhakassian-cy Emtail-cy Abreve-cy Adieresis-cy Aie-cy Iebreve-cy Schwa-cy Schwadieresis-cy Zhedieresis-cy Zedieresis-cy Dzeabkhasian-cy Imacron-cy Idieresis-cy Odieresis-cy Obarred-cy Obarreddieresis-cy Edieresis-cy Umacron-cy Udieresis-cy Uhungarumlaut-cy Chedieresis-cy Gedescender-cy Yerudieresis-cy Gestrokehook-cy Hahook-cy Hastroke-cy Komide-cy Komidje-cy Komizje-cy Komidzje-cy Komilje-cy Kominje-cy Komisje-cy Komitje-cy Reversedze-cy Elhook-cy Lha-cy Rha-cy Yae-cy Qa-cy We-cy Aleutka-cy Elmiddlehook-cy Enmiddlehook-cy Semisoftsign-cy Ertick-cy EnLeftHook-cy Dzzhe-cy Dche-cy Eldescender-cy 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 iishorttail-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 omega-cy yat-cy eiotified-cy yuslittle-cy yuslittleiotified-cy yusbig-cy yusbigiotified-cy ksi-cy psi-cy fita-cy izhitsa-cy izhitsadblgrave-cy uk-cy ghestroke-cy ghemiddlehook-cy zhedescender-cy zedescender-cy kadescender-cy kaverticalstroke-cy kastroke-cy kabashkir-cy endescender-cy enghe-cy pedescender-cy pemiddlehook-cy haabkhasian-cy esdescender-cy tedescender-cy ustrait-cy ustraitstroke-cy hadescender-cy tetse-cy chedescender-cy cheverticalstroke-cy shha-cy shhadescender-cy cheabkhasian-cy chedescenderabkhasian-cy palochka-cy zhebreve-cy kahook-cy eltail-cy enhook-cy entail-cy chekhakassian-cy emtail-cy abreve-cy adieresis-cy aie-cy iebreve-cy schwa-cy schwadieresis-cy zhedieresis-cy zedieresis-cy dzeabkhasian-cy imacron-cy idieresis-cy odieresis-cy obarred-cy obarreddieresis-cy edieresis-cy umacron-cy udieresis-cy uhungarumlaut-cy chedieresis-cy gedescender-cy yerudieresis-cy gestrokehook-cy hahook-cy hastroke-cy komide-cy komidje-cy komizje-cy komidzje-cy komilje-cy kominje-cy komisje-cy komitje-cy reversedze-cy elhook-cy lha-cy rha-cy yae-cy qa-cy we-cy aleutka-cy elmiddlehook-cy enmiddlehook-cy semisoftsign-cy ertick-cy enlefthook-cy dzzhe-cy dche-cy eldescender-cy Yot-greek Alpha Beta Gamma Delta Epsilon Zeta Eta Theta Iota Kappa Lambda Mu Nu Xi Omicron Pi Rho Sigma Tau Upsilon Phi Chi Psi Omega Alphatonos Epsilontonos Etatonos Iotatonos Omicrontonos Upsilontonos Omegatonos Iotadieresis Upsilondieresis Heta Archaicsampi Pamphyliandigamma KoppaArchaic Stigma Digamma Koppa Sampi KaiSymbol UpsilonhookSymbol UpsilonacutehookSymbol UpsilondieresishookSymbol ThetaSymbol Sho SigmaLunateSymbol San SigmaLunateReversedSymbol SigmaLunateDottedSymbol SigmaLunateDottedReversedSymbol 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 beta gamma delta epsilon zeta eta theta iota kappa lambda mu nu xi omicron pi rho sigmafinal sigma tau upsilon phi chi psi omega iotatonos iotadieresis iotadieresistonos upsilontonos upsilondieresis upsilondieresistonos omicrontonos omegatonos alphatonos epsilontonos etatonos heta archaicsampi pamphyliandigamma reversedlunatesigmasymbol dottedlunatesigmasymbol reverseddottedlunatesigmasymbol koppaArchaic stigma digamma koppa sampi kaiSymbol betaSymbol thetaSymbol phiSymbol piSymbol kappaSymbol rhoSymbol sigmaLunateSymbol yot epsilonLunateSymbol sho san rhoStrokeSymbol 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 prosgegrammeni ypogegrammeni zero one two three four five six seven eight nine zero.tosf one.tosf two.tosf three.tosf four.tosf five.tosf six.tosf seven.tosf eight.tosf nine.tosf zero.tosf.zero zero.zero zeroinferior oneinferior twoinferior threeinferior fourinferior fiveinferior sixinferior seveninferior eightinferior nineinferior 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 zerosuperior onesuperior twosuperior threesuperior foursuperior fivesuperior sixsuperior sevensuperior eightsuperior ninesuperior fraction onefraction onehalf onethird twothirds onequarter threequarters onefifth twofifths threefifths fourfifths onesixth fivesixths oneeighth threeeighths fiveeighths seveneighths period comma colon semicolon ellipsis exclam exclamdown question questiondown periodcentered bullet asterisk dblverticalbar numbersign slash backslash tironiansignet exclamdown.case questiondown.case asterisk.lc numbersign.tosf colon.uc parenleftinferior parenrightinferior parenleft parenright braceleft braceright bracketleft bracketright parenleftsuperior parenrightsuperior parenleft.case parenright.case braceleft.case braceright.case bracketleft.case bracketright.case hyphen softhyphen endash emdash afii00208 figuredash underscore underscoredbl hyphen.case softhyphen.case endash.case emdash.case hyphen.lc figuredash.tosf quotesinglbase quotedblbase quotedblleft quotedblright quoteleft quoteright guillemetleft guillemetright guilsinglleft guilsinglright quotedbl quotesingle guillemetleft.case guillemetright.case guilsinglleft.case guilsinglright.case parenleft.dnom parenright.dnom hyphen_hyphen.liga hyphen_hyphen_hyphen.liga hyphen_hyphen_greater.liga hyphen_bar.liga hyphen_greater.liga hyphen_greater_greater.liga hyphen_less.liga hyphen_less_less.liga hyphen_asciitilde.liga braceleft_bar.liga bracketleft_bar.liga bracketright_numbersign.liga period_hyphen.liga period_period.liga period_period_period.liga period_period_less.liga period_question.liga period_equal.liga colon_colon.liga colon_colon_colon.liga colon_colon_equal.liga colon_equal.liga colon_greater.liga colon_less.liga semicolon_semicolon.liga exclam_exclam.liga exclam_exclam_period.liga exclam_equal.liga exclam_equal_equal.liga question_period.liga question_colon.liga question_question.liga question_equal.liga asterisk_asterisk.liga asterisk_asterisk_asterisk.liga asterisk_greater.liga asterisk_slash.liga numbersign_parenleft.liga numbersign_braceleft.liga numbersign_bracketleft.liga numbersign_colon.liga numbersign_exclam.liga numbersign_question.liga numbersign_numbersign.liga numbersign_numbersign_numbersign.liga numbersign_numbersign_numbersign_numbersign.liga numbersign_equal.liga numbersign_underscore.liga numbersign_underscore_parenleft.liga slash_asterisk.liga slash_equal.liga slash_equal_equal.liga slash_greater.liga slash_slash.liga slash_slash_slash.liga slash_backslash.liga backslash_slash.liga underscore_bar_underscore.liga underscore_underscore.liga numbersign_colon.liga_rem parenleft.numr parenright.numr leftanglebracket-math rightanglebracket-math anoteleia questiongreek cent currency dollar drachma euro florin liraTurkish ruble rupeeIndian sterling yen cent.tosf currency.tosf dollar.tosf drachma.tosf euro.tosf liraTurkish.tosf ruble.tosf rupeeIndian.tosf sterling.tosf yen.tosf assertion because bulletoperator curlybracketextension divisionslash doesnotforce doesnotprove doubleverticalbardoublerightturnstile equalsinferior equalsuperior equivalence forces integralbt integraltp leftcurlybracketlowerhook leftcurlybracketmiddlepiece leftcurlybracketupperhook leftsquarebracketextension leftsquarebracketlowercorner leftsquarebracketuppercorner minusinferior minussuperior models negateddoubleverticalbardoublerightturnstile notidentical nottrue plus minus multiply divide equal notequal greater less greaterequal lessequal plusminus approxequal asciitilde logicalnot asciicircum infinity logicaland logicalor intersection integral increment product summation radical micro partialdiff parenleftextension parenleftlowerhook parenleftupperhook parenrightextension parenrightlowerhook parenrightupperhook percent perthousand plusinferior plussuperior revlogicalnot rightcurlybracketlowerhook rightcurlybracketmiddlepiece rightcurlybracketupperhook rightsquarebracketextension rightsquarebracketlowercorner rightsquarebracketuppercorner righttack tackdown tackleft therefore tripleverticalbarrightturnstile true uptack infinity.case plus.lc plus.tosf minus.tosf multiply.tosf divide.tosf equal.tosf notequal.tosf greater.tosf less.tosf greaterequal.tosf lessequal.tosf plusminus.tosf approxequal.tosf asciitilde.tosf logicalnot.tosf infinity.tosf integral.tosf product.tosf summation.tosf radical.tosf partialdiff.tosf percent.tosf perthousand.tosf arrowup arrowupright arrowright arrowdownright arrowdown arrowdownleft arrowleft arrowupleft arrowboth arrowupdown leftTabArrow rightTabArrow leftHookArrow anticlockwiseGappedCircleArrow clockwiseGappedCircleArrow arrowupwhite arrowrightwhite arrowdownwhite arrowleftwhite downArrowHead upBetweenTwoHorizontalBarsArrowHead upBlackArrow downBlackArrow leftBlackArrow upQuadrupleArrow downQuadrupleArrow rightCircledPlusArrow leftLongArrow rightlongArrow leftRightLongArrow leftLongDoubleArrow rightLongDoubleArrow leftRightLongDoubleArrow leftLongFromBarArrow rightLongFromBarArrow leftLongDoubleFromBarArrow rightLongDoubleFromBarArrow rightLongSquiggleArrow blackRightArrow lowerOneEighthBlock lowerOneQuarterBlock lowerThreeEighthsBlock downBlock lowerFiveEighthsBlock lowerThreeQuartersBlock lowerSevenEighthsBlock fullBlock upBlock upperOneEighthBlock leftOneEighthBlock leftOneQuarterBlock leftThreeEighthsBlock leftBlock leftFiveEighthsBlock leftThreeQuartersBlock leftSevenEighthsBlock rightBlock rightOneEighthBlock quadrantLowerLeft quadrantLowerRight quadrantUpperLeft quadrantUpperLeftAndLowerLeftAndLowerRight quadrantUpperLeftAndLowerRight quadrantUpperLeftAndUpperRightAndLowerLeft quadrantUpperLeftAndUpperRightAndLowerRight quadrantUpperRight quadrantUpperRightAndLowerLeft quadrantUpperRightAndLowerLeftAndLowerRight ltshade shade dkshade blackCircle whiteCircle largeCircle leftHalfBlackWhiteCircle rightHalfBlackWhiteCircle lowerHalfBlackWhiteCircle upperHalfBlackWhiteCircle leftHalfBlackCircle rightHalfBlackCircle upperLeftWhiteCircle upperLeftQuadrantWhiteCircle lowerLeftQuadrantWhiteCircle lowerRightQuadrantWhiteCircle upperRightQuadrantWhiteCircle fisheye bullseye inverseWhiteCircle upperHalfInverseWhiteCircle lowerHalfInverseWhiteCircle upperHalfArc lowerHalfArc upperLeftArc upperRightArc lowerRightArc lowerLeftArc blackDiamond whiteDiamond lozenge blackVerticalRect filledRect whiteRect whiteVerticalRect SF010000 SF020000 SF030000 SF040000 SF050000 SF060000 SF070000 SF080000 SF090000 SF100000 SF110000 SF190000 SF200000 SF210000 SF220000 SF230000 SF240000 SF250000 SF260000 SF270000 SF280000 SF360000 SF370000 SF380000 SF390000 SF400000 SF410000 SF420000 SF430000 SF440000 SF450000 SF460000 SF470000 SF480000 SF490000 SF500000 SF510000 SF520000 SF530000 SF540000 filledbox H22073 whiteSquareWithRoundedCorners squarewhitewithsmallblack H18543 H18551 leftHalfBlackSquare rightHalfBlackSquare upperLeftDiagonalHalfBlackSquare lowerRightDiagonalHalfBlackSquare verticalBisectingLineWhiteSquare whiteSquareWithUpperLeftQuadrant whiteSquareWithLowerLeftQuadrant whiteSquareWithLowerRightQuadrant whiteSquareWithUpperRightQuadrant triagupTriangle rightBlackTriangle triangledown leftBlackTriangle triangleright triaglf blackUpperRightTriangle blackLowerRightTriangle blackLowerLeftTriangle blackUpperLeftTriangle boxDownHeavyAndHorizontalLight boxDownHeavyAndLeftLight boxDownHeavyAndLeftUpLight boxDownHeavyAndRightLight boxDownHeavyAndRightUpLight boxDownHeavyAndUpHorizontalLight boxDownLightAndHorizontalHeavy boxDownLightAndLeftHeavy boxDownLightAndLeftUpHeavy boxDownLightAndRightHeavy boxDownLightAndRightUpHeavy boxDownLightAndUpHorizontalHeavy boxHeavyDoubleDashHorizontal boxHeavyDoubleDashVertical boxHeavyDown boxHeavyDownAndHorizontal boxHeavyDownAndLeft boxHeavyDownAndRight boxHeavyHorizontal boxHeavyLeft boxHeavyLeftAndLightRight boxHeavyQuadrupleDashHorizontal boxHeavyQuadrupleDashVertical boxHeavyRight boxHeavyTripleDashHorizontal boxHeavyTripleDashVertical boxHeavyUp boxHeavyUpAndHorizontal boxHeavyUpAndLeft boxHeavyUpAndLightDown boxHeavyUpAndRight boxHeavyVertical boxHeavyVerticalAndHorizontal boxHeavyVerticalAndLeft boxHeavyVerticalAndRight boxLeftDownHeavyAndRightUpLight boxLeftHeavyAndRightDownLight boxLeftHeavyAndRightUpLight boxLeftHeavyAndRightVerticalLight boxLeftLightAndRightDownHeavy boxLeftLightAndRightUpHeavy boxLeftLightAndRightVerticalHeavy boxLeftUpHeavyAndRightDownLight boxLightDiagonalCross boxLightDiagonalUpperLeftToLowerRight boxLightDiagonalUpperRightToLowerLeft boxLightDoubleDashHorizontal boxLightDoubleDashVertical boxLightDown boxLightLeft boxLightLeftAndHeavyRight boxLightQuadrupleDashHorizontal boxLightQuadrupleDashVertical boxLightRight boxLightTripleDashHorizontal boxLightTripleDashVertical boxLightUp boxLightUpAndHeavyDown boxRightDownHeavyAndLeftUpLight boxRightHeavyAndLeftDownLight boxRightHeavyAndLeftUpLight boxRightHeavyAndLeftVerticalLight boxRightLightAndLeftDownHeavy boxRightLightAndLeftUpHeavy boxRightLightAndLeftVerticalHeavy boxRightUpHeavyAndLeftDownLight boxUpHeavyAndDownHorizontalLight boxUpHeavyAndHorizontalLight boxUpHeavyAndLeftDownLight boxUpHeavyAndLeftLight boxUpHeavyAndRightDownLight boxUpHeavyAndRightLight boxUpLightAndDownHorizontalHeavy boxUpLightAndHorizontalHeavy boxUpLightAndLeftDownHeavy boxUpLightAndLeftHeavy boxUpLightAndRightDownHeavy boxUpLightAndRightHeavy boxVerticalHeavyAndHorizontalLight boxVerticalHeavyAndLeftLight boxVerticalHeavyAndRightLight boxVerticalLightAndHorizontalHeavy boxVerticalLightAndLeftHeavy boxVerticalLightAndRightHeavy uni256D uni256E uni256F uni2570 lozenge.tosf ballotBox ballotBoxWithCheck ballotBoxWithX skullAndCrossbones whiteFrowningFace smileface invsmileface sun female male spade club heart diamond musicalnote musicalnotedbl checkmark acknowledge-control alternativekeysymbol backspace-control at ampersand paragraph section copyright registered trademark degree diameterSign bar brokenbar literSign dagger daggerdbl estimated numero bell-control blank blankSymbol brokenCircleNorthWestArrow cancel-control carriageReturn-control control dataLinkEscape-control delete-control deleteFormTwo-control deviceControlFour-control deviceControlOne-control deviceControlThree-control deviceControlTwo-control endOfMedium-control endOfText-control endOfTransmission-control endOfTransmissionBlock-control enquiry-control escape-control fileSeparator-control formFeed-control globeWithMeridians groupSeparator-control helmsymbol horizontalTabulation-control house capslock clear deleteLeftKey deleterightKey ejectsymbol keyboard optionKey pagedown pageup propellor returnsymbol lineFeed-control negativeAcknowledge-control newline-control null-control perspective projective recordSeparator-control shiftIn-control shiftOut-control space-control startOfHeading-control startOfText-control substitute-control substituteFormTwo-control synchronousIdle-control threeTurned twoTurned unitSeparator-control verticalTabulation-control section.tosf degree.tosf dagger.tosf daggerdbl.tosf plus.dnom minus.dnom equal.dnom ampersand_ampersand.liga bar_hyphen.liga bar_hyphen_greater.liga bar_braceright.liga bar_bracketright.liga bar_bar.liga bar_bar_hyphen.liga bar_bar_bar_greater.liga bar_bar_equal.liga bar_bar_greater.liga bar_equal.liga bar_equal_greater.liga bar_greater.liga dollar_greater.liga plus_plus.liga plus_plus_plus.liga plus_greater.liga equal_colon_equal.liga equal_exclam_equal.liga equal_equal.liga equal_equal_equal.liga equal_equal_greater.liga equal_greater.liga equal_greater_greater.liga equal_less_less.liga equal_slash_equal.liga greater_hyphen.liga greater_hyphen_greater.liga greater_colon.liga greater_equal.liga greater_equal_greater.liga greater_greater.liga greater_greater_hyphen.liga greater_greater_equal.liga greater_greater_greater.liga less_hyphen.liga less_hyphen_hyphen.liga less_hyphen_bar.liga less_hyphen_greater.liga less_hyphen_less.liga less_colon.liga less_exclam_hyphen_hyphen.liga less_asterisk.liga less_asterisk_greater.liga less_bar.liga less_bar_bar.liga less_bar_bar_bar.liga less_bar_greater.liga less_dollar.liga less_dollar_greater.liga less_plus.liga less_plus_greater.liga less_equal.liga less_equal_bar.liga less_equal_equal.liga less_equal_equal_greater.liga less_equal_greater.liga less_equal_less.liga less_greater.liga less_less.liga less_less_hyphen.liga less_less_equal.liga less_less_less.liga less_asciitilde.liga less_asciitilde_greater.liga less_asciitilde_asciitilde.liga less_slash.liga less_slash_greater.liga asciitilde_hyphen.liga asciitilde_at.liga asciitilde_equal.liga asciitilde_greater.liga asciitilde_asciitilde.liga asciitilde_asciitilde_greater.liga asciicircum_equal.liga percent_percent.liga plus.numr minus.numr equal.numr epsilonLunateReversedSymbol numeral-greek lowernumeral-greek apostrophemod doubleprimemod firsttonechinese primemod dieresiscomb dotaccentcomb gravecomb acutecomb hungarumlautcomb circumflexcomb caroncomb brevecomb ringcomb tildecomb macroncomb overlinecomb dblgravecomb commaabovecomb commareversedabovecomb commaaccent cedillacomb strokeshortoverlay strokelongoverlay acute breve caron cedilla circumflex dieresis dotaccent grave hungarumlaut macron ogonek ring tilde caron.alt commaaccent.case acute.case breve.case caron.case cedilla.case circumflex.case dieresis.case dotaccent.case grave.case hungarumlaut.case macron.case ring.case tilde.case acute.loclPLK acute.case.loclPLK perispomenicomb ypogegrammenicomb tonos tonos.case dieresistonos psili koronis dasia psilivaria dasiavaria psilioxia dasiaoxia psiliperispomeni dasiaperispomeni dialytikavaria dialytikaoxia dialytikaperispomeni varia varia.case oxia oxia.case perispomeni canadiansyllabicso canadiansyllabicsa uniE000 uniE001 uniE002 uniE003 uniE0A0 uniE0A1 uniE0A2 uniE0B0 uniE0B1 uniE0B2 uniE0B3 breve-cy breve-cy.case"; -name = NotSpace; } ); copyright = "Copyright 2012-2015 The Fira Code Project Authors (https://github.com/tonsky/FiraCode)"; @@ -178,7 +181,7 @@ name = tnum; }, { automatic = 1; -code = "sub zero by zero.tosf;\012sub one by one.tosf;\012sub two by two.tosf;\012sub three by three.tosf;\012sub four by four.tosf;\012sub five by five.tosf;\012sub six by six.tosf;\012sub seven by seven.tosf;\012sub eight by eight.tosf;\012sub nine by nine.tosf;\012sub numbersign by numbersign.tosf;\012sub figuredash by figuredash.tosf;\012sub figurespace by figurespace.tosf;\012sub cent by cent.tosf;\012sub currency by currency.tosf;\012sub dollar by dollar.tosf;\012sub drachma by drachma.tosf;\012sub euro by euro.tosf;\012sub liraTurkish by liraTurkish.tosf;\012sub ruble by ruble.tosf;\012sub rupeeIndian by rupeeIndian.tosf;\012sub sterling by sterling.tosf;\012sub yen by yen.tosf;\012sub plus by plus.tosf;\012sub minus by minus.tosf;\012sub multiply by multiply.tosf;\012sub divide by divide.tosf;\012sub equal by equal.tosf;\012sub notequal by notequal.tosf;\012sub greater by greater.tosf;\012sub less by less.tosf;\012sub greaterequal by greaterequal.tosf;\012sub lessequal by lessequal.tosf;\012sub plusminus by plusminus.tosf;\012sub approxequal by approxequal.tosf;\012sub asciitilde by asciitilde.tosf;\012sub logicalnot by logicalnot.tosf;\012sub infinity by infinity.tosf;\012sub integral by integral.tosf;\012sub product by product.tosf;\012sub summation by summation.tosf;\012sub radical by radical.tosf;\012sub partialdiff by partialdiff.tosf;\012sub percent by percent.tosf;\012sub perthousand by perthousand.tosf;\012sub lozenge by lozenge.tosf;\012sub section by section.tosf;\012sub degree by degree.tosf;\012sub dagger by dagger.tosf;\012sub daggerdbl by daggerdbl.tosf;\012"; +code = "sub zero by zero.tosf;\012sub one by one.tosf;\012sub two by two.tosf;\012sub three by three.tosf;\012sub four by four.tosf;\012sub five by five.tosf;\012sub six by six.tosf;\012sub seven by seven.tosf;\012sub eight by eight.tosf;\012sub nine by nine.tosf;\012sub zero.zero by zero.zero.tosf;\012"; name = onum; }, { @@ -224,27 +227,38 @@ name = salt; automatic = 1; code = "sub r by r.ss01;\012"; name = ss01; +notes = "Name: Sans serif lowercase r"; }, { code = "sub greater_equal.liga by greater_equal.ss02;\012sub less_equal.liga by less_equal.ss02;\012"; name = ss02; +notes = "Name: Less Than/Greater Than with horizontal bar"; }, { code = "sub ampersand by ampersand.ss03;\012\012sub ampersand_ampersand.liga by ampersand.ss03;\012sub LIG' ampersand.ss03 by ampersand.ss03;"; name = ss03; +notes = "Name: Traditional Ampersand"; }, { code = "sub zero.tosf by zero.tosf.zero;\012sub zero by zero.zero;\012"; name = ss04; +notes = "Name: Dotted zero"; }, { automatic = 1; code = "sub dollar by dollar.ss05;\012"; name = ss05; +notes = "Name: Lightweight Dollar Sign"; }, { code = "sub at by at.ss06;\012sub LIG' asciitilde_at.liga by asciitilde;\012sub asciitilde asciitilde_at.liga' by at.ss06;"; name = ss06; +notes = "Name: Traditional At sign"; +}, +{ +code = "sub zero by zero.tosf;\012sub one by one.tosf;\012sub two by two.tosf;\012sub three by three.tosf;\012sub four by four.tosf;\012sub five by five.tosf;\012sub six by six.tosf;\012sub seven by seven.tosf;\012sub eight by eight.tosf;\012sub nine by nine.tosf;\012sub zero.zero by zero.zero.tosf;\012"; +name = ss07; +notes = "Name: Old-style figures"; } ); fontMaster = ( @@ -15107,7 +15121,7 @@ width = 1200; { color = 3; glyphname = w_w_w.liga; -lastChange = "2019-04-04 19:13:18 +0000"; +lastChange = "2019-09-04 08:59:45 +0000"; layers = ( { anchors = ( @@ -54973,6 +54987,127 @@ width = 1200; ); }, { +color = 4; +glyphname = zero.zero.tosf; +lastChange = "2019-09-04 09:09:38 +0000"; +layers = ( +{ +layerId = "4B7A3BAF-EAD8-4024-9BEA-BB1DE86CFCFA"; +paths = ( +{ +closed = 1; +nodes = ( +"248 1164 OFFCURVE", +"71 928 OFFCURVE", +"71 570 CURVE SMOOTH", +"71 209 OFFCURVE", +"251 -34 OFFCURVE", +"600 -34 CURVE SMOOTH", +"949 -34 OFFCURVE", +"1129 209 OFFCURVE", +"1129 570 CURVE SMOOTH", +"1129 928 OFFCURVE", +"952 1164 OFFCURVE", +"600 1164 CURVE SMOOTH" +); +}, +{ +closed = 1; +nodes = ( +"526 690 OFFCURVE", +"472 634 OFFCURVE", +"472 564 CURVE SMOOTH", +"472 492 OFFCURVE", +"526 436 OFFCURVE", +"598 436 CURVE SMOOTH", +"672 436 OFFCURVE", +"726 492 OFFCURVE", +"726 564 CURVE SMOOTH", +"726 634 OFFCURVE", +"672 690 OFFCURVE", +"598 690 CURVE SMOOTH" +); +}, +{ +closed = 1; +nodes = ( +"731 940 OFFCURVE", +"829 843 OFFCURVE", +"829 570 CURVE SMOOTH", +"829 294 OFFCURVE", +"733 190 OFFCURVE", +"600 190 CURVE SMOOTH", +"467 190 OFFCURVE", +"371 291 OFFCURVE", +"371 570 CURVE SMOOTH", +"371 843 OFFCURVE", +"469 940 OFFCURVE", +"600 940 CURVE SMOOTH" +); +} +); +width = 1200; +}, +{ +layerId = "B67F0F2D-EC95-4CB8-966E-23AE86958A69"; +paths = ( +{ +closed = 1; +nodes = ( +"324 1141 OFFCURVE", +"113 940 OFFCURVE", +"113 561 CURVE SMOOTH", +"113 184 OFFCURVE", +"322 -20 OFFCURVE", +"600 -20 CURVE SMOOTH", +"878 -20 OFFCURVE", +"1087 184 OFFCURVE", +"1087 561 CURVE SMOOTH", +"1087 940 OFFCURVE", +"876 1141 OFFCURVE", +"600 1141 CURVE SMOOTH" +); +}, +{ +closed = 1; +nodes = ( +"523 690 OFFCURVE", +"469 634 OFFCURVE", +"469 564 CURVE SMOOTH", +"469 492 OFFCURVE", +"523 436 OFFCURVE", +"595 436 CURVE SMOOTH", +"669 436 OFFCURVE", +"723 492 OFFCURVE", +"723 564 CURVE SMOOTH", +"723 634 OFFCURVE", +"669 690 OFFCURVE", +"595 690 CURVE SMOOTH" +); +}, +{ +closed = 1; +nodes = ( +"782 1030 OFFCURVE", +"953 905 OFFCURVE", +"953 561 CURVE SMOOTH", +"953 218 OFFCURVE", +"781 91 OFFCURVE", +"600 91 CURVE SMOOTH", +"419 91 OFFCURVE", +"247 220 OFFCURVE", +"247 561 CURVE SMOOTH", +"247 905 OFFCURVE", +"418 1030 OFFCURVE", +"600 1030 CURVE SMOOTH" +); +} +); +width = 1200; +} +); +}, +{ color = 7; glyphname = zeroinferior; lastChange = "2019-03-25 21:13:22 +0000"; @@ -58888,33 +59023,6 @@ width = 1200; ); }, { -color = 7; -glyphname = numbersign.tosf; -lastChange = "2019-03-25 21:13:22 +0000"; -layers = ( -{ -components = ( -{ -alignment = -1; -name = numbersign; -} -); -layerId = "4B7A3BAF-EAD8-4024-9BEA-BB1DE86CFCFA"; -width = 1200; -}, -{ -components = ( -{ -alignment = -1; -name = numbersign; -} -); -layerId = "B67F0F2D-EC95-4CB8-966E-23AE86958A69"; -width = 1200; -} -); -}, -{ color = 8; glyphname = colon.uc; lastChange = "2019-03-25 21:13:22 +0000"; @@ -60199,33 +60307,6 @@ width = 1200; ); }, { -color = 7; -glyphname = figuredash.tosf; -lastChange = "2019-03-25 21:13:22 +0000"; -layers = ( -{ -components = ( -{ -alignment = -1; -name = figuredash; -} -); -layerId = "4B7A3BAF-EAD8-4024-9BEA-BB1DE86CFCFA"; -width = 1200; -}, -{ -components = ( -{ -alignment = -1; -name = figuredash; -} -); -layerId = "B67F0F2D-EC95-4CB8-966E-23AE86958A69"; -width = 1200; -} -); -}, -{ color = 3; export = 0; glyphname = hyphen.rem; @@ -67100,20 +67181,6 @@ width = 1200; ); }, { -glyphname = figurespace.tosf; -lastChange = "2019-03-25 21:13:22 +0000"; -layers = ( -{ -layerId = "4B7A3BAF-EAD8-4024-9BEA-BB1DE86CFCFA"; -width = 1200; -}, -{ -layerId = "B67F0F2D-EC95-4CB8-966E-23AE86958A69"; -width = 1200; -} -); -}, -{ glyphname = CR; lastChange = "2019-03-25 21:13:22 +0000"; layers = ( @@ -68661,282 +68728,6 @@ width = 1200; ); }, { -color = 7; -glyphname = cent.tosf; -lastChange = "2019-03-25 21:13:22 +0000"; -layers = ( -{ -components = ( -{ -alignment = -1; -name = cent; -} -); -layerId = "4B7A3BAF-EAD8-4024-9BEA-BB1DE86CFCFA"; -width = 1200; -}, -{ -components = ( -{ -alignment = -1; -name = cent; -} -); -layerId = "B67F0F2D-EC95-4CB8-966E-23AE86958A69"; -width = 1200; -} -); -}, -{ -color = 7; -glyphname = currency.tosf; -lastChange = "2019-03-25 21:13:22 +0000"; -layers = ( -{ -components = ( -{ -alignment = -1; -name = currency; -} -); -layerId = "4B7A3BAF-EAD8-4024-9BEA-BB1DE86CFCFA"; -width = 1200; -}, -{ -components = ( -{ -alignment = -1; -name = currency; -} -); -layerId = "B67F0F2D-EC95-4CB8-966E-23AE86958A69"; -width = 1200; -} -); -}, -{ -color = 7; -glyphname = dollar.tosf; -lastChange = "2019-03-25 21:13:22 +0000"; -layers = ( -{ -components = ( -{ -alignment = -1; -name = dollar; -} -); -layerId = "4B7A3BAF-EAD8-4024-9BEA-BB1DE86CFCFA"; -width = 1200; -}, -{ -components = ( -{ -alignment = -1; -name = dollar; -} -); -layerId = "B67F0F2D-EC95-4CB8-966E-23AE86958A69"; -width = 1200; -} -); -}, -{ -color = 7; -glyphname = drachma.tosf; -lastChange = "2019-03-25 21:13:22 +0000"; -layers = ( -{ -components = ( -{ -alignment = -1; -name = drachma; -} -); -layerId = "4B7A3BAF-EAD8-4024-9BEA-BB1DE86CFCFA"; -width = 1200; -}, -{ -components = ( -{ -alignment = -1; -name = drachma; -} -); -layerId = "B67F0F2D-EC95-4CB8-966E-23AE86958A69"; -width = 1200; -} -); -}, -{ -color = 7; -glyphname = euro.tosf; -lastChange = "2019-03-25 21:13:22 +0000"; -layers = ( -{ -components = ( -{ -alignment = -1; -name = euro; -} -); -layerId = "4B7A3BAF-EAD8-4024-9BEA-BB1DE86CFCFA"; -width = 1200; -}, -{ -components = ( -{ -alignment = -1; -name = euro; -} -); -layerId = "B67F0F2D-EC95-4CB8-966E-23AE86958A69"; -width = 1200; -} -); -}, -{ -color = 7; -glyphname = liraTurkish.tosf; -lastChange = "2019-03-25 21:13:22 +0000"; -layers = ( -{ -components = ( -{ -alignment = -1; -name = liraTurkish; -} -); -layerId = "4B7A3BAF-EAD8-4024-9BEA-BB1DE86CFCFA"; -width = 1200; -}, -{ -components = ( -{ -alignment = -1; -name = liraTurkish; -} -); -layerId = "B67F0F2D-EC95-4CB8-966E-23AE86958A69"; -width = 1200; -} -); -leftMetricsKey = liraTurkish.tf; -rightMetricsKey = liraTurkish; -}, -{ -color = 7; -glyphname = ruble.tosf; -lastChange = "2019-03-25 21:13:22 +0000"; -layers = ( -{ -components = ( -{ -alignment = -1; -name = ruble; -} -); -layerId = "4B7A3BAF-EAD8-4024-9BEA-BB1DE86CFCFA"; -width = 1200; -}, -{ -components = ( -{ -alignment = -1; -name = ruble; -} -); -layerId = "B67F0F2D-EC95-4CB8-966E-23AE86958A69"; -width = 1200; -} -); -leftMetricsKey = ruble; -rightMetricsKey = ruble; -}, -{ -color = 7; -glyphname = rupeeIndian.tosf; -lastChange = "2019-03-25 21:13:22 +0000"; -layers = ( -{ -components = ( -{ -alignment = -1; -name = rupeeIndian; -} -); -layerId = "4B7A3BAF-EAD8-4024-9BEA-BB1DE86CFCFA"; -width = 1200; -}, -{ -components = ( -{ -alignment = -1; -name = rupeeIndian; -} -); -layerId = "B67F0F2D-EC95-4CB8-966E-23AE86958A69"; -width = 1200; -} -); -leftMetricsKey = rupeeIndian; -rightMetricsKey = rupeeIndian; -}, -{ -color = 7; -glyphname = sterling.tosf; -lastChange = "2019-03-25 21:13:22 +0000"; -layers = ( -{ -components = ( -{ -alignment = -1; -name = sterling; -} -); -layerId = "4B7A3BAF-EAD8-4024-9BEA-BB1DE86CFCFA"; -width = 1200; -}, -{ -components = ( -{ -alignment = -1; -name = sterling; -} -); -layerId = "B67F0F2D-EC95-4CB8-966E-23AE86958A69"; -width = 1200; -} -); -}, -{ -color = 7; -glyphname = yen.tosf; -lastChange = "2019-03-25 21:13:22 +0000"; -layers = ( -{ -components = ( -{ -alignment = -1; -name = yen; -} -); -layerId = "4B7A3BAF-EAD8-4024-9BEA-BB1DE86CFCFA"; -width = 1200; -}, -{ -components = ( -{ -alignment = -1; -name = yen; -} -); -layerId = "B67F0F2D-EC95-4CB8-966E-23AE86958A69"; -width = 1200; -} -); -}, -{ color = 6; glyphname = assertion; lastChange = "2019-09-02 02:48:23 +0000"; @@ -73110,600 +72901,6 @@ width = 1200; ); }, { -color = 7; -glyphname = plus.tosf; -lastChange = "2019-03-25 21:13:22 +0000"; -layers = ( -{ -components = ( -{ -alignment = -1; -name = plus; -} -); -layerId = "4B7A3BAF-EAD8-4024-9BEA-BB1DE86CFCFA"; -width = 1200; -}, -{ -components = ( -{ -alignment = -1; -name = plus; -} -); -layerId = "B67F0F2D-EC95-4CB8-966E-23AE86958A69"; -width = 1200; -} -); -}, -{ -color = 7; -glyphname = minus.tosf; -lastChange = "2019-03-25 21:13:22 +0000"; -layers = ( -{ -components = ( -{ -alignment = -1; -name = minus; -} -); -layerId = "4B7A3BAF-EAD8-4024-9BEA-BB1DE86CFCFA"; -width = 1200; -}, -{ -components = ( -{ -alignment = -1; -name = minus; -} -); -layerId = "B67F0F2D-EC95-4CB8-966E-23AE86958A69"; -width = 1200; -} -); -}, -{ -color = 7; -glyphname = multiply.tosf; -lastChange = "2019-03-25 21:13:22 +0000"; -layers = ( -{ -components = ( -{ -alignment = -1; -name = multiply; -} -); -layerId = "4B7A3BAF-EAD8-4024-9BEA-BB1DE86CFCFA"; -width = 1200; -}, -{ -components = ( -{ -alignment = -1; -name = multiply; -} -); -layerId = "B67F0F2D-EC95-4CB8-966E-23AE86958A69"; -width = 1200; -} -); -}, -{ -color = 7; -glyphname = divide.tosf; -lastChange = "2019-03-25 21:13:22 +0000"; -layers = ( -{ -components = ( -{ -alignment = -1; -name = divide; -} -); -layerId = "4B7A3BAF-EAD8-4024-9BEA-BB1DE86CFCFA"; -width = 1200; -}, -{ -components = ( -{ -alignment = -1; -name = divide; -} -); -layerId = "B67F0F2D-EC95-4CB8-966E-23AE86958A69"; -width = 1200; -} -); -}, -{ -color = 7; -glyphname = equal.tosf; -lastChange = "2019-03-25 21:13:22 +0000"; -layers = ( -{ -components = ( -{ -alignment = -1; -name = equal; -} -); -layerId = "4B7A3BAF-EAD8-4024-9BEA-BB1DE86CFCFA"; -width = 1200; -}, -{ -components = ( -{ -alignment = -1; -name = equal; -} -); -layerId = "B67F0F2D-EC95-4CB8-966E-23AE86958A69"; -width = 1200; -} -); -}, -{ -color = 7; -glyphname = notequal.tosf; -lastChange = "2019-03-25 21:13:22 +0000"; -layers = ( -{ -components = ( -{ -alignment = -1; -name = notequal; -} -); -layerId = "4B7A3BAF-EAD8-4024-9BEA-BB1DE86CFCFA"; -width = 1200; -}, -{ -components = ( -{ -alignment = -1; -name = notequal; -} -); -layerId = "B67F0F2D-EC95-4CB8-966E-23AE86958A69"; -width = 1200; -} -); -}, -{ -color = 7; -glyphname = greater.tosf; -lastChange = "2019-03-25 21:13:22 +0000"; -layers = ( -{ -components = ( -{ -alignment = -1; -name = greater; -} -); -layerId = "4B7A3BAF-EAD8-4024-9BEA-BB1DE86CFCFA"; -width = 1200; -}, -{ -components = ( -{ -alignment = -1; -name = greater; -} -); -layerId = "B67F0F2D-EC95-4CB8-966E-23AE86958A69"; -width = 1200; -} -); -}, -{ -color = 7; -glyphname = less.tosf; -lastChange = "2019-03-25 21:13:22 +0000"; -layers = ( -{ -components = ( -{ -alignment = -1; -name = less; -} -); -layerId = "4B7A3BAF-EAD8-4024-9BEA-BB1DE86CFCFA"; -width = 1200; -}, -{ -components = ( -{ -alignment = -1; -name = less; -} -); -layerId = "B67F0F2D-EC95-4CB8-966E-23AE86958A69"; -width = 1200; -} -); -}, -{ -color = 7; -glyphname = greaterequal.tosf; -lastChange = "2019-03-25 21:13:22 +0000"; -layers = ( -{ -components = ( -{ -alignment = -1; -name = greaterequal; -} -); -layerId = "4B7A3BAF-EAD8-4024-9BEA-BB1DE86CFCFA"; -width = 1200; -}, -{ -components = ( -{ -alignment = -1; -name = greaterequal; -} -); -layerId = "B67F0F2D-EC95-4CB8-966E-23AE86958A69"; -width = 1200; -} -); -}, -{ -color = 7; -glyphname = lessequal.tosf; -lastChange = "2019-03-25 21:13:22 +0000"; -layers = ( -{ -components = ( -{ -alignment = -1; -name = lessequal; -} -); -layerId = "4B7A3BAF-EAD8-4024-9BEA-BB1DE86CFCFA"; -width = 1200; -}, -{ -components = ( -{ -alignment = -1; -name = lessequal; -} -); -layerId = "B67F0F2D-EC95-4CB8-966E-23AE86958A69"; -width = 1200; -} -); -}, -{ -color = 7; -glyphname = plusminus.tosf; -lastChange = "2019-03-25 21:13:22 +0000"; -layers = ( -{ -components = ( -{ -alignment = -1; -name = plusminus; -} -); -layerId = "4B7A3BAF-EAD8-4024-9BEA-BB1DE86CFCFA"; -width = 1200; -}, -{ -components = ( -{ -alignment = -1; -name = plusminus; -} -); -layerId = "B67F0F2D-EC95-4CB8-966E-23AE86958A69"; -width = 1200; -} -); -}, -{ -color = 7; -glyphname = approxequal.tosf; -lastChange = "2019-03-25 21:13:22 +0000"; -layers = ( -{ -components = ( -{ -alignment = -1; -name = approxequal; -} -); -layerId = "4B7A3BAF-EAD8-4024-9BEA-BB1DE86CFCFA"; -width = 1200; -}, -{ -components = ( -{ -alignment = -1; -name = approxequal; -} -); -layerId = "B67F0F2D-EC95-4CB8-966E-23AE86958A69"; -width = 1200; -} -); -}, -{ -color = 7; -glyphname = asciitilde.tosf; -lastChange = "2019-03-25 21:13:22 +0000"; -layers = ( -{ -components = ( -{ -alignment = -1; -name = asciitilde; -} -); -layerId = "4B7A3BAF-EAD8-4024-9BEA-BB1DE86CFCFA"; -width = 1200; -}, -{ -components = ( -{ -alignment = -1; -name = asciitilde; -} -); -layerId = "B67F0F2D-EC95-4CB8-966E-23AE86958A69"; -width = 1200; -} -); -}, -{ -color = 7; -glyphname = logicalnot.tosf; -lastChange = "2019-03-25 21:13:22 +0000"; -layers = ( -{ -components = ( -{ -alignment = -1; -name = logicalnot; -} -); -layerId = "4B7A3BAF-EAD8-4024-9BEA-BB1DE86CFCFA"; -width = 1200; -}, -{ -components = ( -{ -alignment = -1; -name = logicalnot; -} -); -layerId = "B67F0F2D-EC95-4CB8-966E-23AE86958A69"; -width = 1200; -} -); -}, -{ -color = 7; -glyphname = infinity.tosf; -lastChange = "2019-03-25 21:13:22 +0000"; -layers = ( -{ -components = ( -{ -alignment = -1; -name = infinity; -} -); -layerId = "4B7A3BAF-EAD8-4024-9BEA-BB1DE86CFCFA"; -width = 1200; -}, -{ -components = ( -{ -alignment = -1; -name = infinity; -} -); -layerId = "B67F0F2D-EC95-4CB8-966E-23AE86958A69"; -width = 1200; -} -); -}, -{ -color = 7; -glyphname = integral.tosf; -lastChange = "2019-03-25 21:13:22 +0000"; -layers = ( -{ -components = ( -{ -alignment = -1; -name = integral; -} -); -layerId = "4B7A3BAF-EAD8-4024-9BEA-BB1DE86CFCFA"; -width = 1200; -}, -{ -components = ( -{ -alignment = -1; -name = integral; -} -); -layerId = "B67F0F2D-EC95-4CB8-966E-23AE86958A69"; -width = 1200; -} -); -}, -{ -color = 7; -glyphname = product.tosf; -lastChange = "2019-03-25 21:13:22 +0000"; -layers = ( -{ -components = ( -{ -alignment = -1; -name = product; -} -); -layerId = "4B7A3BAF-EAD8-4024-9BEA-BB1DE86CFCFA"; -width = 1200; -}, -{ -components = ( -{ -alignment = -1; -name = product; -} -); -layerId = "B67F0F2D-EC95-4CB8-966E-23AE86958A69"; -width = 1200; -} -); -}, -{ -color = 7; -glyphname = summation.tosf; -lastChange = "2019-03-25 21:13:22 +0000"; -layers = ( -{ -components = ( -{ -alignment = -1; -name = summation; -} -); -layerId = "4B7A3BAF-EAD8-4024-9BEA-BB1DE86CFCFA"; -width = 1200; -}, -{ -components = ( -{ -alignment = -1; -name = summation; -} -); -layerId = "B67F0F2D-EC95-4CB8-966E-23AE86958A69"; -width = 1200; -} -); -}, -{ -color = 7; -glyphname = radical.tosf; -lastChange = "2019-03-25 21:13:22 +0000"; -layers = ( -{ -components = ( -{ -alignment = -1; -name = radical; -} -); -layerId = "4B7A3BAF-EAD8-4024-9BEA-BB1DE86CFCFA"; -width = 1200; -}, -{ -components = ( -{ -alignment = -1; -name = radical; -} -); -layerId = "B67F0F2D-EC95-4CB8-966E-23AE86958A69"; -width = 1200; -} -); -}, -{ -color = 7; -glyphname = partialdiff.tosf; -lastChange = "2019-03-25 21:13:22 +0000"; -layers = ( -{ -components = ( -{ -alignment = -1; -name = partialdiff; -} -); -layerId = "4B7A3BAF-EAD8-4024-9BEA-BB1DE86CFCFA"; -width = 1200; -}, -{ -components = ( -{ -alignment = -1; -name = partialdiff; -} -); -layerId = "B67F0F2D-EC95-4CB8-966E-23AE86958A69"; -width = 1200; -} -); -}, -{ -color = 7; -glyphname = percent.tosf; -lastChange = "2019-03-25 21:13:22 +0000"; -layers = ( -{ -components = ( -{ -alignment = -1; -name = percent; -} -); -layerId = "4B7A3BAF-EAD8-4024-9BEA-BB1DE86CFCFA"; -width = 1200; -}, -{ -components = ( -{ -alignment = -1; -name = percent; -} -); -layerId = "B67F0F2D-EC95-4CB8-966E-23AE86958A69"; -width = 1200; -} -); -}, -{ -color = 7; -glyphname = perthousand.tosf; -lastChange = "2019-03-25 21:13:22 +0000"; -layers = ( -{ -components = ( -{ -alignment = -1; -name = perthousand; -} -); -layerId = "4B7A3BAF-EAD8-4024-9BEA-BB1DE86CFCFA"; -width = 1200; -}, -{ -components = ( -{ -alignment = -1; -name = perthousand; -} -); -layerId = "B67F0F2D-EC95-4CB8-966E-23AE86958A69"; -width = 1200; -} -); -}, -{ color = 3; export = 0; glyphname = plus.rem; @@ -91118,33 +90315,6 @@ note = uni2570; unicode = 2570; }, { -color = 4; -glyphname = lozenge.tosf; -lastChange = "2019-03-25 21:13:22 +0000"; -layers = ( -{ -components = ( -{ -alignment = -1; -name = lozenge; -} -); -layerId = "4B7A3BAF-EAD8-4024-9BEA-BB1DE86CFCFA"; -width = 1200; -}, -{ -components = ( -{ -alignment = -1; -name = lozenge; -} -); -layerId = "B67F0F2D-EC95-4CB8-966E-23AE86958A69"; -width = 1200; -} -); -}, -{ color = 3; glyphname = ballotBox; lastChange = "2019-05-21 14:40:55 +0000"; @@ -99389,118 +98559,6 @@ width = 1200; ); }, { -color = 7; -glyphname = section.tosf; -lastChange = "2019-03-25 21:13:22 +0000"; -layers = ( -{ -components = ( -{ -alignment = -1; -name = section; -} -); -layerId = "4B7A3BAF-EAD8-4024-9BEA-BB1DE86CFCFA"; -width = 1200; -}, -{ -components = ( -{ -alignment = -1; -name = section; -} -); -layerId = "B67F0F2D-EC95-4CB8-966E-23AE86958A69"; -width = 1200; -} -); -}, -{ -color = 7; -glyphname = degree.tosf; -lastChange = "2019-03-25 21:13:22 +0000"; -layers = ( -{ -components = ( -{ -alignment = -1; -name = degree; -} -); -layerId = "4B7A3BAF-EAD8-4024-9BEA-BB1DE86CFCFA"; -width = 1200; -}, -{ -components = ( -{ -alignment = -1; -name = degree; -} -); -layerId = "B67F0F2D-EC95-4CB8-966E-23AE86958A69"; -width = 1200; -} -); -}, -{ -color = 7; -glyphname = dagger.tosf; -lastChange = "2019-03-25 21:13:22 +0000"; -layers = ( -{ -components = ( -{ -alignment = -1; -name = dagger; -transform = "{1, 0, 0, 1, -14, 0}"; -} -); -layerId = "4B7A3BAF-EAD8-4024-9BEA-BB1DE86CFCFA"; -width = 1200; -}, -{ -components = ( -{ -alignment = -1; -name = dagger; -transform = "{1, 0, 0, 1, 6, 0}"; -} -); -layerId = "B67F0F2D-EC95-4CB8-966E-23AE86958A69"; -width = 1200; -} -); -}, -{ -color = 7; -glyphname = daggerdbl.tosf; -lastChange = "2019-03-25 21:13:22 +0000"; -layers = ( -{ -components = ( -{ -alignment = -1; -name = daggerdbl; -transform = "{1, 0, 0, 1, -14, 0}"; -} -); -layerId = "4B7A3BAF-EAD8-4024-9BEA-BB1DE86CFCFA"; -width = 1200; -}, -{ -components = ( -{ -alignment = -1; -name = daggerdbl; -transform = "{1, 0, 0, 1, 6, 0}"; -} -); -layerId = "B67F0F2D-EC95-4CB8-966E-23AE86958A69"; -width = 1200; -} -); -}, -{ color = 4; glyphname = plus.dnom; lastChange = "2019-03-25 21:13:22 +0000"; @@ -115183,4 +114241,4 @@ oV = 98; }; versionMajor = 1; versionMinor = 207; -} +} \ No newline at end of file diff --git a/clojure/glyphs.clj b/clojure/glyphs.clj index 5819816..8dfa2f7 100755 --- a/clojure/glyphs.clj +++ b/clojure/glyphs.clj @@ -1,4 +1,5 @@ (ns glyphs + (:refer-clojure :exclude [load]) (:require [clojure.java.io :as io] [clojure.string :as str] @@ -128,6 +129,14 @@ ; (-> (slurp "FiraCode.glyphs") parse serialize (->> (spit "FiraCode_saved.glyphs"))) +(defn load [path] + (println "Parsing" path "...") + (parse (slurp path))) + +(defn save! [path font] + (println "Saving" path "...") + (spit path (serialize font))) + (defn -main [& args] (let [font (-> (slurp "FiraCode.glyphs") parse)] (with-open [os (io/writer "clojure/FiraCode.edn")] diff --git a/clojure/regen_calt.clj b/clojure/regen_calt.clj index d74455f..5c1517a 100755 --- a/clojure/regen_calt.clj +++ b/clojure/regen_calt.clj @@ -1,3 +1,5 @@ +;; clj -m regen-calt + (ns regen-calt (:require [clojure.string :as str] @@ -187,9 +189,8 @@ :else (compare l1 l2))) (defn -main [& args] - (let [file (or (first args) "FiraCode.glyphs") - _ (println "Parsing" file "...") - font (glyphs/parse (slurp file)) + (let [path (or (first args) "FiraCode.glyphs") + font (glyphs/load path) ligas (for [g (:glyphs font) :let [name (:glyphname g)] :when (str/ends-with? name ".liga") @@ -199,8 +200,7 @@ calt (->> ligas (remove manual?) (sort compare-ligas) (map liga->rule) (str/join "\n\n")) font' (replace-calt font calt)] - (println "Saving" file "...") - (spit file (glyphs/serialize font')) + (glyphs/save! path font') (println "Total ligatures count:" (count ligas)) (println " " (->> ligas @@ -208,7 +208,4 @@ (sort-by first) (map (fn [[k v]] (str (count v) (case k 2 " pairs", 3 " triples", 4 " quadruples")))) (str/join ", "))) - (println))) - -(-main) - + (println))) \ No newline at end of file diff --git a/clojure/regen_classes.clj b/clojure/regen_classes.clj new file mode 100644 index 0000000..a2b5013 --- /dev/null +++ b/clojure/regen_classes.clj @@ -0,0 +1,26 @@ +;; clj -m regen-classes + +(ns regen-classes + (:require + [clojure.string :as str] + [glyphs :as glyphs] + [flatland.ordered.map :refer [ordered-map]])) + +(defn -main [& args] + (let [path (or (first args) "FiraCode.glyphs") + font (glyphs/load path) + not-spaces (->> (:glyphs font) + (remove #(re-find #"^\.|space$|space\." (:glyphname %))) + (remove #(= "0" (:export %)))) + _ (println "Generating class:NotSpace with" (count not-spaces) "glyphs") + class (ordered-map + :code (str/join " " (map :glyphname not-spaces)) + :name "NotSpace") + classes (->> (:classes font) + (remove #(= "NotSpace" (:name %))) + (cons class)) + font' (assoc font :classes classes) + _ (glyphs/save! path font') + _ (println)])) + +; (-main) \ No newline at end of file