diff --git a/build.py b/build.py index 75781c1b1..5df0caa83 100644 --- a/build.py +++ b/build.py @@ -14,8 +14,8 @@ import fontTools.ttLib import fontTools.ttLib.tables._g_l_y_f as _g_l_y_f import psautohint.__main__ -import statmake.classes -import statmake.lib +from gftools.stat import gen_stat_tables_from_config +import yaml import ufo2ft import ufoLib2 import vttLib @@ -235,11 +235,6 @@ def compile_variable_and_save( print(f"[{familyName} {styleName}] Compiling") varFont = ufo2ft.compileVariableTTF(designspace, inplace=True) - print(f"[{familyName} {styleName}] Adding STAT table") - styleSpace = statmake.classes.Stylespace.from_file(INPUT_DIR / "STAT.plist") - statmake.lib.apply_stylespace_to_variable_font(styleSpace, varFont, {}) - - print(f"[{familyName} {styleName}] Merging VTT") if "Italic" in styleName: @@ -575,6 +570,15 @@ def ttfautohint(path: str) -> None: process.get() del processes, pool + # Step 1.5: Adding STAT tables in one go + print ("[Cascadia Variable fonts] Fixing STAT tables") + fontSTAT = [fontTools.ttLib.TTFont(f) for f in list(OUTPUT_TTF_DIR.glob("*.ttf"))] + config = yaml.load(open(INPUT_DIR/"stat.yaml"), Loader=yaml.SafeLoader) + gen_stat_tables_from_config(config, fontSTAT) + + for font in fontSTAT: + font.save(font.reader.file.name) + # Stage 2: Autohint and maybe compress all the static things. if args.static_fonts is True: otfs = list(OUTPUT_STATIC_OTF_DIR.glob("*.otf")) diff --git a/sources/CascadiaCode-Bold.ufo/lib.plist b/sources/CascadiaCode-Bold.ufo/lib.plist index 19c4b4b98..bc406b784 100644 --- a/sources/CascadiaCode-Bold.ufo/lib.plist +++ b/sources/CascadiaCode-Bold.ufo/lib.plist @@ -69,25 +69,6 @@ Tag wght - - Name - Italic - Tag - ital - - - com.schriftgestaltung.customParameter.GSFont.DisplayStrings - - /vav-hb - /paseq-hb - /geresh-hb - /three-persian - /two-ar - /gafInvertedstroke-ar/gafInvertedstroke-ar.fina/gafInvertedstroke-ar.medi/gafInvertedstroke-ar.init - /kasratan-ar - /alef-hb/alefpatah-hb/alefqamats-hb/alefdagesh-hb/bet-hb/betdagesh-hb/gimel-hb/gimeldagesh-hb/dalet-hb/daletdagesh-hb/he-hb/hedagesh-hb/vav-hb/vavdagesh-hb/vavholam-hb/zayin-hb/zayindagesh-hb/het-hb/tet-hb/tetdagesh-hb/yod-hb/yoddagesh-hb/finalkaf-hb/finalkafdagesh-hb/kaf-hb/kafdagesh-hb/lamed-hb/lameddagesh-hb/finalmem-hb/mem-hb/memdagesh-hb/finalnun-hb/nun-hb/nundagesh-hb/samekh-hb/samekhdagesh-hb/ayin-hb/finalpe-hb/finalpedagesh-hb/pe-hb/pedagesh-hb/finaltsadi-hb/tsadi-hb/tsadidagesh-hb/qof-hb/qofdagesh-hb/resh-hb/reshdagesh-hb/shin-hb/shinshindot-hb/shinsindot-hb/shindageshshindot-hb/shindageshsindot-hb/shindagesh-hb/tav-hb/tavdagesh-hb - - com.schriftgestaltung.customParameter.GSFont.disablesAutomaticAlignment diff --git a/sources/CascadiaCode-BoldItalic.ufo/lib.plist b/sources/CascadiaCode-BoldItalic.ufo/lib.plist index 0be6d2154..7ec0bf310 100644 --- a/sources/CascadiaCode-BoldItalic.ufo/lib.plist +++ b/sources/CascadiaCode-BoldItalic.ufo/lib.plist @@ -81,21 +81,6 @@ Tag wght - - Name - Italic - Tag - ital - - - com.schriftgestaltung.customParameter.GSFont.DisplayStrings - - /b.alt - /De-cy/Ka-cy/El-cy/De-cy.loclBGR/be-cy/ve-cy/ge-cy/gheupturn-cy/ze-cy/el-cy/en-cy/ef-cy/che-cy/tse-cy/sha-cy/shcha-cy/softsign-cy/hardsign-cy/yeru-cy/lje-cy/nje-cy/e-cy/ereversed-cy/iu-cy/ia-cy/dje-cy/ghestroke-cy/endescender-cy/chedescender-cy/shha-cy/shha-cy.alt/ka-cy.loclBGR.alt/iu-cy.loclBGR.alt/zhe-cy.loclBGR/ze-cy.loclBGR/ka-cy.loclBGR/ve-cy.salt/ze-cy.salt/che-cy.salt/chedescender-cy.salt - u/tse-cy - all/space of/space the/space limes -all/space of/space the/space limes -all/space of/space the/space limes com.schriftgestaltung.customParameter.GSFont.disablesAutomaticAlignment diff --git a/sources/CascadiaCode-ExtraLight.ufo/lib.plist b/sources/CascadiaCode-ExtraLight.ufo/lib.plist index d8414b997..2f458166f 100644 --- a/sources/CascadiaCode-ExtraLight.ufo/lib.plist +++ b/sources/CascadiaCode-ExtraLight.ufo/lib.plist @@ -71,25 +71,6 @@ Tag wght - - Name - Italic - Tag - ital - - - com.schriftgestaltung.customParameter.GSFont.DisplayStrings - - /vav-hb - /paseq-hb - /geresh-hb - /three-persian - /two-ar - /gafInvertedstroke-ar/gafInvertedstroke-ar.fina/gafInvertedstroke-ar.medi/gafInvertedstroke-ar.init - /kasratan-ar - /alef-hb/alefpatah-hb/alefqamats-hb/alefdagesh-hb/bet-hb/betdagesh-hb/gimel-hb/gimeldagesh-hb/dalet-hb/daletdagesh-hb/he-hb/hedagesh-hb/vav-hb/vavdagesh-hb/vavholam-hb/zayin-hb/zayindagesh-hb/het-hb/tet-hb/tetdagesh-hb/yod-hb/yoddagesh-hb/finalkaf-hb/finalkafdagesh-hb/kaf-hb/kafdagesh-hb/lamed-hb/lameddagesh-hb/finalmem-hb/mem-hb/memdagesh-hb/finalnun-hb/nun-hb/nundagesh-hb/samekh-hb/samekhdagesh-hb/ayin-hb/finalpe-hb/finalpedagesh-hb/pe-hb/pedagesh-hb/finaltsadi-hb/tsadi-hb/tsadidagesh-hb/qof-hb/qofdagesh-hb/resh-hb/reshdagesh-hb/shin-hb/shinshindot-hb/shinsindot-hb/shindageshshindot-hb/shindageshsindot-hb/shindagesh-hb/tav-hb/tavdagesh-hb - - com.schriftgestaltung.customParameter.GSFont.disablesAutomaticAlignment diff --git a/sources/CascadiaCode-ExtraLightItalic.ufo/lib.plist b/sources/CascadiaCode-ExtraLightItalic.ufo/lib.plist index 29a43dd9a..3d0574a0f 100644 --- a/sources/CascadiaCode-ExtraLightItalic.ufo/lib.plist +++ b/sources/CascadiaCode-ExtraLightItalic.ufo/lib.plist @@ -81,21 +81,6 @@ Tag wght - - Name - Italic - Tag - ital - - - com.schriftgestaltung.customParameter.GSFont.DisplayStrings - - /b.alt - /De-cy/Ka-cy/El-cy/De-cy.loclBGR/be-cy/ve-cy/ge-cy/gheupturn-cy/ze-cy/el-cy/en-cy/ef-cy/che-cy/tse-cy/sha-cy/shcha-cy/softsign-cy/hardsign-cy/yeru-cy/lje-cy/nje-cy/e-cy/ereversed-cy/iu-cy/ia-cy/dje-cy/ghestroke-cy/endescender-cy/chedescender-cy/shha-cy/shha-cy.alt/ka-cy.loclBGR.alt/iu-cy.loclBGR.alt/zhe-cy.loclBGR/ze-cy.loclBGR/ka-cy.loclBGR/ve-cy.salt/ze-cy.salt/che-cy.salt/chedescender-cy.salt - u/tse-cy - all/space of/space the/space limes -all/space of/space the/space limes -all/space of/space the/space limes com.schriftgestaltung.customParameter.GSFont.disablesAutomaticAlignment diff --git a/sources/CascadiaCode-Italic.ufo/lib.plist b/sources/CascadiaCode-Italic.ufo/lib.plist index 0b7796ec6..39f6e3267 100644 --- a/sources/CascadiaCode-Italic.ufo/lib.plist +++ b/sources/CascadiaCode-Italic.ufo/lib.plist @@ -81,21 +81,6 @@ Tag wght - - Name - Italic - Tag - ital - - - com.schriftgestaltung.customParameter.GSFont.DisplayStrings - - /b.alt - /De-cy/Ka-cy/El-cy/De-cy.loclBGR/be-cy/ve-cy/ge-cy/gheupturn-cy/ze-cy/el-cy/en-cy/ef-cy/che-cy/tse-cy/sha-cy/shcha-cy/softsign-cy/hardsign-cy/yeru-cy/lje-cy/nje-cy/e-cy/ereversed-cy/iu-cy/ia-cy/dje-cy/ghestroke-cy/endescender-cy/chedescender-cy/shha-cy/shha-cy.alt/ka-cy.loclBGR.alt/iu-cy.loclBGR.alt/zhe-cy.loclBGR/ze-cy.loclBGR/ka-cy.loclBGR/ve-cy.salt/ze-cy.salt/che-cy.salt/chedescender-cy.salt - u/tse-cy - all/space of/space the/space limes -all/space of/space the/space limes -all/space of/space the/space limes com.schriftgestaltung.customParameter.GSFont.disablesAutomaticAlignment diff --git a/sources/CascadiaCode-Regular.ufo/lib.plist b/sources/CascadiaCode-Regular.ufo/lib.plist index 67f7582d9..e9a76f9cf 100644 --- a/sources/CascadiaCode-Regular.ufo/lib.plist +++ b/sources/CascadiaCode-Regular.ufo/lib.plist @@ -69,25 +69,6 @@ Tag wght - - Name - Italic - Tag - ital - - - com.schriftgestaltung.customParameter.GSFont.DisplayStrings - - /vav-hb - /paseq-hb - /geresh-hb - /three-persian - /two-ar - /gafInvertedstroke-ar/gafInvertedstroke-ar.fina/gafInvertedstroke-ar.medi/gafInvertedstroke-ar.init - /kasratan-ar - /alef-hb/alefpatah-hb/alefqamats-hb/alefdagesh-hb/bet-hb/betdagesh-hb/gimel-hb/gimeldagesh-hb/dalet-hb/daletdagesh-hb/he-hb/hedagesh-hb/vav-hb/vavdagesh-hb/vavholam-hb/zayin-hb/zayindagesh-hb/het-hb/tet-hb/tetdagesh-hb/yod-hb/yoddagesh-hb/finalkaf-hb/finalkafdagesh-hb/kaf-hb/kafdagesh-hb/lamed-hb/lameddagesh-hb/finalmem-hb/mem-hb/memdagesh-hb/finalnun-hb/nun-hb/nundagesh-hb/samekh-hb/samekhdagesh-hb/ayin-hb/finalpe-hb/finalpedagesh-hb/pe-hb/pedagesh-hb/finaltsadi-hb/tsadi-hb/tsadidagesh-hb/qof-hb/qofdagesh-hb/resh-hb/reshdagesh-hb/shin-hb/shinshindot-hb/shinsindot-hb/shindageshshindot-hb/shindageshsindot-hb/shindagesh-hb/tav-hb/tavdagesh-hb - - com.schriftgestaltung.customParameter.GSFont.disablesAutomaticAlignment diff --git a/sources/CascadiaCode_variable.designspace b/sources/CascadiaCode_variable.designspace index 6a5c96419..c6e9c6d97 100644 --- a/sources/CascadiaCode_variable.designspace +++ b/sources/CascadiaCode_variable.designspace @@ -9,7 +9,6 @@ - @@ -41,7 +40,6 @@ - @@ -51,13 +49,11 @@ - - @@ -65,7 +61,6 @@ - @@ -90,7 +85,6 @@ - @@ -117,7 +111,6 @@ - @@ -144,7 +137,6 @@ - @@ -169,7 +161,6 @@ - @@ -196,7 +187,6 @@ - diff --git a/sources/CascadiaCode_variable_italic.designspace b/sources/CascadiaCode_variable_italic.designspace index 2a920a235..0ddf1f39d 100644 --- a/sources/CascadiaCode_variable_italic.designspace +++ b/sources/CascadiaCode_variable_italic.designspace @@ -9,7 +9,6 @@ - @@ -41,7 +40,6 @@ - @@ -51,13 +49,11 @@ - - @@ -65,7 +61,6 @@ - @@ -90,7 +85,6 @@ - @@ -117,7 +111,6 @@ - @@ -144,7 +137,6 @@ - @@ -169,7 +161,6 @@ - @@ -196,7 +187,6 @@ - diff --git a/sources/STAT.plist b/sources/STAT.plist deleted file mode 100644 index a18618a73..000000000 --- a/sources/STAT.plist +++ /dev/null @@ -1,87 +0,0 @@ - - - - - axes - - - name - Weight - tag - wght - locations - - - name - ExtraLight - value - 200 - - - name - Light - value - 300 - - - name - SemiLight - value - 350 - - - name - Regular - value - 400 - linked_value - 700 - flags - - ElidableAxisValueName - - - - name - SemiBold - value - 600 - - - name - Bold - value - 700 - - - - - name - Italic - tag - ital - locations - - - name - Roman - value - 0 - linked_value - 1 - flags - - ElidableAxisValueName - - - - name - Italic - value - 1 - - - - - - \ No newline at end of file diff --git a/sources/features/calt.fea b/sources/features/calt.fea index 1fa04c9ab..98049c9bf 100644 --- a/sources/features/calt.fea +++ b/sources/features/calt.fea @@ -1,12 +1,12 @@ feature calt { ### Exclam (for equal see below) lookup exclam_equal { + sub exclam_equal.liga equal' by LIG; ignore sub exclam exclam' equal; ignore sub exclam' equal equal equal; ignore sub parenleft question exclam' equal; ignore sub parenleft question less exclam' equal; ignore sub equal exclam' equal; - sub exclam_equal.liga equal' by LIG; sub exclam' equal by exclam_equal.liga; } exclam_equal; @@ -16,36 +16,37 @@ lookup exclam_equal_equal { } exclam_equal_equal; lookup exclam_exclam { + sub exclam_exclam.liga exclam' by LIG; ignore sub exclam exclam' exclam; ignore sub exclam' exclam exclam; ignore sub parenleft question exclam' exclam; ignore sub parenleft question less exclam' exclam; - sub exclam_exclam.liga exclam' by LIG; sub exclam' exclam by exclam_exclam.liga; } exclam_exclam; lookup exclam_exclam_period { - ignore sub exclam_exclam.liga' LIG period period; sub exclam_exclam_period.liga LIG period' by LIG; + ignore sub exclam_exclam.liga' LIG period period; sub exclam_exclam.liga' LIG period by exclam_exclam_period.liga; } exclam_exclam_period; lookup exclam_period { + sub exclam_period.liga period' by LIG; ignore sub exclam exclam' period; ignore sub exclam' period period; - sub exclam_period.liga period' by LIG; sub exclam' period by exclam_period.liga; } exclam_period; lookup exclam_colon { + sub exclam_colon.liga colon' by LIG; ignore sub exclam exclam' colon; ignore sub exclam' colon colon; - sub exclam_colon.liga colon' by LIG; sub exclam' colon by exclam_colon.liga; } exclam_colon; ## Equal - Made sense to shift this below the exclam to avoid issues lookup equal_equal { + sub equal_equal.liga equal' by LIG; ignore sub equal equal' equal; ignore sub equal' equal equal equal; ignore sub parenleft question equal' equal; @@ -58,7 +59,6 @@ lookup equal_equal { ignore sub equal' equal [less greater bar slash] ; ignore sub equal' equal equal [less greater bar slash] ; ignore sub equal' equal [colon exclam] equal; - sub equal_equal.liga equal' by LIG; sub equal' equal by equal_equal.liga; } equal_equal; @@ -67,27 +67,27 @@ lookup equal_equal_equal { sub equal_equal.liga' LIG equal by equal_equal_equal.liga; } equal_equal_equal; -# lookup equal_greater_greater { -# ignore sub equal' greater greater equal; -# ignore sub equal equal' greater greater; -# sub equal_greater_greater.liga LIG greater' by LIG; -# sub equal_greater_greater.liga greater' greater by LIG; -# sub equal' greater greater by equal_greater_greater.liga; -# } equal_greater_greater; - -# lookup equal_less_less { -# ignore sub equal' less less equal; -# ignore sub equal equal' less less; -# sub equal_less_less.liga LIG less' by LIG; -# sub equal_less_less.liga less' less by LIG; -# sub equal' less less by equal_less_less.liga; -# } equal_less_less; +lookup equal_greater_greater { + sub equal_greater_greater.liga LIG greater' by LIG; + sub equal_greater_greater.liga greater' greater by LIG; + ignore sub equal' greater greater equal; + ignore sub equal equal' greater greater; + sub equal' greater greater by equal_greater_greater.liga; +} equal_greater_greater; + +lookup equal_less_less { + sub equal_less_less.liga LIG less' by LIG; + sub equal_less_less.liga less' less by LIG; + ignore sub equal' less less equal; + ignore sub equal equal' less less; + sub equal' less less by equal_less_less.liga; +} equal_less_less; ### Less - It is convenient to have this lookup set at the start. lookup less_asciitilde { + sub less_asciitilde.liga asciitilde' by LIG; ignore sub less less' asciitilde; ignore sub less' asciitilde asciitilde asciitilde; - sub less_asciitilde.liga asciitilde' by LIG; sub less' asciitilde by less_asciitilde.liga; } less_asciitilde; @@ -97,55 +97,55 @@ lookup less_asciitilde_asciitilde { } less_asciitilde_asciitilde; lookup less_asterisk { + sub less_asterisk.liga asterisk' by LIG; ignore sub less less' asterisk; ignore sub less' asterisk asterisk; - sub less_asterisk.liga asterisk' by LIG; sub less' asterisk by less_asterisk.liga; } less_asterisk; lookup less_dollar { + sub less_dollar.liga dollar' by LIG; ignore sub less less' dollar; ignore sub less' dollar dollar; - sub less_dollar.liga dollar' by LIG; sub less' dollar by less_dollar.liga; } less_dollar; lookup less_equal { + sub less_equal.liga equal' by LIG; ignore sub less less' equal; ignore sub less' equal equal; ignore sub parenleft question less' equal; ignore sub equal less' equal; ignore sub less' equal [less greater bar colon exclam slash]; - sub less_equal.liga equal' by LIG; sub less' equal by less_equal.liga; } less_equal; lookup less_greater { + sub less_greater.liga greater' by LIG; ignore sub less less' greater; ignore sub less' greater greater; - sub less_greater.liga greater' by LIG; sub less' greater by less_greater.liga; } less_greater; lookup less_plus { + sub less_plus.liga plus' by LIG; ignore sub less less' plus; ignore sub less' plus plus; - sub less_plus.liga plus' by LIG; sub less' plus by less_plus.liga; } less_plus; lookup less_slash { + sub less_slash.liga slash' by LIG; ignore sub less less' slash; ignore sub less' slash slash; - sub less_slash.liga slash' by LIG; sub less' slash by less_slash.liga; } less_slash; lookup less_bar { + sub less_bar.liga bar' by LIG; ignore sub less less' bar; ignore sub less' bar bar bar bar; ignore sub less' bar bar greater; - sub less_bar.liga bar' by LIG; sub less' bar by less_bar.liga; } less_bar; @@ -162,6 +162,7 @@ lookup less_bar_bar_bar { # generally it is useful to have the duplicating sequences in a row. This avoids potential badness. lookup less_less { + sub less_less.liga less' by LIG; ignore sub less less' less; ignore sub less' less less less; ignore sub less' less [asterisk plus dollar]; @@ -171,14 +172,13 @@ lookup less_less { ignore sub less' less hyphen; ignore sub less' less equal [equal less greater bar colon exclam slash]; ignore sub less' less less [asterisk plus dollar]; - sub less_less.liga less' by LIG; sub less' less by less_less.liga; } less_less; -# lookup less_less_equal { -# sub less_less_equal.liga LIG equal' by equal; -# sub less_less.liga' LIG equal by less_less_equal.liga; -# } less_less_equal; +lookup less_less_equal { + sub less_less_equal.liga LIG equal' by equal; + sub less_less.liga' LIG equal by less_less_equal.liga; +} less_less_equal; lookup less_less_less { sub less_less_less.liga LIG less' by LIG; @@ -186,8 +186,8 @@ lookup less_less_less { } less_less_less; lookup less_asciitilde_greater { - ignore sub less_asciitilde.liga' LIG greater greater; sub less_asciitilde_greater.liga LIG greater' by LIG; + ignore sub less_asciitilde.liga' LIG greater greater; sub less_asciitilde.liga' LIG greater by less_asciitilde_greater.liga; } less_asciitilde_greater; @@ -207,147 +207,148 @@ lookup less_plus_greater { } less_plus_greater; lookup less_slash_greater { - ignore sub less_slash.liga' LIG greater greater; sub less_slash_greater.liga LIG greater' by LIG; + ignore sub less_slash.liga' LIG greater greater; sub less_slash.liga' LIG greater by less_slash_greater.liga; } less_slash_greater; lookup less_bar_greater { - ignore sub less_bar.liga' LIG greater greater; sub less_bar_greater.liga LIG greater' by LIG; + ignore sub less_bar.liga' LIG greater greater; sub less_bar.liga' LIG greater by less_bar_greater.liga; } less_bar_greater; lookup less_exclam_hyphen_hyphen { - ignore sub less less' exclam hyphen hyphen; - ignore sub less' exclam hyphen hyphen hyphen; - ignore sub parenleft question less' exclam hyphen hyphen; sub less_exclam_hyphen_hyphen.liga LIG LIG hyphen' by LIG; sub less_exclam_hyphen_hyphen.liga LIG hyphen' hyphen by LIG; sub less_exclam_hyphen_hyphen.liga exclam' hyphen hyphen by LIG; + ignore sub less less' exclam hyphen hyphen; + ignore sub less' exclam hyphen hyphen hyphen; + ignore sub parenleft question less' exclam hyphen hyphen; sub less' exclam hyphen hyphen by less_exclam_hyphen_hyphen.liga; } less_exclam_hyphen_hyphen; ### Ampersand lookup ampersand_ampersand { + sub ampersand_ampersand.liga ampersand' by LIG; ignore sub ampersand ampersand' ampersand; ignore sub ampersand' ampersand ampersand; - sub ampersand_ampersand.liga ampersand' by LIG; sub ampersand' ampersand by ampersand_ampersand.liga; } ampersand_ampersand; ### Asciicircum lookup asciicircum_equal { + sub asciicircum_equal.liga equal' by LIG; ignore sub asciicircum asciicircum' equal; ignore sub asciicircum' equal equal; - sub asciicircum_equal.liga equal' by LIG; sub asciicircum' equal by asciicircum_equal.liga; } asciicircum_equal; ### Asciitilde lookup asciitilde_asciitilde { + sub asciitilde_asciitilde.liga asciitilde' by LIG; ignore sub asciitilde asciitilde' asciitilde; ignore sub asciitilde' asciitilde asciitilde; - sub asciitilde_asciitilde.liga asciitilde' by LIG; sub asciitilde' asciitilde by asciitilde_asciitilde.liga; } asciitilde_asciitilde; lookup asciitilde_at { + sub asciitilde_at.liga at' by LIG; ignore sub asciitilde asciitilde' at; ignore sub asciitilde' at at; - sub asciitilde_at.liga at' by LIG; sub asciitilde' at by asciitilde_at.liga; } asciitilde_at; lookup asciitilde_greater { + sub asciitilde_greater.liga greater' by LIG; ignore sub asciitilde asciitilde' greater; ignore sub asciitilde' greater greater; - sub asciitilde_greater.liga greater' by LIG; sub asciitilde' greater by asciitilde_greater.liga; } asciitilde_greater; lookup asciitilde_hyphen { + sub asciitilde_hyphen.liga hyphen' by LIG; ignore sub asciitilde asciitilde' hyphen; ignore sub asciitilde' hyphen hyphen; - sub asciitilde_hyphen.liga hyphen' by LIG; sub asciitilde' hyphen by asciitilde_hyphen.liga; } asciitilde_hyphen; lookup asciitilde_asciitilde_greater { - ignore sub asciitilde_asciitilde.liga' LIG greater greater; sub asciitilde_asciitilde_greater.liga LIG greater' by LIG; + ignore sub asciitilde_asciitilde.liga' LIG greater greater; sub asciitilde_asciitilde.liga' LIG greater by asciitilde_asciitilde_greater.liga; } asciitilde_asciitilde_greater; lookup asciitilde_equal { + sub asciitilde_equal.liga equal' by LIG; ignore sub asciitilde asciitilde' equal; ignore sub asciitilde' equal equal; - sub asciitilde_equal.liga equal' by LIG; sub asciitilde' equal by asciitilde_equal.liga; } asciitilde_equal; ### Asterisk lookup asterisk_asterisk { + sub asterisk_asterisk.liga asterisk' by LIG; ignore sub asterisk asterisk' asterisk; ignore sub asterisk' asterisk asterisk asterisk; ignore sub slash asterisk' asterisk; ignore sub asterisk' asterisk slash; - sub asterisk_asterisk.liga asterisk' by LIG; sub asterisk' asterisk by asterisk_asterisk.liga; } asterisk_asterisk; lookup asterisk_asterisk_asterisk { - ignore sub asterisk_asterisk.liga' LIG asterisk slash; sub asterisk_asterisk_asterisk.liga LIG asterisk' by LIG; + ignore sub asterisk_asterisk.liga' LIG asterisk slash; sub asterisk_asterisk.liga' LIG asterisk by asterisk_asterisk_asterisk.liga; } asterisk_asterisk_asterisk; lookup asterisk_greater { + sub asterisk_greater.liga greater' by LIG; ignore sub asterisk asterisk' greater; ignore sub asterisk' greater greater; - sub asterisk_greater.liga greater' by LIG; sub asterisk' greater by asterisk_greater.liga; } asterisk_greater; lookup asterisk_slash { + sub asterisk_slash.liga slash' by LIG; ignore sub asterisk asterisk' slash; ignore sub asterisk' slash slash; ignore sub slash asterisk' slash; ignore sub asterisk' slash asterisk; - sub asterisk_slash.liga slash' by LIG; sub asterisk' slash by asterisk_slash.liga; } asterisk_slash; lookup asterisk_parenright { + sub asterisk_parenright.liga parenright' by LIG; ignore sub parenleft asterisk' parenright; ignore sub asterisk asterisk' parenright; ignore sub asterisk' parenright parenright; - sub asterisk_parenright.liga parenright' by LIG; sub asterisk' parenright by asterisk_parenright.liga; } asterisk_parenright; ### Backslash lookup backslash_slash { + sub backslash_slash.liga slash' by LIG; ignore sub @NotSpace backslash' slash; ignore sub backslash' slash @NotSpace; - sub backslash_slash.liga slash' by LIG; sub backslash' slash by backslash_slash.liga; } backslash_slash; lookup backslash_backslash { + sub backslash_backslash.liga backslash' by LIG; ignore sub backslash backslash' backslash; ignore sub backslash' backslash backslash; - sub backslash_backslash.liga backslash' by LIG; sub backslash' backslash by backslash_backslash.liga; } backslash_backslash; ### Bar lookup bar_bar { + sub bar_bar.liga bar' by LIG; ignore sub bar bar' bar; ignore sub bar' bar bar bar; ignore sub [hyphen equal] bar' bar; @@ -358,7 +359,6 @@ lookup bar_bar { ignore sub [less greater] bar' bar [less greater]; ignore sub less bar' bar; ignore sub less bar bar'; - sub bar_bar.liga bar' by LIG; sub bar' bar by bar_bar.liga; } bar_bar; @@ -368,38 +368,38 @@ lookup bar_bar_bar { } bar_bar_bar; lookup bar_greater { + sub bar_greater.liga greater' by LIG; ignore sub bar bar' greater; ignore sub bar' greater greater; ignore sub less bar bar' greater; - sub bar_greater.liga greater' by LIG; sub bar' greater by bar_greater.liga; } bar_greater; lookup bar_braceright { + sub bar_braceright.liga braceright' by LIG; ignore sub bar bar' braceright; ignore sub bar' braceright braceright; ignore sub braceleft bar' braceright; - sub bar_braceright.liga braceright' by LIG; sub bar' braceright by bar_braceright.liga; } bar_braceright; lookup bar_bracketright { + sub bar_bracketright.liga bracketright' by LIG; ignore sub bar bar' bracketright; ignore sub bar' bracketright bracketright; ignore sub bracketleft bar' bracketright; - sub bar_bracketright.liga bracketright' by LIG; sub bar' bracketright by bar_bracketright.liga; } bar_bracketright; lookup bar_bar_greater { - ignore sub bar_bar.liga' LIG greater greater; sub bar_bar_greater.liga LIG greater' by LIG; + ignore sub bar_bar.liga' LIG greater greater; sub bar_bar.liga' LIG greater by bar_bar_greater.liga; } bar_bar_greater; lookup bar_bar_bar_greater { - ignore sub bar_bar_bar.liga' LIG LIG greater greater; sub bar_bar_bar_greater.liga LIG LIG greater' by LIG; + ignore sub bar_bar_bar.liga' LIG LIG greater greater; sub bar_bar_bar.liga' LIG LIG greater by bar_bar_bar_greater.liga; } bar_bar_bar_greater; @@ -407,48 +407,48 @@ lookup bar_bar_bar_greater { ### Brace left lookup braceleft_bar { + sub braceleft_bar.liga bar' by LIG; ignore sub braceleft braceleft' bar; ignore sub braceleft' bar bar; ignore sub braceleft' bar braceright; - sub braceleft_bar.liga bar' by LIG; sub braceleft' bar by braceleft_bar.liga; } braceleft_bar; ### Brace right lookup braceright_numbersign { + sub braceright_numbersign.liga numbersign' by LIG; ignore sub braceright braceright' numbersign; ignore sub braceright' numbersign numbersign; - sub braceright_numbersign.liga numbersign' by LIG; sub braceright' numbersign by braceright_numbersign.liga; } braceright_numbersign; ### Bracket left lookup bracketleft_bar { + sub bracketleft_bar.liga bar' by LIG; ignore sub bracketleft bracketleft' bar; ignore sub bracketleft' bar bar; ignore sub bracketleft' bar bracketright; - sub bracketleft_bar.liga bar' by LIG; sub bracketleft' bar by bracketleft_bar.liga; } bracketleft_bar; ### Bracket right lookup bracketright_numbersign { + sub bracketright_numbersign.liga numbersign' by LIG; ignore sub bracketright bracketright' numbersign; ignore sub bracketright' numbersign numbersign; - sub bracketright_numbersign.liga numbersign' by LIG; sub bracketright' numbersign by bracketright_numbersign.liga; } bracketright_numbersign; ### Colon lookup colon_colon { + sub colon_colon.liga colon' by LIG; ignore sub colon colon' colon; ignore sub colon' colon colon colon; ignore sub parenleft question colon' colon; ignore sub colon' colon [less greater]; ignore sub [less greater] colon' colon; - sub colon_colon.liga colon' by LIG; sub colon' colon by colon_colon.liga; } colon_colon; @@ -458,63 +458,64 @@ lookup colon_colon_colon { } colon_colon_colon; lookup colon_equal { + sub colon_equal.liga equal' by LIG; ignore sub colon colon' equal; ignore sub colon' equal equal; ignore sub parenleft question colon' equal; ignore sub equal colon' equal; - sub colon_equal.liga equal' by LIG; sub colon' equal by colon_equal.liga; } colon_equal; lookup colon_colon_equal { - ignore sub colon_colon.liga' LIG equal equal; sub colon_colon_equal.liga LIG equal' by LIG; + ignore sub colon_colon.liga' LIG equal equal; sub colon_colon.liga' LIG equal by colon_colon_equal.liga; } colon_colon_equal; lookup colon_slash_slash { - ignore sub colon colon' slash slash; - ignore sub colon' slash slash slash; sub colon_slash_slash.liga LIG slash' by LIG; sub colon_slash_slash.liga slash' slash by LIG; + ignore sub colon colon' slash slash; + ignore sub colon' slash slash slash; sub colon' slash slash by colon_slash_slash.liga; } colon_slash_slash; ## Dollar lookup dollar_greater { + sub dollar_greater.liga greater' by LIG; ignore sub dollar dollar' greater; ignore sub dollar' greater greater; - sub dollar_greater.liga greater' by LIG; sub dollar' greater by dollar_greater.liga; } dollar_greater; ### Hyphen lookup hyphen_asciitilde { + sub hyphen_asciitilde.liga asciitilde' by LIG; ignore sub hyphen hyphen' asciitilde; ignore sub hyphen' asciitilde asciitilde; - sub hyphen_asciitilde.liga asciitilde' by LIG; sub hyphen' asciitilde by hyphen_asciitilde.liga; } hyphen_asciitilde; lookup hyphen_hyphen { + sub hyphen_hyphen.liga hyphen' by LIG; ignore sub hyphen hyphen' hyphen; ignore sub hyphen' hyphen hyphen hyphen; ignore sub [less greater bar] hyphen' hyphen; ignore sub hyphen' hyphen [less greater bar]; - sub hyphen_hyphen.liga hyphen' by LIG; sub hyphen' hyphen by hyphen_hyphen.liga; } hyphen_hyphen; lookup hyphen_hyphen_hyphen { - ignore sub hyphen_hyphen.liga' LIG hyphen [less greater bar]; sub hyphen_hyphen_hyphen.liga LIG hyphen' by LIG; + ignore sub hyphen_hyphen.liga' LIG hyphen [less greater bar]; sub hyphen_hyphen.liga' LIG hyphen by hyphen_hyphen_hyphen.liga; } hyphen_hyphen_hyphen; ### Greater lookup greater_greater { + sub greater_greater.liga greater' by LIG; ignore sub greater greater' greater; ignore sub greater' greater greater greater; ignore sub [asterisk plus dollar] greater' greater; @@ -523,7 +524,6 @@ lookup greater_greater { ignore sub equal equal greater' greater; # for consistency with other similar operators ignore sub greater' greater hyphen; ignore sub greater' greater equal [equal less greater bar colon exclam slash]; - sub greater_greater.liga greater' by LIG; sub greater' greater by greater_greater.liga; } greater_greater; @@ -532,17 +532,17 @@ lookup greater_greater_greater { sub greater_greater.liga' LIG greater by greater_greater_greater.liga; } greater_greater_greater; -# lookup greater_greater_equal { -# sub greater_greater_equal.liga LIG equal' by LIG; -# sub greater_greater.liga' LIG equal by greater_greater_equal.liga; -# } greater_greater_equal; +lookup greater_greater_equal { + sub greater_greater_equal.liga LIG equal' by LIG; + sub greater_greater.liga' LIG equal by greater_greater_equal.liga; +} greater_greater_equal; lookup greater_equal { + sub greater_equal.liga equal' by LIG; ignore sub greater greater' equal; ignore sub greater' equal equal; ignore sub equal greater' equal; ignore sub greater' equal [less greater bar colon exclam slash]; - sub greater_equal.liga equal' by LIG; sub greater' equal by greater_equal.liga; } greater_equal; @@ -550,99 +550,99 @@ lookup greater_equal { ### Numbersign lookup numbersign_braceleft { + sub numbersign_braceleft.liga braceleft' by LIG; ignore sub numbersign numbersign' braceleft; ignore sub numbersign' braceleft braceleft; - sub numbersign_braceleft.liga braceleft' by LIG; sub numbersign' braceleft by numbersign_braceleft.liga; } numbersign_braceleft; lookup numbersign_bracketleft { + sub numbersign_bracketleft.liga bracketleft' by LIG; ignore sub numbersign numbersign' bracketleft; ignore sub numbersign' bracketleft bracketleft; - sub numbersign_bracketleft.liga bracketleft' by LIG; sub numbersign' bracketleft by numbersign_bracketleft.liga; } numbersign_bracketleft; lookup numbersign_colon { + sub numbersign_colon.liga colon' by LIG; ignore sub numbersign numbersign' colon; ignore sub numbersign' colon colon; - sub numbersign_colon.liga colon' by LIG; sub numbersign' colon by numbersign_colon.liga; } numbersign_colon; lookup numbersign_equal { + sub numbersign_equal.liga equal' by LIG; ignore sub numbersign numbersign' equal; ignore sub numbersign' equal equal; - sub numbersign_equal.liga equal' by LIG; sub numbersign' equal by numbersign_equal.liga; } numbersign_equal; lookup numbersign_exclam { + sub numbersign_exclam.liga exclam' by LIG; ignore sub numbersign numbersign' exclam; ignore sub numbersign' exclam exclam; - sub numbersign_exclam.liga exclam' by LIG; sub numbersign' exclam by numbersign_exclam.liga; } numbersign_exclam; lookup numbersign_parenleft { + sub numbersign_parenleft.liga parenleft' by LIG; ignore sub numbersign numbersign' parenleft; ignore sub numbersign' parenleft parenleft; - sub numbersign_parenleft.liga parenleft' by LIG; sub numbersign' parenleft by numbersign_parenleft.liga; } numbersign_parenleft; lookup numbersign_question { + sub numbersign_question.liga question' by LIG; ignore sub numbersign numbersign' question; ignore sub numbersign' question question; - sub numbersign_question.liga question' by LIG; sub numbersign' question by numbersign_question.liga; } numbersign_question; lookup numbersign_underscore { + sub numbersign_underscore.liga underscore' by LIG; ignore sub numbersign numbersign' underscore; ignore sub numbersign' underscore underscore; - sub numbersign_underscore.liga underscore' by LIG; sub numbersign' underscore by numbersign_underscore.liga; } numbersign_underscore; lookup numbersign_underscore_parenleft { - ignore sub numbersign_underscore.liga' LIG parenleft parenleft; sub numbersign_underscore_parenleft.liga LIG parenleft' by LIG; + ignore sub numbersign_underscore.liga' LIG parenleft parenleft; sub numbersign_underscore.liga' LIG parenleft by numbersign_underscore_parenleft.liga; } numbersign_underscore_parenleft; ### Paren left lookup parenleft_asterisk { + sub parenleft_asterisk.liga asterisk' by LIG; ignore sub parenleft parenleft' asterisk; ignore sub parenleft' asterisk asterisk; ignore sub parenleft' asterisk parenright; - sub parenleft_asterisk.liga asterisk' by LIG; sub parenleft' asterisk by parenleft_asterisk.liga; } parenleft_asterisk; ### Percent lookup percent_percent { + sub percent_percent.liga percent' by LIG; ignore sub percent percent' percent; ignore sub percent' percent percent; - sub percent_percent.liga percent' by LIG; sub percent' percent by percent_percent.liga; } percent_percent; ### Period lookup period_equal { + sub period_equal.liga equal' by LIG; ignore sub period period' equal; ignore sub period' equal equal; - sub period_equal.liga equal' by LIG; sub period' equal by period_equal.liga; } period_equal; lookup period_period { + sub period_period.liga period' by LIG; ignore sub period period' period; ignore sub period' period period period; - sub period_period.liga period' by LIG; sub period' period by period_period.liga; } period_period; @@ -652,74 +652,74 @@ lookup period_period_period { } period_period_period; lookup period_question { + sub period_question.liga question' by LIG; ignore sub period period' question; ignore sub period' question question; - sub period_question.liga question' by LIG; sub period' question by period_question.liga; } period_question; lookup period_hyphen { + sub period_hyphen.liga hyphen' by LIG; ignore sub period period' hyphen; ignore sub period' hyphen hyphen; - sub period_hyphen.liga hyphen' by LIG; sub period' hyphen by period_hyphen.liga; } period_hyphen; lookup period_period_equal { - ignore sub period_period.liga' LIG equal equal; sub period_period_equal.liga LIG equal' by LIG; + ignore sub period_period.liga' LIG equal equal; sub period_period.liga' LIG equal by period_period_equal.liga; } period_period_equal; lookup period_period_less { - ignore sub period_period.liga' LIG less less; sub period_period_less.liga LIG less' by LIG; + ignore sub period_period.liga' LIG less less; sub period_period.liga' LIG less by period_period_less.liga; } period_period_less; ### Plus lookup plus_greater { + sub plus_greater.liga greater' by LIG; ignore sub plus plus' greater; ignore sub plus' greater greater; - sub plus_greater.liga greater' by LIG; sub plus' greater by plus_greater.liga; } plus_greater; lookup plus_plus { + sub plus_plus.liga plus' by LIG; ignore sub plus plus' plus; ignore sub plus' plus plus plus; - sub plus_plus.liga plus' by LIG; sub plus' plus by plus_plus.liga; } plus_plus; lookup plus_plus_plus { - ignore sub plus_plus.liga' LIG plus plus; sub plus_plus_plus.liga LIG plus' by LIG; + ignore sub plus_plus.liga' LIG plus plus; sub plus_plus.liga' LIG plus by plus_plus_plus.liga; } plus_plus_plus; ### Question lookup question_equal { + sub question_equal.liga equal' by LIG; ignore sub question question' equal; ignore sub question' equal equal; ignore sub parenleft question' equal; ignore sub less question' equal; - sub question_equal.liga equal' by LIG; sub question' equal by question_equal.liga; } question_equal; lookup question_period { + sub question_period.liga period' by LIG; ignore sub question question' period; ignore sub question' period period; - sub question_period.liga period' by LIG; sub question' period by question_period.liga; } question_period; lookup question_question { + sub question_question.liga question' by LIG; ignore sub question question' question; ignore sub question' question question; - sub question_question.liga question' by LIG; sub question' question by question_question.liga; } question_question; @@ -729,44 +729,44 @@ lookup question_question_equal { } question_question_equal; lookup question_colon { + sub question_colon.liga colon' by LIG; ignore sub question question' colon; ignore sub question' colon colon; - sub question_colon.liga colon' by LIG; sub question' colon by question_colon.liga; } question_colon; ### Semicolon lookup semicolon_semicolon { + sub semicolon_semicolon.liga semicolon' by LIG; ignore sub semicolon semicolon' semicolon; ignore sub semicolon' semicolon semicolon; - sub semicolon_semicolon.liga semicolon' by LIG; sub semicolon' semicolon by semicolon_semicolon.liga; } semicolon_semicolon; ### Slash lookup slash_asterisk { + sub slash_asterisk.liga asterisk' by LIG; ignore sub slash slash' asterisk; ignore sub slash' asterisk asterisk; ignore sub slash' asterisk slash; ignore sub asterisk slash' asterisk; - sub slash_asterisk.liga asterisk' by LIG; sub slash' asterisk by slash_asterisk.liga; } slash_asterisk; lookup slash_greater { + sub slash_greater.liga greater' by LIG; ignore sub slash slash' greater; ignore sub slash' greater greater; - sub slash_greater.liga greater' by LIG; sub slash' greater by slash_greater.liga; } slash_greater; lookup slash_slash { + sub slash_slash.liga slash' by LIG; ignore sub slash slash' slash; ignore sub slash' slash slash slash; ignore sub equal slash' slash; ignore sub slash' slash equal; - sub slash_slash.liga slash' by LIG; sub slash' slash by slash_slash.liga; } slash_slash; @@ -776,28 +776,28 @@ lookup slash_slash_slash { } slash_slash_slash; lookup slash_backslash { + sub slash_backslash.liga backslash' by LIG; ignore sub @NotSpace slash' backslash; ignore sub slash' backslash @NotSpace; - sub slash_backslash.liga backslash' by LIG; sub slash' backslash by slash_backslash.liga; } slash_backslash; ### WWW lookup w_w_w { - ignore sub w w' w w; - ignore sub w' w w w; sub w_w_w.liga LIG w' by LIG; sub w_w_w.liga w' w by LIG; + ignore sub w w' w w; + ignore sub w' w w w; sub w' w w by w_w_w.liga; } w_w_w; #fix rvrn issues :/ lookup less_dollar_rvrn { + sub less_dollar.liga.BRACKET.600 dollar.BRACKET.600' by LIG; ignore sub less less' dollar.BRACKET.600; ignore sub less' dollar.BRACKET.600 dollar.BRACKET.600; - sub less_dollar.liga.BRACKET.600 dollar.BRACKET.600' by LIG; sub less' dollar.BRACKET.600 by less_dollar.liga.BRACKET.600; } less_dollar_rvrn; @@ -807,9 +807,9 @@ lookup less_dollar_greater_rvrn { } less_dollar_greater_rvrn; lookup dollar_greater_rvrn { + sub dollar_greater.liga.BRACKET.600 greater' by LIG; ignore sub dollar.BRACKET.600 dollar.BRACKET.600' greater; ignore sub dollar.BRACKET.600' greater greater; - sub dollar_greater.liga.BRACKET.600 greater' by LIG; sub dollar.BRACKET.600' greater by dollar_greater.liga.BRACKET.600; } dollar_greater_rvrn; @@ -1187,4 +1187,4 @@ lookup condensedar { sub @feh2 @yeh1' by @yeh2; } condensedar; -} calt; \ No newline at end of file +} calt; diff --git a/sources/features/calt_italic.fea b/sources/features/calt_italic.fea index 661bc391e..7fd05b1b8 100644 --- a/sources/features/calt_italic.fea +++ b/sources/features/calt_italic.fea @@ -1,12 +1,12 @@ feature calt { ### Exclam (for equal see below) lookup exclam_equal { + sub exclam_equal.liga equal' by LIG; ignore sub exclam exclam' equal; ignore sub exclam' equal equal equal; ignore sub parenleft question exclam' equal; ignore sub parenleft question less exclam' equal; ignore sub equal exclam' equal; - sub exclam_equal.liga equal' by LIG; sub exclam' equal by exclam_equal.liga; } exclam_equal; @@ -16,36 +16,37 @@ lookup exclam_equal_equal { } exclam_equal_equal; lookup exclam_exclam { + sub exclam_exclam.liga exclam' by LIG; ignore sub exclam exclam' exclam; ignore sub exclam' exclam exclam; ignore sub parenleft question exclam' exclam; ignore sub parenleft question less exclam' exclam; - sub exclam_exclam.liga exclam' by LIG; sub exclam' exclam by exclam_exclam.liga; } exclam_exclam; lookup exclam_exclam_period { - ignore sub exclam_exclam.liga' LIG period period; sub exclam_exclam_period.liga LIG period' by LIG; + ignore sub exclam_exclam.liga' LIG period period; sub exclam_exclam.liga' LIG period by exclam_exclam_period.liga; } exclam_exclam_period; lookup exclam_period { + sub exclam_period.liga period' by LIG; ignore sub exclam exclam' period; ignore sub exclam' period period; - sub exclam_period.liga period' by LIG; sub exclam' period by exclam_period.liga; } exclam_period; lookup exclam_colon { + sub exclam_colon.liga colon' by LIG; ignore sub exclam exclam' colon; ignore sub exclam' colon colon; - sub exclam_colon.liga colon' by LIG; sub exclam' colon by exclam_colon.liga; } exclam_colon; ## Equal - Made sense to shift this below the exclam to avoid issues lookup equal_equal { + sub equal_equal.liga equal' by LIG; ignore sub equal equal' equal; ignore sub equal' equal equal equal; ignore sub parenleft question equal' equal; @@ -58,7 +59,6 @@ lookup equal_equal { ignore sub equal' equal [less greater bar slash] ; ignore sub equal' equal equal [less greater bar slash] ; ignore sub equal' equal [colon exclam] equal; - sub equal_equal.liga equal' by LIG; sub equal' equal by equal_equal.liga; } equal_equal; @@ -68,26 +68,26 @@ lookup equal_equal_equal { } equal_equal_equal; lookup equal_greater_greater { - ignore sub equal' greater greater equal; - ignore sub equal equal' greater greater; sub equal_greater_greater.liga LIG greater' by LIG; sub equal_greater_greater.liga greater' greater by LIG; + ignore sub equal' greater greater equal; + ignore sub equal equal' greater greater; sub equal' greater greater by equal_greater_greater.liga; } equal_greater_greater; lookup equal_less_less { - ignore sub equal' less less equal; - ignore sub equal equal' less less; sub equal_less_less.liga LIG less' by LIG; sub equal_less_less.liga less' less by LIG; + ignore sub equal' less less equal; + ignore sub equal equal' less less; sub equal' less less by equal_less_less.liga; } equal_less_less; ### Less - It is convenient to have this lookup set at the start. lookup less_asciitilde { + sub less_asciitilde.liga asciitilde' by LIG; ignore sub less less' asciitilde; ignore sub less' asciitilde asciitilde asciitilde; - sub less_asciitilde.liga asciitilde' by LIG; sub less' asciitilde by less_asciitilde.liga; } less_asciitilde; @@ -97,55 +97,55 @@ lookup less_asciitilde_asciitilde { } less_asciitilde_asciitilde; lookup less_asterisk { + sub less_asterisk.liga asterisk' by LIG; ignore sub less less' asterisk; ignore sub less' asterisk asterisk; - sub less_asterisk.liga asterisk' by LIG; sub less' asterisk by less_asterisk.liga; } less_asterisk; lookup less_dollar { + sub less_dollar.liga dollar' by LIG; ignore sub less less' dollar; ignore sub less' dollar dollar; - sub less_dollar.liga dollar' by LIG; sub less' dollar by less_dollar.liga; } less_dollar; lookup less_equal { + sub less_equal.liga equal' by LIG; ignore sub less less' equal; ignore sub less' equal equal; ignore sub parenleft question less' equal; ignore sub equal less' equal; ignore sub less' equal [less greater bar colon exclam slash]; - sub less_equal.liga equal' by LIG; sub less' equal by less_equal.liga; } less_equal; lookup less_greater { + sub less_greater.liga greater' by LIG; ignore sub less less' greater; ignore sub less' greater greater; - sub less_greater.liga greater' by LIG; sub less' greater by less_greater.liga; } less_greater; lookup less_plus { + sub less_plus.liga plus' by LIG; ignore sub less less' plus; ignore sub less' plus plus; - sub less_plus.liga plus' by LIG; sub less' plus by less_plus.liga; } less_plus; lookup less_slash { + sub less_slash.liga slash' by LIG; ignore sub less less' slash; ignore sub less' slash slash; - sub less_slash.liga slash' by LIG; sub less' slash by less_slash.liga; } less_slash; lookup less_bar { + sub less_bar.liga bar' by LIG; ignore sub less less' bar; ignore sub less' bar bar bar bar; ignore sub less' bar bar greater; - sub less_bar.liga bar' by LIG; sub less' bar by less_bar.liga; } less_bar; @@ -162,6 +162,7 @@ lookup less_bar_bar_bar { # generally it is useful to have the duplicating sequences in a row. This avoids potential badness. lookup less_less { + sub less_less.liga less' by LIG; ignore sub less less' less; ignore sub less' less less less; ignore sub less' less [asterisk plus dollar]; @@ -171,7 +172,6 @@ lookup less_less { ignore sub less' less hyphen; ignore sub less' less equal [equal less greater bar colon exclam slash]; ignore sub less' less less [asterisk plus dollar]; - sub less_less.liga less' by LIG; sub less' less by less_less.liga; } less_less; @@ -186,8 +186,8 @@ lookup less_less_less { } less_less_less; lookup less_asciitilde_greater { - ignore sub less_asciitilde.liga' LIG greater greater; sub less_asciitilde_greater.liga LIG greater' by LIG; + ignore sub less_asciitilde.liga' LIG greater greater; sub less_asciitilde.liga' LIG greater by less_asciitilde_greater.liga; } less_asciitilde_greater; @@ -207,154 +207,148 @@ lookup less_plus_greater { } less_plus_greater; lookup less_slash_greater { - ignore sub less_slash.liga' LIG greater greater; sub less_slash_greater.liga LIG greater' by LIG; + ignore sub less_slash.liga' LIG greater greater; sub less_slash.liga' LIG greater by less_slash_greater.liga; } less_slash_greater; lookup less_bar_greater { - ignore sub less_bar.liga' LIG greater greater; sub less_bar_greater.liga LIG greater' by LIG; + ignore sub less_bar.liga' LIG greater greater; sub less_bar.liga' LIG greater by less_bar_greater.liga; } less_bar_greater; lookup less_exclam_hyphen_hyphen { - ignore sub less less' exclam hyphen hyphen; - ignore sub less' exclam hyphen hyphen hyphen; - ignore sub parenleft question less' exclam hyphen hyphen; sub less_exclam_hyphen_hyphen.liga LIG LIG hyphen' by LIG; sub less_exclam_hyphen_hyphen.liga LIG hyphen' hyphen by LIG; sub less_exclam_hyphen_hyphen.liga exclam' hyphen hyphen by LIG; + ignore sub less less' exclam hyphen hyphen; + ignore sub less' exclam hyphen hyphen hyphen; + ignore sub parenleft question less' exclam hyphen hyphen; sub less' exclam hyphen hyphen by less_exclam_hyphen_hyphen.liga; } less_exclam_hyphen_hyphen; ### Ampersand lookup ampersand_ampersand { + sub ampersand_ampersand.liga ampersand' by LIG; ignore sub ampersand ampersand' ampersand; ignore sub ampersand' ampersand ampersand; - sub ampersand_ampersand.liga ampersand' by LIG; sub ampersand' ampersand by ampersand_ampersand.liga; } ampersand_ampersand; -lookup ampersand_ampersand_rvrn { - ignore sub ampersand.BRACKET.600 ampersand.BRACKET.600' ampersand.BRACKET.600; - ignore sub ampersand.BRACKET.600' ampersand.BRACKET.600 ampersand.BRACKET.600; - sub ampersand_ampersand.liga.BRACKET.600 ampersand.BRACKET.600' by LIG; - sub ampersand.BRACKET.600' ampersand.BRACKET.600 by ampersand_ampersand.liga.BRACKET.600; -} ampersand_ampersand_rvrn; - ### Asciicircum lookup asciicircum_equal { + sub asciicircum_equal.liga equal' by LIG; ignore sub asciicircum asciicircum' equal; ignore sub asciicircum' equal equal; - sub asciicircum_equal.liga equal' by LIG; sub asciicircum' equal by asciicircum_equal.liga; } asciicircum_equal; ### Asciitilde lookup asciitilde_asciitilde { + sub asciitilde_asciitilde.liga asciitilde' by LIG; ignore sub asciitilde asciitilde' asciitilde; ignore sub asciitilde' asciitilde asciitilde; - sub asciitilde_asciitilde.liga asciitilde' by LIG; sub asciitilde' asciitilde by asciitilde_asciitilde.liga; } asciitilde_asciitilde; lookup asciitilde_at { + sub asciitilde_at.liga at' by LIG; ignore sub asciitilde asciitilde' at; ignore sub asciitilde' at at; - sub asciitilde_at.liga at' by LIG; sub asciitilde' at by asciitilde_at.liga; } asciitilde_at; lookup asciitilde_greater { + sub asciitilde_greater.liga greater' by LIG; ignore sub asciitilde asciitilde' greater; ignore sub asciitilde' greater greater; - sub asciitilde_greater.liga greater' by LIG; sub asciitilde' greater by asciitilde_greater.liga; } asciitilde_greater; lookup asciitilde_hyphen { + sub asciitilde_hyphen.liga hyphen' by LIG; ignore sub asciitilde asciitilde' hyphen; ignore sub asciitilde' hyphen hyphen; - sub asciitilde_hyphen.liga hyphen' by LIG; sub asciitilde' hyphen by asciitilde_hyphen.liga; } asciitilde_hyphen; lookup asciitilde_asciitilde_greater { - ignore sub asciitilde_asciitilde.liga' LIG greater greater; sub asciitilde_asciitilde_greater.liga LIG greater' by LIG; + ignore sub asciitilde_asciitilde.liga' LIG greater greater; sub asciitilde_asciitilde.liga' LIG greater by asciitilde_asciitilde_greater.liga; } asciitilde_asciitilde_greater; lookup asciitilde_equal { + sub asciitilde_equal.liga equal' by LIG; ignore sub asciitilde asciitilde' equal; ignore sub asciitilde' equal equal; - sub asciitilde_equal.liga equal' by LIG; sub asciitilde' equal by asciitilde_equal.liga; } asciitilde_equal; ### Asterisk lookup asterisk_asterisk { + sub asterisk_asterisk.liga asterisk' by LIG; ignore sub asterisk asterisk' asterisk; ignore sub asterisk' asterisk asterisk asterisk; ignore sub slash asterisk' asterisk; ignore sub asterisk' asterisk slash; - sub asterisk_asterisk.liga asterisk' by LIG; sub asterisk' asterisk by asterisk_asterisk.liga; } asterisk_asterisk; lookup asterisk_asterisk_asterisk { - ignore sub asterisk_asterisk.liga' LIG asterisk slash; sub asterisk_asterisk_asterisk.liga LIG asterisk' by LIG; + ignore sub asterisk_asterisk.liga' LIG asterisk slash; sub asterisk_asterisk.liga' LIG asterisk by asterisk_asterisk_asterisk.liga; } asterisk_asterisk_asterisk; lookup asterisk_greater { + sub asterisk_greater.liga greater' by LIG; ignore sub asterisk asterisk' greater; ignore sub asterisk' greater greater; - sub asterisk_greater.liga greater' by LIG; sub asterisk' greater by asterisk_greater.liga; } asterisk_greater; lookup asterisk_slash { + sub asterisk_slash.liga slash' by LIG; ignore sub asterisk asterisk' slash; ignore sub asterisk' slash slash; ignore sub slash asterisk' slash; ignore sub asterisk' slash asterisk; - sub asterisk_slash.liga slash' by LIG; sub asterisk' slash by asterisk_slash.liga; } asterisk_slash; lookup asterisk_parenright { + sub asterisk_parenright.liga parenright' by LIG; ignore sub parenleft asterisk' parenright; ignore sub asterisk asterisk' parenright; ignore sub asterisk' parenright parenright; - sub asterisk_parenright.liga parenright' by LIG; sub asterisk' parenright by asterisk_parenright.liga; } asterisk_parenright; ### Backslash lookup backslash_slash { + sub backslash_slash.liga slash' by LIG; ignore sub @NotSpace backslash' slash; ignore sub backslash' slash @NotSpace; - sub backslash_slash.liga slash' by LIG; sub backslash' slash by backslash_slash.liga; } backslash_slash; lookup backslash_backslash { + sub backslash_backslash.liga backslash' by LIG; ignore sub backslash backslash' backslash; ignore sub backslash' backslash backslash; - sub backslash_backslash.liga backslash' by LIG; sub backslash' backslash by backslash_backslash.liga; } backslash_backslash; ### Bar lookup bar_bar { + sub bar_bar.liga bar' by LIG; ignore sub bar bar' bar; ignore sub bar' bar bar bar; ignore sub [hyphen equal] bar' bar; @@ -365,7 +359,6 @@ lookup bar_bar { ignore sub [less greater] bar' bar [less greater]; ignore sub less bar' bar; ignore sub less bar bar'; - sub bar_bar.liga bar' by LIG; sub bar' bar by bar_bar.liga; } bar_bar; @@ -375,38 +368,38 @@ lookup bar_bar_bar { } bar_bar_bar; lookup bar_greater { + sub bar_greater.liga greater' by LIG; ignore sub bar bar' greater; ignore sub bar' greater greater; ignore sub less bar bar' greater; - sub bar_greater.liga greater' by LIG; sub bar' greater by bar_greater.liga; } bar_greater; lookup bar_braceright { + sub bar_braceright.liga braceright' by LIG; ignore sub bar bar' braceright; ignore sub bar' braceright braceright; ignore sub braceleft bar' braceright; - sub bar_braceright.liga braceright' by LIG; sub bar' braceright by bar_braceright.liga; } bar_braceright; lookup bar_bracketright { + sub bar_bracketright.liga bracketright' by LIG; ignore sub bar bar' bracketright; ignore sub bar' bracketright bracketright; ignore sub bracketleft bar' bracketright; - sub bar_bracketright.liga bracketright' by LIG; sub bar' bracketright by bar_bracketright.liga; } bar_bracketright; lookup bar_bar_greater { - ignore sub bar_bar.liga' LIG greater greater; sub bar_bar_greater.liga LIG greater' by LIG; + ignore sub bar_bar.liga' LIG greater greater; sub bar_bar.liga' LIG greater by bar_bar_greater.liga; } bar_bar_greater; lookup bar_bar_bar_greater { - ignore sub bar_bar_bar.liga' LIG LIG greater greater; sub bar_bar_bar_greater.liga LIG LIG greater' by LIG; + ignore sub bar_bar_bar.liga' LIG LIG greater greater; sub bar_bar_bar.liga' LIG LIG greater by bar_bar_bar_greater.liga; } bar_bar_bar_greater; @@ -414,48 +407,48 @@ lookup bar_bar_bar_greater { ### Brace left lookup braceleft_bar { + sub braceleft_bar.liga bar' by LIG; ignore sub braceleft braceleft' bar; ignore sub braceleft' bar bar; ignore sub braceleft' bar braceright; - sub braceleft_bar.liga bar' by LIG; sub braceleft' bar by braceleft_bar.liga; } braceleft_bar; ### Brace right lookup braceright_numbersign { + sub braceright_numbersign.liga numbersign' by LIG; ignore sub braceright braceright' numbersign; ignore sub braceright' numbersign numbersign; - sub braceright_numbersign.liga numbersign' by LIG; sub braceright' numbersign by braceright_numbersign.liga; } braceright_numbersign; ### Bracket left lookup bracketleft_bar { + sub bracketleft_bar.liga bar' by LIG; ignore sub bracketleft bracketleft' bar; ignore sub bracketleft' bar bar; ignore sub bracketleft' bar bracketright; - sub bracketleft_bar.liga bar' by LIG; sub bracketleft' bar by bracketleft_bar.liga; } bracketleft_bar; ### Bracket right lookup bracketright_numbersign { + sub bracketright_numbersign.liga numbersign' by LIG; ignore sub bracketright bracketright' numbersign; ignore sub bracketright' numbersign numbersign; - sub bracketright_numbersign.liga numbersign' by LIG; sub bracketright' numbersign by bracketright_numbersign.liga; } bracketright_numbersign; ### Colon lookup colon_colon { + sub colon_colon.liga colon' by LIG; ignore sub colon colon' colon; ignore sub colon' colon colon colon; ignore sub parenleft question colon' colon; ignore sub colon' colon [less greater]; ignore sub [less greater] colon' colon; - sub colon_colon.liga colon' by LIG; sub colon' colon by colon_colon.liga; } colon_colon; @@ -465,63 +458,64 @@ lookup colon_colon_colon { } colon_colon_colon; lookup colon_equal { + sub colon_equal.liga equal' by LIG; ignore sub colon colon' equal; ignore sub colon' equal equal; ignore sub parenleft question colon' equal; ignore sub equal colon' equal; - sub colon_equal.liga equal' by LIG; sub colon' equal by colon_equal.liga; } colon_equal; lookup colon_colon_equal { - ignore sub colon_colon.liga' LIG equal equal; sub colon_colon_equal.liga LIG equal' by LIG; + ignore sub colon_colon.liga' LIG equal equal; sub colon_colon.liga' LIG equal by colon_colon_equal.liga; } colon_colon_equal; lookup colon_slash_slash { - ignore sub colon colon' slash slash; - ignore sub colon' slash slash slash; sub colon_slash_slash.liga LIG slash' by LIG; sub colon_slash_slash.liga slash' slash by LIG; + ignore sub colon colon' slash slash; + ignore sub colon' slash slash slash; sub colon' slash slash by colon_slash_slash.liga; } colon_slash_slash; ## Dollar lookup dollar_greater { + sub dollar_greater.liga greater' by LIG; ignore sub dollar dollar' greater; ignore sub dollar' greater greater; - sub dollar_greater.liga greater' by LIG; sub dollar' greater by dollar_greater.liga; } dollar_greater; ### Hyphen lookup hyphen_asciitilde { + sub hyphen_asciitilde.liga asciitilde' by LIG; ignore sub hyphen hyphen' asciitilde; ignore sub hyphen' asciitilde asciitilde; - sub hyphen_asciitilde.liga asciitilde' by LIG; sub hyphen' asciitilde by hyphen_asciitilde.liga; } hyphen_asciitilde; lookup hyphen_hyphen { + sub hyphen_hyphen.liga hyphen' by LIG; ignore sub hyphen hyphen' hyphen; ignore sub hyphen' hyphen hyphen hyphen; ignore sub [less greater bar] hyphen' hyphen; ignore sub hyphen' hyphen [less greater bar]; - sub hyphen_hyphen.liga hyphen' by LIG; sub hyphen' hyphen by hyphen_hyphen.liga; } hyphen_hyphen; lookup hyphen_hyphen_hyphen { - ignore sub hyphen_hyphen.liga' LIG hyphen [less greater bar]; sub hyphen_hyphen_hyphen.liga LIG hyphen' by LIG; + ignore sub hyphen_hyphen.liga' LIG hyphen [less greater bar]; sub hyphen_hyphen.liga' LIG hyphen by hyphen_hyphen_hyphen.liga; } hyphen_hyphen_hyphen; ### Greater lookup greater_greater { + sub greater_greater.liga greater' by LIG; ignore sub greater greater' greater; ignore sub greater' greater greater greater; ignore sub [asterisk plus dollar] greater' greater; @@ -530,7 +524,6 @@ lookup greater_greater { ignore sub equal equal greater' greater; # for consistency with other similar operators ignore sub greater' greater hyphen; ignore sub greater' greater equal [equal less greater bar colon exclam slash]; - sub greater_greater.liga greater' by LIG; sub greater' greater by greater_greater.liga; } greater_greater; @@ -545,11 +538,11 @@ lookup greater_greater_equal { } greater_greater_equal; lookup greater_equal { + sub greater_equal.liga equal' by LIG; ignore sub greater greater' equal; ignore sub greater' equal equal; ignore sub equal greater' equal; ignore sub greater' equal [less greater bar colon exclam slash]; - sub greater_equal.liga equal' by LIG; sub greater' equal by greater_equal.liga; } greater_equal; @@ -557,99 +550,99 @@ lookup greater_equal { ### Numbersign lookup numbersign_braceleft { + sub numbersign_braceleft.liga braceleft' by LIG; ignore sub numbersign numbersign' braceleft; ignore sub numbersign' braceleft braceleft; - sub numbersign_braceleft.liga braceleft' by LIG; sub numbersign' braceleft by numbersign_braceleft.liga; } numbersign_braceleft; lookup numbersign_bracketleft { + sub numbersign_bracketleft.liga bracketleft' by LIG; ignore sub numbersign numbersign' bracketleft; ignore sub numbersign' bracketleft bracketleft; - sub numbersign_bracketleft.liga bracketleft' by LIG; sub numbersign' bracketleft by numbersign_bracketleft.liga; } numbersign_bracketleft; lookup numbersign_colon { + sub numbersign_colon.liga colon' by LIG; ignore sub numbersign numbersign' colon; ignore sub numbersign' colon colon; - sub numbersign_colon.liga colon' by LIG; sub numbersign' colon by numbersign_colon.liga; } numbersign_colon; lookup numbersign_equal { + sub numbersign_equal.liga equal' by LIG; ignore sub numbersign numbersign' equal; ignore sub numbersign' equal equal; - sub numbersign_equal.liga equal' by LIG; sub numbersign' equal by numbersign_equal.liga; } numbersign_equal; lookup numbersign_exclam { + sub numbersign_exclam.liga exclam' by LIG; ignore sub numbersign numbersign' exclam; ignore sub numbersign' exclam exclam; - sub numbersign_exclam.liga exclam' by LIG; sub numbersign' exclam by numbersign_exclam.liga; } numbersign_exclam; lookup numbersign_parenleft { + sub numbersign_parenleft.liga parenleft' by LIG; ignore sub numbersign numbersign' parenleft; ignore sub numbersign' parenleft parenleft; - sub numbersign_parenleft.liga parenleft' by LIG; sub numbersign' parenleft by numbersign_parenleft.liga; } numbersign_parenleft; lookup numbersign_question { + sub numbersign_question.liga question' by LIG; ignore sub numbersign numbersign' question; ignore sub numbersign' question question; - sub numbersign_question.liga question' by LIG; sub numbersign' question by numbersign_question.liga; } numbersign_question; lookup numbersign_underscore { + sub numbersign_underscore.liga underscore' by LIG; ignore sub numbersign numbersign' underscore; ignore sub numbersign' underscore underscore; - sub numbersign_underscore.liga underscore' by LIG; sub numbersign' underscore by numbersign_underscore.liga; } numbersign_underscore; lookup numbersign_underscore_parenleft { - ignore sub numbersign_underscore.liga' LIG parenleft parenleft; sub numbersign_underscore_parenleft.liga LIG parenleft' by LIG; + ignore sub numbersign_underscore.liga' LIG parenleft parenleft; sub numbersign_underscore.liga' LIG parenleft by numbersign_underscore_parenleft.liga; } numbersign_underscore_parenleft; ### Paren left lookup parenleft_asterisk { + sub parenleft_asterisk.liga asterisk' by LIG; ignore sub parenleft parenleft' asterisk; ignore sub parenleft' asterisk asterisk; ignore sub parenleft' asterisk parenright; - sub parenleft_asterisk.liga asterisk' by LIG; sub parenleft' asterisk by parenleft_asterisk.liga; } parenleft_asterisk; ### Percent lookup percent_percent { + sub percent_percent.liga percent' by LIG; ignore sub percent percent' percent; ignore sub percent' percent percent; - sub percent_percent.liga percent' by LIG; sub percent' percent by percent_percent.liga; } percent_percent; ### Period lookup period_equal { + sub period_equal.liga equal' by LIG; ignore sub period period' equal; ignore sub period' equal equal; - sub period_equal.liga equal' by LIG; sub period' equal by period_equal.liga; } period_equal; lookup period_period { + sub period_period.liga period' by LIG; ignore sub period period' period; ignore sub period' period period period; - sub period_period.liga period' by LIG; sub period' period by period_period.liga; } period_period; @@ -659,74 +652,74 @@ lookup period_period_period { } period_period_period; lookup period_question { + sub period_question.liga question' by LIG; ignore sub period period' question; ignore sub period' question question; - sub period_question.liga question' by LIG; sub period' question by period_question.liga; } period_question; lookup period_hyphen { + sub period_hyphen.liga hyphen' by LIG; ignore sub period period' hyphen; ignore sub period' hyphen hyphen; - sub period_hyphen.liga hyphen' by LIG; sub period' hyphen by period_hyphen.liga; } period_hyphen; lookup period_period_equal { - ignore sub period_period.liga' LIG equal equal; sub period_period_equal.liga LIG equal' by LIG; + ignore sub period_period.liga' LIG equal equal; sub period_period.liga' LIG equal by period_period_equal.liga; } period_period_equal; lookup period_period_less { - ignore sub period_period.liga' LIG less less; sub period_period_less.liga LIG less' by LIG; + ignore sub period_period.liga' LIG less less; sub period_period.liga' LIG less by period_period_less.liga; } period_period_less; ### Plus lookup plus_greater { + sub plus_greater.liga greater' by LIG; ignore sub plus plus' greater; ignore sub plus' greater greater; - sub plus_greater.liga greater' by LIG; sub plus' greater by plus_greater.liga; } plus_greater; lookup plus_plus { + sub plus_plus.liga plus' by LIG; ignore sub plus plus' plus; ignore sub plus' plus plus plus; - sub plus_plus.liga plus' by LIG; sub plus' plus by plus_plus.liga; } plus_plus; lookup plus_plus_plus { - ignore sub plus_plus.liga' LIG plus plus; sub plus_plus_plus.liga LIG plus' by LIG; + ignore sub plus_plus.liga' LIG plus plus; sub plus_plus.liga' LIG plus by plus_plus_plus.liga; } plus_plus_plus; ### Question lookup question_equal { + sub question_equal.liga equal' by LIG; ignore sub question question' equal; ignore sub question' equal equal; ignore sub parenleft question' equal; ignore sub less question' equal; - sub question_equal.liga equal' by LIG; sub question' equal by question_equal.liga; } question_equal; lookup question_period { + sub question_period.liga period' by LIG; ignore sub question question' period; ignore sub question' period period; - sub question_period.liga period' by LIG; sub question' period by question_period.liga; } question_period; lookup question_question { + sub question_question.liga question' by LIG; ignore sub question question' question; ignore sub question' question question; - sub question_question.liga question' by LIG; sub question' question by question_question.liga; } question_question; @@ -736,44 +729,44 @@ lookup question_question_equal { } question_question_equal; lookup question_colon { + sub question_colon.liga colon' by LIG; ignore sub question question' colon; ignore sub question' colon colon; - sub question_colon.liga colon' by LIG; sub question' colon by question_colon.liga; } question_colon; ### Semicolon lookup semicolon_semicolon { + sub semicolon_semicolon.liga semicolon' by LIG; ignore sub semicolon semicolon' semicolon; ignore sub semicolon' semicolon semicolon; - sub semicolon_semicolon.liga semicolon' by LIG; sub semicolon' semicolon by semicolon_semicolon.liga; } semicolon_semicolon; ### Slash lookup slash_asterisk { + sub slash_asterisk.liga asterisk' by LIG; ignore sub slash slash' asterisk; ignore sub slash' asterisk asterisk; ignore sub slash' asterisk slash; ignore sub asterisk slash' asterisk; - sub slash_asterisk.liga asterisk' by LIG; sub slash' asterisk by slash_asterisk.liga; } slash_asterisk; lookup slash_greater { + sub slash_greater.liga greater' by LIG; ignore sub slash slash' greater; ignore sub slash' greater greater; - sub slash_greater.liga greater' by LIG; sub slash' greater by slash_greater.liga; } slash_greater; lookup slash_slash { + sub slash_slash.liga slash' by LIG; ignore sub slash slash' slash; ignore sub slash' slash slash slash; ignore sub equal slash' slash; ignore sub slash' slash equal; - sub slash_slash.liga slash' by LIG; sub slash' slash by slash_slash.liga; } slash_slash; @@ -783,28 +776,28 @@ lookup slash_slash_slash { } slash_slash_slash; lookup slash_backslash { + sub slash_backslash.liga backslash' by LIG; ignore sub @NotSpace slash' backslash; ignore sub slash' backslash @NotSpace; - sub slash_backslash.liga backslash' by LIG; sub slash' backslash by slash_backslash.liga; } slash_backslash; ### WWW lookup w_w_w { - ignore sub w w' w w; - ignore sub w' w w w; sub w_w_w.liga LIG w' by LIG; sub w_w_w.liga w' w by LIG; + ignore sub w w' w w; + ignore sub w' w w w; sub w' w w by w_w_w.liga; } w_w_w; #fix rvrn issues :/ lookup less_dollar_rvrn { + sub less_dollar.liga.BRACKET.600 dollar.BRACKET.600' by LIG; ignore sub less less' dollar.BRACKET.600; ignore sub less' dollar.BRACKET.600 dollar.BRACKET.600; - sub less_dollar.liga.BRACKET.600 dollar.BRACKET.600' by LIG; sub less' dollar.BRACKET.600 by less_dollar.liga.BRACKET.600; } less_dollar_rvrn; @@ -814,9 +807,9 @@ lookup less_dollar_greater_rvrn { } less_dollar_greater_rvrn; lookup dollar_greater_rvrn { + sub dollar_greater.liga.BRACKET.600 greater' by LIG; ignore sub dollar.BRACKET.600 dollar.BRACKET.600' greater; ignore sub dollar.BRACKET.600' greater greater; - sub dollar_greater.liga.BRACKET.600 greater' by LIG; sub dollar.BRACKET.600' greater by dollar_greater.liga.BRACKET.600; } dollar_greater_rvrn; @@ -1013,4 +1006,4 @@ lookup underscores { sub dcaron' [lacute lcaron lcommaaccent ldot lslash b h k l hbar hcircumflex kcommaaccent @Uppercase] by dcaron.alt; sub [B C D E F G H I J K M N O P Q R S T U V W X Y Z seven f 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 Ghestroke-cy Zhedescender-cy Kadescender-cy Endescender-cy Ustraight-cy Ustraightstroke-cy Hadescender-cy Chedescender-cy Palochka-cy Schwa-cy Imacron-cy Obarred-cy Umacron-cy De-cy.loclBGR El-cy.loclBGR Ef-cy.loclBGR be-cy ve-cy iishort-cy ushort-cy be-cy.loclSRB ve-cy.salt] [b h k shha-cy iu-cy.loclBGR ka-cy.loclBGR]' by [b.alt h.alt k.alt shha-cy.alt iu-cy.loclBGR.alt ka-cy.loclBGR.alt]; -} calt; \ No newline at end of file +} calt; diff --git a/sources/stat.yaml b/sources/stat.yaml new file mode 100644 index 000000000..5015ff16a --- /dev/null +++ b/sources/stat.yaml @@ -0,0 +1,211 @@ +# Cascadia Code +CascadiaCode.ttf: +- name: Weight + tag: wght + values: + - name: ExtraLight + value: 200 + - name: Light + value: 300 + - name: SemiLight + value: 350 + - name: Regular + value: 400 + linkedValue: 700 + flags: 2 + - name: Medium + value: 500 + - name: SemiBold + value: 600 + - name: Bold + value: 700 +- name: Italic + tag: ital + values: + - name: Roman + value: 0 + linkedValue: 1 + flags: 2 +CascadiaCodeItalic.ttf: +- name: Weight + tag: wght + values: + - name: ExtraLight + value: 200 + - name: Light + value: 300 + - name: SemiLight + value: 350 + - name: Regular + value: 400 + linkedValue: 700 + flags: 2 + - name: Medium + value: 500 + - name: SemiBold + value: 600 + - name: Bold + value: 700 +- name: Italic + tag: ital + values: + - name: Italic + value: 1 +CascadiaCodePL.ttf: +- name: Weight + tag: wght + values: + - name: ExtraLight + value: 200 + - name: Light + value: 300 + - name: SemiLight + value: 350 + - name: Regular + value: 400 + linkedValue: 700 + flags: 2 + - name: Medium + value: 500 + - name: SemiBold + value: 600 + - name: Bold + value: 700 +- name: Italic + tag: ital + values: + - name: Roman + value: 0 + linkedValue: 1 + flags: 2 +CascadiaCodePLItalic.ttf: +- name: Weight + tag: wght + values: + - name: ExtraLight + value: 200 + - name: Light + value: 300 + - name: SemiLight + value: 350 + - name: Regular + value: 400 + linkedValue: 700 + flags: 2 + - name: Medium + value: 500 + - name: SemiBold + value: 600 + - name: Bold + value: 700 +- name: Italic + tag: ital + values: + - name: Italic + value: 1 + +# Cascadia Mono +CascadiaMono.ttf: +- name: Weight + tag: wght + values: + - name: ExtraLight + value: 200 + - name: Light + value: 300 + - name: SemiLight + value: 350 + - name: Regular + value: 400 + linkedValue: 700 + flags: 2 + - name: Medium + value: 500 + - name: SemiBold + value: 600 + - name: Bold + value: 700 +- name: Italic + tag: ital + values: + - name: Roman + value: 0 + linkedValue: 1 + flags: 2 +CascadiaMonoItalic.ttf: +- name: Weight + tag: wght + values: + - name: ExtraLight + value: 200 + - name: Light + value: 300 + - name: SemiLight + value: 350 + - name: Regular + value: 400 + linkedValue: 700 + flags: 2 + - name: Medium + value: 500 + - name: SemiBold + value: 600 + - name: Bold + value: 700 +- name: Italic + tag: ital + values: + - name: Italic + value: 1 +CascadiaMonoPL.ttf: +- name: Weight + tag: wght + values: + - name: ExtraLight + value: 200 + - name: Light + value: 300 + - name: SemiLight + value: 350 + - name: Regular + value: 400 + linkedValue: 700 + flags: 2 + - name: Medium + value: 500 + - name: SemiBold + value: 600 + - name: Bold + value: 700 +- name: Italic + tag: ital + values: + - name: Roman + value: 0 + linkedValue: 1 + flags: 2 +CascadiaMonoPLItalic.ttf: +- name: Weight + tag: wght + values: + - name: ExtraLight + value: 200 + - name: Light + value: 300 + - name: SemiLight + value: 350 + - name: Regular + value: 400 + linkedValue: 700 + flags: 2 + - name: Medium + value: 500 + - name: SemiBold + value: 600 + - name: Bold + value: 700 +- name: Italic + tag: ital + values: + - name: Italic + value: 1 \ No newline at end of file