From 9bf5f6197c65be91c08e793714a44067a46289e4 Mon Sep 17 00:00:00 2001 From: kiliman Date: Sat, 12 Dec 2020 17:50:16 -0500 Subject: [PATCH 1/6] =?UTF-8?q?=E2=9C=A8=20Add=20new=20spacer=20glyphs=20t?= =?UTF-8?q?o=20replace=20LIG=20placeholder?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- genspacers.js | 36 +++++++++++++++++++ .../glyphs/ampersand.spacer.xml | 7 ++++ .../glyphs/bar.spacer.xml | 7 ++++ .../glyphs/colon.spacer.xml | 7 ++++ .../glyphs/equal.spacer.xml | 7 ++++ .../glyphs/exclam.spacer.xml | 7 ++++ .../glyphs/greater.spacer.xml | 7 ++++ .../glyphs/hyphen.spacer.xml | 7 ++++ .../glyphs/less.spacer.xml | 7 ++++ .../glyphs/plus.spacer.xml | 7 ++++ .../glyphs/question.spacer.xml | 7 ++++ .../glyphs/slash.spacer.xml | 7 ++++ .../glyphs/underscore.spacer.xml | 7 ++++ .../glyphs/ampersand.spacer.xml | 7 ++++ .../glyphs/bar.spacer.xml | 7 ++++ .../glyphs/colon.spacer.xml | 7 ++++ .../glyphs/equal.spacer.xml | 7 ++++ .../glyphs/exclam.spacer.xml | 7 ++++ .../glyphs/greater.spacer.xml | 7 ++++ .../glyphs/hyphen.spacer.xml | 7 ++++ .../glyphs/less.spacer.xml | 7 ++++ .../glyphs/plus.spacer.xml | 7 ++++ .../glyphs/question.spacer.xml | 7 ++++ .../glyphs/slash.spacer.xml | 7 ++++ .../glyphs/underscore.spacer.xml | 7 ++++ .../glyphs/ampersand.spacer.xml | 7 ++++ .../glyphs/bar.spacer.xml | 7 ++++ .../glyphs/colon.spacer.xml | 7 ++++ .../glyphs/equal.spacer.xml | 7 ++++ .../glyphs/exclam.spacer.xml | 7 ++++ .../glyphs/greater.spacer.xml | 7 ++++ .../glyphs/hyphen.spacer.xml | 7 ++++ .../glyphs/less.spacer.xml | 7 ++++ .../glyphs/plus.spacer.xml | 7 ++++ .../glyphs/question.spacer.xml | 7 ++++ .../glyphs/slash.spacer.xml | 7 ++++ .../glyphs/underscore.spacer.xml | 7 ++++ .../glyphs/ampersand.spacer.xml | 7 ++++ .../glyphs/bar.spacer.xml | 7 ++++ .../glyphs/colon.spacer.xml | 7 ++++ .../glyphs/equal.spacer.xml | 7 ++++ .../glyphs/exclam.spacer.xml | 7 ++++ .../glyphs/greater.spacer.xml | 7 ++++ .../glyphs/hyphen.spacer.xml | 7 ++++ .../glyphs/less.spacer.xml | 7 ++++ .../glyphs/plus.spacer.xml | 7 ++++ .../glyphs/question.spacer.xml | 7 ++++ .../glyphs/slash.spacer.xml | 7 ++++ .../glyphs/underscore.spacer.xml | 7 ++++ .../glyphs/ampersand.spacer.xml | 7 ++++ .../glyphs/bar.spacer.xml | 7 ++++ .../glyphs/colon.spacer.xml | 7 ++++ .../glyphs/equal.spacer.xml | 7 ++++ .../glyphs/exclam.spacer.xml | 7 ++++ .../glyphs/greater.spacer.xml | 7 ++++ .../glyphs/hyphen.spacer.xml | 7 ++++ .../glyphs/less.spacer.xml | 7 ++++ .../glyphs/plus.spacer.xml | 7 ++++ .../glyphs/question.spacer.xml | 7 ++++ .../glyphs/slash.spacer.xml | 7 ++++ .../glyphs/underscore.spacer.xml | 7 ++++ .../glyphs/ampersand.spacer.xml | 7 ++++ .../glyphs/bar.spacer.xml | 7 ++++ .../glyphs/colon.spacer.xml | 7 ++++ .../glyphs/equal.spacer.xml | 7 ++++ .../glyphs/exclam.spacer.xml | 7 ++++ .../glyphs/greater.spacer.xml | 7 ++++ .../glyphs/hyphen.spacer.xml | 7 ++++ .../glyphs/less.spacer.xml | 7 ++++ .../glyphs/plus.spacer.xml | 7 ++++ .../glyphs/question.spacer.xml | 7 ++++ .../glyphs/slash.spacer.xml | 7 ++++ .../glyphs/underscore.spacer.xml | 7 ++++ .../glyphs/ampersand.spacer.xml | 7 ++++ .../glyphs/bar.spacer.xml | 7 ++++ .../glyphs/colon.spacer.xml | 7 ++++ .../glyphs/equal.spacer.xml | 7 ++++ .../glyphs/exclam.spacer.xml | 7 ++++ .../glyphs/greater.spacer.xml | 7 ++++ .../glyphs/hyphen.spacer.xml | 7 ++++ .../glyphs/less.spacer.xml | 7 ++++ .../glyphs/plus.spacer.xml | 7 ++++ .../glyphs/question.spacer.xml | 7 ++++ .../glyphs/slash.spacer.xml | 7 ++++ .../glyphs/underscore.spacer.xml | 7 ++++ .../glyphs/w.spacer.xml | 7 ++++ .../glyphs/ampersand.spacer.xml | 7 ++++ .../glyphs/bar.spacer.xml | 7 ++++ .../glyphs/colon.spacer.xml | 7 ++++ .../glyphs/equal.spacer.xml | 7 ++++ .../glyphs/exclam.spacer.xml | 7 ++++ .../glyphs/greater.spacer.xml | 7 ++++ .../glyphs/hyphen.spacer.xml | 7 ++++ .../glyphs/less.spacer.xml | 7 ++++ .../glyphs/plus.spacer.xml | 7 ++++ .../glyphs/question.spacer.xml | 7 ++++ .../glyphs/slash.spacer.xml | 7 ++++ .../glyphs/underscore.spacer.xml | 7 ++++ .../glyphs/w.spacer.xml | 7 ++++ .../glyphs/ampersand.spacer.xml | 7 ++++ .../glyphs/bar.spacer.xml | 7 ++++ .../glyphs/colon.spacer.xml | 7 ++++ .../glyphs/equal.spacer.xml | 7 ++++ .../glyphs/exclam.spacer.xml | 7 ++++ .../glyphs/greater.spacer.xml | 7 ++++ .../glyphs/hyphen.spacer.xml | 7 ++++ .../glyphs/less.spacer.xml | 7 ++++ .../glyphs/plus.spacer.xml | 7 ++++ .../glyphs/question.spacer.xml | 7 ++++ .../glyphs/slash.spacer.xml | 7 ++++ .../glyphs/underscore.spacer.xml | 7 ++++ .../glyphs/ampersand.spacer.xml | 7 ++++ .../glyphs/bar.spacer.xml | 7 ++++ .../glyphs/colon.spacer.xml | 7 ++++ .../glyphs/equal.spacer.xml | 7 ++++ .../glyphs/exclam.spacer.xml | 7 ++++ .../glyphs/greater.spacer.xml | 7 ++++ .../glyphs/hyphen.spacer.xml | 7 ++++ .../glyphs/less.spacer.xml | 7 ++++ .../glyphs/plus.spacer.xml | 7 ++++ .../glyphs/question.spacer.xml | 7 ++++ .../glyphs/slash.spacer.xml | 7 ++++ .../glyphs/underscore.spacer.xml | 7 ++++ .../glyphs/ampersand.spacer.xml | 7 ++++ .../glyphs/bar.spacer.xml | 7 ++++ .../glyphs/colon.spacer.xml | 7 ++++ .../glyphs/equal.spacer.xml | 7 ++++ .../glyphs/exclam.spacer.xml | 7 ++++ .../glyphs/greater.spacer.xml | 7 ++++ .../glyphs/hyphen.spacer.xml | 7 ++++ .../glyphs/less.spacer.xml | 7 ++++ .../glyphs/plus.spacer.xml | 7 ++++ .../glyphs/question.spacer.xml | 7 ++++ .../glyphs/slash.spacer.xml | 7 ++++ .../glyphs/underscore.spacer.xml | 7 ++++ .../glyphs/ampersand.spacer.xml | 7 ++++ .../glyphs/bar.spacer.xml | 7 ++++ .../glyphs/colon.spacer.xml | 7 ++++ .../glyphs/equal.spacer.xml | 7 ++++ .../glyphs/exclam.spacer.xml | 7 ++++ .../glyphs/greater.spacer.xml | 7 ++++ .../glyphs/hyphen.spacer.xml | 7 ++++ .../glyphs/less.spacer.xml | 7 ++++ .../glyphs/plus.spacer.xml | 7 ++++ .../glyphs/question.spacer.xml | 7 ++++ .../glyphs/slash.spacer.xml | 7 ++++ .../glyphs/underscore.spacer.xml | 7 ++++ ligature_source/glyphs | 2 +- 148 files changed, 1059 insertions(+), 1 deletion(-) create mode 100644 genspacers.js create mode 100644 ligature/OperatorMonoLig-Book/glyphs/ampersand.spacer.xml create mode 100644 ligature/OperatorMonoLig-Book/glyphs/bar.spacer.xml create mode 100644 ligature/OperatorMonoLig-Book/glyphs/colon.spacer.xml create mode 100644 ligature/OperatorMonoLig-Book/glyphs/equal.spacer.xml create mode 100644 ligature/OperatorMonoLig-Book/glyphs/exclam.spacer.xml create mode 100644 ligature/OperatorMonoLig-Book/glyphs/greater.spacer.xml create mode 100644 ligature/OperatorMonoLig-Book/glyphs/hyphen.spacer.xml create mode 100644 ligature/OperatorMonoLig-Book/glyphs/less.spacer.xml create mode 100644 ligature/OperatorMonoLig-Book/glyphs/plus.spacer.xml create mode 100644 ligature/OperatorMonoLig-Book/glyphs/question.spacer.xml create mode 100644 ligature/OperatorMonoLig-Book/glyphs/slash.spacer.xml create mode 100644 ligature/OperatorMonoLig-Book/glyphs/underscore.spacer.xml create mode 100644 ligature/OperatorMonoLig-BookItalic/glyphs/ampersand.spacer.xml create mode 100644 ligature/OperatorMonoLig-BookItalic/glyphs/bar.spacer.xml create mode 100644 ligature/OperatorMonoLig-BookItalic/glyphs/colon.spacer.xml create mode 100644 ligature/OperatorMonoLig-BookItalic/glyphs/equal.spacer.xml create mode 100644 ligature/OperatorMonoLig-BookItalic/glyphs/exclam.spacer.xml create mode 100644 ligature/OperatorMonoLig-BookItalic/glyphs/greater.spacer.xml create mode 100644 ligature/OperatorMonoLig-BookItalic/glyphs/hyphen.spacer.xml create mode 100644 ligature/OperatorMonoLig-BookItalic/glyphs/less.spacer.xml create mode 100644 ligature/OperatorMonoLig-BookItalic/glyphs/plus.spacer.xml create mode 100644 ligature/OperatorMonoLig-BookItalic/glyphs/question.spacer.xml create mode 100644 ligature/OperatorMonoLig-BookItalic/glyphs/slash.spacer.xml create mode 100644 ligature/OperatorMonoLig-BookItalic/glyphs/underscore.spacer.xml create mode 100644 ligature/OperatorMonoLig-Light/glyphs/ampersand.spacer.xml create mode 100644 ligature/OperatorMonoLig-Light/glyphs/bar.spacer.xml create mode 100644 ligature/OperatorMonoLig-Light/glyphs/colon.spacer.xml create mode 100644 ligature/OperatorMonoLig-Light/glyphs/equal.spacer.xml create mode 100644 ligature/OperatorMonoLig-Light/glyphs/exclam.spacer.xml create mode 100644 ligature/OperatorMonoLig-Light/glyphs/greater.spacer.xml create mode 100644 ligature/OperatorMonoLig-Light/glyphs/hyphen.spacer.xml create mode 100644 ligature/OperatorMonoLig-Light/glyphs/less.spacer.xml create mode 100644 ligature/OperatorMonoLig-Light/glyphs/plus.spacer.xml create mode 100644 ligature/OperatorMonoLig-Light/glyphs/question.spacer.xml create mode 100644 ligature/OperatorMonoLig-Light/glyphs/slash.spacer.xml create mode 100644 ligature/OperatorMonoLig-Light/glyphs/underscore.spacer.xml create mode 100644 ligature/OperatorMonoLig-LightItalic/glyphs/ampersand.spacer.xml create mode 100644 ligature/OperatorMonoLig-LightItalic/glyphs/bar.spacer.xml create mode 100644 ligature/OperatorMonoLig-LightItalic/glyphs/colon.spacer.xml create mode 100644 ligature/OperatorMonoLig-LightItalic/glyphs/equal.spacer.xml create mode 100644 ligature/OperatorMonoLig-LightItalic/glyphs/exclam.spacer.xml create mode 100644 ligature/OperatorMonoLig-LightItalic/glyphs/greater.spacer.xml create mode 100644 ligature/OperatorMonoLig-LightItalic/glyphs/hyphen.spacer.xml create mode 100644 ligature/OperatorMonoLig-LightItalic/glyphs/less.spacer.xml create mode 100644 ligature/OperatorMonoLig-LightItalic/glyphs/plus.spacer.xml create mode 100644 ligature/OperatorMonoLig-LightItalic/glyphs/question.spacer.xml create mode 100644 ligature/OperatorMonoLig-LightItalic/glyphs/slash.spacer.xml create mode 100644 ligature/OperatorMonoLig-LightItalic/glyphs/underscore.spacer.xml create mode 100644 ligature/OperatorMonoSSmLig-Bold/glyphs/ampersand.spacer.xml create mode 100644 ligature/OperatorMonoSSmLig-Bold/glyphs/bar.spacer.xml create mode 100644 ligature/OperatorMonoSSmLig-Bold/glyphs/colon.spacer.xml create mode 100644 ligature/OperatorMonoSSmLig-Bold/glyphs/equal.spacer.xml create mode 100644 ligature/OperatorMonoSSmLig-Bold/glyphs/exclam.spacer.xml create mode 100644 ligature/OperatorMonoSSmLig-Bold/glyphs/greater.spacer.xml create mode 100644 ligature/OperatorMonoSSmLig-Bold/glyphs/hyphen.spacer.xml create mode 100644 ligature/OperatorMonoSSmLig-Bold/glyphs/less.spacer.xml create mode 100644 ligature/OperatorMonoSSmLig-Bold/glyphs/plus.spacer.xml create mode 100644 ligature/OperatorMonoSSmLig-Bold/glyphs/question.spacer.xml create mode 100644 ligature/OperatorMonoSSmLig-Bold/glyphs/slash.spacer.xml create mode 100644 ligature/OperatorMonoSSmLig-Bold/glyphs/underscore.spacer.xml create mode 100644 ligature/OperatorMonoSSmLig-BoldItalic/glyphs/ampersand.spacer.xml create mode 100644 ligature/OperatorMonoSSmLig-BoldItalic/glyphs/bar.spacer.xml create mode 100644 ligature/OperatorMonoSSmLig-BoldItalic/glyphs/colon.spacer.xml create mode 100644 ligature/OperatorMonoSSmLig-BoldItalic/glyphs/equal.spacer.xml create mode 100644 ligature/OperatorMonoSSmLig-BoldItalic/glyphs/exclam.spacer.xml create mode 100644 ligature/OperatorMonoSSmLig-BoldItalic/glyphs/greater.spacer.xml create mode 100644 ligature/OperatorMonoSSmLig-BoldItalic/glyphs/hyphen.spacer.xml create mode 100644 ligature/OperatorMonoSSmLig-BoldItalic/glyphs/less.spacer.xml create mode 100644 ligature/OperatorMonoSSmLig-BoldItalic/glyphs/plus.spacer.xml create mode 100644 ligature/OperatorMonoSSmLig-BoldItalic/glyphs/question.spacer.xml create mode 100644 ligature/OperatorMonoSSmLig-BoldItalic/glyphs/slash.spacer.xml create mode 100644 ligature/OperatorMonoSSmLig-BoldItalic/glyphs/underscore.spacer.xml create mode 100644 ligature/OperatorMonoSSmLig-Book/glyphs/ampersand.spacer.xml create mode 100644 ligature/OperatorMonoSSmLig-Book/glyphs/bar.spacer.xml create mode 100644 ligature/OperatorMonoSSmLig-Book/glyphs/colon.spacer.xml create mode 100644 ligature/OperatorMonoSSmLig-Book/glyphs/equal.spacer.xml create mode 100644 ligature/OperatorMonoSSmLig-Book/glyphs/exclam.spacer.xml create mode 100644 ligature/OperatorMonoSSmLig-Book/glyphs/greater.spacer.xml create mode 100644 ligature/OperatorMonoSSmLig-Book/glyphs/hyphen.spacer.xml create mode 100644 ligature/OperatorMonoSSmLig-Book/glyphs/less.spacer.xml create mode 100644 ligature/OperatorMonoSSmLig-Book/glyphs/plus.spacer.xml create mode 100644 ligature/OperatorMonoSSmLig-Book/glyphs/question.spacer.xml create mode 100644 ligature/OperatorMonoSSmLig-Book/glyphs/slash.spacer.xml create mode 100644 ligature/OperatorMonoSSmLig-Book/glyphs/underscore.spacer.xml create mode 100644 ligature/OperatorMonoSSmLig-Book/glyphs/w.spacer.xml create mode 100644 ligature/OperatorMonoSSmLig-BookItalic/glyphs/ampersand.spacer.xml create mode 100644 ligature/OperatorMonoSSmLig-BookItalic/glyphs/bar.spacer.xml create mode 100644 ligature/OperatorMonoSSmLig-BookItalic/glyphs/colon.spacer.xml create mode 100644 ligature/OperatorMonoSSmLig-BookItalic/glyphs/equal.spacer.xml create mode 100644 ligature/OperatorMonoSSmLig-BookItalic/glyphs/exclam.spacer.xml create mode 100644 ligature/OperatorMonoSSmLig-BookItalic/glyphs/greater.spacer.xml create mode 100644 ligature/OperatorMonoSSmLig-BookItalic/glyphs/hyphen.spacer.xml create mode 100644 ligature/OperatorMonoSSmLig-BookItalic/glyphs/less.spacer.xml create mode 100644 ligature/OperatorMonoSSmLig-BookItalic/glyphs/plus.spacer.xml create mode 100644 ligature/OperatorMonoSSmLig-BookItalic/glyphs/question.spacer.xml create mode 100644 ligature/OperatorMonoSSmLig-BookItalic/glyphs/slash.spacer.xml create mode 100644 ligature/OperatorMonoSSmLig-BookItalic/glyphs/underscore.spacer.xml create mode 100644 ligature/OperatorMonoSSmLig-BookItalic/glyphs/w.spacer.xml create mode 100644 ligature/OperatorMonoSSmLig-Light/glyphs/ampersand.spacer.xml create mode 100644 ligature/OperatorMonoSSmLig-Light/glyphs/bar.spacer.xml create mode 100644 ligature/OperatorMonoSSmLig-Light/glyphs/colon.spacer.xml create mode 100644 ligature/OperatorMonoSSmLig-Light/glyphs/equal.spacer.xml create mode 100644 ligature/OperatorMonoSSmLig-Light/glyphs/exclam.spacer.xml create mode 100644 ligature/OperatorMonoSSmLig-Light/glyphs/greater.spacer.xml create mode 100644 ligature/OperatorMonoSSmLig-Light/glyphs/hyphen.spacer.xml create mode 100644 ligature/OperatorMonoSSmLig-Light/glyphs/less.spacer.xml create mode 100644 ligature/OperatorMonoSSmLig-Light/glyphs/plus.spacer.xml create mode 100644 ligature/OperatorMonoSSmLig-Light/glyphs/question.spacer.xml create mode 100644 ligature/OperatorMonoSSmLig-Light/glyphs/slash.spacer.xml create mode 100644 ligature/OperatorMonoSSmLig-Light/glyphs/underscore.spacer.xml create mode 100644 ligature/OperatorMonoSSmLig-LightItalic/glyphs/ampersand.spacer.xml create mode 100644 ligature/OperatorMonoSSmLig-LightItalic/glyphs/bar.spacer.xml create mode 100644 ligature/OperatorMonoSSmLig-LightItalic/glyphs/colon.spacer.xml create mode 100644 ligature/OperatorMonoSSmLig-LightItalic/glyphs/equal.spacer.xml create mode 100644 ligature/OperatorMonoSSmLig-LightItalic/glyphs/exclam.spacer.xml create mode 100644 ligature/OperatorMonoSSmLig-LightItalic/glyphs/greater.spacer.xml create mode 100644 ligature/OperatorMonoSSmLig-LightItalic/glyphs/hyphen.spacer.xml create mode 100644 ligature/OperatorMonoSSmLig-LightItalic/glyphs/less.spacer.xml create mode 100644 ligature/OperatorMonoSSmLig-LightItalic/glyphs/plus.spacer.xml create mode 100644 ligature/OperatorMonoSSmLig-LightItalic/glyphs/question.spacer.xml create mode 100644 ligature/OperatorMonoSSmLig-LightItalic/glyphs/slash.spacer.xml create mode 100644 ligature/OperatorMonoSSmLig-LightItalic/glyphs/underscore.spacer.xml create mode 100644 ligature/OperatorMonoSSmLig-Medium/glyphs/ampersand.spacer.xml create mode 100644 ligature/OperatorMonoSSmLig-Medium/glyphs/bar.spacer.xml create mode 100644 ligature/OperatorMonoSSmLig-Medium/glyphs/colon.spacer.xml create mode 100644 ligature/OperatorMonoSSmLig-Medium/glyphs/equal.spacer.xml create mode 100644 ligature/OperatorMonoSSmLig-Medium/glyphs/exclam.spacer.xml create mode 100644 ligature/OperatorMonoSSmLig-Medium/glyphs/greater.spacer.xml create mode 100644 ligature/OperatorMonoSSmLig-Medium/glyphs/hyphen.spacer.xml create mode 100644 ligature/OperatorMonoSSmLig-Medium/glyphs/less.spacer.xml create mode 100644 ligature/OperatorMonoSSmLig-Medium/glyphs/plus.spacer.xml create mode 100644 ligature/OperatorMonoSSmLig-Medium/glyphs/question.spacer.xml create mode 100644 ligature/OperatorMonoSSmLig-Medium/glyphs/slash.spacer.xml create mode 100644 ligature/OperatorMonoSSmLig-Medium/glyphs/underscore.spacer.xml create mode 100644 ligature/OperatorMonoSSmLig-MediumItalic/glyphs/ampersand.spacer.xml create mode 100644 ligature/OperatorMonoSSmLig-MediumItalic/glyphs/bar.spacer.xml create mode 100644 ligature/OperatorMonoSSmLig-MediumItalic/glyphs/colon.spacer.xml create mode 100644 ligature/OperatorMonoSSmLig-MediumItalic/glyphs/equal.spacer.xml create mode 100644 ligature/OperatorMonoSSmLig-MediumItalic/glyphs/exclam.spacer.xml create mode 100644 ligature/OperatorMonoSSmLig-MediumItalic/glyphs/greater.spacer.xml create mode 100644 ligature/OperatorMonoSSmLig-MediumItalic/glyphs/hyphen.spacer.xml create mode 100644 ligature/OperatorMonoSSmLig-MediumItalic/glyphs/less.spacer.xml create mode 100644 ligature/OperatorMonoSSmLig-MediumItalic/glyphs/plus.spacer.xml create mode 100644 ligature/OperatorMonoSSmLig-MediumItalic/glyphs/question.spacer.xml create mode 100644 ligature/OperatorMonoSSmLig-MediumItalic/glyphs/slash.spacer.xml create mode 100644 ligature/OperatorMonoSSmLig-MediumItalic/glyphs/underscore.spacer.xml diff --git a/genspacers.js b/genspacers.js new file mode 100644 index 0000000..9691535 --- /dev/null +++ b/genspacers.js @@ -0,0 +1,36 @@ +const fs = require('fs'); +const lig = ` + + endchar + + + +`; + +fs.readdirSync('./ligature') + .filter((f) => !!f.match(/^OperatorMono/)) + .forEach((f) => { + console.log(f); + fs.readdirSync(`./ligature/${f}/glyphs`) + .filter((g) => !!g.match(/\.liga\.xml$/)) + .forEach((g) => { + console.log(g); + g.split('.') + .slice(0, 1) + .forEach((l) => { + l.split('_').forEach((c) => { + const path = `./ligature/${f}/glyphs/${c}.spacer.xml`; + const exists = fs.existsSync(path); + console.log(path, exists); + if (exists) return; + + const width = !!f.match(/SSm/) ? 625 : 600; + const spacer = lig + .replace('LIG', `${c}.spacer`) + .replace('625', width); + console.log(f, c, width); + fs.writeFileSync(path, spacer); + }); + }); + }); + }); diff --git a/ligature/OperatorMonoLig-Book/glyphs/ampersand.spacer.xml b/ligature/OperatorMonoLig-Book/glyphs/ampersand.spacer.xml new file mode 100644 index 0000000..642565d --- /dev/null +++ b/ligature/OperatorMonoLig-Book/glyphs/ampersand.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoLig-Book/glyphs/bar.spacer.xml b/ligature/OperatorMonoLig-Book/glyphs/bar.spacer.xml new file mode 100644 index 0000000..ba71fed --- /dev/null +++ b/ligature/OperatorMonoLig-Book/glyphs/bar.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoLig-Book/glyphs/colon.spacer.xml b/ligature/OperatorMonoLig-Book/glyphs/colon.spacer.xml new file mode 100644 index 0000000..0c827fa --- /dev/null +++ b/ligature/OperatorMonoLig-Book/glyphs/colon.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoLig-Book/glyphs/equal.spacer.xml b/ligature/OperatorMonoLig-Book/glyphs/equal.spacer.xml new file mode 100644 index 0000000..8fa0da2 --- /dev/null +++ b/ligature/OperatorMonoLig-Book/glyphs/equal.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoLig-Book/glyphs/exclam.spacer.xml b/ligature/OperatorMonoLig-Book/glyphs/exclam.spacer.xml new file mode 100644 index 0000000..28af16a --- /dev/null +++ b/ligature/OperatorMonoLig-Book/glyphs/exclam.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoLig-Book/glyphs/greater.spacer.xml b/ligature/OperatorMonoLig-Book/glyphs/greater.spacer.xml new file mode 100644 index 0000000..48c6c83 --- /dev/null +++ b/ligature/OperatorMonoLig-Book/glyphs/greater.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoLig-Book/glyphs/hyphen.spacer.xml b/ligature/OperatorMonoLig-Book/glyphs/hyphen.spacer.xml new file mode 100644 index 0000000..24f91d1 --- /dev/null +++ b/ligature/OperatorMonoLig-Book/glyphs/hyphen.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoLig-Book/glyphs/less.spacer.xml b/ligature/OperatorMonoLig-Book/glyphs/less.spacer.xml new file mode 100644 index 0000000..61f858f --- /dev/null +++ b/ligature/OperatorMonoLig-Book/glyphs/less.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoLig-Book/glyphs/plus.spacer.xml b/ligature/OperatorMonoLig-Book/glyphs/plus.spacer.xml new file mode 100644 index 0000000..c13a849 --- /dev/null +++ b/ligature/OperatorMonoLig-Book/glyphs/plus.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoLig-Book/glyphs/question.spacer.xml b/ligature/OperatorMonoLig-Book/glyphs/question.spacer.xml new file mode 100644 index 0000000..b456318 --- /dev/null +++ b/ligature/OperatorMonoLig-Book/glyphs/question.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoLig-Book/glyphs/slash.spacer.xml b/ligature/OperatorMonoLig-Book/glyphs/slash.spacer.xml new file mode 100644 index 0000000..229491b --- /dev/null +++ b/ligature/OperatorMonoLig-Book/glyphs/slash.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoLig-Book/glyphs/underscore.spacer.xml b/ligature/OperatorMonoLig-Book/glyphs/underscore.spacer.xml new file mode 100644 index 0000000..ec5444d --- /dev/null +++ b/ligature/OperatorMonoLig-Book/glyphs/underscore.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoLig-BookItalic/glyphs/ampersand.spacer.xml b/ligature/OperatorMonoLig-BookItalic/glyphs/ampersand.spacer.xml new file mode 100644 index 0000000..642565d --- /dev/null +++ b/ligature/OperatorMonoLig-BookItalic/glyphs/ampersand.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoLig-BookItalic/glyphs/bar.spacer.xml b/ligature/OperatorMonoLig-BookItalic/glyphs/bar.spacer.xml new file mode 100644 index 0000000..ba71fed --- /dev/null +++ b/ligature/OperatorMonoLig-BookItalic/glyphs/bar.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoLig-BookItalic/glyphs/colon.spacer.xml b/ligature/OperatorMonoLig-BookItalic/glyphs/colon.spacer.xml new file mode 100644 index 0000000..0c827fa --- /dev/null +++ b/ligature/OperatorMonoLig-BookItalic/glyphs/colon.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoLig-BookItalic/glyphs/equal.spacer.xml b/ligature/OperatorMonoLig-BookItalic/glyphs/equal.spacer.xml new file mode 100644 index 0000000..8fa0da2 --- /dev/null +++ b/ligature/OperatorMonoLig-BookItalic/glyphs/equal.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoLig-BookItalic/glyphs/exclam.spacer.xml b/ligature/OperatorMonoLig-BookItalic/glyphs/exclam.spacer.xml new file mode 100644 index 0000000..28af16a --- /dev/null +++ b/ligature/OperatorMonoLig-BookItalic/glyphs/exclam.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoLig-BookItalic/glyphs/greater.spacer.xml b/ligature/OperatorMonoLig-BookItalic/glyphs/greater.spacer.xml new file mode 100644 index 0000000..48c6c83 --- /dev/null +++ b/ligature/OperatorMonoLig-BookItalic/glyphs/greater.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoLig-BookItalic/glyphs/hyphen.spacer.xml b/ligature/OperatorMonoLig-BookItalic/glyphs/hyphen.spacer.xml new file mode 100644 index 0000000..24f91d1 --- /dev/null +++ b/ligature/OperatorMonoLig-BookItalic/glyphs/hyphen.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoLig-BookItalic/glyphs/less.spacer.xml b/ligature/OperatorMonoLig-BookItalic/glyphs/less.spacer.xml new file mode 100644 index 0000000..61f858f --- /dev/null +++ b/ligature/OperatorMonoLig-BookItalic/glyphs/less.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoLig-BookItalic/glyphs/plus.spacer.xml b/ligature/OperatorMonoLig-BookItalic/glyphs/plus.spacer.xml new file mode 100644 index 0000000..c13a849 --- /dev/null +++ b/ligature/OperatorMonoLig-BookItalic/glyphs/plus.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoLig-BookItalic/glyphs/question.spacer.xml b/ligature/OperatorMonoLig-BookItalic/glyphs/question.spacer.xml new file mode 100644 index 0000000..b456318 --- /dev/null +++ b/ligature/OperatorMonoLig-BookItalic/glyphs/question.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoLig-BookItalic/glyphs/slash.spacer.xml b/ligature/OperatorMonoLig-BookItalic/glyphs/slash.spacer.xml new file mode 100644 index 0000000..229491b --- /dev/null +++ b/ligature/OperatorMonoLig-BookItalic/glyphs/slash.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoLig-BookItalic/glyphs/underscore.spacer.xml b/ligature/OperatorMonoLig-BookItalic/glyphs/underscore.spacer.xml new file mode 100644 index 0000000..ec5444d --- /dev/null +++ b/ligature/OperatorMonoLig-BookItalic/glyphs/underscore.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoLig-Light/glyphs/ampersand.spacer.xml b/ligature/OperatorMonoLig-Light/glyphs/ampersand.spacer.xml new file mode 100644 index 0000000..642565d --- /dev/null +++ b/ligature/OperatorMonoLig-Light/glyphs/ampersand.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoLig-Light/glyphs/bar.spacer.xml b/ligature/OperatorMonoLig-Light/glyphs/bar.spacer.xml new file mode 100644 index 0000000..ba71fed --- /dev/null +++ b/ligature/OperatorMonoLig-Light/glyphs/bar.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoLig-Light/glyphs/colon.spacer.xml b/ligature/OperatorMonoLig-Light/glyphs/colon.spacer.xml new file mode 100644 index 0000000..0c827fa --- /dev/null +++ b/ligature/OperatorMonoLig-Light/glyphs/colon.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoLig-Light/glyphs/equal.spacer.xml b/ligature/OperatorMonoLig-Light/glyphs/equal.spacer.xml new file mode 100644 index 0000000..8fa0da2 --- /dev/null +++ b/ligature/OperatorMonoLig-Light/glyphs/equal.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoLig-Light/glyphs/exclam.spacer.xml b/ligature/OperatorMonoLig-Light/glyphs/exclam.spacer.xml new file mode 100644 index 0000000..28af16a --- /dev/null +++ b/ligature/OperatorMonoLig-Light/glyphs/exclam.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoLig-Light/glyphs/greater.spacer.xml b/ligature/OperatorMonoLig-Light/glyphs/greater.spacer.xml new file mode 100644 index 0000000..48c6c83 --- /dev/null +++ b/ligature/OperatorMonoLig-Light/glyphs/greater.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoLig-Light/glyphs/hyphen.spacer.xml b/ligature/OperatorMonoLig-Light/glyphs/hyphen.spacer.xml new file mode 100644 index 0000000..24f91d1 --- /dev/null +++ b/ligature/OperatorMonoLig-Light/glyphs/hyphen.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoLig-Light/glyphs/less.spacer.xml b/ligature/OperatorMonoLig-Light/glyphs/less.spacer.xml new file mode 100644 index 0000000..61f858f --- /dev/null +++ b/ligature/OperatorMonoLig-Light/glyphs/less.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoLig-Light/glyphs/plus.spacer.xml b/ligature/OperatorMonoLig-Light/glyphs/plus.spacer.xml new file mode 100644 index 0000000..c13a849 --- /dev/null +++ b/ligature/OperatorMonoLig-Light/glyphs/plus.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoLig-Light/glyphs/question.spacer.xml b/ligature/OperatorMonoLig-Light/glyphs/question.spacer.xml new file mode 100644 index 0000000..b456318 --- /dev/null +++ b/ligature/OperatorMonoLig-Light/glyphs/question.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoLig-Light/glyphs/slash.spacer.xml b/ligature/OperatorMonoLig-Light/glyphs/slash.spacer.xml new file mode 100644 index 0000000..229491b --- /dev/null +++ b/ligature/OperatorMonoLig-Light/glyphs/slash.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoLig-Light/glyphs/underscore.spacer.xml b/ligature/OperatorMonoLig-Light/glyphs/underscore.spacer.xml new file mode 100644 index 0000000..ec5444d --- /dev/null +++ b/ligature/OperatorMonoLig-Light/glyphs/underscore.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoLig-LightItalic/glyphs/ampersand.spacer.xml b/ligature/OperatorMonoLig-LightItalic/glyphs/ampersand.spacer.xml new file mode 100644 index 0000000..642565d --- /dev/null +++ b/ligature/OperatorMonoLig-LightItalic/glyphs/ampersand.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoLig-LightItalic/glyphs/bar.spacer.xml b/ligature/OperatorMonoLig-LightItalic/glyphs/bar.spacer.xml new file mode 100644 index 0000000..ba71fed --- /dev/null +++ b/ligature/OperatorMonoLig-LightItalic/glyphs/bar.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoLig-LightItalic/glyphs/colon.spacer.xml b/ligature/OperatorMonoLig-LightItalic/glyphs/colon.spacer.xml new file mode 100644 index 0000000..0c827fa --- /dev/null +++ b/ligature/OperatorMonoLig-LightItalic/glyphs/colon.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoLig-LightItalic/glyphs/equal.spacer.xml b/ligature/OperatorMonoLig-LightItalic/glyphs/equal.spacer.xml new file mode 100644 index 0000000..8fa0da2 --- /dev/null +++ b/ligature/OperatorMonoLig-LightItalic/glyphs/equal.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoLig-LightItalic/glyphs/exclam.spacer.xml b/ligature/OperatorMonoLig-LightItalic/glyphs/exclam.spacer.xml new file mode 100644 index 0000000..28af16a --- /dev/null +++ b/ligature/OperatorMonoLig-LightItalic/glyphs/exclam.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoLig-LightItalic/glyphs/greater.spacer.xml b/ligature/OperatorMonoLig-LightItalic/glyphs/greater.spacer.xml new file mode 100644 index 0000000..48c6c83 --- /dev/null +++ b/ligature/OperatorMonoLig-LightItalic/glyphs/greater.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoLig-LightItalic/glyphs/hyphen.spacer.xml b/ligature/OperatorMonoLig-LightItalic/glyphs/hyphen.spacer.xml new file mode 100644 index 0000000..24f91d1 --- /dev/null +++ b/ligature/OperatorMonoLig-LightItalic/glyphs/hyphen.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoLig-LightItalic/glyphs/less.spacer.xml b/ligature/OperatorMonoLig-LightItalic/glyphs/less.spacer.xml new file mode 100644 index 0000000..61f858f --- /dev/null +++ b/ligature/OperatorMonoLig-LightItalic/glyphs/less.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoLig-LightItalic/glyphs/plus.spacer.xml b/ligature/OperatorMonoLig-LightItalic/glyphs/plus.spacer.xml new file mode 100644 index 0000000..c13a849 --- /dev/null +++ b/ligature/OperatorMonoLig-LightItalic/glyphs/plus.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoLig-LightItalic/glyphs/question.spacer.xml b/ligature/OperatorMonoLig-LightItalic/glyphs/question.spacer.xml new file mode 100644 index 0000000..b456318 --- /dev/null +++ b/ligature/OperatorMonoLig-LightItalic/glyphs/question.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoLig-LightItalic/glyphs/slash.spacer.xml b/ligature/OperatorMonoLig-LightItalic/glyphs/slash.spacer.xml new file mode 100644 index 0000000..229491b --- /dev/null +++ b/ligature/OperatorMonoLig-LightItalic/glyphs/slash.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoLig-LightItalic/glyphs/underscore.spacer.xml b/ligature/OperatorMonoLig-LightItalic/glyphs/underscore.spacer.xml new file mode 100644 index 0000000..ec5444d --- /dev/null +++ b/ligature/OperatorMonoLig-LightItalic/glyphs/underscore.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoSSmLig-Bold/glyphs/ampersand.spacer.xml b/ligature/OperatorMonoSSmLig-Bold/glyphs/ampersand.spacer.xml new file mode 100644 index 0000000..d2b9549 --- /dev/null +++ b/ligature/OperatorMonoSSmLig-Bold/glyphs/ampersand.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoSSmLig-Bold/glyphs/bar.spacer.xml b/ligature/OperatorMonoSSmLig-Bold/glyphs/bar.spacer.xml new file mode 100644 index 0000000..3852279 --- /dev/null +++ b/ligature/OperatorMonoSSmLig-Bold/glyphs/bar.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoSSmLig-Bold/glyphs/colon.spacer.xml b/ligature/OperatorMonoSSmLig-Bold/glyphs/colon.spacer.xml new file mode 100644 index 0000000..2268aa9 --- /dev/null +++ b/ligature/OperatorMonoSSmLig-Bold/glyphs/colon.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoSSmLig-Bold/glyphs/equal.spacer.xml b/ligature/OperatorMonoSSmLig-Bold/glyphs/equal.spacer.xml new file mode 100644 index 0000000..cc4594e --- /dev/null +++ b/ligature/OperatorMonoSSmLig-Bold/glyphs/equal.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoSSmLig-Bold/glyphs/exclam.spacer.xml b/ligature/OperatorMonoSSmLig-Bold/glyphs/exclam.spacer.xml new file mode 100644 index 0000000..eb1625b --- /dev/null +++ b/ligature/OperatorMonoSSmLig-Bold/glyphs/exclam.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoSSmLig-Bold/glyphs/greater.spacer.xml b/ligature/OperatorMonoSSmLig-Bold/glyphs/greater.spacer.xml new file mode 100644 index 0000000..499ba48 --- /dev/null +++ b/ligature/OperatorMonoSSmLig-Bold/glyphs/greater.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoSSmLig-Bold/glyphs/hyphen.spacer.xml b/ligature/OperatorMonoSSmLig-Bold/glyphs/hyphen.spacer.xml new file mode 100644 index 0000000..b7a54c7 --- /dev/null +++ b/ligature/OperatorMonoSSmLig-Bold/glyphs/hyphen.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoSSmLig-Bold/glyphs/less.spacer.xml b/ligature/OperatorMonoSSmLig-Bold/glyphs/less.spacer.xml new file mode 100644 index 0000000..f7b817b --- /dev/null +++ b/ligature/OperatorMonoSSmLig-Bold/glyphs/less.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoSSmLig-Bold/glyphs/plus.spacer.xml b/ligature/OperatorMonoSSmLig-Bold/glyphs/plus.spacer.xml new file mode 100644 index 0000000..9d06922 --- /dev/null +++ b/ligature/OperatorMonoSSmLig-Bold/glyphs/plus.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoSSmLig-Bold/glyphs/question.spacer.xml b/ligature/OperatorMonoSSmLig-Bold/glyphs/question.spacer.xml new file mode 100644 index 0000000..b1af0af --- /dev/null +++ b/ligature/OperatorMonoSSmLig-Bold/glyphs/question.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoSSmLig-Bold/glyphs/slash.spacer.xml b/ligature/OperatorMonoSSmLig-Bold/glyphs/slash.spacer.xml new file mode 100644 index 0000000..c021733 --- /dev/null +++ b/ligature/OperatorMonoSSmLig-Bold/glyphs/slash.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoSSmLig-Bold/glyphs/underscore.spacer.xml b/ligature/OperatorMonoSSmLig-Bold/glyphs/underscore.spacer.xml new file mode 100644 index 0000000..0f22206 --- /dev/null +++ b/ligature/OperatorMonoSSmLig-Bold/glyphs/underscore.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoSSmLig-BoldItalic/glyphs/ampersand.spacer.xml b/ligature/OperatorMonoSSmLig-BoldItalic/glyphs/ampersand.spacer.xml new file mode 100644 index 0000000..d2b9549 --- /dev/null +++ b/ligature/OperatorMonoSSmLig-BoldItalic/glyphs/ampersand.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoSSmLig-BoldItalic/glyphs/bar.spacer.xml b/ligature/OperatorMonoSSmLig-BoldItalic/glyphs/bar.spacer.xml new file mode 100644 index 0000000..3852279 --- /dev/null +++ b/ligature/OperatorMonoSSmLig-BoldItalic/glyphs/bar.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoSSmLig-BoldItalic/glyphs/colon.spacer.xml b/ligature/OperatorMonoSSmLig-BoldItalic/glyphs/colon.spacer.xml new file mode 100644 index 0000000..2268aa9 --- /dev/null +++ b/ligature/OperatorMonoSSmLig-BoldItalic/glyphs/colon.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoSSmLig-BoldItalic/glyphs/equal.spacer.xml b/ligature/OperatorMonoSSmLig-BoldItalic/glyphs/equal.spacer.xml new file mode 100644 index 0000000..cc4594e --- /dev/null +++ b/ligature/OperatorMonoSSmLig-BoldItalic/glyphs/equal.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoSSmLig-BoldItalic/glyphs/exclam.spacer.xml b/ligature/OperatorMonoSSmLig-BoldItalic/glyphs/exclam.spacer.xml new file mode 100644 index 0000000..eb1625b --- /dev/null +++ b/ligature/OperatorMonoSSmLig-BoldItalic/glyphs/exclam.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoSSmLig-BoldItalic/glyphs/greater.spacer.xml b/ligature/OperatorMonoSSmLig-BoldItalic/glyphs/greater.spacer.xml new file mode 100644 index 0000000..499ba48 --- /dev/null +++ b/ligature/OperatorMonoSSmLig-BoldItalic/glyphs/greater.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoSSmLig-BoldItalic/glyphs/hyphen.spacer.xml b/ligature/OperatorMonoSSmLig-BoldItalic/glyphs/hyphen.spacer.xml new file mode 100644 index 0000000..b7a54c7 --- /dev/null +++ b/ligature/OperatorMonoSSmLig-BoldItalic/glyphs/hyphen.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoSSmLig-BoldItalic/glyphs/less.spacer.xml b/ligature/OperatorMonoSSmLig-BoldItalic/glyphs/less.spacer.xml new file mode 100644 index 0000000..f7b817b --- /dev/null +++ b/ligature/OperatorMonoSSmLig-BoldItalic/glyphs/less.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoSSmLig-BoldItalic/glyphs/plus.spacer.xml b/ligature/OperatorMonoSSmLig-BoldItalic/glyphs/plus.spacer.xml new file mode 100644 index 0000000..9d06922 --- /dev/null +++ b/ligature/OperatorMonoSSmLig-BoldItalic/glyphs/plus.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoSSmLig-BoldItalic/glyphs/question.spacer.xml b/ligature/OperatorMonoSSmLig-BoldItalic/glyphs/question.spacer.xml new file mode 100644 index 0000000..b1af0af --- /dev/null +++ b/ligature/OperatorMonoSSmLig-BoldItalic/glyphs/question.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoSSmLig-BoldItalic/glyphs/slash.spacer.xml b/ligature/OperatorMonoSSmLig-BoldItalic/glyphs/slash.spacer.xml new file mode 100644 index 0000000..c021733 --- /dev/null +++ b/ligature/OperatorMonoSSmLig-BoldItalic/glyphs/slash.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoSSmLig-BoldItalic/glyphs/underscore.spacer.xml b/ligature/OperatorMonoSSmLig-BoldItalic/glyphs/underscore.spacer.xml new file mode 100644 index 0000000..0f22206 --- /dev/null +++ b/ligature/OperatorMonoSSmLig-BoldItalic/glyphs/underscore.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoSSmLig-Book/glyphs/ampersand.spacer.xml b/ligature/OperatorMonoSSmLig-Book/glyphs/ampersand.spacer.xml new file mode 100644 index 0000000..d2b9549 --- /dev/null +++ b/ligature/OperatorMonoSSmLig-Book/glyphs/ampersand.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoSSmLig-Book/glyphs/bar.spacer.xml b/ligature/OperatorMonoSSmLig-Book/glyphs/bar.spacer.xml new file mode 100644 index 0000000..3852279 --- /dev/null +++ b/ligature/OperatorMonoSSmLig-Book/glyphs/bar.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoSSmLig-Book/glyphs/colon.spacer.xml b/ligature/OperatorMonoSSmLig-Book/glyphs/colon.spacer.xml new file mode 100644 index 0000000..2268aa9 --- /dev/null +++ b/ligature/OperatorMonoSSmLig-Book/glyphs/colon.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoSSmLig-Book/glyphs/equal.spacer.xml b/ligature/OperatorMonoSSmLig-Book/glyphs/equal.spacer.xml new file mode 100644 index 0000000..cc4594e --- /dev/null +++ b/ligature/OperatorMonoSSmLig-Book/glyphs/equal.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoSSmLig-Book/glyphs/exclam.spacer.xml b/ligature/OperatorMonoSSmLig-Book/glyphs/exclam.spacer.xml new file mode 100644 index 0000000..eb1625b --- /dev/null +++ b/ligature/OperatorMonoSSmLig-Book/glyphs/exclam.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoSSmLig-Book/glyphs/greater.spacer.xml b/ligature/OperatorMonoSSmLig-Book/glyphs/greater.spacer.xml new file mode 100644 index 0000000..499ba48 --- /dev/null +++ b/ligature/OperatorMonoSSmLig-Book/glyphs/greater.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoSSmLig-Book/glyphs/hyphen.spacer.xml b/ligature/OperatorMonoSSmLig-Book/glyphs/hyphen.spacer.xml new file mode 100644 index 0000000..b7a54c7 --- /dev/null +++ b/ligature/OperatorMonoSSmLig-Book/glyphs/hyphen.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoSSmLig-Book/glyphs/less.spacer.xml b/ligature/OperatorMonoSSmLig-Book/glyphs/less.spacer.xml new file mode 100644 index 0000000..f7b817b --- /dev/null +++ b/ligature/OperatorMonoSSmLig-Book/glyphs/less.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoSSmLig-Book/glyphs/plus.spacer.xml b/ligature/OperatorMonoSSmLig-Book/glyphs/plus.spacer.xml new file mode 100644 index 0000000..9d06922 --- /dev/null +++ b/ligature/OperatorMonoSSmLig-Book/glyphs/plus.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoSSmLig-Book/glyphs/question.spacer.xml b/ligature/OperatorMonoSSmLig-Book/glyphs/question.spacer.xml new file mode 100644 index 0000000..b1af0af --- /dev/null +++ b/ligature/OperatorMonoSSmLig-Book/glyphs/question.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoSSmLig-Book/glyphs/slash.spacer.xml b/ligature/OperatorMonoSSmLig-Book/glyphs/slash.spacer.xml new file mode 100644 index 0000000..c021733 --- /dev/null +++ b/ligature/OperatorMonoSSmLig-Book/glyphs/slash.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoSSmLig-Book/glyphs/underscore.spacer.xml b/ligature/OperatorMonoSSmLig-Book/glyphs/underscore.spacer.xml new file mode 100644 index 0000000..0f22206 --- /dev/null +++ b/ligature/OperatorMonoSSmLig-Book/glyphs/underscore.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoSSmLig-Book/glyphs/w.spacer.xml b/ligature/OperatorMonoSSmLig-Book/glyphs/w.spacer.xml new file mode 100644 index 0000000..dfcb967 --- /dev/null +++ b/ligature/OperatorMonoSSmLig-Book/glyphs/w.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoSSmLig-BookItalic/glyphs/ampersand.spacer.xml b/ligature/OperatorMonoSSmLig-BookItalic/glyphs/ampersand.spacer.xml new file mode 100644 index 0000000..d2b9549 --- /dev/null +++ b/ligature/OperatorMonoSSmLig-BookItalic/glyphs/ampersand.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoSSmLig-BookItalic/glyphs/bar.spacer.xml b/ligature/OperatorMonoSSmLig-BookItalic/glyphs/bar.spacer.xml new file mode 100644 index 0000000..3852279 --- /dev/null +++ b/ligature/OperatorMonoSSmLig-BookItalic/glyphs/bar.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoSSmLig-BookItalic/glyphs/colon.spacer.xml b/ligature/OperatorMonoSSmLig-BookItalic/glyphs/colon.spacer.xml new file mode 100644 index 0000000..2268aa9 --- /dev/null +++ b/ligature/OperatorMonoSSmLig-BookItalic/glyphs/colon.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoSSmLig-BookItalic/glyphs/equal.spacer.xml b/ligature/OperatorMonoSSmLig-BookItalic/glyphs/equal.spacer.xml new file mode 100644 index 0000000..cc4594e --- /dev/null +++ b/ligature/OperatorMonoSSmLig-BookItalic/glyphs/equal.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoSSmLig-BookItalic/glyphs/exclam.spacer.xml b/ligature/OperatorMonoSSmLig-BookItalic/glyphs/exclam.spacer.xml new file mode 100644 index 0000000..eb1625b --- /dev/null +++ b/ligature/OperatorMonoSSmLig-BookItalic/glyphs/exclam.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoSSmLig-BookItalic/glyphs/greater.spacer.xml b/ligature/OperatorMonoSSmLig-BookItalic/glyphs/greater.spacer.xml new file mode 100644 index 0000000..499ba48 --- /dev/null +++ b/ligature/OperatorMonoSSmLig-BookItalic/glyphs/greater.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoSSmLig-BookItalic/glyphs/hyphen.spacer.xml b/ligature/OperatorMonoSSmLig-BookItalic/glyphs/hyphen.spacer.xml new file mode 100644 index 0000000..b7a54c7 --- /dev/null +++ b/ligature/OperatorMonoSSmLig-BookItalic/glyphs/hyphen.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoSSmLig-BookItalic/glyphs/less.spacer.xml b/ligature/OperatorMonoSSmLig-BookItalic/glyphs/less.spacer.xml new file mode 100644 index 0000000..f7b817b --- /dev/null +++ b/ligature/OperatorMonoSSmLig-BookItalic/glyphs/less.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoSSmLig-BookItalic/glyphs/plus.spacer.xml b/ligature/OperatorMonoSSmLig-BookItalic/glyphs/plus.spacer.xml new file mode 100644 index 0000000..9d06922 --- /dev/null +++ b/ligature/OperatorMonoSSmLig-BookItalic/glyphs/plus.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoSSmLig-BookItalic/glyphs/question.spacer.xml b/ligature/OperatorMonoSSmLig-BookItalic/glyphs/question.spacer.xml new file mode 100644 index 0000000..b1af0af --- /dev/null +++ b/ligature/OperatorMonoSSmLig-BookItalic/glyphs/question.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoSSmLig-BookItalic/glyphs/slash.spacer.xml b/ligature/OperatorMonoSSmLig-BookItalic/glyphs/slash.spacer.xml new file mode 100644 index 0000000..c021733 --- /dev/null +++ b/ligature/OperatorMonoSSmLig-BookItalic/glyphs/slash.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoSSmLig-BookItalic/glyphs/underscore.spacer.xml b/ligature/OperatorMonoSSmLig-BookItalic/glyphs/underscore.spacer.xml new file mode 100644 index 0000000..0f22206 --- /dev/null +++ b/ligature/OperatorMonoSSmLig-BookItalic/glyphs/underscore.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoSSmLig-BookItalic/glyphs/w.spacer.xml b/ligature/OperatorMonoSSmLig-BookItalic/glyphs/w.spacer.xml new file mode 100644 index 0000000..dfcb967 --- /dev/null +++ b/ligature/OperatorMonoSSmLig-BookItalic/glyphs/w.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoSSmLig-Light/glyphs/ampersand.spacer.xml b/ligature/OperatorMonoSSmLig-Light/glyphs/ampersand.spacer.xml new file mode 100644 index 0000000..d2b9549 --- /dev/null +++ b/ligature/OperatorMonoSSmLig-Light/glyphs/ampersand.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoSSmLig-Light/glyphs/bar.spacer.xml b/ligature/OperatorMonoSSmLig-Light/glyphs/bar.spacer.xml new file mode 100644 index 0000000..3852279 --- /dev/null +++ b/ligature/OperatorMonoSSmLig-Light/glyphs/bar.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoSSmLig-Light/glyphs/colon.spacer.xml b/ligature/OperatorMonoSSmLig-Light/glyphs/colon.spacer.xml new file mode 100644 index 0000000..2268aa9 --- /dev/null +++ b/ligature/OperatorMonoSSmLig-Light/glyphs/colon.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoSSmLig-Light/glyphs/equal.spacer.xml b/ligature/OperatorMonoSSmLig-Light/glyphs/equal.spacer.xml new file mode 100644 index 0000000..cc4594e --- /dev/null +++ b/ligature/OperatorMonoSSmLig-Light/glyphs/equal.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoSSmLig-Light/glyphs/exclam.spacer.xml b/ligature/OperatorMonoSSmLig-Light/glyphs/exclam.spacer.xml new file mode 100644 index 0000000..eb1625b --- /dev/null +++ b/ligature/OperatorMonoSSmLig-Light/glyphs/exclam.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoSSmLig-Light/glyphs/greater.spacer.xml b/ligature/OperatorMonoSSmLig-Light/glyphs/greater.spacer.xml new file mode 100644 index 0000000..499ba48 --- /dev/null +++ b/ligature/OperatorMonoSSmLig-Light/glyphs/greater.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoSSmLig-Light/glyphs/hyphen.spacer.xml b/ligature/OperatorMonoSSmLig-Light/glyphs/hyphen.spacer.xml new file mode 100644 index 0000000..b7a54c7 --- /dev/null +++ b/ligature/OperatorMonoSSmLig-Light/glyphs/hyphen.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoSSmLig-Light/glyphs/less.spacer.xml b/ligature/OperatorMonoSSmLig-Light/glyphs/less.spacer.xml new file mode 100644 index 0000000..f7b817b --- /dev/null +++ b/ligature/OperatorMonoSSmLig-Light/glyphs/less.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoSSmLig-Light/glyphs/plus.spacer.xml b/ligature/OperatorMonoSSmLig-Light/glyphs/plus.spacer.xml new file mode 100644 index 0000000..9d06922 --- /dev/null +++ b/ligature/OperatorMonoSSmLig-Light/glyphs/plus.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoSSmLig-Light/glyphs/question.spacer.xml b/ligature/OperatorMonoSSmLig-Light/glyphs/question.spacer.xml new file mode 100644 index 0000000..b1af0af --- /dev/null +++ b/ligature/OperatorMonoSSmLig-Light/glyphs/question.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoSSmLig-Light/glyphs/slash.spacer.xml b/ligature/OperatorMonoSSmLig-Light/glyphs/slash.spacer.xml new file mode 100644 index 0000000..c021733 --- /dev/null +++ b/ligature/OperatorMonoSSmLig-Light/glyphs/slash.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoSSmLig-Light/glyphs/underscore.spacer.xml b/ligature/OperatorMonoSSmLig-Light/glyphs/underscore.spacer.xml new file mode 100644 index 0000000..0f22206 --- /dev/null +++ b/ligature/OperatorMonoSSmLig-Light/glyphs/underscore.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoSSmLig-LightItalic/glyphs/ampersand.spacer.xml b/ligature/OperatorMonoSSmLig-LightItalic/glyphs/ampersand.spacer.xml new file mode 100644 index 0000000..d2b9549 --- /dev/null +++ b/ligature/OperatorMonoSSmLig-LightItalic/glyphs/ampersand.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoSSmLig-LightItalic/glyphs/bar.spacer.xml b/ligature/OperatorMonoSSmLig-LightItalic/glyphs/bar.spacer.xml new file mode 100644 index 0000000..3852279 --- /dev/null +++ b/ligature/OperatorMonoSSmLig-LightItalic/glyphs/bar.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoSSmLig-LightItalic/glyphs/colon.spacer.xml b/ligature/OperatorMonoSSmLig-LightItalic/glyphs/colon.spacer.xml new file mode 100644 index 0000000..2268aa9 --- /dev/null +++ b/ligature/OperatorMonoSSmLig-LightItalic/glyphs/colon.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoSSmLig-LightItalic/glyphs/equal.spacer.xml b/ligature/OperatorMonoSSmLig-LightItalic/glyphs/equal.spacer.xml new file mode 100644 index 0000000..cc4594e --- /dev/null +++ b/ligature/OperatorMonoSSmLig-LightItalic/glyphs/equal.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoSSmLig-LightItalic/glyphs/exclam.spacer.xml b/ligature/OperatorMonoSSmLig-LightItalic/glyphs/exclam.spacer.xml new file mode 100644 index 0000000..eb1625b --- /dev/null +++ b/ligature/OperatorMonoSSmLig-LightItalic/glyphs/exclam.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoSSmLig-LightItalic/glyphs/greater.spacer.xml b/ligature/OperatorMonoSSmLig-LightItalic/glyphs/greater.spacer.xml new file mode 100644 index 0000000..499ba48 --- /dev/null +++ b/ligature/OperatorMonoSSmLig-LightItalic/glyphs/greater.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoSSmLig-LightItalic/glyphs/hyphen.spacer.xml b/ligature/OperatorMonoSSmLig-LightItalic/glyphs/hyphen.spacer.xml new file mode 100644 index 0000000..b7a54c7 --- /dev/null +++ b/ligature/OperatorMonoSSmLig-LightItalic/glyphs/hyphen.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoSSmLig-LightItalic/glyphs/less.spacer.xml b/ligature/OperatorMonoSSmLig-LightItalic/glyphs/less.spacer.xml new file mode 100644 index 0000000..f7b817b --- /dev/null +++ b/ligature/OperatorMonoSSmLig-LightItalic/glyphs/less.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoSSmLig-LightItalic/glyphs/plus.spacer.xml b/ligature/OperatorMonoSSmLig-LightItalic/glyphs/plus.spacer.xml new file mode 100644 index 0000000..9d06922 --- /dev/null +++ b/ligature/OperatorMonoSSmLig-LightItalic/glyphs/plus.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoSSmLig-LightItalic/glyphs/question.spacer.xml b/ligature/OperatorMonoSSmLig-LightItalic/glyphs/question.spacer.xml new file mode 100644 index 0000000..b1af0af --- /dev/null +++ b/ligature/OperatorMonoSSmLig-LightItalic/glyphs/question.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoSSmLig-LightItalic/glyphs/slash.spacer.xml b/ligature/OperatorMonoSSmLig-LightItalic/glyphs/slash.spacer.xml new file mode 100644 index 0000000..c021733 --- /dev/null +++ b/ligature/OperatorMonoSSmLig-LightItalic/glyphs/slash.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoSSmLig-LightItalic/glyphs/underscore.spacer.xml b/ligature/OperatorMonoSSmLig-LightItalic/glyphs/underscore.spacer.xml new file mode 100644 index 0000000..0f22206 --- /dev/null +++ b/ligature/OperatorMonoSSmLig-LightItalic/glyphs/underscore.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoSSmLig-Medium/glyphs/ampersand.spacer.xml b/ligature/OperatorMonoSSmLig-Medium/glyphs/ampersand.spacer.xml new file mode 100644 index 0000000..d2b9549 --- /dev/null +++ b/ligature/OperatorMonoSSmLig-Medium/glyphs/ampersand.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoSSmLig-Medium/glyphs/bar.spacer.xml b/ligature/OperatorMonoSSmLig-Medium/glyphs/bar.spacer.xml new file mode 100644 index 0000000..3852279 --- /dev/null +++ b/ligature/OperatorMonoSSmLig-Medium/glyphs/bar.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoSSmLig-Medium/glyphs/colon.spacer.xml b/ligature/OperatorMonoSSmLig-Medium/glyphs/colon.spacer.xml new file mode 100644 index 0000000..2268aa9 --- /dev/null +++ b/ligature/OperatorMonoSSmLig-Medium/glyphs/colon.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoSSmLig-Medium/glyphs/equal.spacer.xml b/ligature/OperatorMonoSSmLig-Medium/glyphs/equal.spacer.xml new file mode 100644 index 0000000..cc4594e --- /dev/null +++ b/ligature/OperatorMonoSSmLig-Medium/glyphs/equal.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoSSmLig-Medium/glyphs/exclam.spacer.xml b/ligature/OperatorMonoSSmLig-Medium/glyphs/exclam.spacer.xml new file mode 100644 index 0000000..eb1625b --- /dev/null +++ b/ligature/OperatorMonoSSmLig-Medium/glyphs/exclam.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoSSmLig-Medium/glyphs/greater.spacer.xml b/ligature/OperatorMonoSSmLig-Medium/glyphs/greater.spacer.xml new file mode 100644 index 0000000..499ba48 --- /dev/null +++ b/ligature/OperatorMonoSSmLig-Medium/glyphs/greater.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoSSmLig-Medium/glyphs/hyphen.spacer.xml b/ligature/OperatorMonoSSmLig-Medium/glyphs/hyphen.spacer.xml new file mode 100644 index 0000000..b7a54c7 --- /dev/null +++ b/ligature/OperatorMonoSSmLig-Medium/glyphs/hyphen.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoSSmLig-Medium/glyphs/less.spacer.xml b/ligature/OperatorMonoSSmLig-Medium/glyphs/less.spacer.xml new file mode 100644 index 0000000..f7b817b --- /dev/null +++ b/ligature/OperatorMonoSSmLig-Medium/glyphs/less.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoSSmLig-Medium/glyphs/plus.spacer.xml b/ligature/OperatorMonoSSmLig-Medium/glyphs/plus.spacer.xml new file mode 100644 index 0000000..9d06922 --- /dev/null +++ b/ligature/OperatorMonoSSmLig-Medium/glyphs/plus.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoSSmLig-Medium/glyphs/question.spacer.xml b/ligature/OperatorMonoSSmLig-Medium/glyphs/question.spacer.xml new file mode 100644 index 0000000..b1af0af --- /dev/null +++ b/ligature/OperatorMonoSSmLig-Medium/glyphs/question.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoSSmLig-Medium/glyphs/slash.spacer.xml b/ligature/OperatorMonoSSmLig-Medium/glyphs/slash.spacer.xml new file mode 100644 index 0000000..c021733 --- /dev/null +++ b/ligature/OperatorMonoSSmLig-Medium/glyphs/slash.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoSSmLig-Medium/glyphs/underscore.spacer.xml b/ligature/OperatorMonoSSmLig-Medium/glyphs/underscore.spacer.xml new file mode 100644 index 0000000..0f22206 --- /dev/null +++ b/ligature/OperatorMonoSSmLig-Medium/glyphs/underscore.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoSSmLig-MediumItalic/glyphs/ampersand.spacer.xml b/ligature/OperatorMonoSSmLig-MediumItalic/glyphs/ampersand.spacer.xml new file mode 100644 index 0000000..d2b9549 --- /dev/null +++ b/ligature/OperatorMonoSSmLig-MediumItalic/glyphs/ampersand.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoSSmLig-MediumItalic/glyphs/bar.spacer.xml b/ligature/OperatorMonoSSmLig-MediumItalic/glyphs/bar.spacer.xml new file mode 100644 index 0000000..3852279 --- /dev/null +++ b/ligature/OperatorMonoSSmLig-MediumItalic/glyphs/bar.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoSSmLig-MediumItalic/glyphs/colon.spacer.xml b/ligature/OperatorMonoSSmLig-MediumItalic/glyphs/colon.spacer.xml new file mode 100644 index 0000000..2268aa9 --- /dev/null +++ b/ligature/OperatorMonoSSmLig-MediumItalic/glyphs/colon.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoSSmLig-MediumItalic/glyphs/equal.spacer.xml b/ligature/OperatorMonoSSmLig-MediumItalic/glyphs/equal.spacer.xml new file mode 100644 index 0000000..cc4594e --- /dev/null +++ b/ligature/OperatorMonoSSmLig-MediumItalic/glyphs/equal.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoSSmLig-MediumItalic/glyphs/exclam.spacer.xml b/ligature/OperatorMonoSSmLig-MediumItalic/glyphs/exclam.spacer.xml new file mode 100644 index 0000000..eb1625b --- /dev/null +++ b/ligature/OperatorMonoSSmLig-MediumItalic/glyphs/exclam.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoSSmLig-MediumItalic/glyphs/greater.spacer.xml b/ligature/OperatorMonoSSmLig-MediumItalic/glyphs/greater.spacer.xml new file mode 100644 index 0000000..499ba48 --- /dev/null +++ b/ligature/OperatorMonoSSmLig-MediumItalic/glyphs/greater.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoSSmLig-MediumItalic/glyphs/hyphen.spacer.xml b/ligature/OperatorMonoSSmLig-MediumItalic/glyphs/hyphen.spacer.xml new file mode 100644 index 0000000..b7a54c7 --- /dev/null +++ b/ligature/OperatorMonoSSmLig-MediumItalic/glyphs/hyphen.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoSSmLig-MediumItalic/glyphs/less.spacer.xml b/ligature/OperatorMonoSSmLig-MediumItalic/glyphs/less.spacer.xml new file mode 100644 index 0000000..f7b817b --- /dev/null +++ b/ligature/OperatorMonoSSmLig-MediumItalic/glyphs/less.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoSSmLig-MediumItalic/glyphs/plus.spacer.xml b/ligature/OperatorMonoSSmLig-MediumItalic/glyphs/plus.spacer.xml new file mode 100644 index 0000000..9d06922 --- /dev/null +++ b/ligature/OperatorMonoSSmLig-MediumItalic/glyphs/plus.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoSSmLig-MediumItalic/glyphs/question.spacer.xml b/ligature/OperatorMonoSSmLig-MediumItalic/glyphs/question.spacer.xml new file mode 100644 index 0000000..b1af0af --- /dev/null +++ b/ligature/OperatorMonoSSmLig-MediumItalic/glyphs/question.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoSSmLig-MediumItalic/glyphs/slash.spacer.xml b/ligature/OperatorMonoSSmLig-MediumItalic/glyphs/slash.spacer.xml new file mode 100644 index 0000000..c021733 --- /dev/null +++ b/ligature/OperatorMonoSSmLig-MediumItalic/glyphs/slash.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature/OperatorMonoSSmLig-MediumItalic/glyphs/underscore.spacer.xml b/ligature/OperatorMonoSSmLig-MediumItalic/glyphs/underscore.spacer.xml new file mode 100644 index 0000000..0f22206 --- /dev/null +++ b/ligature/OperatorMonoSSmLig-MediumItalic/glyphs/underscore.spacer.xml @@ -0,0 +1,7 @@ + + + endchar + + + + \ No newline at end of file diff --git a/ligature_source/glyphs b/ligature_source/glyphs index 57b8324..dac91c2 100644 --- a/ligature_source/glyphs +++ b/ligature_source/glyphs @@ -2,7 +2,7 @@ # includes patterns *.liga # all ligatures - +*.spacer percent.alt # alternate % sign uniE0A0 # Powerline branch From 66fd3f94a1be78abcf4d75c68966ad87c7d9d4c3 Mon Sep 17 00:00:00 2001 From: kiliman Date: Sun, 13 Dec 2020 10:04:27 -0500 Subject: [PATCH 2/6] =?UTF-8?q?=F0=9F=99=88=20Ignore=20all=20files=20in=20?= =?UTF-8?q?.vscode?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index eca52a5..6576556 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,5 @@ build node_modules .idea -.vscode/launch.json +.vscode .DS_Store From 445828c8bf66938092e81fbead0dd80a128be4f7 Mon Sep 17 00:00:00 2001 From: kiliman Date: Sun, 13 Dec 2020 10:05:41 -0500 Subject: [PATCH 3/6] =?UTF-8?q?=E2=9C=A8=20Add=20function=20to=20generate?= =?UTF-8?q?=20calt=20feature=20file?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- calt.js | 66 +++++++++++++++++++++++++++++++++++++++++++++ features/.gitignore | 1 + 2 files changed, 67 insertions(+) create mode 100644 calt.js create mode 100644 features/.gitignore diff --git a/calt.js b/calt.js new file mode 100644 index 0000000..4d0a9ba --- /dev/null +++ b/calt.js @@ -0,0 +1,66 @@ +const fs = require('fs'); + +const rules = [ + , + ` +lookup 1 { + sub 1 by glyph; +} 1;`, + ` +lookup 1_2 { + ignore sub 1 1' 2; + ignore sub 1' 2 2; + sub 1.spacer 2' by glyph; + sub 1' 2 by 1.spacer; +} 1_2;`, + ` +lookup 1_2_3 { + ignore sub 1 1' 2 3; + ignore sub 1' 2 3 3; + sub 1.spacer 2.spacer 3' by glyph; + sub 1.spacer 2' 3 by 2.spacer; + sub 1' 2 3 by 1.spacer; +} 1_2_3;`, + ` +lookup 1_2_3_4 { + ignore sub 1 1' 2 3 4; + ignore sub 1' 2 3 4 4; + sub 1.spacer 2.spacer 3.spacer 4' by glyph; + sub 1.spacer 2.spacer 3' 4 by 3.spacer; + sub 1.spacer 2' 3 4 by 2.spacer; + sub 1' 2 3 4 by 1.spacer; +} 1_2_3_4;`, +]; + +const gencalt = (ligatures) => { + let calt = 'feature calt {\n'; + const ligs = {}; + console.log(ligatures); + + ligatures + .filter((l) => !!l.name.match(/\.liga$/) || l.name !== l.glyph) + .map((l) => l.glyph) + .sort((a, b) => { + const length = b.split('_').length - a.split('_').length; + if (length !== 0) return length; + return a < b ? -1 : 1; + }) + .forEach((g) => { + g.split('.') + .slice(0, 1) + .forEach((l) => { + if (ligs[l]) return; + ligs[l] = true; + const c = l.split('_'); + let rule = rules[c.length]; + rule = rule + .replace(/\d/g, (m) => c[parseInt(m) - 1]) + .replace(/glyph/g, g); + calt += rule + '\n'; + }); + }); + + return calt + '\n} calt;\n'; +}; + +exports.gencalt = gencalt; diff --git a/features/.gitignore b/features/.gitignore new file mode 100644 index 0000000..78837e8 --- /dev/null +++ b/features/.gitignore @@ -0,0 +1 @@ +calt.fea From 043c1605460604d24ca223032965fee77e3dd2c0 Mon Sep 17 00:00:00 2001 From: kiliman Date: Sun, 13 Dec 2020 10:06:11 -0500 Subject: [PATCH 4/6] =?UTF-8?q?=E2=9C=A8=20Add=20default=20feature=20file?= =?UTF-8?q?=20since=20feaLib=20replaces=20existing=20features?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- features/default.fea | 212 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 212 insertions(+) create mode 100644 features/default.fea diff --git a/features/default.fea b/features/default.fea new file mode 100644 index 0000000..df2f2c1 --- /dev/null +++ b/features/default.fea @@ -0,0 +1,212 @@ +languagesystem DFLT dflt; +languagesystem latn dflt; + +lookup lookup_0 { +sub zero by zero.num; +sub one by one.num; +sub two by two.num; +sub three by three.num; +sub four by four.num; +sub five by five.num; +sub six by six.num; +sub seven by seven.num; +sub eight by eight.num; +sub nine by nine.num; +sub slash by fraction; +sub fraction by fraction.afrc; +} lookup_0; + +lookup lookup_1 { +sub zero by zero.den; +sub one by one.den; +sub two by two.den; +sub three by three.den; +sub four by four.den; +sub five by five.den; +sub six by six.den; +sub seven by seven.den; +sub eight by eight.den; +sub nine by nine.den; +sub slash by fraction; +} lookup_1; + +lookup lookup_2 { +sub L periodcentered by Ldot; +sub l periodcentered by ldot; +} lookup_2; + + +feature case { +sub guillemotleft by guillemotleft.cap; +sub guillemotright by guillemotright.cap; +sub guilsinglleft by guilsinglleft.cap; +sub guilsinglright by guilsinglright.cap; +sub parenleft by parenleft.cap; +sub parenright by parenright.cap; +sub bracketleft by bracketleft.cap; +sub bracketright by bracketright.cap; +sub braceleft by braceleft.cap; +sub braceright by braceright.cap; +} case; + +feature dnom { +sub zero by zero.den; +sub one by one.den; +sub two by two.den; +sub three by three.den; +sub four by four.den; +sub five by five.den; +sub six by six.den; +sub seven by seven.den; +sub eight by eight.den; +sub nine by nine.den; +} dnom; + +feature frac { +lookup frac0 { + sub [zero one two three four five six seven eight nine] slash' lookup lookup_0 [zero one two three four five six seven eight nine] ; +} frac0; +lookup frac1 { + ignore sub [zero one two three four five six seven eight nine zero.num one.num two.num three.num four.num five.num six.num seven.num eight.num nine.num zero.den one.den two.den three.den four.den five.den six.den seven.den eight.den nine.den] [zero one two three four five six seven eight nine zero.num one.num two.num three.num four.num five.num six.num seven.num eight.num nine.num zero.den one.den two.den three.den four.den five.den six.den seven.den eight.den nine.den] fraction' ; + ignore sub fraction' [zero one two three four five six seven eight nine zero.num one.num two.num three.num four.num five.num six.num seven.num eight.num nine.num zero.den one.den two.den three.den four.den five.den six.den seven.den eight.den nine.den] [zero one two three four five six seven eight nine zero.num one.num two.num three.num four.num five.num six.num seven.num eight.num nine.num zero.den one.den two.den three.den four.den five.den six.den seven.den eight.den nine.den] ; + sub [zero one two three four five six seven eight nine zero.num one.num two.num three.num four.num five.num six.num seven.num eight.num nine.num zero.den one.den two.den three.den four.den five.den six.den seven.den eight.den nine.den] fraction' lookup lookup_0 [zero one two three four five six seven eight nine zero.num one.num two.num three.num four.num five.num six.num seven.num eight.num nine.num zero.den one.den two.den three.den four.den five.den six.den seven.den eight.den nine.den] ; +} frac1; +lookup frac2 { + sub [zero one two three four five six seven eight nine]' lookup lookup_0 fraction.afrc ; + sub fraction.afrc [zero one two three four five six seven eight nine]' lookup lookup_1 ; +} frac2; +lookup frac3 { + sub one.num fraction.afrc two.den by onehalf; + sub one.num fraction.afrc three.den by onethird; + sub one.num fraction.afrc four.den by onequarter; + sub one.num fraction.afrc five.den by onefifth; + sub one.num fraction.afrc six.den by onesixth; + sub one.num fraction.afrc eight.den by oneeighth; + sub two.num fraction.afrc three.den by twothirds; + sub two.num fraction.afrc five.den by twofifths; + sub three.num fraction.afrc four.den by threequarters; + sub three.num fraction.afrc five.den by threefifths; + sub three.num fraction.afrc eight.den by threeeighths; + sub four.num fraction.afrc five.den by fourfifths; + sub five.num fraction.afrc six.den by fivesixths; + sub five.num fraction.afrc eight.den by fiveeighths; + sub seven.num fraction.afrc eight.den by seveneighths; +} frac3; +} frac; + +feature locl { +script latn; +language CAT ; +sub l' lookup lookup_2 periodcentered' lookup lookup_2 l ; +sub L' lookup lookup_2 periodcentered' lookup lookup_2 L ; +} locl; + +feature numr { +sub zero by zero.num; +sub one by one.num; +sub two by two.num; +sub three by three.num; +sub four by four.num; +sub five by five.num; +sub six by six.num; +sub seven by seven.num; +sub eight by eight.num; +sub nine by nine.num; +} numr; + +feature rupa { +sub R p by R_p; +} rupa; + +feature ss01 { +sub registered by registered.alt; +} ss01; + +feature salt { +lookup salt0 { + sub registered by registered.alt; +} salt0; +lookup salt1 { + sub colon by colon.alt; +} salt1; +lookup salt2 { + sub bullet by bullet.alt; +} salt2; +lookup salt3 { + sub asterisk by asterisk.alt; +} salt3; +lookup salt4 { + sub zero by zero.alt; +} salt4; +lookup salt5 { + sub underscore by underscore.alt; +} salt5; +lookup salt6 { + sub [zero one two three four five six seven eight nine zero.num one.num two.num three.num four.num five.num six.num seven.num eight.num nine.num zero.den one.den two.den three.den four.den five.den six.den seven.den eight.den nine.den] slash' lookup lookup_1 [zero one two three four five six seven eight nine zero.num one.num two.num three.num four.num five.num six.num seven.num eight.num nine.num zero.den one.den two.den three.den four.den five.den six.den seven.den eight.den nine.den] ; +} salt6; +} salt; + +feature sinf { +sub zero by zero.inf; +sub one by one.inf; +sub two by two.inf; +sub three by three.inf; +sub four by four.inf; +sub five by five.inf; +sub six by six.inf; +sub seven by seven.inf; +sub eight by eight.inf; +sub nine by nine.inf; +} sinf; + +feature ss03 { +sub colon by colon.alt; +} ss03; + +feature ss04 { +sub bullet by bullet.alt; +} ss04; + +feature ss05 { +sub asterisk by asterisk.alt; +} ss05; + +feature ss07 { +sub zero by zero.alt; +} ss07; + +feature ss08 { +sub underscore by underscore.alt; +} ss08; + +feature ss09 { +sub [zero one two three four five six seven eight nine zero.num one.num two.num three.num four.num five.num six.num seven.num eight.num nine.num zero.den one.den two.den three.den four.den five.den six.den seven.den eight.den nine.den] slash' lookup lookup_1 [zero one two three four five six seven eight nine zero.num one.num two.num three.num four.num five.num six.num seven.num eight.num nine.num zero.den one.den two.den three.den four.den five.den six.den seven.den eight.den nine.den] ; +} ss09; + +feature subs { +sub zero by zero.inf; +sub one by one.inf; +sub two by two.inf; +sub three by three.inf; +sub four by four.inf; +sub five by five.inf; +sub six by six.inf; +sub seven by seven.inf; +sub eight by eight.inf; +sub nine by nine.inf; +} subs; + +feature subs { +sub zero by zero.sup; +sub one by one.sup; +sub two by two.sup; +sub three by three.sup; +sub four by four.sup; +sub five by five.sup; +sub six by six.sup; +sub seven by seven.sup; +sub eight by eight.sup; +sub nine by nine.sup; +} subs; + +include(calt.fea); From 1028c9629108656f2c888e9b7ea5249face23438 Mon Sep 17 00:00:00 2001 From: kiliman Date: Sun, 13 Dec 2020 10:07:52 -0500 Subject: [PATCH 5/6] =?UTF-8?q?=F0=9F=94=A5=20Delete=20gsub.js=20and=20rep?= =?UTF-8?q?lace=20with=20calt=20feature?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- gsub.js | 313 ------------------------------------------------------- index.js | 7 +- 2 files changed, 5 insertions(+), 315 deletions(-) delete mode 100644 gsub.js diff --git a/gsub.js b/gsub.js deleted file mode 100644 index c30655e..0000000 --- a/gsub.js +++ /dev/null @@ -1,313 +0,0 @@ -const xpath = require('xpath'); -const NodeType = {}; -NodeType.TEXT_NODE = 3; - -let dom; -let gsubDom; -let scriptListDom; -let featureListDom; -let lookupListDom; -let featureDom; -let lookupIndex = 0; -let chainIndex = 0; -const substLookupMap = {}; - -const initGsubTables = (_dom, options) => { - dom = _dom; - - gsubDom = xpath.select('ttFont/GSUB', dom, true); - - // look for 'calt' feature - featureListDom = xpath.select('FeatureList', gsubDom, true); - lookupListDom = xpath.select('LookupList', gsubDom, true); - - if (options.italicsHack) { - // remove all features from FeatureList - Array.from(featureListDom.childNodes).forEach((c) => { - featureListDom.removeChild(c); - }); - - Array.from(xpath.select('ttFont/GSUB//FeatureIndex', dom)).forEach((c) => { - c.parentNode.removeChild(c); - }); - - // remove all lookups from LookupList - Array.from(lookupListDom.childNodes).forEach((c) => - lookupListDom.removeChild(c) - ); - } -}; - -const buildGsubTables = (_dom, ligature) => { - dom = _dom; - - if (/_/.test(ligature.glyph) === false) { - // not a ligature, so see if glyph exists in font (as substitute) - const glyphNode = xpath.select( - `ttFont/GlyphOrder/GlyphID[@name="${ligature.name}"]`, - dom, - true - ); - if (!glyphNode) { - return; - } - } - - const glyphs = ligature.name.replace(/\.liga$/, '').split('_'); - const isSingleGlyph = glyphs.length == 1; - - gsubDom = xpath.select('ttFont/GSUB', dom, true); - - // look for 'calt' feature - featureListDom = xpath.select('FeatureList', gsubDom, true); - - let featureRecord; - const featureTag = xpath.select( - 'FeatureRecord/FeatureTag[@value="calt"]', - featureListDom, - true - ); - if (!featureTag) { - const featureListCount = xpath.select( - 'count(FeatureRecord)', - featureListDom, - true - ); - featureRecord = createElementWithAttributes('FeatureRecord', { - index: featureListCount, - }); - featureRecord.appendChild( - createElementWithAttributes('FeatureTag', { value: 'calt' }) - ); - featureRecord.appendChild(dom.createElement('Feature')); - featureListDom.appendChild(featureRecord); - } else { - featureRecord = featureTag.parentNode; - } - featureDom = xpath.select('Feature', featureRecord, true); - - const featureIndex = featureRecord.getAttribute('index'); - - // add feature to scriptlist for DFLT and latn if not present - addFeatureToScriptList('DFLT', featureIndex); - addFeatureToScriptList('latn', featureIndex); - - lookupIndex = xpath.select('count(Lookup)', lookupListDom, true); - - const lookupDom = createElementWithAttributes('Lookup', { - index: lookupIndex++, - }); - appendChildren( - lookupDom, - createElementWithAttributes('LookupType', { value: isSingleGlyph ? 1 : 6 }), - createElementWithAttributes('LookupFlag', { value: 0 }) - ); - - // add contextual lookup to feature - const featureLookupCount = xpath.select( - 'count(LookupListIndex)', - featureDom, - true - ); - featureDom.appendChild( - createElementWithAttributes('LookupListIndex', { - index: featureLookupCount, - value: lookupDom.getAttribute('index'), - }) - ); - - if (isSingleGlyph) { - lookupDom.appendChild( - getSubstLookup(ligature.name, ligature.glyph, lookupDom) - ); - } else { - lookupDom.appendChild(buildBacktrackFirst(glyphs)); - lookupDom.appendChild(buildLookAheadLast(glyphs)); - lookupDom.appendChild(buildLigatureSubst(glyphs, ligature.glyph)); - // remaining context - for (let n = glyphs.length - 2; n >= 0; n--) { - lookupDom.appendChild( - buildChainContext(getLIGs(n), [glyphs[n]], glyphs.slice(n + 1), 'LIG') - ); - } - } - lookupListDom.appendChild(lookupDom); -}; - -const finalizeGsubTables = () => { - // get current LookupList count - let newIndex = xpath.select('count(Lookup)', lookupListDom, true); - - // append added lookups - Object.entries(substLookupMap).forEach(([, lookup]) => { - // fixup existing lookups with new index - const oldIndex = lookup.getAttribute('index'); - const substLookups = xpath.select( - `//ChainContextSubst/SubstLookupRecord/LookupListIndex[@value="${oldIndex}"]`, - lookupListDom, - false - ); - substLookups.forEach((substLookup) => { - substLookup.setAttribute('value', newIndex); - }); - lookup.setAttribute('index', newIndex++); - lookupListDom.appendChild(lookup); - }); -}; - -//const dump = dom => console.log(format(serialize(dom))); - -const addFeatureToScriptList = (tag, featureIndex) => { - scriptListDom = xpath.select('ScriptList', gsubDom, true); - const defaultLangSys = xpath.select( - `ScriptRecord/ScriptTag[@value="${tag}"]/../Script/DefaultLangSys`, - scriptListDom, - true - ); - const featureIndexNode = xpath.select( - `FeatureIndex[@value=${featureIndex}]`, - defaultLangSys, - true - ); - if (!featureIndexNode) { - const count = xpath.select('count(FeatureIndex)', defaultLangSys, true); - defaultLangSys.appendChild( - createElementWithAttributes('FeatureIndex', { - index: count, - value: featureIndex, - }) - ); - } -}; - -const buildBacktrackFirst = (glyphs) => { - // backtrack = first glyph - // input = first glphy - // lookAhead = [1..n] - return buildChainContext([glyphs[0]], [glyphs[0]], glyphs.slice(1)); -}; - -const buildLookAheadLast = (glyphs) => { - // backtrack = none - // input = first glyph - // lookAhead = [1..n] + [n] - return buildChainContext( - [], - [glyphs[0]], - [...glyphs.slice(1), glyphs.slice(-1)] - ); -}; - -const buildLigatureSubst = (glyphs, lookup) => { - // backtrack = LIG * n-1 - // input = last glyph - // lookAhead = none - return buildChainContext( - getLIGs(glyphs.length - 1), - glyphs.slice(-1), - [], - lookup - ); -}; - -const getLIGs = (length) => new Array(length).fill('LIG', 0, length); - -const buildChainContext = (backtrack, input, lookAhead, substitute) => { - const chainDom = createElementWithAttributes('ChainContextSubst', { - index: chainIndex++, - Format: 3, - }); - - buildCoverage(chainDom, 'BacktrackCoverage', backtrack); - buildCoverage(chainDom, 'InputCoverage', input); - buildCoverage(chainDom, 'LookAheadCoverage', lookAhead); - - if (substitute) { - const lookup = getSubstLookup(input[0], substitute); - const listIndex = lookup.getAttribute('index'); - const substLookupRecordDom = chainDom.appendChild( - createElementWithAttributes('SubstLookupRecord', { index: 0 }) - ); - appendChildren( - substLookupRecordDom, - createElementWithAttributes('SequenceIndex', { value: 0 }), - createElementWithAttributes('LookupListIndex', { value: listIndex }) - ); - } - return chainDom; -}; - -const buildCoverage = (chainDom, tagName, coverage) => { - if (coverage) { - coverage.forEach((glyph, i) => { - const coverageDom = createElementWithAttributes(tagName, { - index: i++, - Format: 1, - }); - coverageDom.appendChild( - createElementWithAttributes('Glyph', { value: glyph }) - ); - chainDom.appendChild(coverageDom); - }); - } -}; - -const getSubstLookup = (input, output, lookupDom) => { - if (!lookupDom) { - lookupDom = substLookupMap[output]; - } - - if (!lookupDom) { - lookupDom = createElementWithAttributes('Lookup', { - index: Object.keys(substLookupMap).length + 1, - }); - lookupDom.appendChild( - createElementWithAttributes('LookupType', { value: 1 }) - ); - lookupDom.appendChild( - createElementWithAttributes('LookupFlag', { value: 0 }) - ); - substLookupMap[output] = lookupDom; - } - - let singleSubstDom = xpath.select('SingleSubst', lookupDom, true); - - if (!singleSubstDom) { - singleSubstDom = createElementWithAttributes('SingleSubst', { - index: 0, - Format: 2, - }); - lookupDom.appendChild(singleSubstDom); - } - - // look for input subst - const substitionDom = xpath.select( - `Substitution[@in="${input}"]`, - singleSubstDom, - true - ); - if (!substitionDom) { - singleSubstDom.appendChild( - createElementWithAttributes('Substitution', { in: input, out: output }) - ); - } - return lookupDom; -}; - -const createElementWithAttributes = (tagName, attributes) => { - const element = dom.createElement(tagName); - Object.entries(attributes).forEach((attribute) => { - element.setAttribute(attribute[0], attribute[1]); - }); - return element; -}; - -const appendChildren = (node, ...children) => { - children.forEach((child) => node.appendChild(child)); -}; - -//const serialize = dom => new XMLSerializer().serializeToString(dom); - -exports.initGsubTables = initGsubTables; -exports.buildGsubTables = buildGsubTables; -exports.finalizeGsubTables = finalizeGsubTables; diff --git a/index.js b/index.js index 0d3363f..ad68ffe 100644 --- a/index.js +++ b/index.js @@ -1,10 +1,11 @@ +// @ts-nocheck const fs = require('fs'); const os = require('os'); if (!os.EOL) { os.EOL = process.platform === 'win32' ? '\r\n' : '\n'; } -const gsub = require('./gsub'); +const calt = require('./calt'); const xpath = require('xpath'); const { DOMParser, XMLSerializer } = require('xmldom'); @@ -60,11 +61,13 @@ const buildFont = (profile, options) => { //[...ligatures, { name: 'LIG', glyph: 'LIG' }]; processPatch('names', patchNames, dom, ligatures, profile); - processPatch('gsub', patchGsub, dom, ligatures, options); processPatch('charstrings', patchCharStrings, dom, ligaturesWithLIG); processPatch('glyphs', patchGlyphs, dom, ligaturesWithLIG); processPatch('hmtx', patchHmtx, dom); + const feature = calt.gencalt(ligatures); + fs.writeFileSync('./features/calt.fea', feature); + console.log(`Writing ligature font file ${dstFileName}`); fs.writeFileSync(dstFileName, format(serialize(dom))); }; From 1fce61fe50e5c6c2c08aa04f98a658d6c1c9f100 Mon Sep 17 00:00:00 2001 From: kiliman Date: Sun, 13 Dec 2020 10:11:28 -0500 Subject: [PATCH 6/6] =?UTF-8?q?=F0=9F=94=A8=20Update=20build=20to=20call?= =?UTF-8?q?=20fonttools=20feaLib?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- build.bat | 2 ++ build.sh | 12 +++++++----- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/build.bat b/build.bat index ff18de5..32587a2 100644 --- a/build.bat +++ b/build.bat @@ -31,4 +31,6 @@ if not exist .\ligature\%lig%\glyphs\* exit /b ttx -f .\original\%otf%.otf node index.js %otf% %flags% ttx -f .\build\%lig%.ttx +fonttools feaLib -v -o ".\build\%lig%.otf" .\features\default.fea ".\build\%lig%.otf" + exit /b diff --git a/build.sh b/build.sh index 3ccf9d0..44086c9 100755 --- a/build.sh +++ b/build.sh @@ -16,11 +16,13 @@ build_font() { return fi - echo Building $1 + echo Building "$1" ttx -f "./original/$otf.otf" - node index.js $otf $flags + node index.js "$otf" "$flags" - ttx -f ./build/$1.ttx + ttx -f "./build/$1.ttx" + + fonttools feaLib -v -o "./build/$1.otf" ./features/default.fea "./build/$1.otf" } flags= @@ -32,10 +34,10 @@ fi if [ -n "$1" ] then # build specified font - build_font $1 $flags + build_font "$1" "$flags" else # build all available fonts for d in ./ligature/*/ ; do - build_font $(basename $d) $flags + build_font "$(basename "$d")" "$flags" done fi