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 @@
Tagwght
-
- 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 @@
Tagwght
-
- 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 limescom.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 @@
Tagwght
-
- 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 @@
Tagwght
-
- 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 limescom.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 @@
Tagwght
-
- 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 limescom.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 @@
Tagwght
-
- 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