30 Commits

Author SHA1 Message Date
Kiliman c5112089cb 🔀 Merge branch 'develop' 2019-07-26 16:37:28 -04:00
Kiliman 22ebd8aab7 📝 Update README for v2.0 2019-07-26 16:33:47 -04:00
Kiliman fe530d1ea9 Update glyphs 2019-07-26 16:33:17 -04:00
Kiliman 19727aecc5 Merge branch 'features/contextsubst' into develop 2019-07-24 09:58:47 -04:00
Kiliman 7a3be9b579 💄 Update Go sample file 2019-07-24 09:58:01 -04:00
Kiliman 371be6a082 🎨 Prettier formatting 2019-07-24 09:58:01 -04:00
Kiliman 86b1d66f15 🚨 Remove linter warning unused variable 2019-07-24 09:58:01 -04:00
Kiliman 5538ffe2b5 💄 Update sample HTML file 2019-07-24 09:58:01 -04:00
Kiliman 360402a197 ️ Add support for mapping non-ligature glyphs 2019-07-24 09:58:01 -04:00
Kiliman f7cafe55b3 Add Go sample 2019-07-24 09:58:01 -04:00
Kiliman 9cef42b1fb 🐛 Fix errors if glyphs don't exist for other font weights 2019-07-24 09:58:01 -04:00
Kiliman 8360f4ad81 🐛 Fix profile parsing 2019-07-24 09:58:01 -04:00
Kiliman 73f188856f Add glyphs for SSm Book Italic 2019-07-24 09:58:01 -04:00
Kiliman d2c63ad1ca Add glyph: underscore_underscore 2019-07-24 09:58:01 -04:00
Kiliman 0a7eca61d4 Add glyphs: colon_equal, greater_equal.2, less_equal.2, percent.alt 2019-07-24 09:58:01 -04:00
Kiliman fc8827e17c Remove elements from head that change but we don't care about 2019-07-24 09:58:01 -04:00
Kiliman 150ed13829 Add file (list of patterns) for matching exported glyphs 2019-07-24 09:58:01 -04:00
Kiliman 502f445758 Add Powerline glyps 2019-07-24 09:58:01 -04:00
Kiliman d3c5604090 Add </ and /> ligatures 2019-07-24 09:58:01 -04:00
Kiliman 61cfbf075d Regenerate ligature glyphs 2019-07-24 09:58:01 -04:00
Kiliman 28eb8b58e5 Add support for non-ligature glyphs 2019-07-24 09:58:01 -04:00
Emanuele Ballarin 91c4421765 Make drop-in compatible with previous implementation
Fixed variable types, now everything gathered from original fonts or property JSONs, and everything passed as font properties is 'const'.
2019-07-24 09:57:20 -04:00
Emanuele Ballarin 3ed59809de Revert useless whitespace-only modifications
Fix for an autoformatter side-effect.
2019-07-24 09:57:20 -04:00
Emanuele Ballarin 660c719779 Fix font family names in PS and TTF metadata
Fix font family names in PS and TTF metadata, as already defined in original font and master branch
2019-07-24 09:57:20 -04:00
kiliman 610140f1de Start work in progress for Operator Mono Light 2019-07-24 09:57:20 -04:00
kiliman b6f785bfc7 Add new generated glyphs for SSm Book and Book Italic 2019-07-24 09:57:20 -04:00
kiliman bc46df5f1c Update sample.js with new ligatures 2019-07-24 09:57:20 -04:00
kiliman 5f13b9c918 Update packages and add eslint config 2019-07-24 09:57:20 -04:00
kiliman 9398884dc6 Update extract and build process with support for context substitutions 2019-07-24 09:57:20 -04:00
kiliman 036e837e0c Remove old generated files 2019-07-24 09:57:20 -04:00
194 changed files with 23512 additions and 26471 deletions
+17
View File
@@ -0,0 +1,17 @@
module.exports = {
env: {
es6: true,
node: true
},
extends: 'eslint:recommended',
parserOptions: {
sourceType: 'module'
},
rules: {
indent: ['error', 2],
'linebreak-style': ['error', 'unix'],
quotes: ['error', 'single'],
semi: ['error', 'always'],
'no-console': 'off'
}
};
+89 -64
View File
@@ -1,10 +1,65 @@
# Operator Mono Ligatures
<img src="./images/operator-mono-lig.png" />
This project will generate new OpenType fonts for [Operator Mono](https://www.typography.com/fonts/operator/styles/) that includes ligatures similar to
those found in the popular [Fira Code](https://github.com/tonsky/FiraCode) font.
These ligatures were custom created using [Glyphs](https://glyphsapp.com/).
There are even italic versions of the ligatures.
These ligatures were custom created using [Glyphs](https://glyphsapp.com/).
There are even italic versions of the ligatures.
## New Version 2.0
All new redesigned ligatures with better hinting. Updated font generation to support advanced OpenType features
like those found in Fira Code. For example, the cursor now moves inside the ligature. It also handles repeating
characters properly.
<img src="./images/caret-position.gif" />
> NOTE: The new ligatures are currently only available for **Operator Mono SSm Book**. If you don't have this font, you
> can still use the v1.0 verson of the tool. Download it [here](https://github.com/kiliman/operator-mono-lig/releases/tag/v1.0).
### Customize the generated font
In addition to the new ligatures, this version now allows you to customize what ligatures are added to a font.
By default, all available ligatures will be added to the generated font. However, if you don't like a particular
ligature, or would prefer to use an alternate glyph, you can create a `profiles.ini` file in the `./original` folder
to configure how the font should be built.
You can create one or more profiles. Each profile will have a set of directives. You can specify alternate glyphs for
a given ligature. You can also prevent a ligature from being added.
Each profile will be listed with `[profile name]` (the first profile should be named default). The generated font will
include the profile name. For example `[Go]` would generate the font: _Operator Mono Lig Go_. This way you can configure
a different set of ligatures for each language in your favorite code editor.
```ini
# name of profile (one or more sections, first should be name default)
[default]
# glyph=altglyph
greater_equal.liga=greater_equal.2.liga
# do not include glyph (add ! prefix)
!equal_equal.liga
# another optional section (will create a font named Operator Mono Lig Go)
[Go]
... add custom directives for this font ...
```
### New ligatures
In addition to the graphic above, the following new ligatures are available:
<img src="./images/new-ligatures.png"/>
### Help Wanted
As noted above, v2.0 only includes ligatures for **Operator Mono SSm Book**. In order to
update the other fonts, all the ligatures need to be redone. Unfortunately I just don't
have the time to do that at the moment. If you have a Mac and are interested in helping,
please let me know. I will even purchase a license to Gylphs Mini for you.
You can reach me at kiliman@gmail.com.
## Take the poll
@@ -17,51 +72,21 @@ Which font weight of Operator Mono do you use? Also note difference between Scre
[![](https://api.gh-polls.com/poll/01C6T4C3FBG21KVS7FAW7Z09B2/Operator%20Mono%20Medium)](https://api.gh-polls.com/poll/01C6T4C3FBG21KVS7FAW7Z09B2/Operator%20Mono%20Medium/vote)
[![](https://api.gh-polls.com/poll/01C6T4C3FBG21KVS7FAW7Z09B2/Operator%20Mono%20Light)](https://api.gh-polls.com/poll/01C6T4C3FBG21KVS7FAW7Z09B2/Operator%20Mono%20Light/vote)
I have updated the following fonts:
## ScreenSmart versions
* Operator Mono SSm Book
* Operator Mono SSm Book Italic
* Operator Mono SSm Medium
* Operator Mono SSm Medium Italic
* Operator Mono SSm Light
* Operator Mono SSm Light Italic (**coming soon**)
## Regular versions
* Operator Mono Book
* Operator Mono Book Italic
* Operator Mono Medium
* Operator Mono Medium Italic
**Operator Mono SSm Book**
<img src="./images/operator-mono-ssm-book.png" />
**Operator Mono SSm Medium**
<img src="./images/operator-mono-ssm-medium.png" />
**Creating ligatures using Glyphs**
<img src="./images/glyphs-screenshot.png" />
**YouTube video (click to view)**
[![Using Glyphs app to create ligatures for Operator Mono font](https://img.youtube.com/vi/ttI3W5Dh54E/0.jpg)](https://youtu.be/ttI3W5Dh54E)
>NOTE: Because *Operator Mono* is not a free font, you must have the original font files. This utility
will merge the ligature definitions into a copy of the original font. The new font family is named *Operator Mono Lig* so you can install it side-by-side with the original font.
> NOTE: Because _Operator Mono_ is not a free font, you must have the original font files. This utility
> will merge the ligature definitions into a copy of the original font. The new font family is named _Operator Mono Lig_ so you can install it side-by-side with the original font.
## Prerequisites
* The original *Operator Mono* font... of course.
* Install *fonttools* from https://github.com/fonttools/fonttools
* Install Python
* Run: `pip install fonttools` (for Mac users it's better run `pip3 install fonttools` - [info](https://stackoverflow.com/a/33416270/3191011))
* Node.js (**version 7.6+ for async/await support**)
- The original _Operator Mono_ font... of course.
- Install _fonttools_ from https://github.com/fonttools/fonttools
- Install Python (v2.7+)
- Run: `pip install fonttools`
- for Mac users it's better to run `pip3 install fonttools` - [info](https://stackoverflow.com/a/33416270/3191011)
- Node.js
## How to Install
1. Once all the prerequisites have been installed, clone this repo.
1. Once all the prerequisites have been installed, clone this repo. Or download latest release from [Releases](https://github.com/kiliman/operator-mono-lig/releases) and unzip.
2. From the command line, run:
@@ -69,8 +94,14 @@ will merge the ligature definitions into a copy of the original font. The new fo
npm install
```
3. Copy your *Operator Mono* OpenType files into the `original` folder.
- **NOTE**: File names must strictly be of the form `OperatorMono-[Book/BookItalic/Medium/MediumItalic].otf`.
3. Copy your _Operator Mono_ OpenType files into the `original` folder.
- **NOTE**: Filenames must not include spaces. It should look like:
- OperatorMonoSSm-Book.otf
- OperatorMonoSSm-BookItalic.otf
- OperatorMono-Light.otf
- OperatorMono-LightItalic.otf
- etc.
4. From the command line, run:
@@ -88,30 +119,24 @@ build
This will generate the new font files in the `build` folder. You can now install these fonts on your system.
---
## Configure Your Code Editor
<img src="./images/OperatorMonoAllTheThings.png" />
You can now select the newly generated font in your code editor. Make sure you enable font ligatures.
## GitHub
Add *Operator Mono* to GitHub code blocks using the [Stylus Extension](https://chrome.google.com/webstore/detail/stylus/clngdbkpkpeebahjckkjfobafhncgmne).
### VS Code
Create a style and enter the following:
```css
.blob-code-inner, .blob-num, .highlight pre { font-family: "Operator Mono Lig" !important; font-size: 16px !important; }
.pl-c, .pl-e { font-style: italic; }
.pl-c { color: #4CAF50; }
```json
"editor.fontFamily": "OperatorMonoSSmLig-Book",
"editor.fontLigatures": true,
// for Windows
"editor.fontFamily": "Operator Mono SSm Lig",
"editor.fontLigatures": true,
"editor.fontWeight": "500", // adjust for desired weight
```
<img src="./images/github-operatormono.png" />
## Visual Studio
## Thank You
You can have Visual Studio display the nice *Operator Mono* italic font for comments, using the [CommentsPlus Extension](https://marketplace.visualstudio.com/items?itemName=mhoumann.CommentsPlus).
Thanks to Hoefler&Co for making such an amazing font. It makes writing code truly pleasurable.
<img src="./images/vsoperatormono.png" />
## Hyper shell
Add *Operator Mono* to [Hyper](https://hyper.is/) a JS/CSS/HTML Terminal.
<img src="./images/hyper terminal.png" />
Thanks also to all of you for your kinds words of encouragement and feedback. I really
appreciate it.
+1 -1
View File
@@ -19,7 +19,7 @@ set lig=%1
set otf=%lig:Lig-=-%
if not exist .\original\%otf%.otf exit /b
if not exist .\ligature\%lig%\charstrings.xml exit /b
if not exist .\ligature\%lig%\glyphs\* exit /b
@echo Building %lig%
ttx -f .\original\%otf%.otf
+1 -1
View File
@@ -10,7 +10,7 @@ build_font() {
then
return
fi
if [ ! -e "./ligature/$lig/charstrings.xml" ]
if [ ! -e "./ligature/$lig/glyphs" ]
then
return
fi
+174 -58
View File
@@ -1,38 +1,64 @@
const Promise = require('bluebird');
const fs = Promise.promisifyAll(require('fs'));
const fs = require('fs');
const os = require('os');
if (!os.EOL) {
os.EOL = process.platform === 'win32' ? '\r\n' : '\n';
}
const xpath = require('xpath');
const { DOMParser, XMLSerializer } = require('xmldom');
const format = require('xml-formatter');
const hash = require('hash.js');
let fontName;
const regEx = /\.liga$/;
const regExBlankLines = /^(?=\n)$|^\s*/gm;
const regExWhitespace = /^\s+$/;
const NodeType = {};
NodeType.TEXT_NODE = 3;
async function main() {
function main() {
fontName = process.argv[2];
const glyphsRegEx = getGlyphsRegEx('./ligature_source/glyphs');
const srcFileName = `./ligature_source/${fontName}.ttx`;
const folder = `./ligature/${fontName}`;
const fileName = `./${folder}/names.json`;
if (!fs.existsSync(fileName)) {
return 0;
}
console.log(`Reading file ${srcFileName}`);
const xml = await fs.readFileAsync(srcFileName, 'utf-8');
const xml = fs.readFileSync(srcFileName, 'utf-8');
const dom = new DOMParser().parseFromString(xml);
await extractAndWrite('charstrings', extractCharStrings, dom);
await extractAndWrite('config', extractConfig, dom);
await extractAndWrite('gpos', extractGpos, dom);
await extractAndWrite('gsub', extractGsub, dom);
await extractAndWrite('hmtx', extractHmtx, dom);
await extractAndWrite('subrs', extractSubrs, dom);
await extractAndWrite('gsubrs', extractGlobalSubrs, dom);
extractAndWrite('config', extractConfig, dom);
extractCharStrings(dom, glyphsRegEx);
extractAndWrite('subrs', extractSubrs, dom);
extractAndWrite('gsubrs', extractGlobalSubrs, dom);
console.log('Done');
}
async function extractAndWrite(name, func, dom) {
function getGlyphsRegEx(path) {
const glyphs = fs.readFileSync(path, 'utf-8');
const patterns = ['LIG'];
glyphs
.split(os.EOL)
.filter(line => line.length > 0)
.forEach(line => {
const pattern = line
.replace(/\s*#.*/, '')
.replace(/[.]/g, '\\.')
.replace(/[*]/g, '.*');
if (pattern.length) {
patterns.push(pattern);
}
});
return new RegExp(`^(${patterns.join('|')})$`);
}
function extractAndWrite(name, func, dom) {
const newDom = func(dom);
console.log('Finished extracting ' + name);
@@ -41,30 +67,23 @@ async function extractAndWrite(name, func, dom) {
if (!fs.existsSync(folder)) {
fs.mkdirSync(folder);
}
await fs.writeFileAsync(fileName, format(serialize(newDom)));
fs.writeFileSync(fileName, format(serialize(newDom)));
console.log('Finished writing ' + name);
}
const serialize = dom =>
new XMLSerializer().serializeToString(dom, false, node => {
if (node.nodeType === NodeType.TEXT_NODE) {
if (regExWhitespace.test(node.data)) return null;
const data = node.data
.split('\r\n')
.filter(s => /\S+/.test(s))
.map(s => s.replace(/^\s+/g, ''))
.join('\n');
return node.ownerDocument.createTextNode(data);
}
return node;
});
//const dump = dom => console.log(serialize(dom));
const serialize = dom => new XMLSerializer().serializeToString(dom);
const extractConfig = dom => {
const newDom = new DOMParser().parseFromString('<ttFont/>');
const head = xpath.select('/ttFont/head', dom, true);
const hhea = xpath.select('/ttFont/hhea', dom, true);
// remove elements that change after each save
// but we don't care about
head.removeChild(xpath.select('checkSumAdjustment', head, true));
head.removeChild(xpath.select('created', head, true));
head.removeChild(xpath.select('modified', head, true));
const bbox = extractFromPath('/ttFont/CFF/CFFFont/FontBBox', dom);
const widthX = extractFromPath(
'/ttFont/CFF/CFFFont/Private/nominalWidthX',
@@ -92,39 +111,136 @@ const extractFromPath = (path, dom) => {
return newDom.documentElement;
};
const extractGpos = dom => {
const gpos = xpath.select('/ttFont/GPOS', dom, true);
return gpos;
};
const extractGsub = dom => {
const gsub = xpath.select('/ttFont/GSUB', dom, true);
return gsub;
};
const extractHmtx = dom => {
const newDom = new DOMParser().parseFromString('<hmtx/>');
const mtx = xpath.select('/ttFont/hmtx/mtx', dom);
mtx
.filter(node => regEx.test(node.getAttribute('name')))
.forEach(node => newDom.documentElement.appendChild(node));
return newDom;
};
const extractCharStrings = dom => {
const newDom = new DOMParser().parseFromString('<CharStrings/>');
const extractCharStrings = (dom, glyphsRegEx) => {
const charStrings = xpath.select(
'/ttFont/CFF/CFFFont/CharStrings/CharString',
dom
);
charStrings
.filter(node => regEx.test(node.getAttribute('name')))
.forEach(node => newDom.documentElement.appendChild(node));
.filter(node => glyphsRegEx.test(node.getAttribute('name')))
.forEach(node => writeGlyphData(dom, node));
console.log('Finished writing charstrings');
};
return newDom;
const writeGlyphData = (dom, node) => {
const newDom = new DOMParser().parseFromString('<Glyph/>').documentElement;
const name = node.getAttribute('name');
newDom.setAttribute('name', name);
// get map and set code
const map = xpath.select(
`/ttFont/cmap/cmap_format_4/map[@name="${name}"]`,
dom,
true
);
if (map) {
newDom.setAttribute('code', map.getAttribute('code'));
}
// get mtx
const mtx = xpath.select(`/ttFont/hmtx/mtx[@name="${name}"]`, dom, true);
newDom.setAttribute('lsb', mtx.getAttribute('lsb'));
newDom.setAttribute('width', mtx.getAttribute('width'));
const charStringDom = dom.createElement('CharString');
const subrsDom = dom.createElement('Subrs');
const gsubrsDom = dom.createElement('GlobalSubrs');
newDom.appendChild(charStringDom);
newDom.appendChild(subrsDom);
newDom.appendChild(gsubrsDom);
const subrs = {
map: [],
fingerprints: [],
sourcePath: '/ttFont/CFF/CFFFont/Private/Subrs',
target: subrsDom
};
const gsubrs = {
map: [],
fingerprints: [],
sourcePath: '/ttFont/CFF/GlobalSubrs',
target: gsubrsDom
};
extractCharStringSubrs(dom, node, subrs, gsubrs, 8);
const outline = indentTextContent(node.childNodes[0].textContent, 8);
charStringDom.appendChild(dom.createTextNode(outline));
const folder = `./ligature/${fontName}/glyphs`;
const fileName = `./${folder}/${name}.xml`;
if (!fs.existsSync(folder)) {
fs.mkdirSync(folder);
}
fs.writeFileSync(fileName, format(serialize(newDom)));
console.log('* ' + name);
};
const extractCharStringSubrs = (dom, node, subrs, gsubrs, indent) => {
// check for callsubr/callgsubr
const lines = node.childNodes[0].textContent.split(os.EOL);
const newLines = [];
let fingerprint = '';
lines.forEach(line => {
if (line.trim().length === 0) return;
const matches = line.match(/(.*?)(-?\d+) (callsubr|callgsubr)$/);
if (matches != null) {
const { map, fingerprints, sourcePath, target } =
matches[3] === 'callsubr' ? subrs : gsubrs;
const index = matches[2];
const srcIndex = parseInt(index) + 107;
let newIndex = map[srcIndex];
if (!newIndex) {
// find subr in source dom and copy to target dom
const srcSubr = xpath.select(
`/${sourcePath}/CharString[@index="${srcIndex}"]`,
dom,
true
);
// append subr to target dom and get new index
newIndex = xpath.select('count(CharString)', target, true);
map[srcIndex] = newIndex;
const clone = srcSubr.cloneNode(true);
clone.setAttribute('index', newIndex);
target.appendChild(clone);
// patch up source in case it also has any callsubrs
fingerprint = extractCharStringSubrs(dom, clone, subrs, gsubrs, 12);
fingerprints[newIndex] = fingerprint;
} else {
fingerprint = fingerprints[newIndex];
}
// rewrite line with fingerprint
line = `${matches[1]}{${fingerprint}} ${matches[3]}`;
}
newLines.push(line.trim());
});
const content = newLines.join('\n');
fingerprint = hash
.sha256()
.update(content)
.digest('hex')
.substr(0, 8);
node.setAttribute('fingerprint', fingerprint);
node.childNodes[0].textContent = indentTextContent(content, indent);
return fingerprint;
};
const indentTextContent = (text, indent) => {
return text
.split('\n')
.map(line => ' '.repeat(indent) + line.trim())
.join('\n')
.trim();
};
const extractSubrs = dom => {
+1 -1
View File
@@ -15,6 +15,6 @@ then
else
# build all available fonts
for f in ./ligature_source/*.otf ; do
extract_font $(basename $f)
extract_font `basename "${f%.*}"`
done
fi
+288
View File
@@ -0,0 +1,288 @@
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 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);
lookupListDom = xpath.select('LookupList', gsubDom, true);
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);
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.buildGsubTables = buildGsubTables;
exports.finalizeGsubTables = finalizeGsubTables;
Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 141 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

+295 -236
View File
@@ -1,171 +1,283 @@
const Promise = require('bluebird');
const fs = Promise.promisifyAll(require('fs'));
const fs = require('fs');
const os = require('os');
if (!os.EOL) {
os.EOL = process.platform === 'win32' ? '\r\n' : '\n';
}
const gsub = require('./gsub');
const xpath = require('xpath');
const { DOMParser, XMLSerializer } = require('xmldom');
const format = require('xml-formatter');
let fontName;
let ligFontName;
const regEx = /\.liga$/;
const regExBlankLines = /^(?=\n)$|^\s*/gm;
const regExWhitespace = /^\s+$/;
const NodeType = {};
NodeType.TEXT_NODE = 3;
async function main() {
let dom;
function main() {
fontName = process.argv[2];
ligFontName = fontName.split('-').join('Lig-');
const srcFileName = `./original/${fontName}.ttx`;
const dstFileName = `./build/${ligFontName}.ttx`;
console.log(`Reading original font file ${srcFileName}`);
const xml = await fs.readFileAsync(srcFileName, 'utf-8');
const dom = new DOMParser().parseFromString(xml);
const xml = fs.readFileSync(srcFileName, 'utf-8');
dom = new DOMParser().parseFromString(xml);
try {
await processPatch('names', patchNames, dom);
await processPatch('glyphs', patchGlyphs, dom);
await processPatch('gpos', patchGpos, dom);
await processPatch('gsub', patchGsub, dom);
await processPatch('hmtx', patchHmtx, dom);
//await processPatch('lookup', patchLookup, dom);
await processPatch('charstrings', patchCharStrings, dom);
} catch (err) {
console.log(err);
}
const profiles = getProfiles();
// process settings (there may be more than one font to build)
profiles.forEach(profile => buildFont(profile));
console.log(`Writing ligature font file ${dstFileName}`);
await fs.writeFileAsync(dstFileName, format(serialize(dom)));
console.log('Done');
}
async function loadConfigAsync(name) {
const buildFont = profile => {
// add suffix to dstFileName if present
const dstFileName = `./build/${ligFontName}${
profile.suffixWithLeadingHyphen
}.ttx`;
console.log(
`Building ligature font file ${dstFileName} name = ${profile.name}`
);
const ligatures = sortLigatures(
fs
.readdirSync(`./ligature/${ligFontName}/glyphs`)
.filter(file => /\.xml$/.test(file))
.map(file => file.replace('.xml', ''))
)
.filter(name => !/\d+\.liga$/.test(name)) // skip alternates (ends with .#)
.filter(name => filterLigatures(name, profile.ligatures))
.map(name => mapLigatures(name, profile.ligatures))
.filter(entry => filterGlyphsExists(entry));
const ligaturesWithLIG = ligatures;
//[...ligatures, { name: 'LIG', glyph: 'LIG' }];
processPatch('names', patchNames, dom, ligatures, profile);
processPatch('gsub', patchGsub, dom, ligatures);
processPatch('charstrings', patchCharStrings, dom, ligaturesWithLIG);
processPatch('glyphs', patchGlyphs, dom, ligaturesWithLIG);
processPatch('hmtx', patchHmtx, dom);
console.log(`Writing ligature font file ${dstFileName}`);
fs.writeFileSync(dstFileName, format(serialize(dom)));
};
const getProfiles = () => {
const profilePath = './original/profiles.ini';
// return default profiles if profile doesn't exist
if (!fs.existsSync(profilePath)) {
return [
{
name: 'default',
suffix: '',
suffixWithLeadingSpace: '',
suffixWithLeadingHyphen: '',
ligatures: []
}
];
}
const profiles = [];
let profile = null;
const content = fs.readFileSync(profilePath, 'utf-8');
content
.split(os.EOL)
.filter(line => /^[#]/.test(line) === false && line.length > 0)
.forEach(line => {
const ch = line.trim()[0];
if (ch === '[') {
let name = line.substr(1, line.indexOf(']') - 1);
profile = {
name,
suffix: name === 'default' ? '' : name,
suffixWithLeadingSpace: name === 'default' ? '' : ' ' + name,
suffixWithLeadingHyphen: name === 'default' ? '' : '-' + name,
ligatures: []
};
profiles.push(profile);
} else {
if (!profile) {
throw new Error('You must profile a profile name in []');
}
profile.ligatures.push(line);
}
});
return profiles;
};
const filterLigatures = (name, mappings) => {
// loop through mappings and return if name applies or not
// skip if setting is !name
return mappings.filter(entry => entry === '!' + name).length === 0;
};
const mapLigatures = (name, mappings) => {
let mapping = { name, glyph: name };
mappings.forEach(entry => {
const [val1, val2] = entry.split('=');
// handle lig=altliga
if (val1 === name) {
mapping.glyph = val2;
} else if (val2 === name) {
mapping.name = val1;
}
});
return mapping;
};
const filterGlyphsExists = ({ glyph }) => {
const exists = fs.existsSync(`./ligature/${ligFontName}/glyphs/${glyph}.xml`);
return exists;
};
const sortLigatures = ligatures => {
// sort by most glyphs then alphabetically
const sorted = ligatures
.map(ligature => {
return { count: ligature.split('_').length + 1, ligature: ligature };
})
.sort(
(a, b) =>
-compareProperty(a.count, b.count) || // sort by count descending
compareProperty(a.ligature, b.ligature) // then by ligature alphabetically
)
.map(entry => entry.ligature);
return sorted;
};
const compareProperty = (a, b) => {
if (typeof a === 'number') {
return a || b ? (!a ? -1 : !b ? 1 : a === b ? 0 : a < b ? -1 : 1) : 0;
} else {
return a || b ? (!a ? -1 : !b ? 1 : a.localeCompare(b)) : 0;
}
};
const loadXml = name => {
const fileName = `./ligature/${ligFontName}/${name}.xml`;
const xml = await fs.readFileAsync(fileName, 'utf-8');
const xml = fs.readFileSync(fileName, 'utf-8');
return new DOMParser().parseFromString(xml);
}
};
async function processPatch(name, patchFunc, dom) {
const processPatch = (name, patchFunc, dom, ligatures, profile) => {
console.log(`Patching ${name}`);
await patchFunc(dom);
}
patchFunc(dom, ligatures, profile);
};
async function patchNames(dom) {
const configDom = await loadConfigAsync('names');
const PlatformId = {
mac: 1,
win: 3
};
const names = xpath.select('/name/namerecord', configDom);
const targetName = xpath.select('/ttFont/name', dom, true);
const NameId = {
familyName: 1,
fontStyle: 2,
uniqueId: 3,
fullName: 4,
version: 5,
postscriptName: 6,
windowsFamilyName: 16,
fontStyleName: 17
};
// get font and family name
const familyName = getTextNode(
configDom,
'/name/namerecord[@nameID="1" and @platformID="1"]'
);
const fullName = getTextNode(
configDom,
'/name/namerecord[@nameID="4" and @platformID="1"]'
const patchNames = (dom, ligatures, profile) => {
const names = JSON.parse(
fs.readFileSync(`./ligature/${ligFontName}/names.json`)
);
const [name, style] = names.fontName.split('-');
const [familyStyle, fullNameStyleTry] = names.fontStyle.split(' ');
let fullNameStyleTemp;
if (fullNameStyleTry) {
fullNameStyleTemp = fullNameStyleTry;
} else {
fullNameStyleTemp = '';
}
const fullNameStyle = fullNameStyleTemp;
const fontName = `${name}${profile.suffixWithLeadingHyphen}-${style}`;
const familyNamePlat = `${names.familyName}${profile.suffixWithLeadingSpace}`;
const familyName = `${familyNamePlat} ${familyStyle}`;
const fullName = `${familyName} ${fullNameStyle}`;
const uniqueId = `${names.foundry}: ${fullName}: ${names.version}`;
// patch CFFFont
const cffFont = xpath.select('/ttFont/CFF/CFFFont', dom, true);
cffFont.setAttribute('name', ligFontName);
setAttribute(cffFont, 'FullName', 'value', fullName);
setAttribute(cffFont, 'FamilyName', 'value', familyName);
setAttribute(cffFont, 'FamilyName', 'value', familyNamePlat);
// update existing names with new names
names.forEach(node => {
const nameId = node.getAttribute('nameID');
const platformId = node.getAttribute('platformID');
updateName(PlatformId.mac, NameId.familyName, familyName);
updateName(PlatformId.mac, NameId.fontStyle, names.fontStyle);
updateName(PlatformId.mac, NameId.uniqueId, uniqueId);
updateName(PlatformId.mac, NameId.fullName, fullName);
updateName(PlatformId.mac, NameId.postscriptName, fontName);
updateName(PlatformId.mac, NameId.windowsFamilyName, familyNamePlat);
updateName(PlatformId.mac, NameId.fontStyleName, names.fontStyle);
// search for namerecord in target dom and replace with this one or append node
const target = xpath.select(
`/ttFont/name/namerecord[@nameID="${nameId}" and @platformID="${platformId}"]`,
dom,
true
);
if (target) {
target.parentNode.replaceChild(node, target);
} else {
targetName.appendChild(node);
}
});
}
updateName(PlatformId.win, NameId.familyName, familyName);
updateName(PlatformId.win, NameId.fontStyle, names.windowsFontStyle);
updateName(PlatformId.win, NameId.uniqueId, uniqueId);
updateName(PlatformId.win, NameId.fullName, fullName);
updateName(PlatformId.win, NameId.postscriptName, fontName);
updateName(PlatformId.win, NameId.windowsFamilyName, familyNamePlat);
updateName(PlatformId.win, NameId.fontStyleName, names.fontStyle);
};
async function patchGlyphs(dom) {
const configDom = await loadConfigAsync('../glyphs');
const updateName = (platformId, nameId, value) => {
// search for namerecord in target dom and replace with this one or append node
const target = xpath.select(
`/ttFont/name/namerecord[@nameID="${nameId}" and @platformID="${platformId}"]`,
dom,
true
);
if (target) {
target.childNodes[0].textContent = value;
}
};
const patchGlyphs = (dom, ligatures) => {
// get number of glyphs in target dom
const targetGlyphs = xpath.select('/ttFont/GlyphOrder', dom, true);
const glyphsCount = xpath.select('count(GlyphID)', targetGlyphs, true);
// only import glyphs specified
let n = glyphsCount;
// get ligature glyphs
const glyphs = xpath.select('/GlyphOrder/GlyphID', configDom);
glyphs.forEach(node => {
node.setAttribute('id', n++);
targetGlyphs.appendChild(node);
ligatures.forEach(ligature => {
targetGlyphs.appendChild(
createElementWithAttributes('GlyphID', { id: n++, name: ligature.glyph })
);
});
// update glyph count
setAttribute(dom, '/ttFont/maxp/numGlyphs', 'value', n);
}
async function patchGpos(dom) {
const newGpos = await loadConfigAsync('gpos');
const oldGpos = xpath.select('/ttFont/GPOS', dom, true);
dom.documentElement.replaceChild(newGpos, oldGpos);
}
async function patchGsub(dom) {
const newGsub = await loadConfigAsync('gsub');
// loop through Substituion/Ligature nodes and remap chars
remap(newGsub, dom, '//Substitution', 'out');
remap(newGsub, dom, '//Ligature', 'glyph');
const oldGsub = xpath.select('/ttFont/GSUB', dom, true);
dom.documentElement.replaceChild(newGsub, oldGsub);
}
const remap = (patchDom, cmapDom, path, attr) => {
const cmap = [];
let nodes = xpath.select(path, patchDom);
nodes.forEach(n => {
const out = n.getAttribute(attr);
if (out.startsWith('uni')) {
// get cmap entry
const code = '0x' + out.replace(/uni0*/g, '').toLowerCase();
let name = cmap[code];
if (!name) {
const map = xpath.select(
`/ttFont/cmap/cmap_format_4/map[@code="${code}"]`,
cmapDom,
true
);
name = map == null ? out : map.getAttribute('name');
cmap[code] = name;
}
n.setAttribute(attr, name);
}
});
};
async function patchHmtx(dom) {
const hmtxDom = await loadConfigAsync('hmtx');
const targetHmtx = xpath.select('/ttFont/hmtx', dom, true);
const patchGsub = (dom, ligatures) => {
// don't patch if no ligatures other than LIG
if (ligatures.length <= 1) return;
const mtx = xpath.select('/hmtx/mtx', hmtxDom);
mtx.forEach(node => targetHmtx.appendChild(node));
ligatures.forEach(ligature => {
// build gsub tables
gsub.buildGsubTables(dom, ligature);
});
gsub.finalizeGsubTables();
};
const patchHmtx = dom => {
const mtxCount = xpath.select('count(/ttFont/hmtx/mtx)', dom, true);
setAttribute(dom, '/ttFont/hhea/numberOfHMetrics', 'value', mtxCount);
const configDom = await loadConfigAsync('config');
const configDom = loadXml('config');
copyConfigAttribute(dom, configDom, '/ttFont/head/xMin', 'value');
copyConfigAttribute(dom, configDom, '/ttFont/head/yMin', 'value');
copyConfigAttribute(dom, configDom, '/ttFont/head/xMax', 'value');
@@ -179,159 +291,104 @@ async function patchHmtx(dom) {
'/ttFont/CFF/CFFFont/Private/nominalWidthX',
'value'
);
}
async function patchLookup(dom) {
const configDom = await loadConfigAsync('../lookup');
const featureList = xpath.select('/ttFont/GSUB/FeatureList', dom, true);
const featuresCount = xpath.select(
'count(/ttFont/GSUB/FeatureList/FeatureRecord)',
dom,
true
);
const featureRecord = dom.createElement('FeatureRecord');
featureRecord.setAttribute('index', featuresCount);
const featureTag = dom.createElement('FeatureTag');
featureTag.setAttribute('value', 'liga');
const feature = dom.createElement('Feature');
featureRecord.appendChild(featureTag);
featureRecord.appendChild(feature);
featureList.appendChild(featureRecord);
const lookupCount = xpath.select(
'count(/ttFont/GSUB/LookupList/Lookup)',
dom,
true
);
const lookupListIndex = dom.createElement('LookupListIndex');
lookupListIndex.setAttribute('index', '0');
lookupListIndex.setAttribute('value', lookupCount);
feature.appendChild(lookupListIndex);
// helper function for adding feature to ScriptRecord
const addFeature = (scriptRecord, featureRecord, lang) => {
if (!lang) return;
const index = featureRecord.getAttribute('index');
if (xpath.select(`FeatureIndex[@value="${index}"]`, lang, true)) return;
const count = xpath.select('count(FeatureIndex)', lang, true);
const featureIndex = dom.createElement('FeatureIndex');
featureIndex.setAttribute('index', count);
featureIndex.setAttribute('value', index);
lang.appendChild(featureIndex);
};
// nead to add feature to ScriptList
const scriptList = xpath.select('/ttFont/GSUB/ScriptList', dom, true);
const scriptRecords = xpath.select('ScriptRecord', scriptList);
scriptRecords.forEach(node => {
// check for feature in DefaultLangSys
addFeature(
node,
featureRecord,
xpath.select('Script/DefaultLangSys', node, true)
);
// add features to any other languages
xpath
.select('Script/LangSysRecord/LangSys', node)
.forEach(lang => addFeature(node, featureRecord, lang));
});
// finally add LigatureSubst to Lookup
const lookupList = xpath.select('/ttFont/GSUB/LookupList', dom, true);
const newLookup = xpath.select('/LookupList/Lookup', configDom, true);
newLookup.setAttribute('index', lookupCount);
lookupList.appendChild(newLookup);
}
async function patchCharStrings(dom) {
const configDom = await loadConfigAsync('charstrings');
const nameDom = await loadConfigAsync('names');
// get font and family name
const familyName = getTextNode(
nameDom,
'/name/namerecord[@nameID="1" and @platformID="1"]'
);
const fullName = getTextNode(
nameDom,
'/name/namerecord[@nameID="4" and @platformID="1"]'
);
};
const patchCharStrings = (dom, ligatures) => {
// patch CFFFont
const cffFont = xpath.select('/ttFont/CFF/CFFFont', dom, true);
cffFont.setAttribute('name', ligFontName);
setAttribute(cffFont, 'FullName', 'value', fullName);
setAttribute(cffFont, 'FamilyName', 'value', familyName);
const charStrings = xpath.select('/CharStrings/CharString', configDom);
const targetHmtx = xpath.select('/ttFont/hmtx', dom, true);
const targetCmaps = xpath.select('/ttFont/cmap/cmap_format_4', dom);
const targetCharStrings = xpath.select('CharStrings', cffFont, true);
const targetSubrs = xpath.select(
'/ttFont/CFF/CFFFont/Private/Subrs',
dom,
true
);
const targetGsubrs = xpath.select('/ttFont/CFF/GlobalSubrs', dom, true);
const fingerprints = {};
ligatures.forEach(ligature => {
console.log(
`* ${ligature.name}${
ligature.name === ligature.glyph ? '' : ' => ' + ligature.glyph
}`
);
const glyphDom = loadXml(`glyphs/${ligature.glyph}`).documentElement;
const node = xpath.select('/Glyph/CharString', glyphDom, true);
node.setAttribute('name', ligature.glyph);
const subrs = {
map: [],
source: await loadConfigAsync('subrs'),
target: xpath.select('/ttFont/CFF/CFFFont/Private/Subrs', dom, true)
};
const gsubrs = {
map: [],
source: await loadConfigAsync('gsubrs'),
target: xpath.select('/ttFont/CFF/GlobalSubrs', dom, true)
};
const subrs = {
sourcePath: '/Glyph/Subrs',
target: targetSubrs
};
const gsubrs = {
sourcePath: '/Glyph/GlobalSubrs',
target: targetGsubrs
};
patchCharStringSubrs(glyphDom, node, fingerprints, subrs, gsubrs);
charStrings.forEach(node => {
patchCharStringSubrs(node, subrs, gsubrs);
targetCharStrings.appendChild(node);
targetHmtx.appendChild(
createElementWithAttributes('mtx', {
name: ligature.glyph,
width: glyphDom.getAttribute('width'),
lsb: glyphDom.getAttribute('lsb')
})
);
const code = glyphDom.getAttribute('code');
if (code) {
Array.from(targetCmaps).forEach(node => {
node.appendChild(
createElementWithAttributes('map', {
code,
name: ligature.glyph
})
);
});
}
});
}
};
const patchCharStringSubrs = (node, subrs, gsubrs) => {
const patchCharStringSubrs = (glyphDom, node, fingerprints, subrs, gsubrs) => {
// check for callsubr/callgsubr
const lines = node.childNodes[0].textContent.split(/\r|\r\n|\n/g);
const newLines = [];
let patched = false;
lines.forEach(line => {
const matches = line.match(/(.*?)(-?\d+) (callsubr|callgsubr)$/);
if (line.trim().length === 0) return;
const matches = line.match(/(.*?)\{([0-9a-z]+)\} (callsubr|callgsubr)$/);
if (matches != null) {
const { map, source, target } =
matches[3] === 'callsubr' ? subrs : gsubrs;
const index = matches[2];
let newIndex = 0;
if (!map[index]) {
// find subr in source dom and copy to target dom
const srcIndex = parseInt(index) + 107;
const { sourcePath, target } = matches[3] === 'callsubr' ? subrs : gsubrs;
const fingerprint = matches[2];
let newIndex = fingerprints[fingerprint];
if (!newIndex) {
const srcSubr = xpath.select(
`//CharString[@index="${srcIndex}"]`,
source,
`/${sourcePath}/CharString[@fingerprint="${fingerprint}"]`,
glyphDom,
true
);
// patch up source in case it also has any callsubrs
patchCharStringSubrs(srcSubr, subrs, gsubrs);
// append subr to target dom and get new index
newIndex = xpath.select('count(CharString)', target, true);
srcSubr.setAttribute('index', newIndex);
target.appendChild(srcSubr);
const clone = srcSubr.cloneNode(true);
clone.setAttribute('index', newIndex);
target.appendChild(clone);
// add new index to map and rewrite call
newIndex = newIndex - 107;
map[index] = newIndex;
} else {
newIndex = map[index];
fingerprints[fingerprint] = newIndex;
// patch up source in case it also has any callsubrs
patchCharStringSubrs(glyphDom, clone, fingerprints, subrs, gsubrs);
}
// rewrite line with new subr index
line = `${matches[1]}${newIndex} ${matches[3]}`;
patched = true;
}
newLines.push(line);
});
if (patched) {
node.childNodes[0].textContent = newLines.join(os.EOL);
}
node.childNodes[0].textContent = newLines.join(os.EOL);
};
const setAttribute = (parent, path, name, value) => {
@@ -344,13 +401,15 @@ const copyConfigAttribute = (dom, configDom, path, name) => {
setAttribute(dom, path, name, value);
};
const getTextNode = (dom, path) => {
var node = xpath.select(path, dom, true);
return node && node.childNodes.length
? node.childNodes[0].nodeValue.trim()
: '';
const createElementWithAttributes = (tagName, attributes) => {
const element = dom.createElement(tagName);
Object.entries(attributes).forEach(attribute => {
element.setAttribute(attribute[0], attribute[1]);
});
return element;
};
//const dump = dom => console.log(serialize(dom));
const serialize = dom =>
new XMLSerializer().serializeToString(dom, false, node => {
if (node.nodeType === NodeType.TEXT_NODE) {
@@ -1,281 +0,0 @@
<CharStrings>
<CharString name="ampersand_ampersand.liga">
-107 -12 67 501 76 hstemhm
108 77 -4 80 251 77 -4 80 hintmask 11100100
880 169 rmoveto
-33 callgsubr
-66 callsubr
hintmask 11011000
-88 -56 -45 -63 -75 vvcurveto
-3 vlineto
-12 15 -12 14 -12 13 -33 callgsubr
-66 callsubr
hintmask 11100100
-7 callgsubr
-33 57 -74 133 -4 rrcurveto
7 hlineto
64 64 34 77 51 hvcurveto
28 -34 31 -37 32 -41 65 51 rcurveline
-41 50 -37 43 -33 38 rrcurveto
-611 -114 rmoveto
-51 callgsubr
hintmask 11101000
404 hmoveto
-51 callgsubr
endchar
</CharString>
<CharString name="bar_bar.liga">
-107 704 -20 hstem
312 75 325 75 vstem
387 710 -14 callgsubr
400 892 -14 callgsubr
endchar
</CharString>
<CharString name="bar_greater.liga">
-107 704 -20 hstem
287 75 449 74 vstem
362 710 -14 callgsubr
523 440 rlineto
69 vlineto
-74 -40 rmoveto
-449 -374 rlineto
705 vlineto
449 -321 rlineto
endchar
</CharString>
<CharString name="equal_equal.liga">
-107 151 -25 callgsubr
944 vstem
1021 373 rmoveto
-9 callsubr
-944 -69 hlineto
943 -222 rmoveto
-9 callsubr
-944 -69 hlineto
endchar
</CharString>
<CharString name="equal_equal_equal.liga">
-11 callgsubr
495 -4 callsubr
1493 -222 -4 callsubr
1493 -222 -4 callsubr
endchar
</CharString>
<CharString name="equal_equal_greater.liga">
443 -1 -21 173 -9 callgsubr
hstem
1498 74 vstem
1245 16 callgsubr
124 -102 rlineto
-1244 -69 1328 hlineto
92 -76 rlineto
-10 vlineto
-81 -67 rlineto
-1339 -69 1256 hlineto
-140 -116 -32 callgsubr
endchar
</CharString>
<CharString name="equal_greater.liga">
-107 -1 -21 173 -9 callgsubr
hstem
948 74 vstem
695 16 callgsubr
124 -102 rlineto
-694 -69 778 hlineto
92 -76 rlineto
-10 vlineto
-81 -67 rlineto
-789 -69 706 hlineto
-140 -116 -32 callgsubr
endchar
</CharString>
<CharString name="exclam_equal.liga">
-107 151 -25 callgsubr
944 vstem
646 373 rmoveto
375 hlineto
-9 callsubr
-340 hlineto
132 252 -69 32 -149 -284 rlineto
-518 -69 482 hlineto
-81 -153 rlineto
-401 -69 365 hlineto
-163 -311 71 -29 178 340 rlineto
492 hlineto
-9 callsubr
-457 hlineto
endchar
</CharString>
<CharString name="exclam_equal_equal.liga">
-11 callgsubr
273 rmoveto
-9 callsubr
-683 hlineto
81 153 rlineto
601 hlineto
-9 callsubr
-566 hlineto
68 130 -69 32 -85 -162 rlineto
-842 -69 806 hlineto
-81 -153 rlineto
-725 -69 689 hlineto
-80 -153 rlineto
-609 -69 573 hlineto
-111 -211 71 -29 126 240 rlineto
834 hlineto
-9 callsubr
-799 hlineto
80 153 rlineto
endchar
</CharString>
<CharString name="greater_equal.liga">
-107 634 -20 88 -20 hstem
741 114 vstem
187 145 rmoveto
35 -67 633 280 rlineto
69 vlineto
-627 275 -37 -68 550 -237 rlineto
-10 vlineto
114 -191 rmoveto
-668 -291 35 -67 633 280 rlineto
endchar
</CharString>
<CharString name="hyphen_greater.liga">
-107 -7 callsubr
944 vstem
695 16 callgsubr
264 -217 rlineto
-834 -69 835 hlineto
-269 -223 -32 callgsubr
endchar
</CharString>
<CharString name="hyphen_hyphen.liga">
-107 258 69 hstem
181 737 vstem
492 258 rmoveto
12 callgsubr
731 hmoveto
12 callgsubr
endchar
</CharString>
<CharString name="hyphen_hyphen_greater.liga">
443 -7 callsubr
1494 vstem
1245 16 callgsubr
264 -217 rlineto
-1384 -69 1385 hlineto
-269 -223 -32 callgsubr
endchar
</CharString>
<CharString name="less_bar.liga">
-107 704 -20 hstem
216 75 448 75 vstem
739 704 rmoveto
-523 -378 rlineto
-69 vlineto
523 -439 rlineto
75 892 hlineto
-523 -423 rmoveto
10 vlineto
448 317 rlineto
-701 vlineto
endchar
</CharString>
<CharString name="less_equal.liga">
-107 702 -20 hstem
245 114 vstem
913 145 rmoveto
-554 242 rlineto
10 vlineto
550 237 -37 68 -627 -275 rlineto
-69 vlineto
633 -280 rlineto
-633 118 rmoveto
-78 vlineto
633 -280 35 67 rlineto
endchar
</CharString>
<CharString name="less_equal_equal.liga">
443 -1 -21 173 -25 callgsubr
75 vstem
153 287 rmoveto
10 vlineto
92 76 rlineto
1326 hlineto
-9 callsubr
-1244 hlineto
124 103 -45 callgsubr
-139 116 rlineto
1254 hlineto
-9 callsubr
-1338 hlineto
endchar
</CharString>
<CharString name="less_exclam_hyphen_hyphen.liga">
993 -1 -21 22 110 148 69 hstemhm
816 113.5 hintmask 01110000
852 -18 callsubr
-400 311 rmoveto
-45 58 -329 -277 rlineto
-69 vlineto
hintmask 10110000
332 -279 46 57 -268 223 rlineto
521 hlineto
6 69 rlineto
-526 hlineto
860 hmoveto
-69 1067 vlineto
6 69 rlineto
hintmask 01110000
-1307 -327 10 callgsubr
</CharString>
<CharString name="less_hyphen.liga">
-107 -7 callsubr
944 vstem
1022 327 rmoveto
-833 hlineto
263 218 -45 callgsubr
-268 223 rlineto
828 hlineto
endchar
</CharString>
<CharString name="less_hyphen_hyphen.liga">
443 -7 callsubr
1494 vstem
1572 327 rmoveto
-1383 hlineto
263 218 -45 callgsubr
-268 223 rlineto
1378 hlineto
endchar
</CharString>
<CharString name="plus_plus.liga">
-107 259 68 hstem
301 73 353 73 vstem
800 327 rmoveto
187 -73 -187 -353 9 callgsubr
187 353 -187 73 187 176 vlineto
1 68 rlineto
endchar
</CharString>
</CharStrings>
-53
View File
@@ -1,53 +0,0 @@
<ttFont>
<head>
<!-- Most of this table will be recalculated by the compiler -->
<tableVersion value="1.0"/>
<fontRevision value="1.002"/>
<checkSumAdjustment value="0x1cc640f7"/>
<magicNumber value="0x5f0f3cf5"/>
<flags value="00000000 00000011"/>
<unitsPerEm value="1000"/>
<created value="Mon Oct 16 12:43:41 2017"/>
<modified value="Mon Oct 16 12:43:41 2017"/>
<xMin value="-339"/>
<yMin value="-288"/>
<xMax value="2122"/>
<yMax value="1144"/>
<macStyle value="00000000 00000000"/>
<lowestRecPPEM value="3"/>
<fontDirectionHint value="2"/>
<indexToLocFormat value="0"/>
<glyphDataFormat value="0"/>
</head>
<hhea>
<tableVersion value="0x00010000"/>
<ascent value="960"/>
<descent value="-240"/>
<lineGap value="0"/>
<advanceWidthMax value="2200"/>
<minLeftSideBearing value="-339"/>
<minRightSideBearing value="-80"/>
<xMaxExtent value="2122"/>
<caretSlopeRise value="1"/>
<caretSlopeRun value="0"/>
<caretOffset value="0"/>
<reserved0 value="0"/>
<reserved1 value="0"/>
<reserved2 value="0"/>
<reserved3 value="0"/>
<metricDataFormat value="0"/>
<numberOfHMetrics value="454"/>
</hhea>
<CFF>
<CFFFont>
<FontBBox value="-339 -288 2122 1144"/>
</CFFFont>
</CFF>
<CFF>
<CFFFont>
<Private>
<nominalWidthX value="1207"/>
</Private>
</CFFFont>
</CFF>
</ttFont>
-164
View File
@@ -1,164 +0,0 @@
<GPOS>
<Version value="0x00010000"/>
<ScriptList>
<!-- ScriptCount=2 -->
<ScriptRecord index="0">
<ScriptTag value="DFLT"/>
<Script>
<DefaultLangSys>
<ReqFeatureIndex value="65535"/>
<!-- FeatureCount=1 -->
<FeatureIndex index="0" value="0"/>
</DefaultLangSys>
<!-- LangSysCount=0 -->
</Script>
</ScriptRecord>
<ScriptRecord index="1">
<ScriptTag value="latn"/>
<Script>
<DefaultLangSys>
<ReqFeatureIndex value="65535"/>
<!-- FeatureCount=1 -->
<FeatureIndex index="0" value="1"/>
</DefaultLangSys>
<!-- LangSysCount=3 -->
<LangSysRecord index="0">
<LangSysTag value="CAT "/>
<LangSys>
<ReqFeatureIndex value="65535"/>
<!-- FeatureCount=1 -->
<FeatureIndex index="0" value="2"/>
</LangSys>
</LangSysRecord>
<LangSysRecord index="1">
<LangSysTag value="MOL "/>
<LangSys>
<ReqFeatureIndex value="65535"/>
<!-- FeatureCount=1 -->
<FeatureIndex index="0" value="3"/>
</LangSys>
</LangSysRecord>
<LangSysRecord index="2">
<LangSysTag value="ROM "/>
<LangSys>
<ReqFeatureIndex value="65535"/>
<!-- FeatureCount=1 -->
<FeatureIndex index="0" value="4"/>
</LangSys>
</LangSysRecord>
</Script>
</ScriptRecord>
</ScriptList>
<FeatureList>
<!-- FeatureCount=5 -->
<FeatureRecord index="0">
<FeatureTag value="kern"/>
<Feature>
<!-- LookupCount=1 -->
<LookupListIndex index="0" value="0"/>
</Feature>
</FeatureRecord>
<FeatureRecord index="1">
<FeatureTag value="kern"/>
<Feature>
<!-- LookupCount=1 -->
<LookupListIndex index="0" value="0"/>
</Feature>
</FeatureRecord>
<FeatureRecord index="2">
<FeatureTag value="kern"/>
<Feature>
<!-- LookupCount=1 -->
<LookupListIndex index="0" value="0"/>
</Feature>
</FeatureRecord>
<FeatureRecord index="3">
<FeatureTag value="kern"/>
<Feature>
<!-- LookupCount=1 -->
<LookupListIndex index="0" value="0"/>
</Feature>
</FeatureRecord>
<FeatureRecord index="4">
<FeatureTag value="kern"/>
<Feature>
<!-- LookupCount=1 -->
<LookupListIndex index="0" value="0"/>
</Feature>
</FeatureRecord>
</FeatureList>
<LookupList>
<!-- LookupCount=1 -->
<Lookup index="0">
<LookupType value="2"/>
<LookupFlag value="0"/>
<!-- SubTableCount=1 -->
<PairPos index="0" Format="2">
<Coverage Format="2">
<Glyph value="zero.num"/>
<Glyph value="one.num"/>
<Glyph value="two.num"/>
<Glyph value="three.num"/>
<Glyph value="four.num"/>
<Glyph value="five.num"/>
<Glyph value="six.num"/>
<Glyph value="seven.num"/>
<Glyph value="eight.num"/>
<Glyph value="nine.num"/>
<Glyph value="fraction.afrc"/>
</Coverage>
<ValueFormat1 value="4"/>
<ValueFormat2 value="0"/>
<ClassDef1 Format="2">
<ClassDef glyph="eight.num" class="1"/>
<ClassDef glyph="five.num" class="1"/>
<ClassDef glyph="four.num" class="1"/>
<ClassDef glyph="nine.num" class="1"/>
<ClassDef glyph="one.num" class="1"/>
<ClassDef glyph="seven.num" class="1"/>
<ClassDef glyph="six.num" class="1"/>
<ClassDef glyph="three.num" class="1"/>
<ClassDef glyph="two.num" class="1"/>
<ClassDef glyph="zero.num" class="1"/>
</ClassDef1>
<ClassDef2 Format="2">
<ClassDef glyph="eight.den" class="1"/>
<ClassDef glyph="five.den" class="1"/>
<ClassDef glyph="four.den" class="1"/>
<ClassDef glyph="fraction.afrc" class="2"/>
<ClassDef glyph="nine.den" class="1"/>
<ClassDef glyph="one.den" class="1"/>
<ClassDef glyph="seven.den" class="1"/>
<ClassDef glyph="six.den" class="1"/>
<ClassDef glyph="three.den" class="1"/>
<ClassDef glyph="two.den" class="1"/>
<ClassDef glyph="zero.den" class="1"/>
</ClassDef2>
<!-- Class1Count=2 -->
<!-- Class2Count=3 -->
<Class1Record index="0">
<Class2Record index="0">
<Value1 XAdvance="0"/>
</Class2Record>
<Class2Record index="1">
<Value1 XAdvance="-550"/>
</Class2Record>
<Class2Record index="2">
<Value1 XAdvance="0"/>
</Class2Record>
</Class1Record>
<Class1Record index="1">
<Class2Record index="0">
<Value1 XAdvance="0"/>
</Class2Record>
<Class2Record index="1">
<Value1 XAdvance="0"/>
</Class2Record>
<Class2Record index="2">
<Value1 XAdvance="-550"/>
</Class2Record>
</Class1Record>
</PairPos>
</Lookup>
</LookupList>
</GPOS>
-407
View File
@@ -1,407 +0,0 @@
<GSUB>
<Version value="0x00010000"/>
<ScriptList>
<!-- ScriptCount=2 -->
<ScriptRecord index="0">
<ScriptTag value="DFLT"/>
<Script>
<DefaultLangSys>
<ReqFeatureIndex value="65535"/>
<!-- FeatureCount=4 -->
<FeatureIndex index="0" value="0"/>
<FeatureIndex index="1" value="5"/>
<FeatureIndex index="2" value="10"/>
<FeatureIndex index="3" value="15"/>
</DefaultLangSys>
<!-- LangSysCount=0 -->
</Script>
</ScriptRecord>
<ScriptRecord index="1">
<ScriptTag value="latn"/>
<Script>
<DefaultLangSys>
<ReqFeatureIndex value="65535"/>
<!-- FeatureCount=4 -->
<FeatureIndex index="0" value="1"/>
<FeatureIndex index="1" value="6"/>
<FeatureIndex index="2" value="11"/>
<FeatureIndex index="3" value="16"/>
</DefaultLangSys>
<!-- LangSysCount=3 -->
<LangSysRecord index="0">
<LangSysTag value="CAT "/>
<LangSys>
<ReqFeatureIndex value="65535"/>
<!-- FeatureCount=5 -->
<FeatureIndex index="0" value="2"/>
<FeatureIndex index="1" value="7"/>
<FeatureIndex index="2" value="12"/>
<FeatureIndex index="3" value="17"/>
<FeatureIndex index="4" value="20"/>
</LangSys>
</LangSysRecord>
<LangSysRecord index="1">
<LangSysTag value="MOL "/>
<LangSys>
<ReqFeatureIndex value="65535"/>
<!-- FeatureCount=5 -->
<FeatureIndex index="0" value="3"/>
<FeatureIndex index="1" value="8"/>
<FeatureIndex index="2" value="13"/>
<FeatureIndex index="3" value="18"/>
<FeatureIndex index="4" value="21"/>
</LangSys>
</LangSysRecord>
<LangSysRecord index="2">
<LangSysTag value="ROM "/>
<LangSys>
<ReqFeatureIndex value="65535"/>
<!-- FeatureCount=5 -->
<FeatureIndex index="0" value="4"/>
<FeatureIndex index="1" value="9"/>
<FeatureIndex index="2" value="14"/>
<FeatureIndex index="3" value="19"/>
<FeatureIndex index="4" value="22"/>
</LangSys>
</LangSysRecord>
</Script>
</ScriptRecord>
</ScriptList>
<FeatureList>
<!-- FeatureCount=23 -->
<FeatureRecord index="0">
<FeatureTag value="aalt"/>
<Feature>
<!-- LookupCount=1 -->
<LookupListIndex index="0" value="0"/>
</Feature>
</FeatureRecord>
<FeatureRecord index="1">
<FeatureTag value="aalt"/>
<Feature>
<!-- LookupCount=1 -->
<LookupListIndex index="0" value="0"/>
</Feature>
</FeatureRecord>
<FeatureRecord index="2">
<FeatureTag value="aalt"/>
<Feature>
<!-- LookupCount=1 -->
<LookupListIndex index="0" value="0"/>
</Feature>
</FeatureRecord>
<FeatureRecord index="3">
<FeatureTag value="aalt"/>
<Feature>
<!-- LookupCount=1 -->
<LookupListIndex index="0" value="0"/>
</Feature>
</FeatureRecord>
<FeatureRecord index="4">
<FeatureTag value="aalt"/>
<Feature>
<!-- LookupCount=1 -->
<LookupListIndex index="0" value="0"/>
</Feature>
</FeatureRecord>
<FeatureRecord index="5">
<FeatureTag value="dlig"/>
<Feature>
<!-- LookupCount=1 -->
<LookupListIndex index="0" value="5"/>
</Feature>
</FeatureRecord>
<FeatureRecord index="6">
<FeatureTag value="dlig"/>
<Feature>
<!-- LookupCount=1 -->
<LookupListIndex index="0" value="5"/>
</Feature>
</FeatureRecord>
<FeatureRecord index="7">
<FeatureTag value="dlig"/>
<Feature>
<!-- LookupCount=1 -->
<LookupListIndex index="0" value="5"/>
</Feature>
</FeatureRecord>
<FeatureRecord index="8">
<FeatureTag value="dlig"/>
<Feature>
<!-- LookupCount=1 -->
<LookupListIndex index="0" value="5"/>
</Feature>
</FeatureRecord>
<FeatureRecord index="9">
<FeatureTag value="dlig"/>
<Feature>
<!-- LookupCount=1 -->
<LookupListIndex index="0" value="5"/>
</Feature>
</FeatureRecord>
<FeatureRecord index="10">
<FeatureTag value="frac"/>
<Feature>
<!-- LookupCount=1 -->
<LookupListIndex index="0" value="4"/>
</Feature>
</FeatureRecord>
<FeatureRecord index="11">
<FeatureTag value="frac"/>
<Feature>
<!-- LookupCount=1 -->
<LookupListIndex index="0" value="4"/>
</Feature>
</FeatureRecord>
<FeatureRecord index="12">
<FeatureTag value="frac"/>
<Feature>
<!-- LookupCount=1 -->
<LookupListIndex index="0" value="4"/>
</Feature>
</FeatureRecord>
<FeatureRecord index="13">
<FeatureTag value="frac"/>
<Feature>
<!-- LookupCount=1 -->
<LookupListIndex index="0" value="4"/>
</Feature>
</FeatureRecord>
<FeatureRecord index="14">
<FeatureTag value="frac"/>
<Feature>
<!-- LookupCount=1 -->
<LookupListIndex index="0" value="4"/>
</Feature>
</FeatureRecord>
<FeatureRecord index="15">
<FeatureTag value="liga"/>
<Feature>
<!-- LookupCount=1 -->
<LookupListIndex index="0" value="6"/>
</Feature>
</FeatureRecord>
<FeatureRecord index="16">
<FeatureTag value="liga"/>
<Feature>
<!-- LookupCount=1 -->
<LookupListIndex index="0" value="6"/>
</Feature>
</FeatureRecord>
<FeatureRecord index="17">
<FeatureTag value="liga"/>
<Feature>
<!-- LookupCount=1 -->
<LookupListIndex index="0" value="6"/>
</Feature>
</FeatureRecord>
<FeatureRecord index="18">
<FeatureTag value="liga"/>
<Feature>
<!-- LookupCount=1 -->
<LookupListIndex index="0" value="6"/>
</Feature>
</FeatureRecord>
<FeatureRecord index="19">
<FeatureTag value="liga"/>
<Feature>
<!-- LookupCount=1 -->
<LookupListIndex index="0" value="6"/>
</Feature>
</FeatureRecord>
<FeatureRecord index="20">
<FeatureTag value="locl"/>
<Feature>
<!-- LookupCount=1 -->
<LookupListIndex index="0" value="1"/>
</Feature>
</FeatureRecord>
<FeatureRecord index="21">
<FeatureTag value="locl"/>
<Feature>
<!-- LookupCount=1 -->
<LookupListIndex index="0" value="3"/>
</Feature>
</FeatureRecord>
<FeatureRecord index="22">
<FeatureTag value="locl"/>
<Feature>
<!-- LookupCount=1 -->
<LookupListIndex index="0" value="2"/>
</Feature>
</FeatureRecord>
</FeatureList>
<LookupList>
<!-- LookupCount=8 -->
<Lookup index="0">
<LookupType value="1"/>
<LookupFlag value="0"/>
<!-- SubTableCount=1 -->
<SingleSubst index="0" Format="1">
<Substitution in="Scedilla" out="uni0218"/>
<Substitution in="scedilla" out="uni0219"/>
</SingleSubst>
</Lookup>
<Lookup index="1">
<LookupType value="6"/>
<LookupFlag value="0"/>
<!-- SubTableCount=2 -->
<ChainContextSubst index="0" Format="3">
<!-- BacktrackGlyphCount=0 -->
<!-- InputGlyphCount=2 -->
<InputCoverage index="0" Format="1">
<Glyph value="l"/>
</InputCoverage>
<InputCoverage index="1" Format="1">
<Glyph value="periodcentered"/>
</InputCoverage>
<!-- LookAheadGlyphCount=1 -->
<LookAheadCoverage index="0" Format="1">
<Glyph value="l"/>
</LookAheadCoverage>
<!-- SubstCount=1 -->
<SubstLookupRecord index="0">
<SequenceIndex value="0"/>
<LookupListIndex value="7"/>
</SubstLookupRecord>
</ChainContextSubst>
<ChainContextSubst index="1" Format="3">
<!-- BacktrackGlyphCount=0 -->
<!-- InputGlyphCount=2 -->
<InputCoverage index="0" Format="1">
<Glyph value="L"/>
</InputCoverage>
<InputCoverage index="1" Format="1">
<Glyph value="periodcentered"/>
</InputCoverage>
<!-- LookAheadGlyphCount=1 -->
<LookAheadCoverage index="0" Format="1">
<Glyph value="L"/>
</LookAheadCoverage>
<!-- SubstCount=1 -->
<SubstLookupRecord index="0">
<SequenceIndex value="0"/>
<LookupListIndex value="7"/>
</SubstLookupRecord>
</ChainContextSubst>
</Lookup>
<Lookup index="2">
<LookupType value="1"/>
<LookupFlag value="0"/>
<!-- SubTableCount=1 -->
<SingleSubst index="0" Format="1">
<Substitution in="Scedilla" out="uni0218"/>
<Substitution in="scedilla" out="uni0219"/>
</SingleSubst>
</Lookup>
<Lookup index="3">
<LookupType value="1"/>
<LookupFlag value="0"/>
<!-- SubTableCount=1 -->
<SingleSubst index="0" Format="1">
<Substitution in="Scedilla" out="uni0218"/>
<Substitution in="scedilla" out="uni0219"/>
</SingleSubst>
</Lookup>
<Lookup index="4">
<LookupType value="4"/>
<LookupFlag value="0"/>
<!-- SubTableCount=1 -->
<LigatureSubst index="0" Format="1">
<LigatureSet glyph="five">
<Ligature components="slash,six" glyph="uni215A"/>
<Ligature components="slash,eight" glyph="fiveeighths"/>
</LigatureSet>
<LigatureSet glyph="four">
<Ligature components="slash,five" glyph="uni2158"/>
</LigatureSet>
<LigatureSet glyph="one">
<Ligature components="slash,two" glyph="onehalf"/>
<Ligature components="slash,three" glyph="uni2153"/>
<Ligature components="slash,four" glyph="onequarter"/>
<Ligature components="slash,five" glyph="uni2155"/>
<Ligature components="slash,six" glyph="uni2159"/>
<Ligature components="slash,eight" glyph="oneeighth"/>
</LigatureSet>
<LigatureSet glyph="seven">
<Ligature components="slash,eight" glyph="seveneighths"/>
</LigatureSet>
<LigatureSet glyph="three">
<Ligature components="slash,four" glyph="threequarters"/>
<Ligature components="slash,five" glyph="uni2157"/>
<Ligature components="slash,eight" glyph="threeeighths"/>
</LigatureSet>
<LigatureSet glyph="two">
<Ligature components="slash,three" glyph="uni2154"/>
<Ligature components="slash,five" glyph="uni2156"/>
</LigatureSet>
</LigatureSubst>
</Lookup>
<Lookup index="5">
<LookupType value="4"/>
<LookupFlag value="0"/>
<!-- SubTableCount=1 -->
<LigatureSubst index="0" Format="1">
<LigatureSet glyph="R">
<Ligature components="p" glyph="R_p"/>
</LigatureSet>
</LigatureSubst>
</Lookup>
<Lookup index="6">
<LookupType value="4"/>
<LookupFlag value="0"/>
<!-- SubTableCount=1 -->
<LigatureSubst index="0" Format="1">
<LigatureSet glyph="ampersand">
<Ligature components="ampersand" glyph="ampersand_ampersand.liga"/>
</LigatureSet>
<LigatureSet glyph="bar">
<Ligature components="greater" glyph="bar_greater.liga"/>
<Ligature components="bar" glyph="bar_bar.liga"/>
</LigatureSet>
<LigatureSet glyph="equal">
<Ligature components="equal,equal" glyph="equal_equal_equal.liga"/>
<Ligature components="equal,greater" glyph="equal_equal_greater.liga"/>
<Ligature components="equal" glyph="equal_equal.liga"/>
<Ligature components="greater" glyph="equal_greater.liga"/>
</LigatureSet>
<LigatureSet glyph="exclam">
<Ligature components="equal,equal" glyph="exclam_equal_equal.liga"/>
<Ligature components="equal" glyph="exclam_equal.liga"/>
</LigatureSet>
<LigatureSet glyph="greater">
<Ligature components="equal" glyph="greater_equal.liga"/>
</LigatureSet>
<LigatureSet glyph="hyphen">
<Ligature components="hyphen,greater" glyph="hyphen_hyphen_greater.liga"/>
<Ligature components="hyphen" glyph="hyphen_hyphen.liga"/>
<Ligature components="greater" glyph="hyphen_greater.liga"/>
</LigatureSet>
<LigatureSet glyph="less">
<Ligature components="exclam,hyphen,hyphen" glyph="less_exclam_hyphen_hyphen.liga"/>
<Ligature components="hyphen,hyphen" glyph="less_hyphen_hyphen.liga"/>
<Ligature components="equal,equal" glyph="less_equal_equal.liga"/>
<Ligature components="hyphen" glyph="less_hyphen.liga"/>
<Ligature components="equal" glyph="less_equal.liga"/>
<Ligature components="bar" glyph="less_bar.liga"/>
</LigatureSet>
<LigatureSet glyph="plus">
<Ligature components="plus" glyph="plus_plus.liga"/>
</LigatureSet>
</LigatureSubst>
</Lookup>
<Lookup index="7">
<LookupType value="4"/>
<LookupFlag value="0"/>
<!-- SubTableCount=1 -->
<LigatureSubst index="0" Format="1">
<LigatureSet glyph="L">
<Ligature components="periodcentered" glyph="Ldot"/>
</LigatureSet>
<LigatureSet glyph="l">
<Ligature components="periodcentered" glyph="ldot"/>
</LigatureSet>
</LigatureSubst>
</Lookup>
</LookupList>
</GSUB>
-976
View File
@@ -1,976 +0,0 @@
<GlobalSubrs>
<!-- The 'index' attribute is only for humans; it is ignored when parsed. -->
<CharString index="0">
rmoveto
23 -36 68 33 108 65 59 53 rlinecurve
-65 63 -48 -57 -87 -81 -58 -40 rlinecurve
return
</CharString>
<CharString index="1">
rmoveto
54 -51 45 -163 15 vhcurveto
8 95 rlineto
188 hlineto
6 57 rlineto
-248 hlineto
-15 -198 rlineto
159 -11 54 -25 -33 vvcurveto
-42 -59 -25 -164 -11 vhcurveto
4 -61 rlineto
194 13 87 55 72 vvcurveto
return
</CharString>
<CharString index="2">
rmoveto
126 105 106 162 157 -86 92 -122 -126 -106 -108 -159 -158 88 -92 121 hvcurveto
13 67 rmoveto
-83 -57 70 128 120 56 66 80 84 57 -71 -127 -121 -56 -65 -81 hvcurveto
endchar
</CharString>
<CharString index="3">
rmoveto
71 66 56 92 56 hvcurveto
-48 25 rlineto
-70 -47 -39 -37 -52 hhcurveto
-49 -37 31 80 -49 hvcurveto
-57 -33 rlineto
-97 54 61 -47 70 hhcurveto
return
</CharString>
<CharString index="4">
87 hlineto
15 117 21 236 13 267 rrcurveto
-78 hlineto
-5 -124 -16 -329 -7 -61 rrcurveto
-3 hlineto
-30 110 -30 111 -29 109 rrcurveto
-50 hlineto
-28 -108 -25 -100 -33 -122 rrcurveto
-4 hlineto
-6 61 -18 329 -5 124 rrcurveto
-82 hlineto
13 -267 20 -236 15 -117 rrcurveto
88 hlineto
endchar
</CharString>
<CharString index="5">
rmoveto
127 77 80 139 hvcurveto
416 -83 -429 vlineto
-94 -37 -40 -76 -74 -45 47 102 vhcurveto
414 -84 -420 vlineto
-139 73 -76 122 vhcurveto
endchar
</CharString>
<CharString index="6">
rmoveto
82 hlineto
2 136 rlineto
-83 hlineto
219 -136 rmoveto
82 hlineto
2 136 rlineto
-83 hlineto
return
</CharString>
<CharString index="7">
rmoveto
8 -74 rlineto
270 14 67 104 169 vvcurveto
57 0 268 -1 39 vhcurveto
15 -49 -46 8 -48 hhcurveto
-140 -121 -98 -158 -129 79 -78 106 58 47 21 27 35 hvcurveto
-2 -139 -31 -28 -232 -18 rrcurveto
155 202 rmoveto
-77 -58 53 108 109 66 59 86 31 30 -6 -9 32 hvcurveto
-1 -76 1 -137 -67 vvcurveto
-20 -32 -39 -14 -39 hhcurveto
endchar
</CharString>
<CharString index="8">
18 callgsubr
rmoveto
-61 -40 30 52 67 59 39 179 -19 hvcurveto
-48 1 -36 1 -32 vhcurveto
-30 -38 -52 -23 -49 hhcurveto
endchar
</CharString>
<CharString index="9">
rmoveto
hintmask 00111110
84 6 -57 207 -59 204 -65 208 17 callsubr
hlineto
hintmask 01011110
-65 -209 -59 -206 -57 -207 rrcurveto
83 hlineto
17 63 16 64 17 63 rrcurveto
209 hlineto
hintmask 10011110
18 -64 17 -65 17 -64 rrcurveto
hintmask 00111110
-160 554 rmoveto
8 hlineto
29 -99 27 -100 27 -99 rrcurveto
-175 hlineto
28 99 27 99 29 100 rrcurveto
endchar
</CharString>
<CharString index="10">
-7 -140 -7 -118 -8 -132 rrcurveto
-4 hlineto
-10 32 -70 199 -8 25 rrcurveto
-50 hlineto
-7 -24 -69 -199 -10 -31 rrcurveto
-4 hlineto
-10 132 -7 117 -7 139 rrcurveto
-80 hlineto
11 -184 21 -190 18 -116 rrcurveto
73 hlineto
endchar
</CharString>
<CharString index="11">
295 57 -213 hlineto
129 89 71 65 75 vvcurveto
66 -61 53 -208 -1 vhcurveto
-5 -58 rlineto
162 -3 46 -27 -47 vvcurveto
-60 -78 -59 -145 -97 vhcurveto
return
</CharString>
<CharString index="12">
165 122 -4 53 rlineto
-269 -57 hlineto
195 2 rlineto
-3 vlineto
-162 -121 rlineto
-33 vlineto
return
</CharString>
<CharString index="13">
78 -263 rmoveto
-56 -31 26 35 31 27 26 47 19 hvcurveto
52 -25 48 -23 -34 vvcurveto
-31 -33 -24 -54 vhcurveto
endchar
</CharString>
<CharString index="14">
rmoveto
4 hlineto
176 151 -41 40 -131 -112 -133 113 -51 -49 rlineto
return
</CharString>
<CharString index="15">
-1 callgsubr
-148 1 2 31 46 180 15 51 rlinecurve
-70 5 -33 -119 -17 -126 1 -77 rlinecurve
203 1 -1 -81 rlineto
62 hlineto
endchar
</CharString>
<CharString index="16">
rmoveto
24 -55 rlineto
157 57 75 90 113 vvcurveto
104 -64 56 -90 -84 -71 -56 -82 -118 145 -31 98 81 vhcurveto
-13 -69 -52 -46 -125 -44 rrcurveto
8 232 rmoveto
49 40 31 48 56 41 -37 -77 vhcurveto
-4 vlineto
-88 -60 -97 20 78 vvcurveto
endchar
</CharString>
<CharString index="17">
-90 callsubr
-74 -148 -66 callgsubr
return
</CharString>
<CharString index="18">
rmoveto
-2 80 1 96 128 vvcurveto
-78 hlineto
-92 2 -93 1 -67 vhcurveto
-198 -13 -64 98 165 vvcurveto
138 49 102 267 -1 vhcurveto
-5 80 rlineto
-304 -11 -92 -146 -177 vvcurveto
-217 128 -133 295 63 vhcurveto
return
</CharString>
<CharString index="19">
-12 64 -34 -21 26 -21 223.48 53.52 150 70 return
</CharString>
<CharString index="20">
rmoveto
488 154 66 -390 -66 153 -488 -153 -66 388 vlineto
6 66 rlineto
endchar
</CharString>
<CharString index="21">
82.5 137.5 82.5 return
</CharString>
<CharString index="22">
rmoveto
-1 -77 rlineto
287 -16 107 101 95 148 -309 43 107 vvcurveto
51 57 40 217 -15 vhcurveto
-5 77 rlineto
-255 14 -99 -92 -88 -145 309 -38 -114 vvcurveto
-59 -82 -51 -226 19 vhcurveto
return
</CharString>
<CharString index="23">
rmoveto
68 -8 rlineto
hintmask 10100000
45 118 63 116 76 112 rrcurveto
56 -296 vlineto
-5 -58 rlineto
232 hlineto
2 -3 rlineto
hintmask 11000000
-78 -110 -62 -110 -45 -113 rrcurveto
endchar
</CharString>
<CharString index="24">
-184 428 -258 hlineto
-6 -57 183 -8 rlineto
-363 -184 vlineto
endchar
</CharString>
<CharString index="25">
rmoveto
126 105 106 162 hvcurveto
hintmask 10011100
74 -19 60 -33 42 vhcurveto
42 61 rlineto
hintmask 01101100
-48 32 -37 -53 rlineto
22 -32 -38 11 -43 hhcurveto
-126 -106 -108 -159 -76 20 -60 35 -43 hvcurveto
-42 -59 rlineto
hintmask 10101100
48 -32 36 52 rlineto
-21 32 38 -11 42 hhcurveto
-128 265 rmoveto
121 57 65 80 33 29 -11 -21 23 vhcurveto
-195 -282 rlineto
-17 32 -10 43 53 vvcurveto
141 -199 rmoveto
-32 -29 10 20 -22 hvcurveto
195 282 rlineto
17 -32 9 -42 -51 vvcurveto
-122 -56 -65 -82 vhcurveto
endchar
</CharString>
<CharString index="26">
rmoveto
hintmask 10011011
126 -240 rlineto
hintmask 00110111
89 13 -148 268 rlineto
60 43 44 56 82 vvcurveto
127 -96 82 -285 -42 vhcurveto
hintmask 01011011
-619 83 226 vlineto
61 vmoveto
268 vlineto
151 22 65 -53 -90 vvcurveto
-63 -33 -48 -48 -32 vhcurveto
endchar
</CharString>
<CharString index="27">
136 -13 50 -27 -31 vvcurveto
-35 -57 -23 -168 -5 vhcurveto
return
</CharString>
<CharString index="28">
rmoveto
28 66 rlineto
-175 53 -76 39 53 58 88 42 63 vvcurveto
hintmask 10110000
39 -31 40 -84 21 vhcurveto
hintmask 10101000
85 23 32 41 37 vvcurveto
hintmask 11000000
56 -96 49 52 vvcurveto
45 78 40 181 51 vhcurveto
-26 67 rlineto
-230 -73 -81 -69 -69 vvcurveto
hintmask 10101000
1 -75 100 -43 -45 vvcurveto
-30 -36 -23 -125 -11 vhcurveto
-2 -59 rlineto
hintmask 10110000
109 -7 48 -31 -38 vvcurveto
hintmask 10100000
-47 -92 -43 -79 vvcurveto
-74 78 -46 226 -73 vhcurveto
endchar
</CharString>
<CharString index="29">
60 26 34 32 47 vvcurveto
58 -60 38 -79 -98 -53 -55 -51 return
</CharString>
<CharString index="30">
18 -21 24 -14 callsubr
187 63 298 71 return
</CharString>
<CharString index="31">
9 68 rlineto
-240 -11 -69 66 129 vvcurveto
104 49 69 253 -1 vhcurveto
-6 77 rlineto
-285 -6 -91 -119 -135 vvcurveto
return
</CharString>
<CharString index="32">
414 hlineto
7 73 -330 -1 323 477 rlineto
71 -404 vlineto
-6 -73 321 1 -325 -477 rlineto
endchar
</CharString>
<CharString index="33">
rmoveto
hintmask 00111111
84 6 -57 207 -59 204 -65 208 17 callsubr
hlineto
hintmask 01011111
-65 -209 -59 -206 -57 -207 rrcurveto
83 hlineto
17 63 16 64 17 63 rrcurveto
209 hlineto
hintmask 10011111
18 -64 17 -65 17 -64 rrcurveto
hintmask 00111111
-160 554 rmoveto
8 hlineto
29 -99 27 -100 27 -99 rrcurveto
-175 hlineto
28 99 27 99 29 100 rrcurveto
endchar
</CharString>
<CharString index="34">
rmoveto
62 37 -33 -94 hvcurveto
-305 81 332 vlineto
120 -58 49 -88 return
</CharString>
<CharString index="35">
5 55 -57 -1 1 137 -62 -5 2 -132 return
</CharString>
<CharString index="36">
rmoveto
37 -13 60 89 16 79 -11 83 rlinecurve
-91 -1 19 -75 7 -73 -37 -89 rlinecurve
return
</CharString>
<CharString index="37">
0 62 574.5 61.5 -58 -20 hstemhm
237 82 return
</CharString>
<CharString index="38">
-73 callgsubr
-70 -53 -31 -34 -41 vhcurveto
return
</CharString>
<CharString index="39">
-54 callgsubr
hintmask 10110000
-51 callsubr
hintmask 11010000
-74 callsubr
return
</CharString>
<CharString index="40">
-60 callsubr
-361 -222 -66 callgsubr
return
</CharString>
<CharString index="41">
rmoveto
-55 428 55 vlineto
return
</CharString>
<CharString index="42">
2 -14 -15 1 -15 hhcurveto
-149 -128 -102 -179 -145 78 -87 106 60 49 28 33 35 hvcurveto
-113 6 rmoveto
-79 -56 61 125 124 70 67 90 26 27 -5 -9 28 hvcurveto
-137 1 -99 2 -85 vhcurveto
-24 -30 -38 -18 -41 hhcurveto
endchar
</CharString>
<CharString index="43">
45.28 152.9 53 hstem
120 61 185 63 vstem
173 return
</CharString>
<CharString index="44">
-78 callgsubr
-37 callgsubr
return
</CharString>
<CharString index="45">
hstem
66 80 259 78.75 vstem
return
</CharString>
<CharString index="46">
rmoveto
94 -274 rlineto
75 hlineto
17 116 21 190 11 184 rrcurveto
-76 hlineto
return
</CharString>
<CharString index="47">
hintmask 11011000
460 -8 rmoveto
9 68 rlineto
-164 3 -47 22 85 vvcurveto
257 200 63 -200 143 vlineto
hintmask 11101000
18 callsubr
-136 -93 vlineto
-8 -63 rlineto
101 -270 hlineto
hintmask 11011000
-121 71 -47 212 3 vhcurveto
return
</CharString>
<CharString index="48">
71 211 63 204 71 return
</CharString>
<CharString index="49">
-49 callgsubr
-63 -146 -66 callgsubr
return
</CharString>
<CharString index="50">
55 304 55 hstem
109 66 200 66 vstem
269 return
</CharString>
<CharString index="51">
rmoveto
55 -51 rlineto
217 178 86 147 145 vvcurveto
141 -85 144 -214 177 vhcurveto
-55 -53 rlineto
200 -158 74 -128 -126 vvcurveto
-128 -73 -127 -205 -161 vhcurveto
endchar
</CharString>
<CharString index="52">
rmoveto
-55 51 rlineto
-216 -177 -87 -147 -145 vvcurveto
-142 85 -144 214 -176 vhcurveto
56 51 rlineto
-201 159 -74 128 127 vvcurveto
127 73 128 205 160 vhcurveto
endchar
</CharString>
<CharString index="53">
368 hlineto
7 62 rlineto
-166 hlineto
-1 114 -2 96 -1 85 rrcurveto
return
</CharString>
<CharString index="54">
394 hlineto
7 62 rlineto
-160 636 -226 hlineto
return
</CharString>
<CharString index="55">
-12 67 510 67 hstem
56 78 282 79 vstem
268 -12 rmoveto
139 88 132 199 196 -74 117 -139 -139 -87 -131 -200 -195 74 -118 138 hvcurveto
return
</CharString>
<CharString index="56">
-55 -29 39 53 47 28 49 59 42 hvcurveto
32 -38 41 -46 48 -57 rrcurveto
-61 -39 -43 -28 -42 hhcurveto
return
</CharString>
<CharString index="57">
-9.14 70.62 -41.48 -21 return
</CharString>
<CharString index="58">
131 425 rmoveto
-96 callgsubr
return
</CharString>
<CharString index="59">
-15 69 512 69 hstem
46 85 288 85 vstem
return
</CharString>
<CharString index="60">
377 hlineto
8 71 rlineto
-301 549 -84 hlineto
return
</CharString>
<CharString index="61">
130 56 147 60.5 return
</CharString>
<CharString index="62">
-45 58 -329 -277 rlineto
-69 vlineto
332 -279 46 57 return
</CharString>
<CharString index="63">
hstem
-64 callsubr
return
</CharString>
<CharString index="64">
61 288 -58 callsubr
return
</CharString>
<CharString index="65">
0 62 366.5 61.5 18 -20 return
</CharString>
<CharString index="66">
hstem
55 82 277 81 vstem
return
</CharString>
<CharString index="67">
21 -21 620 -20 22 -20 hstemhm
234 84 hintmask 10110000
return
</CharString>
<CharString index="68">
-5.25 73.25 480 80 return
</CharString>
<CharString index="69">
-7 65 -64 68 161 52 -48.5 5 callsubr
149 69 -65 67 hstemhm
34 76 124 70 135 74 hintmask 0101011110000000
return
</CharString>
<CharString index="70">
-46 43 -30 48 -26 vhcurveto
return
</CharString>
<CharString index="71">
hintmask 11010000
78 hmoveto
-31 callsubr
return
</CharString>
<CharString index="72">
50 -54 callsubr
return
</CharString>
<CharString index="73">
0 106 514 -20 hstem
51 82 289 78 vstem
return
</CharString>
<CharString index="74">
33 59 32 79 22 89 -70 9 rcurveline
-14 -68 -21 -66 -23 -54 rrcurveto
return
</CharString>
<CharString index="75">
45 -57 333 280 rlineto
69 vlineto
return
</CharString>
<CharString index="76">
443 hlineto
6 62 rlineto
return
</CharString>
<CharString index="77">
-20 callsubr
92 55 return
</CharString>
<CharString index="78">
130 112 116 191 191 -105 108 -131 -132 -98 -124 -185 vhcurveto
48 2 rmoveto
161 return
</CharString>
<CharString index="79">
21 -21 432 69 -9 -20 hstemhm
88 81 221 81 hintmask 11011000
return
</CharString>
<CharString index="80">
-8 68 367 63 136 -20 27 -20 hstemhm
177 81 return
</CharString>
<CharString index="81">
0 -59 callgsubr
return
</CharString>
<CharString index="82">
-9 callgsubr
hstem
78 return
</CharString>
<CharString index="83">
-101 callgsubr
hintmask 11110010
return
</CharString>
<CharString index="84">
rmoveto
243 -222 54 56 -232 207 238 205 -54 56 -244 -221 rlineto
endchar
</CharString>
<CharString index="85">
-61 callsubr
224 85 vstem
return
</CharString>
<CharString index="86">
-152 -21 211 65 329 69 return
</CharString>
<CharString index="87">
0 71 549 -20 hstem
113 84 return
</CharString>
<CharString index="88">
0 62 367 61 return
</CharString>
<CharString index="89">
15 -21 27 -21 27 -21 213 60 207 -20 26 -20 227 -20 27 -20 hstemhm
101 81 return
</CharString>
<CharString index="90">
rmoveto
54 -57 244 221 5 82 -243 221 -54 -56 232 -207 rlineto
endchar
</CharString>
<CharString index="91">
40 54 34 201 -18 vhcurveto
return
</CharString>
<CharString index="92">
-70 callgsubr
hintmask 11010000
return
</CharString>
<CharString index="93">
rmoveto
-75 -6 rlineto
-886 75 vlineto
return
</CharString>
<CharString index="94">
0 hflex1
return
</CharString>
<CharString index="95">
8 callsubr
245.36 55 return
</CharString>
<CharString index="96">
443 51 69 153 -25 callgsubr
1494 vstem
1571 return
</CharString>
<CharString index="97">
rmoveto
-248 hlineto
-3 -66 rlineto
328 873 -326 -66 249 hlineto
endchar
</CharString>
<CharString index="98">
69 153 69 return
</CharString>
<CharString index="99">
-14 66 -33 -21 439 66 -12 -20 hstemhm
55 81 279 80 hintmask 10101100
return
</CharString>
<CharString index="100">
-88 -56 -45 -63 -75 vvcurveto
-80 49 -62 95 64 64 34 77 51 vhcurveto
28 return
</CharString>
<CharString index="101">
hstemhm
80 75.5 return
</CharString>
<CharString index="102">
hstem
233 83 vstem
return
</CharString>
<CharString index="103">
-1 callgsubr
rlineto
return
</CharString>
<CharString index="104">
59 hstemhm
148 78 -75 81 11 77 -71 73 hintmask 10100000
455 return
</CharString>
<CharString index="105">
-83 6 -51 -75 -53 -69 -58 -68 rlinecurve
-76 -2 rlineto
428 vlineto
return
</CharString>
<CharString index="106">
rmoveto
52 -1 -72 callgsubr
return
</CharString>
<CharString index="107">
0 71 111 62 38 63 204 71 hstem
262 73 vstem
return
</CharString>
<CharString index="108">
rmoveto
3 callgsubr
</CharString>
<CharString index="109">
-19 hlineto
-6 2 -3 5 4 2 2 4 1 vhcurveto
5 hlineto
return
</CharString>
<CharString index="110">
-47 callgsubr
endchar
</CharString>
<CharString index="111">
98 hlineto
5 120 rlineto
-98 hlineto
return
</CharString>
<CharString index="112">
78.41 return
</CharString>
<CharString index="113">
76.5 return
</CharString>
<CharString index="114">
84.5 -81.5 81 hintmask 00000000
return
</CharString>
<CharString index="115">
86 12 -188 249 62 73 59 79 56 79 rlinecurve
return
</CharString>
<CharString index="116">
187 -73 -187 -178 -68 178 -187 73 return
</CharString>
<CharString index="117">
rmoveto
113 hlineto
3 110 rlineto
-114 hlineto
endchar
</CharString>
<CharString index="118">
82.5 hintmask 00000000
return
</CharString>
<CharString index="119">
6 69 rlineto
-317 -69 hlineto
return
</CharString>
<CharString index="120">
hlineto
17 172 rlineto
-59 hlineto
-17 -172 rlineto
return
</CharString>
<CharString index="121">
66 741 66 hstem
337 77 vstem
337 return
</CharString>
<CharString index="122">
0 71 348 71 return
</CharString>
<CharString index="123">
602 rmoveto
-47 -58 return
</CharString>
<CharString index="124">
hstemhm
67 80 return
</CharString>
<CharString index="125">
-150 55 return
</CharString>
<CharString index="126">
21 -21 549 71 hstem
234 84 vstem
return
</CharString>
<CharString index="127">
29 37 24 124 11 vhcurveto
3 58 rlineto
return
</CharString>
<CharString index="128">
55 93 -67 callsubr
return
</CharString>
<CharString index="129">
-20 callgsubr
vstem
return
</CharString>
<CharString index="130">
rmoveto
119 hlineto
return
</CharString>
<CharString index="131">
118.5 hintmask 11010000
220 return
</CharString>
</GlobalSubrs>
-22
View File
@@ -1,22 +0,0 @@
<hmtx>
<mtx name="ampersand_ampersand.liga" width="1100" lsb="108"/>
<mtx name="bar_bar.liga" width="1100" lsb="312"/>
<mtx name="bar_greater.liga" width="1100" lsb="287"/>
<mtx name="equal_equal.liga" width="1100" lsb="78"/>
<mtx name="equal_equal_equal.liga" width="1650" lsb="78"/>
<mtx name="equal_equal_greater.liga" width="1650" lsb="78"/>
<mtx name="equal_greater.liga" width="1100" lsb="78"/>
<mtx name="exclam_equal.liga" width="1100" lsb="78"/>
<mtx name="exclam_equal_equal.liga" width="1650" lsb="78"/>
<mtx name="greater_equal.liga" width="1100" lsb="187"/>
<mtx name="hyphen_greater.liga" width="1100" lsb="78"/>
<mtx name="hyphen_hyphen.liga" width="1100" lsb="181"/>
<mtx name="hyphen_hyphen_greater.liga" width="1650" lsb="78"/>
<mtx name="less_bar.liga" width="1100" lsb="216"/>
<mtx name="less_equal.liga" width="1100" lsb="245"/>
<mtx name="less_equal_equal.liga" width="1650" lsb="78"/>
<mtx name="less_exclam_hyphen_hyphen.liga" width="2200" lsb="78"/>
<mtx name="less_hyphen.liga" width="1100" lsb="78"/>
<mtx name="less_hyphen_hyphen.liga" width="1650" lsb="78"/>
<mtx name="plus_plus.liga" width="1100" lsb="123"/>
</hmtx>
-45
View File
@@ -1,45 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<name>
<namerecord nameID="1" platformID="1" platEncID="0" langID="0x0" unicode="True">
Operator Mono Lig
</namerecord>
<namerecord nameID="2" platformID="1" platEncID="0" langID="0x0" unicode="True">
Book
</namerecord>
<namerecord nameID="3" platformID="1" platEncID="0" langID="0x0" unicode="True">
H&amp;Co: Operator Mono Lig Book: 1.200
</namerecord>
<namerecord nameID="4" platformID="1" platEncID="0" langID="0x0" unicode="True">
Operator Mono Lig Book
</namerecord>
<namerecord nameID="6" platformID="1" platEncID="0" langID="0x0" unicode="True">
OperatorMonoLig-Book
</namerecord>
<namerecord nameID="16" platformID="1" platEncID="0" langID="0x0" unicode="True">
Operator Mono Lig
</namerecord>
<namerecord nameID="17" platformID="1" platEncID="0" langID="0x0" unicode="True">
Book
</namerecord>
<namerecord nameID="1" platformID="3" platEncID="1" langID="0x409">
Operator Mono Lig Book
</namerecord>
<namerecord nameID="2" platformID="3" platEncID="1" langID="0x409">
Regular
</namerecord>
<namerecord nameID="3" platformID="3" platEncID="1" langID="0x409">
H&amp;Co: Operator Mono Lig Book: 1.200
</namerecord>
<namerecord nameID="4" platformID="3" platEncID="1" langID="0x409">
Operator Mono Lig Book
</namerecord>
<namerecord nameID="6" platformID="3" platEncID="1" langID="0x409">
OperatorMonoLig-Book
</namerecord>
<namerecord nameID="16" platformID="3" platEncID="1" langID="0x409">
Operator Mono Lig
</namerecord>
<namerecord nameID="17" platformID="3" platEncID="1" langID="0x409">
Book
</namerecord>
</name>
-980
View File
@@ -1,980 +0,0 @@
<Subrs>
<!-- The 'index' attribute is only for humans; it is ignored when parsed. -->
<CharString index="0">
rmoveto
8 69 -237 6 -73 44 -8 116 rlinecurve
335 8 rlineto
162 18 -68 108 -134 hhcurveto
-127 -104 -115 -149 -159 83 -89 307 -1 hvcurveto
-173 446 rmoveto
82 39 -59 -94 1 hvcurveto
-259 -8 rlineto
105 6 50 56 81 hhcurveto
endchar
</CharString>
<CharString index="1">
rmoveto
147 94 121 218 -1 hvcurveto
200 -79 111 -139 -147 -93 -120 -219 -199 80 -112 138 vhcurveto
8 581 rmoveto
95 52 -90 -170 -166 -49 -86 -92 -96 -51 90 170 166 48 86 93 hvcurveto
endchar
</CharString>
<CharString index="2">
rmoveto
hintmask 00111111
16 callsubr
-104 callsubr
hintmask 10011111
-79 61 -48 89 77 57 35 37 40 vhcurveto
hintmask 01011111
2 -22 4 -31 1 -10 rrcurveto
hintmask 10011111
-99 callgsubr
</CharString>
<CharString index="3">
-4 70 -4 69 102 vvcurveto
189 -76 59 -283 8 vhcurveto
-9 -70 219 -8 62 -29 7 -113 rlinecurve
-217 13 -100 -76 -101 vvcurveto
return
</CharString>
<CharString index="4">
rmoveto
84 71 55 82 118 -145 32 -99 -82 hvcurveto
13 68 52 47 125 45 -23 55 rcurveline
-157 -57 -75 -91 -113 vvcurveto
-104 63 -55 91 vhcurveto
6 53 rmoveto
-56 -42 37 77 hvcurveto
4 vlineto
89 59 96 -20 -78 vvcurveto
-49 -38 -30 -49 vhcurveto
endchar
</CharString>
<CharString index="5">
298 hlineto
5 55 rlineto
-114 356 hlineto
-64 -5 rlineto
-60 vlineto
-120 -16 2 -48 118 7 rlineto
-234 -125 vlineto
return
</CharString>
<CharString index="6">
rmoveto
133 -114 51 49 -176 144 rlineto
-4 hlineto
-176 -153 40 -39 rlineto
return
</CharString>
<CharString index="7">
rmoveto
24 36 -55 42 -92 84 -50 54 rlinecurve
-60 -67 62 -49 103 -65 68 -35 rlinecurve
return
</CharString>
<CharString index="8">
rmoveto
41 -13 55 64 19 79 -9 67 rlinecurve
-100 -5 22 -58 5 -64 -33 -70 rlinecurve
endchar
</CharString>
<CharString index="9">
rmoveto
hintmask 00111100
84 6 -57 207 -59 204 -65 208 17 callsubr
hlineto
hintmask 01011100
-65 -209 -59 -206 -57 -207 rrcurveto
83 hlineto
17 63 16 64 17 63 rrcurveto
209 hlineto
hintmask 10011100
18 -64 17 -65 17 -64 rrcurveto
hintmask 00111100
-160 554 rmoveto
8 hlineto
29 -99 27 -100 27 -99 rrcurveto
-175 hlineto
28 99 27 99 29 100 rrcurveto
endchar
</CharString>
<CharString index="10">
rmoveto
hintmask 0100011110000000
5 -56 rlineto
hintmask 0010101110000000
75 5 rlineto
-5 113 -2 160 214 vvcurveto
-81 hlineto
hintmask 1000011110000000
-172 2 -128 2 -88 vhcurveto
-27 -37 -41 -18 -47 hhcurveto
-61 -36 32 96 hvcurveto
308 vlineto
hintmask 1001001110000000
-81 -6 rlineto
-329 vlineto
-121 57 -49 87 vhcurveto
hintmask 1000011110000000
70 52 32 34 41 hvcurveto
endchar
</CharString>
<CharString index="11">
rmoveto
hintmask 01000111
5 -56 rlineto
hintmask 00101011
75 5 rlineto
-5 113 -2 160 214 vvcurveto
-81 hlineto
hintmask 10000111
-172 2 -128 2 -88 vhcurveto
-27 -37 -41 -18 -47 hhcurveto
-61 -36 32 96 hvcurveto
308 vlineto
hintmask 10010011
-81 -6 rlineto
-329 vlineto
-121 57 -49 87 vhcurveto
hintmask 10000111
70 52 32 34 41 hvcurveto
endchar
</CharString>
<CharString index="12">
rmoveto
-70 callsubr
hintmask 11011000
-63 callgsubr
hintmask 11100100
-63 callsubr
hintmask 11011000
-92 callsubr
hintmask 11100100
-94 callgsubr
</CharString>
<CharString index="13">
rmoveto
50 46 54 85 36 hvcurveto
-46 20 rlineto
-59 -27 -25 -34 -25 -42 -41 101 -64 hhcurveto
-51 -46 -54 -85 -35 hvcurveto
45 -20 rlineto
58 27 25 34 26 42 41 -100 64 hhcurveto
return
</CharString>
<CharString index="14">
-87 callsubr
hintmask 11100000
-95 callgsubr
hintmask 11010000
-80 callgsubr
endchar
</CharString>
<CharString index="15">
-71 313 rmoveto
27 28 24 52 52 30 -24 -33 -31 -28 -25 -44 -18 vhcurveto
-48 23 -42 23 34 vvcurveto
return
</CharString>
<CharString index="16">
rmoveto
104 68 87 126 124 -58 77 -103 -104 -67 -87 -126 -125 58 -76 102 hvcurveto
5 359 rmoveto
66 35 -58 -98 -93 -33 -55 -66 -66 -35 58 98 93 32 55 67 hvcurveto
endchar
</CharString>
<CharString index="17">
135 425 rmoveto
-102 callsubr
return
</CharString>
<CharString index="18">
rmoveto
39 -26 52 52 62 78 34 56 rlinecurve
-81 39 -23 -58 -45 -86 -38 -55 rlinecurve
208 -2 rmoveto
39 -24 53 52 61 77 35 56 rlinecurve
-84 35 -23 -59 -43 -81 -38 -56 rlinecurve
return
</CharString>
<CharString index="19">
8 71 rlineto
-298 211 253 63 -253 204 293 71 -376 -620 return
</CharString>
<CharString index="20">
rmoveto
5 -60 rlineto
207 6 77 53 66 vvcurveto
47 -46 39 -129 20 vhcurveto
return
</CharString>
<CharString index="21">
rmoveto
7 -75 166 20 47 46 66 173 rlinecurve
hintmask 11010000
64 162 52 146 41 121 rrcurveto
-78 hlineto
-26 -69 -70 -221 -37 -100 rrcurveto
-10 hlineto
hintmask 10110000
-55 125 -56 142 -49 125 -83 -5 rcurveline
49 -120 94 -227 57 -125 9 -2 rcurveline
-34 -80 -29 -17 -125 -19 rrcurveto
endchar
</CharString>
<CharString index="22">
rmoveto
7 68 -166 4 -33 44 -1 114 rlinecurve
209 5 rlineto
167 11 -44 100 -93 hhcurveto
-54 -41 -31 -55 -25 hvcurveto
hintmask 1010101110000000
-28 58 -60 19 -118 7 -6 -69 rcurveline
144 -9 32 -25 3 -116 rrcurveto
-135 -3 -65 -57 -99 vvcurveto
-78 44 -45 62 59 44 36 40 26 vhcurveto
hintmask 0101011110000000
35 -48 68 -26 125 -1 rrcurveto
-122 435 rmoveto
47 18 -52 -100 -1 hvcurveto
-135 -2 rlineto
107 3 23 47 45 hhcurveto
hintmask 1010011110000000
-206 -371 rmoveto
-35 -24 25 52 60 40 28 84 hvcurveto
-43 4 -38 11 -32 vhcurveto
-31 -20 -27 -21 -33 hhcurveto
endchar
</CharString>
<CharString index="23">
rmoveto
7 71 rlineto
-259 -11 -68 87 167 vvcurveto
142 50 92 271 3 vhcurveto
-5 80 rlineto
-304 -10 -98 -148 -170 vvcurveto
-186 89 -139 317 22 vhcurveto
endchar
</CharString>
<CharString index="24">
rmoveto
147 94 121 218 -1 hvcurveto
hintmask 10011100
101 -20 79 -38 53 vhcurveto
39 71 rlineto
hintmask 01101100
-53 28 -29 -56 rlineto
23 -32 -39 12 -46 hhcurveto
-147 -93 -120 -219 -102 21 -79 39 -53 hvcurveto
-39 -70 rlineto
hintmask 10101100
52 -28 30 55 rlineto
-22 32 38 -12 45 hhcurveto
-134 329 rmoveto
167 49 85 93 38 31 -14 -28 24 vhcurveto
-209 -380 rlineto
-17 43 -9 56 71 vvcurveto
148 -260 rmoveto
-38 -32 14 28 -23 hvcurveto
209 380 rlineto
17 -42 9 -57 -71 vvcurveto
-167 -50 -85 -92 vhcurveto
endchar
</CharString>
<CharString index="25">
-50 callgsubr
286 59 214.43 -55 callsubr
hintmask 10110110
501 322 rmoveto
hintmask 01101110
240 -114 101 -302 -42 vhcurveto
-277 -70 -59 70 -286 vlineto
hintmask 10110110
278 -42 138 122 243 vvcurveto
-334 -256 rmoveto
219 128 vlineto
3 59 rlineto
-131 211 hlineto
180 22 70 -81 -187 vvcurveto
-183 -76 -86 -174 26 vhcurveto
endchar
</CharString>
<CharString index="26">
-69 callgsubr
hintmask 10111000
-5 56 -75 -5 rlineto
5 -113 2 -160 -214 vvcurveto
81 hlineto
hintmask 11011000
171 -2 129 -2 89 vhcurveto
26 38 41 17 47 hhcurveto
endchar
</CharString>
<CharString index="27">
-250 19 -84 -80 -78 -123 274 -14 -87 vvcurveto
-44 -61 -36 -214 17 vhcurveto
-3 -72 rlineto
275 -15 87 77 80 125 -276 22 81 vvcurveto
return
</CharString>
<CharString index="28">
rmoveto
-80 -51 -47 -61 -58 54 -46 77 80 52 46 62 56 -54 48 -78 hvcurveto
return
</CharString>
<CharString index="29">
84 206 hlineto
hintmask 11010000
199 414 rlineto
-86 hlineto
-153 -334 rlineto
hintmask 10110000
-156 336 -89 -4 201 -412 rlineto
endchar
</CharString>
<CharString index="30">
69 -38 -21 26 -21 484 -20 23 1 callsubr
return
</CharString>
<CharString index="31">
407 hlineto
6 72 -320 -2 311 352 rlineto
68 -395 vlineto
-6 -72 308 2 -311 -351 rlineto
endchar
</CharString>
<CharString index="32">
11 -21 31 -14 callsubr
225 61 270.82 70.26 -11.08 -20 hstemhm
92 83 return
</CharString>
<CharString index="33">
-1 23 -4 51 -1 10 rrcurveto
-190 hlineto
-6 -58 124 -7 3 -98 1 -115 2 -150 rlinecurve
-130 hlineto
return
</CharString>
<CharString index="34">
-4 68.04 362.43001 67.53 -67.53 70.22 return
</CharString>
<CharString index="35">
rmoveto
233 -481 rlineto
79 620 -78 hlineto
hintmask 10011100
3 -472 rlineto
-4 hlineto
-225 472 rlineto
-87 -620 77 hlineto
hintmask 01101100
-3 481 rlineto
endchar
</CharString>
<CharString index="36">
hintmask 11010000
67 hmoveto
-68 callgsubr
return
</CharString>
<CharString index="37">
99 62 51 58 48 -49 30 -53 26 hvcurveto
return
</CharString>
<CharString index="38">
rmoveto
83 hlineto
5 136 rlineto
-85 hlineto
return
</CharString>
<CharString index="39">
rmoveto
-182 244 vlineto
6 71 rlineto
-177 211 146 63 -146 204 173 71 -301 hlineto
-69 -206 -70 -208 -64 -206 rrcurveto
81 hlineto
18 60 19 61 19 61 rrcurveto
115 367 rmoveto
6 -305 -102 hlineto
32 102 33 103 31 100 rrcurveto
endchar
</CharString>
<CharString index="40">
55 230.5 123 return
</CharString>
<CharString index="41">
-119 136 -55 59 52 vvcurveto
54 42 46 163 -8 vhcurveto
-6 76 rlineto
-213 4 -66 -91 -86 vvcurveto
-43 20 -40 40 -52 vhcurveto
return
</CharString>
<CharString index="42">
53 152.17 45.47 hstem
121 62 185 62 vstem
275 return
</CharString>
<CharString index="43">
154.5 57.5 return
</CharString>
<CharString index="44">
-61 -25 -37 -35 -47 vvcurveto
-59 56 -40 88 vhcurveto
return
</CharString>
<CharString index="45">
0 148 -127 -21 481 139 0 -20 -6 callgsubr
return
</CharString>
<CharString index="46">
-6 73.05 484.09 73.86 hstem
85 85 return
</CharString>
<CharString index="47">
422 554 -106 callgsubr
return
</CharString>
<CharString index="48">
rmoveto
hintmask 01011100
240 -114 101 -302 -42 vhcurveto
-622 vlineto
hintmask 10101100
278 -42 138 122 243 vvcurveto
-84 -13 rmoveto
-183 -76 -86 -174 26 vhcurveto
489 vlineto
180 22 70 -81 -187 vvcurveto
endchar
</CharString>
<CharString index="49">
57 -44 callgsubr
148 62 vstem
422 return
</CharString>
<CharString index="50">
-11 69 170 50 157 67 return
</CharString>
<CharString index="51">
rmoveto
170 -222 60 47 -168 218 170 209 -59 49 -169 -220 rlineto
235 -81 rmoveto
170 -222 60 47 -170 217 172 210 -59 49 -169 -220 rlineto
endchar
</CharString>
<CharString index="52">
71.64 -9.06999 -20 hstemhm
85 82 250 84 return
</CharString>
<CharString index="53">
hstemhm
123 64 -57 66 162 62 -59 67 return
</CharString>
<CharString index="54">
rlineto
66 -39 28 -29 -22 vvcurveto
-21 -34 -15 -83 -12 vhcurveto
return
</CharString>
<CharString index="55">
rmoveto
59 -49 169 220 4 81 -170 222 -60 -47 170 -216 rlineto
66 -211 rmoveto
59 -49 169 220 5 81 -171 222 -60 -47 170 -217 rlineto
endchar
</CharString>
<CharString index="56">
54 35 71 22 100 8 -4 86 rcurveline
-101 -12 -75 -40 -48 -50 rrcurveto
return
</CharString>
<CharString index="57">
rmoveto
55 -199 rlineto
29 hlineto
53 199 rlineto
3 hlineto
-1 -253 rlineto
52 329 -64 hlineto
-55 -200 rlineto
-2 hlineto
-59 200 rlineto
-63 -329 50 hlineto
-1 253 rlineto
endchar
</CharString>
<CharString index="58">
0 8 -2 3 -4 -4 -2 -3 -13 callgsubr
0 -9 2 -3 4 4 2 3 -13 callgsubr
return
</CharString>
<CharString index="59">
-15 72 563 -20 hstem
75 84 232 83 vstem
return
</CharString>
<CharString index="60">
-59 callgsubr
hstem
105 83 return
</CharString>
<CharString index="61">
rmoveto
70 -334 -70 vlineto
return
</CharString>
<CharString index="62">
-6.23 70.23 -47 -21 424 77 return
</CharString>
<CharString index="63">
84.42 return
</CharString>
<CharString index="64">
60 290 56 hstemhm
337 76 -52 64 hintmask 11010000
136 return
</CharString>
<CharString index="65">
-220 50 177 -21 28 -21 151 50 return
</CharString>
<CharString index="66">
50 314 -35 callgsubr
hintmask 11100100
267 return
</CharString>
<CharString index="67">
0 72.5 475 72.5 return
</CharString>
<CharString index="68">
-8.49 67.49 489 80 return
</CharString>
<CharString index="69">
17 callgsubr
238 79 return
</CharString>
<CharString index="70">
hstemhm
82 81 218 81 return
</CharString>
<CharString index="71">
58 hstemhm
131 301 -68 68 hintmask 11000000
180 return
</CharString>
<CharString index="72">
-25 callsubr
-41 callgsubr
return
</CharString>
<CharString index="73">
549 191 71 -463 vlineto
-7 -71 rlineto
195 -549 hlineto
return
</CharString>
<CharString index="74">
555 rmoveto
4 hlineto
176 151 -41 40 -131 -112 rlineto
return
</CharString>
<CharString index="75">
151 -7 rlineto
-571 -159 vlineto
return
</CharString>
<CharString index="76">
-53 callgsubr
hintmask 10110000
-7 -58 rlineto
hintmask 11010000
-32 callsubr
return
</CharString>
<CharString index="77">
57 289 58 hstem
347 66 vstem
131 return
</CharString>
<CharString index="78">
0 100 -79 -21 490 -20 hstemhm
58 80 278 76 hintmask 01111000
return
</CharString>
<CharString index="79">
47 93 44 78 vvcurveto
74 -78 46 -226 73 vhcurveto
-28 -66 rlineto
175 -53 76 -38 -54 -58 -89 -42 -63 vvcurveto
return
</CharString>
<CharString index="80">
0 66 488 66 -5 callgsubr
return
</CharString>
<CharString index="81">
-157 -21 668 -20 22 -20 return
</CharString>
<CharString index="82">
-14 67 384 66 return
</CharString>
<CharString index="83">
81 hintmask 11011100
291 432 -73 callgsubr
return
</CharString>
<CharString index="84">
91 11 -212 312 197 303 rlineto
-89 hlineto
-173 -273 rlineto
-68 273 -83 hlineto
return
</CharString>
<CharString index="85">
rmoveto
0 9 7 6 9 9 7 -6 -13 callgsubr
0 -9 -7 -7 -9 -9 -7 6 -13 callgsubr
return
</CharString>
<CharString index="86">
-150 83 -111 297 20 vhcurveto
return
</CharString>
<CharString index="87">
-221 61 168 -21 141 57 return
</CharString>
<CharString index="88">
-12 67 -36 -21 25 -21 430 69 -3 -20 221 -20 27 -20 hstemhm
56 80 241 81 return
</CharString>
<CharString index="89">
234 rmoveto
53 hlineto
2 87 25 264 4 91 rrcurveto
-103 hlineto
2 -91 17 -264 -87 vvcurveto
return
</CharString>
<CharString index="90">
76 4 rlineto
-5 111 -2 155 220 vvcurveto
return
</CharString>
<CharString index="91">
122 15 61 39 50 vvcurveto
return
</CharString>
<CharString index="92">
21 callgsubr
hstemhm
return
</CharString>
<CharString index="93">
-21 24 -21 return
</CharString>
<CharString index="94">
136 hstemhm
return
</CharString>
<CharString index="95">
rmoveto
-41 13 -55 -64 -19 -79 9 -67 rlinecurve
100 5 -22 58 -5 64 33 70 rlinecurve
return
</CharString>
<CharString index="96">
rmoveto
-874 324 vlineto
7 66 rlineto
-253 742 249 66 hlineto
endchar
</CharString>
<CharString index="97">
hstemhm
36 478 return
</CharString>
<CharString index="98">
1 69 rlineto
return
</CharString>
<CharString index="99">
-15 69 -41 -21 574 69 -7 -20 hstemhm
46 84 290 84 hintmask 10101100
return
</CharString>
<CharString index="100">
-1 -21 280 69 hstem
78 return
</CharString>
<CharString index="101">
hstem
255 81 vstem
return
</CharString>
<CharString index="102">
64.5 return
</CharString>
<CharString index="103">
rmoveto
-9 callsubr
-1494 -69 hlineto
return
</CharString>
<CharString index="104">
-23 -44 -29 -48 -47 108 -78 hhcurveto
-58 -41 -53 -102 -38 hvcurveto
return
</CharString>
<CharString index="105">
7 66 rlineto
-85 8 -32 16 24 vvcurveto
24 29 30 102 48 vhcurveto
return
</CharString>
<CharString index="106">
15 -21 27 -21 26 -21 274 68 273 -20 hstemhm
91 83 return
</CharString>
<CharString index="107">
rmoveto
26 -68 rlineto
230 73 80 70 68 76 -101 43 45 vvcurveto
return
</CharString>
<CharString index="108">
-20 23 -20 return
</CharString>
<CharString index="109">
-57 95 -49 -51 vvcurveto
-45 -78 -41 -180 -50 vhcurveto
endchar
</CharString>
<CharString index="110">
vvcurveto
-49 49 -34 136 -11 vhcurveto
return
</CharString>
<CharString index="111">
-20 84 -20 28 -20 hstemhm
return
</CharString>
<CharString index="112">
49.5 return
</CharString>
<CharString index="113">
rlineto
-119 hlineto
return
</CharString>
<CharString index="114">
10 hlineto
0 6 -1 3 -4 -3 -2 -2 -13 callgsubr
return
</CharString>
<CharString index="115">
-219 53 152.17 45.47 return
</CharString>
<CharString index="116">
249 569 rmoveto
83 hlineto
9 136 rlineto
-86 hlineto
return
</CharString>
<CharString index="117">
30.5 11 callgsubr
return
</CharString>
<CharString index="118">
-151 -21 29 -21 152 return
</CharString>
<CharString index="119">
57.5 148 return
</CharString>
<CharString index="120">
rmoveto
22 callsubr
return
</CharString>
<CharString index="121">
66 742 66 hstem
137 78 vstem
137 return
</CharString>
<CharString index="122">
rmoveto
8 65 rlineto
-85 return
</CharString>
<CharString index="123">
74 5 rlineto
return
</CharString>
<CharString index="124">
rlinecurve
-116 return
</CharString>
<CharString index="125">
-81 -7 rlineto
return
</CharString>
<CharString index="126">
hstemhm
230 72 -71 77 12 81 -76 78 return
</CharString>
<CharString index="127">
102 88 -93 -164 -166 -87 -93 -106 return
</CharString>
<CharString index="128">
-17 -174 rlineto
59 hlineto
17 174 rlineto
return
</CharString>
<CharString index="129">
6 -64 rlineto
-16 callsubr
return
</CharString>
<CharString index="130">
136 hstem
return
</CharString>
</Subrs>
@@ -1,263 +0,0 @@
<CharStrings>
<CharString name="ampersand_ampersand.liga">
-107 -10 71 -59 -21 659 -20 hstemhm
52 76 132 73 149 76 132 73 hintmask 10111110
986 350 rmoveto
-66 24 -30 -59 -30 -50 -30 -42 rlinecurve
-59 callgsubr
-17 19 -15 20 -14 20 40 50 40 60 40 70 -66 24 rcurveline
-30 -59 -30 -50 -30 -42 -59 callgsubr
24 callgsubr
-43 31 41 -76 142 hhcurveto
64 75 41 78 77 hvcurveto
hintmask 01111110
31 -43 37 -43 41 -42 63 51 rcurveline
-47 47 -40 45 -32 46 rrcurveto
hintmask 10111110
40 50 40 60 40 70 rrcurveto
-796 -289 rmoveto
-50 callsubr
430 hmoveto
-50 callsubr
endchar
</CharString>
<CharString name="bar_bar.liga">
-107 705 -20 hstem
230 647 vstem
477 707 -28 callsubr
573 888 -28 callsubr
endchar
</CharString>
<CharString name="bar_greater.liga">
-107 622 83 0 -20 hstemhm
229 698 hintmask 01100000
476 707 -28 callsubr
612 425 12 68 rlineto
-80 -32 rmoveto
-525 -363 rlineto
hintmask 10100000
137 705 390 -333 rlineto
endchar
</CharString>
<CharString name="equal_equal.liga">
-16 callgsubr
-948 -58 callsubr
904 -222 -8 callgsubr
-948 -58 callsubr
endchar
</CharString>
<CharString name="equal_equal_equal.liga">
-26 callgsubr
-1496 hlineto
-13 -66 rlineto
1450 -220 18 callgsubr
1452 -222 18 callgsubr
endchar
</CharString>
<CharString name="equal_equal_greater.liga">
19 callgsubr
58 1528 vstem
1307 599 rmoveto
-54 -53 105 -106 rlineto
-1244 -58 callsubr
1323 hlineto
84 -85 -2 -9 -90 -62 rlineto
-1345 -58 callsubr
1263 hlineto
-159 -110 -31 callgsubr
</CharString>
<CharString name="equal_greater.liga">
-107 2 -21 171 -10 callsubr
978 vstem
757 599 rmoveto
-54 -53 105 -106 rlineto
-694 -58 callsubr
773 hlineto
84 -85 -2 -9 -90 -62 rlineto
-795 -58 callsubr
713 hlineto
-159 -110 -31 callgsubr
</CharString>
<CharString name="exclam_equal.liga">
-16 callgsubr
-332 hlineto
173 249 -63 29 -194 -278 rlineto
-532 -58 callsubr
499 hlineto
-108 -156 rlineto
-421 -58 callsubr
388 hlineto
-219 -314 70 -20 232 334 rlineto
476 4 callsubr
-444 hlineto
109 156 rlineto
endchar
</CharString>
<CharString name="exclam_equal_equal.liga">
-26 callgsubr
-551 hlineto
88 127 -63 29 -109 -156 rlineto
-861 -58 callsubr
828 hlineto
-107 -154 rlineto
-753 -58 callsubr
720 hlineto
-109 -156 rlineto
-641 -58 callsubr
608 hlineto
-150 -216 70 -20 164 236 rlineto
803 4 callsubr
-771 hlineto
109 156 rlineto
691 4 callsubr
-659 hlineto
107 154 rlineto
endchar
</CharString>
<CharString name="greater_equal.liga">
-107 644 -20 80 -20 hstem
107 820 vstem
107 159 rmoveto
30 -73 778 263 12 68 -679 287 -42 -60 589 -250 -2 -9 rlineto
91 -212 rmoveto
-777 -269 30 -73 731 258 rlineto
endchar
</CharString>
<CharString name="hyphen_greater.liga">
-107 1 callgsubr
79 957 vstem
757 599 rmoveto
-54 -53 217 -219 rlineto
-828 hlineto
-13 -68 rlineto
847 hlineto
-314 -217 -31 callgsubr
</CharString>
<CharString name="hyphen_hyphen.liga">
-107 259 68 hstem
204 710 vstem
502 259 rmoveto
-3 callgsubr
698 hmoveto
-3 callgsubr
endchar
</CharString>
<CharString name="hyphen_hyphen_greater.liga">
443 1 callgsubr
79 1507 vstem
1307 599 rmoveto
-54 -53 217 -219 rlineto
-1378 hlineto
-13 -68 rlineto
1397 hlineto
-314 -217 -31 callgsubr
</CharString>
<CharString name="less_bar.liga">
-107 705 -20 hstem
258 683 vstem
867 705 rmoveto
-597 -369 -12 -67 436 -450 rlineto
74 hlineto
173 888 rlineto
-229 -798 rmoveto
-376 382 2 10 511 311 rlineto
endchar
</CharString>
<CharString name="less_equal.liga">
-107 -150 -21 876 -20 hstem
146 857 vstem
1003 635 rmoveto
-24 70 -778 -263 -12 -67 679 -288 34 66 -575 244 2 10 rlineto
-168 -190 rmoveto
-15 -75 722 -313 34 63 rlineto
endchar
</CharString>
<CharString name="less_equal_equal.liga">
19 callgsubr
82 1530 vstem
268 374 rmoveto
1330 4 callsubr
-1248 hlineto
142 98 -42 callsubr
-117 118 rlineto
1257 4 callsubr
-1337 hlineto
-72 73 2 10 rlineto
endchar
</CharString>
<CharString name="less_exclam_hyphen_hyphen.liga">
993 0 110 -108 -21 278 68 hstemhm
82 2057 hintmask 10110000
812 -22 callgsubr
-306 305 rmoveto
-34 61 -378 -263 -12 -67 rlineto
hintmask 01110000
279 -288 54 53 -223 225 rlineto
429 hlineto
12 68 rlineto
-433 hlineto
883 hmoveto
-13 -68 rlineto
1057 hlineto
12 68 rlineto
hintmask 10110000
-1406 -327 12 callsubr
</CharString>
<CharString name="less_hyphen.liga">
-107 1 callgsubr
82 957 vstem
1039 327 rmoveto
-839 hlineto
306 211 -42 callsubr
-223 225 rlineto
835 hlineto
endchar
</CharString>
<CharString name="less_hyphen_hyphen.liga">
443 1 callgsubr
82 1507 vstem
1589 327 rmoveto
-1389 hlineto
306 211 -42 callsubr
-223 225 rlineto
1385 hlineto
endchar
</CharString>
<CharString name="plus_plus.liga">
-107 259 67 hstem
120 878 vstem
816 326 rmoveto
36 187 rlineto
-71 hlineto
-36 -187 rlineto
-359 -30 callgsubr
37 188 rlineto
359 hlineto
-37 -188 rlineto
71 hlineto
37 188 rlineto
181 hlineto
14 67 rlineto
endchar
</CharString>
</CharStrings>
@@ -1,164 +0,0 @@
<GPOS>
<Version value="0x00010000"/>
<ScriptList>
<!-- ScriptCount=2 -->
<ScriptRecord index="0">
<ScriptTag value="DFLT"/>
<Script>
<DefaultLangSys>
<ReqFeatureIndex value="65535"/>
<!-- FeatureCount=1 -->
<FeatureIndex index="0" value="0"/>
</DefaultLangSys>
<!-- LangSysCount=0 -->
</Script>
</ScriptRecord>
<ScriptRecord index="1">
<ScriptTag value="latn"/>
<Script>
<DefaultLangSys>
<ReqFeatureIndex value="65535"/>
<!-- FeatureCount=1 -->
<FeatureIndex index="0" value="1"/>
</DefaultLangSys>
<!-- LangSysCount=3 -->
<LangSysRecord index="0">
<LangSysTag value="CAT "/>
<LangSys>
<ReqFeatureIndex value="65535"/>
<!-- FeatureCount=1 -->
<FeatureIndex index="0" value="2"/>
</LangSys>
</LangSysRecord>
<LangSysRecord index="1">
<LangSysTag value="MOL "/>
<LangSys>
<ReqFeatureIndex value="65535"/>
<!-- FeatureCount=1 -->
<FeatureIndex index="0" value="3"/>
</LangSys>
</LangSysRecord>
<LangSysRecord index="2">
<LangSysTag value="ROM "/>
<LangSys>
<ReqFeatureIndex value="65535"/>
<!-- FeatureCount=1 -->
<FeatureIndex index="0" value="4"/>
</LangSys>
</LangSysRecord>
</Script>
</ScriptRecord>
</ScriptList>
<FeatureList>
<!-- FeatureCount=5 -->
<FeatureRecord index="0">
<FeatureTag value="kern"/>
<Feature>
<!-- LookupCount=1 -->
<LookupListIndex index="0" value="0"/>
</Feature>
</FeatureRecord>
<FeatureRecord index="1">
<FeatureTag value="kern"/>
<Feature>
<!-- LookupCount=1 -->
<LookupListIndex index="0" value="0"/>
</Feature>
</FeatureRecord>
<FeatureRecord index="2">
<FeatureTag value="kern"/>
<Feature>
<!-- LookupCount=1 -->
<LookupListIndex index="0" value="0"/>
</Feature>
</FeatureRecord>
<FeatureRecord index="3">
<FeatureTag value="kern"/>
<Feature>
<!-- LookupCount=1 -->
<LookupListIndex index="0" value="0"/>
</Feature>
</FeatureRecord>
<FeatureRecord index="4">
<FeatureTag value="kern"/>
<Feature>
<!-- LookupCount=1 -->
<LookupListIndex index="0" value="0"/>
</Feature>
</FeatureRecord>
</FeatureList>
<LookupList>
<!-- LookupCount=1 -->
<Lookup index="0">
<LookupType value="2"/>
<LookupFlag value="0"/>
<!-- SubTableCount=1 -->
<PairPos index="0" Format="2">
<Coverage Format="2">
<Glyph value="zero.num"/>
<Glyph value="one.num"/>
<Glyph value="two.num"/>
<Glyph value="three.num"/>
<Glyph value="four.num"/>
<Glyph value="five.num"/>
<Glyph value="six.num"/>
<Glyph value="seven.num"/>
<Glyph value="eight.num"/>
<Glyph value="nine.num"/>
<Glyph value="fraction.afrc"/>
</Coverage>
<ValueFormat1 value="4"/>
<ValueFormat2 value="0"/>
<ClassDef1 Format="2">
<ClassDef glyph="eight.num" class="1"/>
<ClassDef glyph="five.num" class="1"/>
<ClassDef glyph="four.num" class="1"/>
<ClassDef glyph="nine.num" class="1"/>
<ClassDef glyph="one.num" class="1"/>
<ClassDef glyph="seven.num" class="1"/>
<ClassDef glyph="six.num" class="1"/>
<ClassDef glyph="three.num" class="1"/>
<ClassDef glyph="two.num" class="1"/>
<ClassDef glyph="zero.num" class="1"/>
</ClassDef1>
<ClassDef2 Format="2">
<ClassDef glyph="eight.den" class="1"/>
<ClassDef glyph="five.den" class="1"/>
<ClassDef glyph="four.den" class="1"/>
<ClassDef glyph="fraction.afrc" class="2"/>
<ClassDef glyph="nine.den" class="1"/>
<ClassDef glyph="one.den" class="1"/>
<ClassDef glyph="seven.den" class="1"/>
<ClassDef glyph="six.den" class="1"/>
<ClassDef glyph="three.den" class="1"/>
<ClassDef glyph="two.den" class="1"/>
<ClassDef glyph="zero.den" class="1"/>
</ClassDef2>
<!-- Class1Count=2 -->
<!-- Class2Count=3 -->
<Class1Record index="0">
<Class2Record index="0">
<Value1 XAdvance="0"/>
</Class2Record>
<Class2Record index="1">
<Value1 XAdvance="-550"/>
</Class2Record>
<Class2Record index="2">
<Value1 XAdvance="0"/>
</Class2Record>
</Class1Record>
<Class1Record index="1">
<Class2Record index="0">
<Value1 XAdvance="0"/>
</Class2Record>
<Class2Record index="1">
<Value1 XAdvance="0"/>
</Class2Record>
<Class2Record index="2">
<Value1 XAdvance="-550"/>
</Class2Record>
</Class1Record>
</PairPos>
</Lookup>
</LookupList>
</GPOS>
@@ -1,407 +0,0 @@
<GSUB>
<Version value="0x00010000"/>
<ScriptList>
<!-- ScriptCount=2 -->
<ScriptRecord index="0">
<ScriptTag value="DFLT"/>
<Script>
<DefaultLangSys>
<ReqFeatureIndex value="65535"/>
<!-- FeatureCount=4 -->
<FeatureIndex index="0" value="0"/>
<FeatureIndex index="1" value="5"/>
<FeatureIndex index="2" value="10"/>
<FeatureIndex index="3" value="15"/>
</DefaultLangSys>
<!-- LangSysCount=0 -->
</Script>
</ScriptRecord>
<ScriptRecord index="1">
<ScriptTag value="latn"/>
<Script>
<DefaultLangSys>
<ReqFeatureIndex value="65535"/>
<!-- FeatureCount=4 -->
<FeatureIndex index="0" value="1"/>
<FeatureIndex index="1" value="6"/>
<FeatureIndex index="2" value="11"/>
<FeatureIndex index="3" value="16"/>
</DefaultLangSys>
<!-- LangSysCount=3 -->
<LangSysRecord index="0">
<LangSysTag value="CAT "/>
<LangSys>
<ReqFeatureIndex value="65535"/>
<!-- FeatureCount=5 -->
<FeatureIndex index="0" value="2"/>
<FeatureIndex index="1" value="7"/>
<FeatureIndex index="2" value="12"/>
<FeatureIndex index="3" value="17"/>
<FeatureIndex index="4" value="20"/>
</LangSys>
</LangSysRecord>
<LangSysRecord index="1">
<LangSysTag value="MOL "/>
<LangSys>
<ReqFeatureIndex value="65535"/>
<!-- FeatureCount=5 -->
<FeatureIndex index="0" value="3"/>
<FeatureIndex index="1" value="8"/>
<FeatureIndex index="2" value="13"/>
<FeatureIndex index="3" value="18"/>
<FeatureIndex index="4" value="21"/>
</LangSys>
</LangSysRecord>
<LangSysRecord index="2">
<LangSysTag value="ROM "/>
<LangSys>
<ReqFeatureIndex value="65535"/>
<!-- FeatureCount=5 -->
<FeatureIndex index="0" value="4"/>
<FeatureIndex index="1" value="9"/>
<FeatureIndex index="2" value="14"/>
<FeatureIndex index="3" value="19"/>
<FeatureIndex index="4" value="22"/>
</LangSys>
</LangSysRecord>
</Script>
</ScriptRecord>
</ScriptList>
<FeatureList>
<!-- FeatureCount=23 -->
<FeatureRecord index="0">
<FeatureTag value="aalt"/>
<Feature>
<!-- LookupCount=1 -->
<LookupListIndex index="0" value="0"/>
</Feature>
</FeatureRecord>
<FeatureRecord index="1">
<FeatureTag value="aalt"/>
<Feature>
<!-- LookupCount=1 -->
<LookupListIndex index="0" value="0"/>
</Feature>
</FeatureRecord>
<FeatureRecord index="2">
<FeatureTag value="aalt"/>
<Feature>
<!-- LookupCount=1 -->
<LookupListIndex index="0" value="0"/>
</Feature>
</FeatureRecord>
<FeatureRecord index="3">
<FeatureTag value="aalt"/>
<Feature>
<!-- LookupCount=1 -->
<LookupListIndex index="0" value="0"/>
</Feature>
</FeatureRecord>
<FeatureRecord index="4">
<FeatureTag value="aalt"/>
<Feature>
<!-- LookupCount=1 -->
<LookupListIndex index="0" value="0"/>
</Feature>
</FeatureRecord>
<FeatureRecord index="5">
<FeatureTag value="dlig"/>
<Feature>
<!-- LookupCount=1 -->
<LookupListIndex index="0" value="5"/>
</Feature>
</FeatureRecord>
<FeatureRecord index="6">
<FeatureTag value="dlig"/>
<Feature>
<!-- LookupCount=1 -->
<LookupListIndex index="0" value="5"/>
</Feature>
</FeatureRecord>
<FeatureRecord index="7">
<FeatureTag value="dlig"/>
<Feature>
<!-- LookupCount=1 -->
<LookupListIndex index="0" value="5"/>
</Feature>
</FeatureRecord>
<FeatureRecord index="8">
<FeatureTag value="dlig"/>
<Feature>
<!-- LookupCount=1 -->
<LookupListIndex index="0" value="5"/>
</Feature>
</FeatureRecord>
<FeatureRecord index="9">
<FeatureTag value="dlig"/>
<Feature>
<!-- LookupCount=1 -->
<LookupListIndex index="0" value="5"/>
</Feature>
</FeatureRecord>
<FeatureRecord index="10">
<FeatureTag value="frac"/>
<Feature>
<!-- LookupCount=1 -->
<LookupListIndex index="0" value="4"/>
</Feature>
</FeatureRecord>
<FeatureRecord index="11">
<FeatureTag value="frac"/>
<Feature>
<!-- LookupCount=1 -->
<LookupListIndex index="0" value="4"/>
</Feature>
</FeatureRecord>
<FeatureRecord index="12">
<FeatureTag value="frac"/>
<Feature>
<!-- LookupCount=1 -->
<LookupListIndex index="0" value="4"/>
</Feature>
</FeatureRecord>
<FeatureRecord index="13">
<FeatureTag value="frac"/>
<Feature>
<!-- LookupCount=1 -->
<LookupListIndex index="0" value="4"/>
</Feature>
</FeatureRecord>
<FeatureRecord index="14">
<FeatureTag value="frac"/>
<Feature>
<!-- LookupCount=1 -->
<LookupListIndex index="0" value="4"/>
</Feature>
</FeatureRecord>
<FeatureRecord index="15">
<FeatureTag value="liga"/>
<Feature>
<!-- LookupCount=1 -->
<LookupListIndex index="0" value="6"/>
</Feature>
</FeatureRecord>
<FeatureRecord index="16">
<FeatureTag value="liga"/>
<Feature>
<!-- LookupCount=1 -->
<LookupListIndex index="0" value="6"/>
</Feature>
</FeatureRecord>
<FeatureRecord index="17">
<FeatureTag value="liga"/>
<Feature>
<!-- LookupCount=1 -->
<LookupListIndex index="0" value="6"/>
</Feature>
</FeatureRecord>
<FeatureRecord index="18">
<FeatureTag value="liga"/>
<Feature>
<!-- LookupCount=1 -->
<LookupListIndex index="0" value="6"/>
</Feature>
</FeatureRecord>
<FeatureRecord index="19">
<FeatureTag value="liga"/>
<Feature>
<!-- LookupCount=1 -->
<LookupListIndex index="0" value="6"/>
</Feature>
</FeatureRecord>
<FeatureRecord index="20">
<FeatureTag value="locl"/>
<Feature>
<!-- LookupCount=1 -->
<LookupListIndex index="0" value="1"/>
</Feature>
</FeatureRecord>
<FeatureRecord index="21">
<FeatureTag value="locl"/>
<Feature>
<!-- LookupCount=1 -->
<LookupListIndex index="0" value="3"/>
</Feature>
</FeatureRecord>
<FeatureRecord index="22">
<FeatureTag value="locl"/>
<Feature>
<!-- LookupCount=1 -->
<LookupListIndex index="0" value="2"/>
</Feature>
</FeatureRecord>
</FeatureList>
<LookupList>
<!-- LookupCount=8 -->
<Lookup index="0">
<LookupType value="1"/>
<LookupFlag value="0"/>
<!-- SubTableCount=1 -->
<SingleSubst index="0" Format="1">
<Substitution in="Scedilla" out="uni0218"/>
<Substitution in="scedilla" out="uni0219"/>
</SingleSubst>
</Lookup>
<Lookup index="1">
<LookupType value="6"/>
<LookupFlag value="0"/>
<!-- SubTableCount=2 -->
<ChainContextSubst index="0" Format="3">
<!-- BacktrackGlyphCount=0 -->
<!-- InputGlyphCount=2 -->
<InputCoverage index="0" Format="1">
<Glyph value="l"/>
</InputCoverage>
<InputCoverage index="1" Format="1">
<Glyph value="periodcentered"/>
</InputCoverage>
<!-- LookAheadGlyphCount=1 -->
<LookAheadCoverage index="0" Format="1">
<Glyph value="l"/>
</LookAheadCoverage>
<!-- SubstCount=1 -->
<SubstLookupRecord index="0">
<SequenceIndex value="0"/>
<LookupListIndex value="7"/>
</SubstLookupRecord>
</ChainContextSubst>
<ChainContextSubst index="1" Format="3">
<!-- BacktrackGlyphCount=0 -->
<!-- InputGlyphCount=2 -->
<InputCoverage index="0" Format="1">
<Glyph value="L"/>
</InputCoverage>
<InputCoverage index="1" Format="1">
<Glyph value="periodcentered"/>
</InputCoverage>
<!-- LookAheadGlyphCount=1 -->
<LookAheadCoverage index="0" Format="1">
<Glyph value="L"/>
</LookAheadCoverage>
<!-- SubstCount=1 -->
<SubstLookupRecord index="0">
<SequenceIndex value="0"/>
<LookupListIndex value="7"/>
</SubstLookupRecord>
</ChainContextSubst>
</Lookup>
<Lookup index="2">
<LookupType value="1"/>
<LookupFlag value="0"/>
<!-- SubTableCount=1 -->
<SingleSubst index="0" Format="1">
<Substitution in="Scedilla" out="uni0218"/>
<Substitution in="scedilla" out="uni0219"/>
</SingleSubst>
</Lookup>
<Lookup index="3">
<LookupType value="1"/>
<LookupFlag value="0"/>
<!-- SubTableCount=1 -->
<SingleSubst index="0" Format="1">
<Substitution in="Scedilla" out="uni0218"/>
<Substitution in="scedilla" out="uni0219"/>
</SingleSubst>
</Lookup>
<Lookup index="4">
<LookupType value="4"/>
<LookupFlag value="0"/>
<!-- SubTableCount=1 -->
<LigatureSubst index="0" Format="1">
<LigatureSet glyph="five">
<Ligature components="slash,six" glyph="uni215A"/>
<Ligature components="slash,eight" glyph="fiveeighths"/>
</LigatureSet>
<LigatureSet glyph="four">
<Ligature components="slash,five" glyph="uni2158"/>
</LigatureSet>
<LigatureSet glyph="one">
<Ligature components="slash,two" glyph="onehalf"/>
<Ligature components="slash,three" glyph="uni2153"/>
<Ligature components="slash,four" glyph="onequarter"/>
<Ligature components="slash,five" glyph="uni2155"/>
<Ligature components="slash,six" glyph="uni2159"/>
<Ligature components="slash,eight" glyph="oneeighth"/>
</LigatureSet>
<LigatureSet glyph="seven">
<Ligature components="slash,eight" glyph="seveneighths"/>
</LigatureSet>
<LigatureSet glyph="three">
<Ligature components="slash,four" glyph="threequarters"/>
<Ligature components="slash,five" glyph="uni2157"/>
<Ligature components="slash,eight" glyph="threeeighths"/>
</LigatureSet>
<LigatureSet glyph="two">
<Ligature components="slash,three" glyph="uni2154"/>
<Ligature components="slash,five" glyph="uni2156"/>
</LigatureSet>
</LigatureSubst>
</Lookup>
<Lookup index="5">
<LookupType value="4"/>
<LookupFlag value="0"/>
<!-- SubTableCount=1 -->
<LigatureSubst index="0" Format="1">
<LigatureSet glyph="R">
<Ligature components="p" glyph="R_p"/>
</LigatureSet>
</LigatureSubst>
</Lookup>
<Lookup index="6">
<LookupType value="4"/>
<LookupFlag value="0"/>
<!-- SubTableCount=1 -->
<LigatureSubst index="0" Format="1">
<LigatureSet glyph="ampersand">
<Ligature components="ampersand" glyph="ampersand_ampersand.liga"/>
</LigatureSet>
<LigatureSet glyph="bar">
<Ligature components="greater" glyph="bar_greater.liga"/>
<Ligature components="bar" glyph="bar_bar.liga"/>
</LigatureSet>
<LigatureSet glyph="equal">
<Ligature components="equal,equal" glyph="equal_equal_equal.liga"/>
<Ligature components="equal,greater" glyph="equal_equal_greater.liga"/>
<Ligature components="equal" glyph="equal_equal.liga"/>
<Ligature components="greater" glyph="equal_greater.liga"/>
</LigatureSet>
<LigatureSet glyph="exclam">
<Ligature components="equal,equal" glyph="exclam_equal_equal.liga"/>
<Ligature components="equal" glyph="exclam_equal.liga"/>
</LigatureSet>
<LigatureSet glyph="greater">
<Ligature components="equal" glyph="greater_equal.liga"/>
</LigatureSet>
<LigatureSet glyph="hyphen">
<Ligature components="hyphen,greater" glyph="hyphen_hyphen_greater.liga"/>
<Ligature components="hyphen" glyph="hyphen_hyphen.liga"/>
<Ligature components="greater" glyph="hyphen_greater.liga"/>
</LigatureSet>
<LigatureSet glyph="less">
<Ligature components="exclam,hyphen,hyphen" glyph="less_exclam_hyphen_hyphen.liga"/>
<Ligature components="hyphen,hyphen" glyph="less_hyphen_hyphen.liga"/>
<Ligature components="equal,equal" glyph="less_equal_equal.liga"/>
<Ligature components="hyphen" glyph="less_hyphen.liga"/>
<Ligature components="equal" glyph="less_equal.liga"/>
<Ligature components="bar" glyph="less_bar.liga"/>
</LigatureSet>
<LigatureSet glyph="plus">
<Ligature components="plus" glyph="plus_plus.liga"/>
</LigatureSet>
</LigatureSubst>
</Lookup>
<Lookup index="7">
<LookupType value="4"/>
<LookupFlag value="0"/>
<!-- SubTableCount=1 -->
<LigatureSubst index="0" Format="1">
<LigatureSet glyph="L">
<Ligature components="periodcentered" glyph="Ldot"/>
</LigatureSet>
<LigatureSet glyph="l">
<Ligature components="periodcentered" glyph="ldot"/>
</LigatureSet>
</LigatureSubst>
</Lookup>
</LookupList>
</GSUB>
File diff suppressed because it is too large Load Diff
@@ -1,22 +0,0 @@
<hmtx>
<mtx name="ampersand_ampersand.liga" width="1100" lsb="52"/>
<mtx name="bar_bar.liga" width="1100" lsb="230"/>
<mtx name="bar_greater.liga" width="1100" lsb="229"/>
<mtx name="equal_equal.liga" width="1100" lsb="58"/>
<mtx name="equal_equal_equal.liga" width="1650" lsb="39"/>
<mtx name="equal_equal_greater.liga" width="1650" lsb="58"/>
<mtx name="equal_greater.liga" width="1100" lsb="58"/>
<mtx name="exclam_equal.liga" width="1100" lsb="58"/>
<mtx name="exclam_equal_equal.liga" width="1650" lsb="39"/>
<mtx name="greater_equal.liga" width="1100" lsb="107"/>
<mtx name="hyphen_greater.liga" width="1100" lsb="79"/>
<mtx name="hyphen_hyphen.liga" width="1100" lsb="204"/>
<mtx name="hyphen_hyphen_greater.liga" width="1650" lsb="79"/>
<mtx name="less_bar.liga" width="1100" lsb="258"/>
<mtx name="less_equal.liga" width="1100" lsb="146"/>
<mtx name="less_equal_equal.liga" width="1650" lsb="82"/>
<mtx name="less_exclam_hyphen_hyphen.liga" width="2200" lsb="82"/>
<mtx name="less_hyphen.liga" width="1100" lsb="82"/>
<mtx name="less_hyphen_hyphen.liga" width="1650" lsb="82"/>
<mtx name="plus_plus.liga" width="1100" lsb="120"/>
</hmtx>
@@ -1,45 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<name>
<namerecord nameID="1" platformID="1" platEncID="0" langID="0x0" unicode="True">
Operator Mono Lig
</namerecord>
<namerecord nameID="2" platformID="1" platEncID="0" langID="0x0" unicode="True">
Book Italic
</namerecord>
<namerecord nameID="3" platformID="1" platEncID="0" langID="0x0" unicode="True">
H&amp;Co: Operator Mono Lig Book Italic: 1.200
</namerecord>
<namerecord nameID="4" platformID="1" platEncID="0" langID="0x0" unicode="True">
Operator Mono Lig Book Italic
</namerecord>
<namerecord nameID="6" platformID="1" platEncID="0" langID="0x0" unicode="True">
OperatorMonoLig-BookItalic
</namerecord>
<namerecord nameID="16" platformID="1" platEncID="0" langID="0x0" unicode="True">
Operator Mono Lig
</namerecord>
<namerecord nameID="17" platformID="1" platEncID="0" langID="0x0" unicode="True">
Book Italic
</namerecord>
<namerecord nameID="1" platformID="3" platEncID="1" langID="0x409">
Operator Mono Lig Book
</namerecord>
<namerecord nameID="2" platformID="3" platEncID="1" langID="0x409">
Italic
</namerecord>
<namerecord nameID="3" platformID="3" platEncID="1" langID="0x409">
H&amp;Co: Operator Mono Lig Book Italic: 1.200
</namerecord>
<namerecord nameID="4" platformID="3" platEncID="1" langID="0x409">
Operator Mono Lig Book Italic
</namerecord>
<namerecord nameID="6" platformID="3" platEncID="1" langID="0x409">
OperatorMonoLig-BookItalic
</namerecord>
<namerecord nameID="16" platformID="3" platEncID="1" langID="0x409">
Operator Mono Lig
</namerecord>
<namerecord nameID="17" platformID="3" platEncID="1" langID="0x409">
Book Italic
</namerecord>
</name>
File diff suppressed because it is too large Load Diff
@@ -1,52 +1,120 @@
<ttFont>
<head>
<!-- Most of this table will be recalculated by the compiler -->
<tableVersion value="1.0"/>
<fontRevision value="1.002"/>
<checkSumAdjustment value="0x9c64f741"/>
<magicNumber value="0x5f0f3cf5"/>
<flags value="00000000 00000011"/>
<unitsPerEm value="1000"/>
<created value="Fri Sep 29 16:02:54 2017"/>
<modified value="Fri Sep 29 16:02:54 2017"/>
<xMin value="-376"/>
<yMin value="-316"/>
<xMax value="2413"/>
<yMax value="1266"/>
<xMin value="-1018"/>
<yMin value="-284"/>
<xMax value="610"/>
<yMax value="1140"/>
<macStyle value="00000000 00000000"/>
<lowestRecPPEM value="3"/>
<fontDirectionHint value="2"/>
<indexToLocFormat value="0"/>
<glyphDataFormat value="0"/>
</head>
<hhea>
<tableVersion value="0x00010000"/>
<ascent value="960"/>
<descent value="-240"/>
<lineGap value="0"/>
<advanceWidthMax value="2500"/>
<minLeftSideBearing value="-376"/>
<minRightSideBearing value="-62"/>
<xMaxExtent value="2413"/>
<advanceWidthMax value="550"/>
<minLeftSideBearing value="-1018"/>
<minRightSideBearing value="-60"/>
<xMaxExtent value="610"/>
<caretSlopeRise value="1"/>
<caretSlopeRun value="0"/>
<caretOffset value="0"/>
<reserved0 value="0"/>
<reserved1 value="0"/>
<reserved2 value="0"/>
<reserved3 value="0"/>
<metricDataFormat value="0"/>
<numberOfHMetrics value="469"/>
<numberOfHMetrics value="447"/>
</hhea>
<CFF>
<CFFFont>
<FontBBox value="-376 -316 2413 1266"/>
<FontBBox value="-1018 -284 619 1140"/>
</CFFFont>
</CFF>
<CFF>
<CFFFont>
<Private>
<nominalWidthX value="1357"/>
<nominalWidthX value="107"/>
</Private>
</CFFFont>
</CFF>
@@ -0,0 +1,7 @@
<Glyph name="LIG" lsb="0" width="550">
<CharString>
endchar
</CharString>
<Subrs/>
<GlobalSubrs/>
</Glyph>
@@ -0,0 +1,29 @@
<Glyph name="equal_equal.liga" lsb="-468" width="550">
<CharString>
{a926ac67} callsubr
hstem
-468 936 vstem
467 379 rmoveto
{c7138596} callgsubr
-936 -52 hlineto
935 -223 rmoveto
{c7138596} callgsubr
-936 -52 hlineto
endchar
</CharString>
<Subrs>
<CharString index="0" fingerprint="a926ac67">
156 52 171 52 return
</CharString>
</Subrs>
<GlobalSubrs>
<CharString index="0" fingerprint="c7138596">
1 52 rlineto
return
</CharString>
<CharString index="1" fingerprint="c7138596">
1 52 rlineto
return
</CharString>
</GlobalSubrs>
</Glyph>
@@ -0,0 +1,57 @@
<Glyph name="equal_equal_greater.liga" lsb="-1018" width="550">
<CharString>
{0bfe7e46} callgsubr
-1018 1478 -57 {076e1c46} callsubr
-1259 -52 1320 {ce96b479} callsubr
-1329 -52 1267 {3bf8a3e7} callgsubr
</CharString>
<Subrs>
<CharString index="0" fingerprint="a926ac67">
156 52 171 52 return
</CharString>
<CharString index="1" fingerprint="076e1c46">
57 hintmask 11100000
{ea3a6f68} callsubr
144 -121 rlineto
return
</CharString>
<CharString index="2" fingerprint="ea3a6f68">
133 595 rmoveto
-36 -43 return
</CharString>
<CharString index="3" fingerprint="ce96b479">
hlineto
hintmask 11010000
101 -85 rlineto
-8 vlineto
-92 -78 {bf847d0e} callgsubr
return
</CharString>
</Subrs>
<GlobalSubrs>
<CharString index="0" fingerprint="0bfe7e46">
{a926ac67} callsubr
hstemhm
return
</CharString>
<CharString index="1" fingerprint="bf847d0e">
rlineto
hintmask 11100000
return
</CharString>
<CharString index="2" fingerprint="3bf8a3e7">
hlineto
-158 -134 {c7af96e2} callgsubr
endchar
</CharString>
<CharString index="3" fingerprint="c7af96e2">
35 -42 {fe9ab107} callgsubr
54 vlineto
return
</CharString>
<CharString index="4" fingerprint="fe9ab107">
334 283 rlineto
return
</CharString>
</GlobalSubrs>
</Glyph>
@@ -0,0 +1,57 @@
<Glyph name="equal_greater.liga" lsb="-468" width="550">
<CharString>
{0bfe7e46} callgsubr
-468 927 -56 {076e1c46} callsubr
-709 -52 770 {ce96b479} callsubr
-779 -52 717 {3bf8a3e7} callgsubr
</CharString>
<Subrs>
<CharString index="0" fingerprint="a926ac67">
156 52 171 52 return
</CharString>
<CharString index="1" fingerprint="076e1c46">
57 hintmask 11100000
{ea3a6f68} callsubr
144 -121 rlineto
return
</CharString>
<CharString index="2" fingerprint="ea3a6f68">
133 595 rmoveto
-36 -43 return
</CharString>
<CharString index="3" fingerprint="ce96b479">
hlineto
hintmask 11010000
101 -85 rlineto
-8 vlineto
-92 -78 {bf847d0e} callgsubr
return
</CharString>
</Subrs>
<GlobalSubrs>
<CharString index="0" fingerprint="0bfe7e46">
{a926ac67} callsubr
hstemhm
return
</CharString>
<CharString index="1" fingerprint="bf847d0e">
rlineto
hintmask 11100000
return
</CharString>
<CharString index="2" fingerprint="3bf8a3e7">
hlineto
-158 -134 {c7af96e2} callgsubr
endchar
</CharString>
<CharString index="3" fingerprint="c7af96e2">
35 -42 {fe9ab107} callgsubr
54 vlineto
return
</CharString>
<CharString index="4" fingerprint="fe9ab107">
334 283 rlineto
return
</CharString>
</GlobalSubrs>
</Glyph>
@@ -0,0 +1,55 @@
<Glyph name="equal_less_less.liga" lsb="-1018" width="550">
<CharString>
{0bfe7e46} callgsubr
-1018 1477 -669 58 242 58 hintmask 11010000
-152 294 rmoveto
{c55c66e3} callgsubr
hintmask 11100000
-943 -52 882 hlineto
hintmask 11010000
-74 -63 rlineto
-53 vlineto
65 -55 {bf847d0e} callgsubr
-873 -52 934 hlineto
207 -176 36 42 rlineto
hintmask 11010000
{472a2f7f} callsubr
hintmask 11001000
300 hmoveto
8 vlineto
306 258 -36 43 {f9df3c06} callgsubr
{bf847d0e} callgsubr
36 42 rlineto
endchar
</CharString>
<Subrs>
<CharString index="0" fingerprint="a926ac67">
156 52 171 52 return
</CharString>
<CharString index="1" fingerprint="472a2f7f">
-311 264 rlineto
return
</CharString>
</Subrs>
<GlobalSubrs>
<CharString index="0" fingerprint="0bfe7e46">
{a926ac67} callsubr
hstemhm
return
</CharString>
<CharString index="1" fingerprint="c55c66e3">
306 258 -36 43 -193 -164 rlineto
return
</CharString>
<CharString index="2" fingerprint="bf847d0e">
rlineto
hintmask 11100000
return
</CharString>
<CharString index="3" fingerprint="f9df3c06">
-328 -279 rlineto
-53 vlineto
333 -283 return
</CharString>
</GlobalSubrs>
</Glyph>
@@ -0,0 +1,49 @@
<Glyph name="exclam_equal.liga" lsb="-468" width="550">
<CharString>
-181 898 -561 52 171 52 hstemhm
-468 936 -755 520 hintmask 00110000
66 379 rmoveto
401 {91954767} callsubr
-375 hlineto
hintmask 00101000
140 262 rlineto
hintmask 10001000
-51 24 rlineto
hintmask 00101000
-153 -286 rlineto
-497 -52 470 hlineto
hintmask 01101000
-92 -171 rlineto
-378 -52 351 hlineto
-170 -318 rlineto
hintmask 10001000
54 -19 rlineto
hintmask 01101000
180 337 rlineto
520 {91954767} callsubr
-494 hlineto
endchar
</CharString>
<Subrs>
<CharString index="0" fingerprint="91954767">
hlineto
{c7138596} callgsubr
return
</CharString>
<CharString index="1" fingerprint="91954767">
hlineto
{c7138596} callgsubr
return
</CharString>
</Subrs>
<GlobalSubrs>
<CharString index="0" fingerprint="c7138596">
1 52 rlineto
return
</CharString>
<CharString index="1" fingerprint="c7138596">
1 52 rlineto
return
</CharString>
</GlobalSubrs>
</Glyph>
@@ -0,0 +1,74 @@
<Glyph name="greater_equal_greater.liga" lsb="-1009" width="550">
<CharString>
{b3b06f4a} callgsubr
1469 -1156 57 1043 {076e1c46} callsubr
-1015 {75fc0322} callgsubr
hintmask 11010000
{86c1a00c} callsubr
208 176 rlineto
1015 hlineto
-158 -134 {c7af96e2} callgsubr
hintmask 11001000
-57 -31 rmoveto
-92 -78 rlineto
-1016 hlineto
hintmask 11010000
65 55 rlineto
54 vlineto
-73 62 rlineto
1015 hlineto
hintmask 11001000
101 -85 rlineto
endchar
</CharString>
<Subrs>
<CharString index="0" fingerprint="a926ac67">
156 52 171 52 return
</CharString>
<CharString index="1" fingerprint="076e1c46">
57 hintmask 11100000
{ea3a6f68} callsubr
144 -121 rlineto
return
</CharString>
<CharString index="2" fingerprint="ea3a6f68">
133 595 rmoveto
-36 -43 return
</CharString>
<CharString index="3" fingerprint="86c1a00c">
{ac399e5d} callsubr
hintmask 11100000
-312 -264 35 -42 return
</CharString>
<CharString index="4" fingerprint="ac399e5d">
306 -258 rlineto
-8 vlineto
return
</CharString>
</Subrs>
<GlobalSubrs>
<CharString index="0" fingerprint="b3b06f4a">
{0bfe7e46} callgsubr
-1010 return
</CharString>
<CharString index="1" fingerprint="0bfe7e46">
{a926ac67} callsubr
hstemhm
return
</CharString>
<CharString index="2" fingerprint="75fc0322">
hlineto
-193 164 -36 -43 rlineto
return
</CharString>
<CharString index="3" fingerprint="c7af96e2">
35 -42 {fe9ab107} callgsubr
54 vlineto
return
</CharString>
<CharString index="4" fingerprint="fe9ab107">
334 283 rlineto
return
</CharString>
</GlobalSubrs>
</Glyph>
@@ -0,0 +1,68 @@
<Glyph name="greater_greater_equal.liga" lsb="-1009" width="550">
<CharString>
{0bfe7e46} callgsubr
-1009 1477 -1165 57 243 57 hintmask 11010000
-640 317 rmoveto
-327 278 -36 -43 {86c1a00c} callsubr
rlineto
hintmask 11010000
{fe9ab107} callgsubr
hintmask 11001000
300 hmoveto
54 vlineto
-73 62 {bf847d0e} callgsubr
880 {91954767} callsubr
-942 {75fc0322} callgsubr
hintmask 11001000
{ac399e5d} callsubr
-312 -264 35 -42 208 176 {bf847d0e} callgsubr
933 {91954767} callsubr
-873 hlineto
endchar
</CharString>
<Subrs>
<CharString index="0" fingerprint="a926ac67">
156 52 171 52 return
</CharString>
<CharString index="1" fingerprint="86c1a00c">
{ac399e5d} callsubr
hintmask 11100000
-312 -264 35 -42 return
</CharString>
<CharString index="2" fingerprint="ac399e5d">
306 -258 rlineto
-8 vlineto
return
</CharString>
<CharString index="3" fingerprint="91954767">
hlineto
{c7138596} callgsubr
return
</CharString>
</Subrs>
<GlobalSubrs>
<CharString index="0" fingerprint="0bfe7e46">
{a926ac67} callsubr
hstemhm
return
</CharString>
<CharString index="1" fingerprint="fe9ab107">
334 283 rlineto
return
</CharString>
<CharString index="2" fingerprint="bf847d0e">
rlineto
hintmask 11100000
return
</CharString>
<CharString index="3" fingerprint="c7138596">
1 52 rlineto
return
</CharString>
<CharString index="4" fingerprint="75fc0322">
hlineto
-193 164 -36 -43 rlineto
return
</CharString>
</GlobalSubrs>
</Glyph>
@@ -0,0 +1,39 @@
<Glyph name="hyphen_greater.liga" lsb="-430" width="550">
<CharString>
{4ef4eda0} callgsubr
-430 890 {98ef964f} callgsubr
-807 -52 807 {ada6e010} callsubr
</CharString>
<Subrs>
<CharString index="0" fingerprint="ea3a6f68">
133 595 rmoveto
-36 -43 return
</CharString>
<CharString index="1" fingerprint="ada6e010">
hlineto
-286 -242 {c7af96e2} callgsubr
endchar
</CharString>
</Subrs>
<GlobalSubrs>
<CharString index="0" fingerprint="4ef4eda0">
264 52 hstem
return
</CharString>
<CharString index="1" fingerprint="98ef964f">
vstem
{ea3a6f68} callsubr
280 -236 rlineto
return
</CharString>
<CharString index="2" fingerprint="c7af96e2">
35 -42 {fe9ab107} callgsubr
54 vlineto
return
</CharString>
<CharString index="3" fingerprint="fe9ab107">
334 283 rlineto
return
</CharString>
</GlobalSubrs>
</Glyph>
@@ -0,0 +1,39 @@
<Glyph name="hyphen_hyphen_greater.liga" lsb="-980" width="550">
<CharString>
{4ef4eda0} callgsubr
-980 1440 {98ef964f} callgsubr
-1357 -52 1357 {ada6e010} callsubr
</CharString>
<Subrs>
<CharString index="0" fingerprint="ea3a6f68">
133 595 rmoveto
-36 -43 return
</CharString>
<CharString index="1" fingerprint="ada6e010">
hlineto
-286 -242 {c7af96e2} callgsubr
endchar
</CharString>
</Subrs>
<GlobalSubrs>
<CharString index="0" fingerprint="4ef4eda0">
264 52 hstem
return
</CharString>
<CharString index="1" fingerprint="98ef964f">
vstem
{ea3a6f68} callsubr
280 -236 rlineto
return
</CharString>
<CharString index="2" fingerprint="c7af96e2">
35 -42 {fe9ab107} callgsubr
54 vlineto
return
</CharString>
<CharString index="3" fingerprint="fe9ab107">
334 283 rlineto
return
</CharString>
</GlobalSubrs>
</Glyph>
@@ -0,0 +1,59 @@
<Glyph name="less_equal.liga" lsb="-460" width="550">
<CharString>
{0bfe7e46} callgsubr
-460 58 -58 928 hintmask 11100000
-402 286 rmoveto
{f6de01df} callgsubr
hintmask 11010000
768 {91954767} callsubr
-708 {cb5c326f} callsubr
716 {91954767} callsubr
-778 hlineto
endchar
</CharString>
<Subrs>
<CharString index="0" fingerprint="a926ac67">
156 52 171 52 return
</CharString>
<CharString index="1" fingerprint="91954767">
hlineto
{c7138596} callgsubr
return
</CharString>
<CharString index="2" fingerprint="cb5c326f">
hlineto
144 121 -36 43 {f48f8528} callsubr
return
</CharString>
<CharString index="3" fingerprint="f48f8528">
{377aa5a8} callsubr
-158 134 rlineto
return
</CharString>
<CharString index="4" fingerprint="377aa5a8">
{f9df3c06} callgsubr
36 42 return
</CharString>
</Subrs>
<GlobalSubrs>
<CharString index="0" fingerprint="0bfe7e46">
{a926ac67} callsubr
hstemhm
return
</CharString>
<CharString index="1" fingerprint="f6de01df">
8 vlineto
101 85 rlineto
return
</CharString>
<CharString index="2" fingerprint="c7138596">
1 52 rlineto
return
</CharString>
<CharString index="3" fingerprint="f9df3c06">
-328 -279 rlineto
-53 vlineto
333 -283 return
</CharString>
</GlobalSubrs>
</Glyph>
@@ -0,0 +1,63 @@
<Glyph name="less_equal_equal.liga" lsb="-1010" width="550">
<CharString>
{b3b06f4a} callgsubr
58 -58 1478 hintmask 11100000
-952 286 rmoveto
{f6de01df} callgsubr
hintmask 11010000
1318 {91954767} callsubr
-1258 {cb5c326f} callsubr
1266 {91954767} callsubr
-1328 hlineto
endchar
</CharString>
<Subrs>
<CharString index="0" fingerprint="a926ac67">
156 52 171 52 return
</CharString>
<CharString index="1" fingerprint="91954767">
hlineto
{c7138596} callgsubr
return
</CharString>
<CharString index="2" fingerprint="cb5c326f">
hlineto
144 121 -36 43 {f48f8528} callsubr
return
</CharString>
<CharString index="3" fingerprint="f48f8528">
{377aa5a8} callsubr
-158 134 rlineto
return
</CharString>
<CharString index="4" fingerprint="377aa5a8">
{f9df3c06} callgsubr
36 42 return
</CharString>
</Subrs>
<GlobalSubrs>
<CharString index="0" fingerprint="b3b06f4a">
{0bfe7e46} callgsubr
-1010 return
</CharString>
<CharString index="1" fingerprint="0bfe7e46">
{a926ac67} callsubr
hstemhm
return
</CharString>
<CharString index="2" fingerprint="f6de01df">
8 vlineto
101 85 rlineto
return
</CharString>
<CharString index="3" fingerprint="c7138596">
1 52 rlineto
return
</CharString>
<CharString index="4" fingerprint="f9df3c06">
-328 -279 rlineto
-53 vlineto
333 -283 return
</CharString>
</GlobalSubrs>
</Glyph>
@@ -0,0 +1,75 @@
<Glyph name="less_equal_greater.liga" lsb="-1010" width="550">
<CharString>
{b3b06f4a} callgsubr
58 -58 1470 -57 {076e1c46} callsubr
-1031 {cb5c326f} callsubr
1048 hlineto
-158 -134 35 -42 rlineto
hintmask 11010000
{fe9ab107} callgsubr
54 vlineto
hintmask 11101000
-57 -31 rmoveto
-92 -78 rlineto
-1171 hlineto
-92 78 rlineto
{f6de01df} callgsubr
1153 hlineto
101 -85 rlineto
endchar
</CharString>
<Subrs>
<CharString index="0" fingerprint="a926ac67">
156 52 171 52 return
</CharString>
<CharString index="1" fingerprint="076e1c46">
57 hintmask 11100000
{ea3a6f68} callsubr
144 -121 rlineto
return
</CharString>
<CharString index="2" fingerprint="ea3a6f68">
133 595 rmoveto
-36 -43 return
</CharString>
<CharString index="3" fingerprint="cb5c326f">
hlineto
144 121 -36 43 {f48f8528} callsubr
return
</CharString>
<CharString index="4" fingerprint="f48f8528">
{377aa5a8} callsubr
-158 134 rlineto
return
</CharString>
<CharString index="5" fingerprint="377aa5a8">
{f9df3c06} callgsubr
36 42 return
</CharString>
</Subrs>
<GlobalSubrs>
<CharString index="0" fingerprint="b3b06f4a">
{0bfe7e46} callgsubr
-1010 return
</CharString>
<CharString index="1" fingerprint="0bfe7e46">
{a926ac67} callsubr
hstemhm
return
</CharString>
<CharString index="2" fingerprint="f9df3c06">
-328 -279 rlineto
-53 vlineto
333 -283 return
</CharString>
<CharString index="3" fingerprint="fe9ab107">
334 283 rlineto
return
</CharString>
<CharString index="4" fingerprint="f6de01df">
8 vlineto
101 85 rlineto
return
</CharString>
</GlobalSubrs>
</Glyph>
@@ -0,0 +1,70 @@
<Glyph name="less_equal_less.liga" lsb="-1010" width="550">
<CharString>
{b3b06f4a} callgsubr
58 -58 1469 -369 58 hintmask 11010000
423 -20 rmoveto
36 42 rlineto
hintmask 11001000
{472a2f7f} callsubr
8 vlineto
{c55c66e3} callgsubr
-1015 hlineto
144 121 -36 43 rlineto
hintmask 11010000
{f48f8528} callsubr
1015 hlineto
-1076 52 rmoveto
hintmask 11100000
-92 78 rlineto
{f6de01df} callgsubr
1015 hlineto
hintmask 11001000
-74 -63 rlineto
-53 vlineto
65 -55 rlineto
endchar
</CharString>
<Subrs>
<CharString index="0" fingerprint="a926ac67">
156 52 171 52 return
</CharString>
<CharString index="1" fingerprint="472a2f7f">
-311 264 rlineto
return
</CharString>
<CharString index="2" fingerprint="f48f8528">
{377aa5a8} callsubr
-158 134 rlineto
return
</CharString>
<CharString index="3" fingerprint="377aa5a8">
{f9df3c06} callgsubr
36 42 return
</CharString>
</Subrs>
<GlobalSubrs>
<CharString index="0" fingerprint="b3b06f4a">
{0bfe7e46} callgsubr
-1010 return
</CharString>
<CharString index="1" fingerprint="0bfe7e46">
{a926ac67} callsubr
hstemhm
return
</CharString>
<CharString index="2" fingerprint="c55c66e3">
306 258 -36 43 -193 -164 rlineto
return
</CharString>
<CharString index="3" fingerprint="f9df3c06">
-328 -279 rlineto
-53 vlineto
333 -283 return
</CharString>
<CharString index="4" fingerprint="f6de01df">
8 vlineto
101 85 rlineto
return
</CharString>
</GlobalSubrs>
</Glyph>
@@ -0,0 +1,35 @@
<Glyph name="less_hyphen.liga" lsb="-460" width="550">
<CharString>
264 52 hstemhm
-460 58 -58 894 hintmask 10100000
434 {9b6142ec} callgsubr
-810 {c56f9f9a} callgsubr
807 hlineto
endchar
</CharString>
<Subrs>
<CharString index="0" fingerprint="377aa5a8">
{f9df3c06} callgsubr
36 42 return
</CharString>
</Subrs>
<GlobalSubrs>
<CharString index="0" fingerprint="9b6142ec">
316 rmoveto
return
</CharString>
<CharString index="1" fingerprint="c56f9f9a">
hlineto
280 236 -36 43 rlineto
hintmask 11000000
{377aa5a8} callsubr
-285 242 rlineto
return
</CharString>
<CharString index="2" fingerprint="f9df3c06">
-328 -279 rlineto
-53 vlineto
333 -283 return
</CharString>
</GlobalSubrs>
</Glyph>
@@ -0,0 +1,35 @@
<Glyph name="less_hyphen_hyphen.liga" lsb="-1010" width="550">
<CharString>
264 52 hstemhm
-1010 58 -58 1444 hintmask 10100000
434 {9b6142ec} callgsubr
-1360 {c56f9f9a} callgsubr
1357 hlineto
endchar
</CharString>
<Subrs>
<CharString index="0" fingerprint="377aa5a8">
{f9df3c06} callgsubr
36 42 return
</CharString>
</Subrs>
<GlobalSubrs>
<CharString index="0" fingerprint="9b6142ec">
316 rmoveto
return
</CharString>
<CharString index="1" fingerprint="c56f9f9a">
hlineto
280 236 -36 43 rlineto
hintmask 11000000
{377aa5a8} callsubr
-285 242 rlineto
return
</CharString>
<CharString index="2" fingerprint="f9df3c06">
-328 -279 rlineto
-53 vlineto
333 -283 return
</CharString>
</GlobalSubrs>
</Glyph>
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,8 @@
{
"fontName": "OperatorMonoLig-Light",
"familyName": "Operator Mono Lig",
"foundry": "H&Co",
"version": "1.200",
"fontStyle": "Light",
"windowsFontStyle": "Regular"
}
File diff suppressed because it is too large Load Diff
@@ -1,52 +1,120 @@
<ttFont>
<head>
<!-- Most of this table will be recalculated by the compiler -->
<tableVersion value="1.0"/>
<fontRevision value="1.002"/>
<checkSumAdjustment value="0xd578326d"/>
<magicNumber value="0x5f0f3cf5"/>
<flags value="00000000 00000011"/>
<unitsPerEm value="1000"/>
<created value="Mon Oct 16 14:13:21 2017"/>
<modified value="Mon Oct 16 14:13:21 2017"/>
<xMin value="-367"/>
<yMin value="-371"/>
<xMax value="2139"/>
<yMax value="1130"/>
<xMin value="-487"/>
<yMin value="-375"/>
<xMax value="703"/>
<yMax value="1125"/>
<macStyle value="00000000 00000010"/>
<lowestRecPPEM value="3"/>
<fontDirectionHint value="2"/>
<indexToLocFormat value="0"/>
<glyphDataFormat value="0"/>
</head>
<hhea>
<tableVersion value="0x00010000"/>
<ascent value="960"/>
<descent value="-240"/>
<lineGap value="0"/>
<advanceWidthMax value="2200"/>
<minLeftSideBearing value="-367"/>
<minRightSideBearing value="-167"/>
<xMaxExtent value="2139"/>
<advanceWidthMax value="550"/>
<minLeftSideBearing value="-487"/>
<minRightSideBearing value="-153"/>
<xMaxExtent value="703"/>
<caretSlopeRise value="1000"/>
<caretSlopeRun value="194"/>
<caretOffset value="0"/>
<reserved0 value="0"/>
<reserved1 value="0"/>
<reserved2 value="0"/>
<reserved3 value="0"/>
<metricDataFormat value="0"/>
<numberOfHMetrics value="456"/>
<numberOfHMetrics value="435"/>
</hhea>
<CFF>
<CFFFont>
<FontBBox value="-367 -371 2139 1130"/>
<FontBBox value="-487 -375 703 1125"/>
</CFFFont>
</CFF>
<CFF>
<CFFFont>
<Private>
<nominalWidthX value="1207"/>
<nominalWidthX value="107"/>
</Private>
</CFFFont>
</CFF>
@@ -0,0 +1,7 @@
<Glyph name="LIG" lsb="0" width="550">
<CharString>
endchar
</CharString>
<Subrs/>
<GlobalSubrs/>
</Glyph>
@@ -0,0 +1,29 @@
<Glyph name="equal_equal.liga" lsb="-487" width="550">
<CharString>
156 52 171 51 hstem
-471 980 vstem
497 379 {05ba9ecb} callgsubr
898 -223 {05ba9ecb} callgsubr
endchar
</CharString>
<Subrs/>
<GlobalSubrs>
<CharString index="0" fingerprint="05ba9ecb">
rmoveto
11 51 rlineto
-942 {82aca778} callgsubr
return
</CharString>
<CharString index="1" fingerprint="82aca778">
hlineto
-10 -51 rlineto
return
</CharString>
<CharString index="2" fingerprint="05ba9ecb">
rmoveto
11 51 rlineto
-942 {82aca778} callgsubr
return
</CharString>
</GlobalSubrs>
</Glyph>
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,8 @@
{
"fontName": "OperatorMonoLig-LightItalic",
"familyName": "Operator Mono Lig",
"foundry": "H&Co",
"version": "1.200",
"fontStyle": "Light Italic",
"windowsFontStyle": "Italic"
}
File diff suppressed because it is too large Load Diff
@@ -1,276 +0,0 @@
<CharStrings>
<CharString name="ampersand_ampersand.liga">
-107 -13 90 454 102 hstemhm
72 106 -29 112 270 106 -29 112 hintmask 11101000
896 531 rmoveto
-7 102 rlineto
hintmask 11100100
-6 callgsubr
hintmask 11011000
-89 -55 -44 -65 -75 vvcurveto
-12 1 -12 2 -11 vhcurveto
-18 22 -24 29 -29 37 -36 callsubr
25 12 46 4 67 -3 -7 102 rcurveline
-6 callgsubr
hintmask 11100100
-89 -55 -44 -65 -75 vvcurveto
-43 13 -35 26 -27 vhcurveto
-27 27 38 -14 49 hhcurveto
69 59 33 67 47 hvcurveto
47 -65 94 -33 143 -2 rrcurveto
20 callsubr
91 69 rcurveline
-13 16 -35 44 -58 71 -36 callsubr
hintmask 11101000
25 12 46 4 67 -3 rrcurveto
-650 -256 rmoveto
25 -30 21 -26 58 -70 rlineto
-48 -31 -33 -24 -37 hhcurveto
-23 -17 8 15 -12 hvcurveto
-13 -13 callsubr
459 hmoveto
35 -43 21 -25 48 -58 rlineto
-48 -31 -33 -24 -37 hhcurveto
-23 -17 8 15 -13 hvcurveto
-12 -13 callsubr
endchar
</CharString>
<CharString name="bar_bar.liga">
-107 1 callgsubr
323 105 244 105 vstem
428 718 11 callsubr
349 901 11 callsubr
endchar
</CharString>
<CharString name="bar_greater.liga">
-107 1 callgsubr
318 105 370 100 vstem
318 -183 rmoveto
105 hlineto
470 419 rlineto
93 vlineto
-470 389 -105 -9 rlineto
105 -761 rmoveto
640 vlineto
370 -300 rlineto
-11 vlineto
endchar
</CharString>
<CharString name="equal_equal.liga">
-107 143 13 callsubr
72 956 vstem
1028 364 rmoveto
94 vlineto
-956 -9 callsubr
956 -218 rmoveto
94 vlineto
-956 -9 callsubr
endchar
</CharString>
<CharString name="equal_equal_equal.liga">
443 102 94 67 94 76 94 12 callgsubr
1578 528 rmoveto
-1506 -9 callsubr
1506 2 rlineto
-1506 -78 rmoveto
-94 vlineto
1506 2 rlineto
94 vlineto
-255 vmoveto
94 vlineto
-1506 -9 callsubr
endchar
</CharString>
<CharString name="equal_equal_greater.liga">
443 143 13 callsubr
1478 100 vstem
1185 58 -56 callsubr
99 -79 -1215 -9 callsubr
1332 2 74 -59 rlineto
-11 vlineto
-70 -56 -1336 -9 callsubr
1219 2 rlineto
endchar
</CharString>
<CharString name="equal_greater.liga">
-107 143 13 callsubr
928 100 vstem
635 58 -56 callsubr
99 -79 -665 -9 callsubr
782 2 74 -59 rlineto
-11 vlineto
-70 -56 -786 -9 callsubr
669 2 rlineto
endchar
</CharString>
<CharString name="exclam_equal.liga">
-107 143.5 94 125 94 hstem
72 956 vstem
1028 144 rmoveto
94 vlineto
-457 -1 65 126 392 1 rlineto
94 vlineto
-344 -1 121 238 -96 46 -145 -284 -492 -1 rlineto
-94 vlineto
445 1 -65 -126 -380 -1 rlineto
-94 vlineto
333 1 -153 -300 96 -43 175 343 rlineto
endchar
</CharString>
<CharString name="exclam_equal_equal.liga">
443 102.5 94 67 94 75 94 12 callgsubr
1065 695 rmoveto
-96 46 -109 -214 -788 -1 rlineto
-94 vlineto
740 1 -38 -76 -702 -1 rlineto
-94 vlineto
654 1 -34 -67 -620 -1 rlineto
-94 vlineto
572 1 -132 -259 96 -43 154 302 816 1 rlineto
94 vlineto
-768 -1 34 67 734 1 rlineto
94 vlineto
-686 -1 39 76 647 1 rlineto
94 vlineto
-599 -1 rlineto
endchar
</CharString>
<CharString name="greater_equal.liga">
-107 -101 834 hstem
740 100 vstem
257 174 rmoveto
60 -78 523 257 rlineto
126 vlineto
-518 254 -62 -80 480 -232 rlineto
-11 vlineto
-483 -445 rmoveto
51 -66 534 262 -2 96 rlineto
endchar
</CharString>
<CharString name="hyphen_greater.liga">
-107 250 95 hstem
72 956 vstem
635 54 -56 callsubr
235 -188 rlineto
-801 -95 806 hlineto
endchar
</CharString>
<CharString name="hyphen_hyphen.liga">
-107 250 95 hstem
190 720 vstem
502 250 rmoveto
26 callgsubr
712 hmoveto
26 callgsubr
endchar
</CharString>
<CharString name="hyphen_hyphen_greater.liga">
443 250 95 12 callgsubr
1185 54 -56 callsubr
235 -188 rlineto
-1351 -95 1356 hlineto
endchar
</CharString>
<CharString name="less_bar.liga">
-107 1 callgsubr
230 100 363 105 vstem
693 -183 rmoveto
105 901 hlineto
-105 -9 -463 -380 rlineto
-93 vlineto
463 -283 rmoveto
-363 324 rlineto
11 vlineto
363 293 rlineto
endchar
</CharString>
<CharString name="less_equal.liga">
-107 -101 834 hstem
257 585 vstem
842 174 rmoveto
-60 -78 -523 257 rlineto
126 vlineto
518 254 62 -80 -480 -232 rlineto
-11 vlineto
483 -445 rmoveto
-51 -66 -534 262 2 96 rlineto
endchar
</CharString>
<CharString name="less_equal_equal.liga">
443 58 85 94 126 94 80 12 callgsubr
465 58 -29 callsubr
-99 -79 1215 -9 callsubr
-1332 2 -74 -59 rlineto
-11 vlineto
70 -56 1336 -9 callsubr
-1219 2 rlineto
endchar
</CharString>
<CharString name="less_exclam_hyphen_hyphen.liga">
993 0 131 119 95 hstemhm
689.5 8 callgsubr
hintmask 11001000
730 17 callsubr
hintmask 11010000
-4 callsubr
hintmask 11001000
9 -129 5 -73 -16 vvcurveto
-120 5 rmoveto
8 95 rlineto
-383 hlineto
236 190 7 callsubr
-242 194 rlineto
1890 95 rmoveto
-1193 hlineto
-9 -95 rlineto
1194 hlineto
hintmask 11100000
-1281 -250 rmoveto
4 131 rlineto
-144 hlineto
-3 -131 rlineto
endchar
</CharString>
<CharString name="less_hyphen.liga">
-107 345 188 hstem
72 956 vstem
465 54 -29 callsubr
-235 -188 rlineto
801 -95 -806 hlineto
endchar
</CharString>
<CharString name="less_hyphen_hyphen.liga">
443 54 196 95 188 12 callgsubr
465 54 -29 callsubr
-235 -188 rlineto
1351 -95 -1356 hlineto
endchar
</CharString>
<CharString name="plus_plus.liga">
-107 251 93 hstem
286 99 331 99 vstem
815 19 callgsubr
-331 178 -99 -178 -169 -93 169 -178 99 178 331 -178 99 hlineto
endchar
</CharString>
</CharStrings>
@@ -1,20 +0,0 @@
<GlyphClassDef>
<ClassDef glyph="ampersand_ampersand.liga" class="2"/>
<ClassDef glyph="bar_bar.liga" class="2"/>
<ClassDef glyph="equal_equal.liga" class="1"/>
<ClassDef glyph="equal_equal_equal.liga" class="2"/>
<ClassDef glyph="equal_equal_greater.liga" class="2"/>
<ClassDef glyph="equal_greater.liga" class="2"/>
<ClassDef glyph="exclam_equal.liga" class="1"/>
<ClassDef glyph="exclam_equal_equal.liga" class="2"/>
<ClassDef glyph="greater_equal.liga" class="2"/>
<ClassDef glyph="hyphen_greater.liga" class="2"/>
<ClassDef glyph="hyphen_hyphen.liga" class="2"/>
<ClassDef glyph="hyphen_hyphen_greater.liga" class="2"/>
<ClassDef glyph="less_equal.liga" class="2"/>
<ClassDef glyph="less_equal_equal.liga" class="2"/>
<ClassDef glyph="less_exclam_hyphen_x2.liga" class="1"/>
<ClassDef glyph="less_hyphen.liga" class="2"/>
<ClassDef glyph="less_hyphen_hyphen.liga" class="2"/>
<ClassDef glyph="plus_plus.liga" class="2"/>
</GlyphClassDef>
@@ -1,53 +0,0 @@
<ttFont>
<head>
<!-- Most of this table will be recalculated by the compiler -->
<tableVersion value="1.0"/>
<fontRevision value="1.002"/>
<checkSumAdjustment value="0x66e62ef1"/>
<magicNumber value="0x5f0f3cf5"/>
<flags value="00000000 00000011"/>
<unitsPerEm value="1000"/>
<created value="Mon Sep 18 16:01:46 2017"/>
<modified value="Mon Sep 18 16:01:46 2017"/>
<xMin value="-350"/>
<yMin value="-294"/>
<xMax value="2120"/>
<yMax value="1150"/>
<macStyle value="00000000 00000000"/>
<lowestRecPPEM value="3"/>
<fontDirectionHint value="2"/>
<indexToLocFormat value="0"/>
<glyphDataFormat value="0"/>
</head>
<hhea>
<tableVersion value="0x00010000"/>
<ascent value="960"/>
<descent value="-240"/>
<lineGap value="0"/>
<advanceWidthMax value="2200"/>
<minLeftSideBearing value="-350"/>
<minRightSideBearing value="-114"/>
<xMaxExtent value="2120"/>
<caretSlopeRise value="1"/>
<caretSlopeRun value="0"/>
<caretOffset value="0"/>
<reserved0 value="0"/>
<reserved1 value="0"/>
<reserved2 value="0"/>
<reserved3 value="0"/>
<metricDataFormat value="0"/>
<numberOfHMetrics value="456"/>
</hhea>
<CFF>
<CFFFont>
<FontBBox value="-350 -294 2120 1150"/>
</CFFFont>
</CFF>
<CFF>
<CFFFont>
<Private>
<nominalWidthX value="1207"/>
</Private>
</CFFFont>
</CFF>
</ttFont>
-164
View File
@@ -1,164 +0,0 @@
<GPOS>
<Version value="0x00010000"/>
<ScriptList>
<!-- ScriptCount=2 -->
<ScriptRecord index="0">
<ScriptTag value="DFLT"/>
<Script>
<DefaultLangSys>
<ReqFeatureIndex value="65535"/>
<!-- FeatureCount=1 -->
<FeatureIndex index="0" value="0"/>
</DefaultLangSys>
<!-- LangSysCount=0 -->
</Script>
</ScriptRecord>
<ScriptRecord index="1">
<ScriptTag value="latn"/>
<Script>
<DefaultLangSys>
<ReqFeatureIndex value="65535"/>
<!-- FeatureCount=1 -->
<FeatureIndex index="0" value="1"/>
</DefaultLangSys>
<!-- LangSysCount=3 -->
<LangSysRecord index="0">
<LangSysTag value="CAT "/>
<LangSys>
<ReqFeatureIndex value="65535"/>
<!-- FeatureCount=1 -->
<FeatureIndex index="0" value="2"/>
</LangSys>
</LangSysRecord>
<LangSysRecord index="1">
<LangSysTag value="MOL "/>
<LangSys>
<ReqFeatureIndex value="65535"/>
<!-- FeatureCount=1 -->
<FeatureIndex index="0" value="3"/>
</LangSys>
</LangSysRecord>
<LangSysRecord index="2">
<LangSysTag value="ROM "/>
<LangSys>
<ReqFeatureIndex value="65535"/>
<!-- FeatureCount=1 -->
<FeatureIndex index="0" value="4"/>
</LangSys>
</LangSysRecord>
</Script>
</ScriptRecord>
</ScriptList>
<FeatureList>
<!-- FeatureCount=5 -->
<FeatureRecord index="0">
<FeatureTag value="kern"/>
<Feature>
<!-- LookupCount=1 -->
<LookupListIndex index="0" value="0"/>
</Feature>
</FeatureRecord>
<FeatureRecord index="1">
<FeatureTag value="kern"/>
<Feature>
<!-- LookupCount=1 -->
<LookupListIndex index="0" value="0"/>
</Feature>
</FeatureRecord>
<FeatureRecord index="2">
<FeatureTag value="kern"/>
<Feature>
<!-- LookupCount=1 -->
<LookupListIndex index="0" value="0"/>
</Feature>
</FeatureRecord>
<FeatureRecord index="3">
<FeatureTag value="kern"/>
<Feature>
<!-- LookupCount=1 -->
<LookupListIndex index="0" value="0"/>
</Feature>
</FeatureRecord>
<FeatureRecord index="4">
<FeatureTag value="kern"/>
<Feature>
<!-- LookupCount=1 -->
<LookupListIndex index="0" value="0"/>
</Feature>
</FeatureRecord>
</FeatureList>
<LookupList>
<!-- LookupCount=1 -->
<Lookup index="0">
<LookupType value="2"/>
<LookupFlag value="0"/>
<!-- SubTableCount=1 -->
<PairPos index="0" Format="2">
<Coverage Format="2">
<Glyph value="zero.num"/>
<Glyph value="one.num"/>
<Glyph value="two.num"/>
<Glyph value="three.num"/>
<Glyph value="four.num"/>
<Glyph value="five.num"/>
<Glyph value="six.num"/>
<Glyph value="seven.num"/>
<Glyph value="eight.num"/>
<Glyph value="nine.num"/>
<Glyph value="fraction.afrc"/>
</Coverage>
<ValueFormat1 value="4"/>
<ValueFormat2 value="0"/>
<ClassDef1 Format="2">
<ClassDef glyph="eight.num" class="1"/>
<ClassDef glyph="five.num" class="1"/>
<ClassDef glyph="four.num" class="1"/>
<ClassDef glyph="nine.num" class="1"/>
<ClassDef glyph="one.num" class="1"/>
<ClassDef glyph="seven.num" class="1"/>
<ClassDef glyph="six.num" class="1"/>
<ClassDef glyph="three.num" class="1"/>
<ClassDef glyph="two.num" class="1"/>
<ClassDef glyph="zero.num" class="1"/>
</ClassDef1>
<ClassDef2 Format="2">
<ClassDef glyph="eight.den" class="1"/>
<ClassDef glyph="five.den" class="1"/>
<ClassDef glyph="four.den" class="1"/>
<ClassDef glyph="fraction.afrc" class="2"/>
<ClassDef glyph="nine.den" class="1"/>
<ClassDef glyph="one.den" class="1"/>
<ClassDef glyph="seven.den" class="1"/>
<ClassDef glyph="six.den" class="1"/>
<ClassDef glyph="three.den" class="1"/>
<ClassDef glyph="two.den" class="1"/>
<ClassDef glyph="zero.den" class="1"/>
</ClassDef2>
<!-- Class1Count=2 -->
<!-- Class2Count=3 -->
<Class1Record index="0">
<Class2Record index="0">
<Value1 XAdvance="0"/>
</Class2Record>
<Class2Record index="1">
<Value1 XAdvance="-550"/>
</Class2Record>
<Class2Record index="2">
<Value1 XAdvance="0"/>
</Class2Record>
</Class1Record>
<Class1Record index="1">
<Class2Record index="0">
<Value1 XAdvance="0"/>
</Class2Record>
<Class2Record index="1">
<Value1 XAdvance="0"/>
</Class2Record>
<Class2Record index="2">
<Value1 XAdvance="-550"/>
</Class2Record>
</Class1Record>
</PairPos>
</Lookup>
</LookupList>
</GPOS>
-407
View File
@@ -1,407 +0,0 @@
<GSUB>
<Version value="0x00010000"/>
<ScriptList>
<!-- ScriptCount=2 -->
<ScriptRecord index="0">
<ScriptTag value="DFLT"/>
<Script>
<DefaultLangSys>
<ReqFeatureIndex value="65535"/>
<!-- FeatureCount=4 -->
<FeatureIndex index="0" value="0"/>
<FeatureIndex index="1" value="5"/>
<FeatureIndex index="2" value="10"/>
<FeatureIndex index="3" value="15"/>
</DefaultLangSys>
<!-- LangSysCount=0 -->
</Script>
</ScriptRecord>
<ScriptRecord index="1">
<ScriptTag value="latn"/>
<Script>
<DefaultLangSys>
<ReqFeatureIndex value="65535"/>
<!-- FeatureCount=4 -->
<FeatureIndex index="0" value="1"/>
<FeatureIndex index="1" value="6"/>
<FeatureIndex index="2" value="11"/>
<FeatureIndex index="3" value="16"/>
</DefaultLangSys>
<!-- LangSysCount=3 -->
<LangSysRecord index="0">
<LangSysTag value="CAT "/>
<LangSys>
<ReqFeatureIndex value="65535"/>
<!-- FeatureCount=5 -->
<FeatureIndex index="0" value="2"/>
<FeatureIndex index="1" value="7"/>
<FeatureIndex index="2" value="12"/>
<FeatureIndex index="3" value="17"/>
<FeatureIndex index="4" value="20"/>
</LangSys>
</LangSysRecord>
<LangSysRecord index="1">
<LangSysTag value="MOL "/>
<LangSys>
<ReqFeatureIndex value="65535"/>
<!-- FeatureCount=5 -->
<FeatureIndex index="0" value="3"/>
<FeatureIndex index="1" value="8"/>
<FeatureIndex index="2" value="13"/>
<FeatureIndex index="3" value="18"/>
<FeatureIndex index="4" value="21"/>
</LangSys>
</LangSysRecord>
<LangSysRecord index="2">
<LangSysTag value="ROM "/>
<LangSys>
<ReqFeatureIndex value="65535"/>
<!-- FeatureCount=5 -->
<FeatureIndex index="0" value="4"/>
<FeatureIndex index="1" value="9"/>
<FeatureIndex index="2" value="14"/>
<FeatureIndex index="3" value="19"/>
<FeatureIndex index="4" value="22"/>
</LangSys>
</LangSysRecord>
</Script>
</ScriptRecord>
</ScriptList>
<FeatureList>
<!-- FeatureCount=23 -->
<FeatureRecord index="0">
<FeatureTag value="aalt"/>
<Feature>
<!-- LookupCount=1 -->
<LookupListIndex index="0" value="0"/>
</Feature>
</FeatureRecord>
<FeatureRecord index="1">
<FeatureTag value="aalt"/>
<Feature>
<!-- LookupCount=1 -->
<LookupListIndex index="0" value="0"/>
</Feature>
</FeatureRecord>
<FeatureRecord index="2">
<FeatureTag value="aalt"/>
<Feature>
<!-- LookupCount=1 -->
<LookupListIndex index="0" value="0"/>
</Feature>
</FeatureRecord>
<FeatureRecord index="3">
<FeatureTag value="aalt"/>
<Feature>
<!-- LookupCount=1 -->
<LookupListIndex index="0" value="0"/>
</Feature>
</FeatureRecord>
<FeatureRecord index="4">
<FeatureTag value="aalt"/>
<Feature>
<!-- LookupCount=1 -->
<LookupListIndex index="0" value="0"/>
</Feature>
</FeatureRecord>
<FeatureRecord index="5">
<FeatureTag value="dlig"/>
<Feature>
<!-- LookupCount=1 -->
<LookupListIndex index="0" value="5"/>
</Feature>
</FeatureRecord>
<FeatureRecord index="6">
<FeatureTag value="dlig"/>
<Feature>
<!-- LookupCount=1 -->
<LookupListIndex index="0" value="5"/>
</Feature>
</FeatureRecord>
<FeatureRecord index="7">
<FeatureTag value="dlig"/>
<Feature>
<!-- LookupCount=1 -->
<LookupListIndex index="0" value="5"/>
</Feature>
</FeatureRecord>
<FeatureRecord index="8">
<FeatureTag value="dlig"/>
<Feature>
<!-- LookupCount=1 -->
<LookupListIndex index="0" value="5"/>
</Feature>
</FeatureRecord>
<FeatureRecord index="9">
<FeatureTag value="dlig"/>
<Feature>
<!-- LookupCount=1 -->
<LookupListIndex index="0" value="5"/>
</Feature>
</FeatureRecord>
<FeatureRecord index="10">
<FeatureTag value="frac"/>
<Feature>
<!-- LookupCount=1 -->
<LookupListIndex index="0" value="4"/>
</Feature>
</FeatureRecord>
<FeatureRecord index="11">
<FeatureTag value="frac"/>
<Feature>
<!-- LookupCount=1 -->
<LookupListIndex index="0" value="4"/>
</Feature>
</FeatureRecord>
<FeatureRecord index="12">
<FeatureTag value="frac"/>
<Feature>
<!-- LookupCount=1 -->
<LookupListIndex index="0" value="4"/>
</Feature>
</FeatureRecord>
<FeatureRecord index="13">
<FeatureTag value="frac"/>
<Feature>
<!-- LookupCount=1 -->
<LookupListIndex index="0" value="4"/>
</Feature>
</FeatureRecord>
<FeatureRecord index="14">
<FeatureTag value="frac"/>
<Feature>
<!-- LookupCount=1 -->
<LookupListIndex index="0" value="4"/>
</Feature>
</FeatureRecord>
<FeatureRecord index="15">
<FeatureTag value="liga"/>
<Feature>
<!-- LookupCount=1 -->
<LookupListIndex index="0" value="6"/>
</Feature>
</FeatureRecord>
<FeatureRecord index="16">
<FeatureTag value="liga"/>
<Feature>
<!-- LookupCount=1 -->
<LookupListIndex index="0" value="6"/>
</Feature>
</FeatureRecord>
<FeatureRecord index="17">
<FeatureTag value="liga"/>
<Feature>
<!-- LookupCount=1 -->
<LookupListIndex index="0" value="6"/>
</Feature>
</FeatureRecord>
<FeatureRecord index="18">
<FeatureTag value="liga"/>
<Feature>
<!-- LookupCount=1 -->
<LookupListIndex index="0" value="6"/>
</Feature>
</FeatureRecord>
<FeatureRecord index="19">
<FeatureTag value="liga"/>
<Feature>
<!-- LookupCount=1 -->
<LookupListIndex index="0" value="6"/>
</Feature>
</FeatureRecord>
<FeatureRecord index="20">
<FeatureTag value="locl"/>
<Feature>
<!-- LookupCount=1 -->
<LookupListIndex index="0" value="1"/>
</Feature>
</FeatureRecord>
<FeatureRecord index="21">
<FeatureTag value="locl"/>
<Feature>
<!-- LookupCount=1 -->
<LookupListIndex index="0" value="3"/>
</Feature>
</FeatureRecord>
<FeatureRecord index="22">
<FeatureTag value="locl"/>
<Feature>
<!-- LookupCount=1 -->
<LookupListIndex index="0" value="2"/>
</Feature>
</FeatureRecord>
</FeatureList>
<LookupList>
<!-- LookupCount=8 -->
<Lookup index="0">
<LookupType value="1"/>
<LookupFlag value="0"/>
<!-- SubTableCount=1 -->
<SingleSubst index="0" Format="1">
<Substitution in="Scedilla" out="uni0218"/>
<Substitution in="scedilla" out="uni0219"/>
</SingleSubst>
</Lookup>
<Lookup index="1">
<LookupType value="6"/>
<LookupFlag value="0"/>
<!-- SubTableCount=2 -->
<ChainContextSubst index="0" Format="3">
<!-- BacktrackGlyphCount=0 -->
<!-- InputGlyphCount=2 -->
<InputCoverage index="0" Format="1">
<Glyph value="l"/>
</InputCoverage>
<InputCoverage index="1" Format="1">
<Glyph value="periodcentered"/>
</InputCoverage>
<!-- LookAheadGlyphCount=1 -->
<LookAheadCoverage index="0" Format="1">
<Glyph value="l"/>
</LookAheadCoverage>
<!-- SubstCount=1 -->
<SubstLookupRecord index="0">
<SequenceIndex value="0"/>
<LookupListIndex value="7"/>
</SubstLookupRecord>
</ChainContextSubst>
<ChainContextSubst index="1" Format="3">
<!-- BacktrackGlyphCount=0 -->
<!-- InputGlyphCount=2 -->
<InputCoverage index="0" Format="1">
<Glyph value="L"/>
</InputCoverage>
<InputCoverage index="1" Format="1">
<Glyph value="periodcentered"/>
</InputCoverage>
<!-- LookAheadGlyphCount=1 -->
<LookAheadCoverage index="0" Format="1">
<Glyph value="L"/>
</LookAheadCoverage>
<!-- SubstCount=1 -->
<SubstLookupRecord index="0">
<SequenceIndex value="0"/>
<LookupListIndex value="7"/>
</SubstLookupRecord>
</ChainContextSubst>
</Lookup>
<Lookup index="2">
<LookupType value="1"/>
<LookupFlag value="0"/>
<!-- SubTableCount=1 -->
<SingleSubst index="0" Format="1">
<Substitution in="Scedilla" out="uni0218"/>
<Substitution in="scedilla" out="uni0219"/>
</SingleSubst>
</Lookup>
<Lookup index="3">
<LookupType value="1"/>
<LookupFlag value="0"/>
<!-- SubTableCount=1 -->
<SingleSubst index="0" Format="1">
<Substitution in="Scedilla" out="uni0218"/>
<Substitution in="scedilla" out="uni0219"/>
</SingleSubst>
</Lookup>
<Lookup index="4">
<LookupType value="4"/>
<LookupFlag value="0"/>
<!-- SubTableCount=1 -->
<LigatureSubst index="0" Format="1">
<LigatureSet glyph="five">
<Ligature components="slash,six" glyph="uni215A"/>
<Ligature components="slash,eight" glyph="fiveeighths"/>
</LigatureSet>
<LigatureSet glyph="four">
<Ligature components="slash,five" glyph="uni2158"/>
</LigatureSet>
<LigatureSet glyph="one">
<Ligature components="slash,two" glyph="onehalf"/>
<Ligature components="slash,three" glyph="uni2153"/>
<Ligature components="slash,four" glyph="onequarter"/>
<Ligature components="slash,five" glyph="uni2155"/>
<Ligature components="slash,six" glyph="uni2159"/>
<Ligature components="slash,eight" glyph="oneeighth"/>
</LigatureSet>
<LigatureSet glyph="seven">
<Ligature components="slash,eight" glyph="seveneighths"/>
</LigatureSet>
<LigatureSet glyph="three">
<Ligature components="slash,four" glyph="threequarters"/>
<Ligature components="slash,five" glyph="uni2157"/>
<Ligature components="slash,eight" glyph="threeeighths"/>
</LigatureSet>
<LigatureSet glyph="two">
<Ligature components="slash,three" glyph="uni2154"/>
<Ligature components="slash,five" glyph="uni2156"/>
</LigatureSet>
</LigatureSubst>
</Lookup>
<Lookup index="5">
<LookupType value="4"/>
<LookupFlag value="0"/>
<!-- SubTableCount=1 -->
<LigatureSubst index="0" Format="1">
<LigatureSet glyph="R">
<Ligature components="p" glyph="R_p"/>
</LigatureSet>
</LigatureSubst>
</Lookup>
<Lookup index="6">
<LookupType value="4"/>
<LookupFlag value="0"/>
<!-- SubTableCount=1 -->
<LigatureSubst index="0" Format="1">
<LigatureSet glyph="ampersand">
<Ligature components="ampersand" glyph="ampersand_ampersand.liga"/>
</LigatureSet>
<LigatureSet glyph="bar">
<Ligature components="greater" glyph="bar_greater.liga"/>
<Ligature components="bar" glyph="bar_bar.liga"/>
</LigatureSet>
<LigatureSet glyph="equal">
<Ligature components="equal,equal" glyph="equal_equal_equal.liga"/>
<Ligature components="equal,greater" glyph="equal_equal_greater.liga"/>
<Ligature components="equal" glyph="equal_equal.liga"/>
<Ligature components="greater" glyph="equal_greater.liga"/>
</LigatureSet>
<LigatureSet glyph="exclam">
<Ligature components="equal,equal" glyph="exclam_equal_equal.liga"/>
<Ligature components="equal" glyph="exclam_equal.liga"/>
</LigatureSet>
<LigatureSet glyph="greater">
<Ligature components="equal" glyph="greater_equal.liga"/>
</LigatureSet>
<LigatureSet glyph="hyphen">
<Ligature components="hyphen,greater" glyph="hyphen_hyphen_greater.liga"/>
<Ligature components="hyphen" glyph="hyphen_hyphen.liga"/>
<Ligature components="greater" glyph="hyphen_greater.liga"/>
</LigatureSet>
<LigatureSet glyph="less">
<Ligature components="exclam,hyphen,hyphen" glyph="less_exclam_hyphen_hyphen.liga"/>
<Ligature components="hyphen,hyphen" glyph="less_hyphen_hyphen.liga"/>
<Ligature components="equal,equal" glyph="less_equal_equal.liga"/>
<Ligature components="hyphen" glyph="less_hyphen.liga"/>
<Ligature components="equal" glyph="less_equal.liga"/>
<Ligature components="bar" glyph="less_bar.liga"/>
</LigatureSet>
<LigatureSet glyph="plus">
<Ligature components="plus" glyph="plus_plus.liga"/>
</LigatureSet>
</LigatureSubst>
</Lookup>
<Lookup index="7">
<LookupType value="4"/>
<LookupFlag value="0"/>
<!-- SubTableCount=1 -->
<LigatureSubst index="0" Format="1">
<LigatureSet glyph="L">
<Ligature components="periodcentered" glyph="Ldot"/>
</LigatureSet>
<LigatureSet glyph="l">
<Ligature components="periodcentered" glyph="ldot"/>
</LigatureSet>
</LigatureSubst>
</Lookup>
</LookupList>
</GSUB>
File diff suppressed because it is too large Load Diff
-22
View File
@@ -1,22 +0,0 @@
<hmtx>
<mtx name="ampersand_ampersand.liga" width="1100" lsb="72"/>
<mtx name="bar_bar.liga" width="1100" lsb="323"/>
<mtx name="bar_greater.liga" width="1100" lsb="318"/>
<mtx name="equal_equal.liga" width="1100" lsb="72"/>
<mtx name="equal_equal_equal.liga" width="1650" lsb="72"/>
<mtx name="equal_equal_greater.liga" width="1650" lsb="72"/>
<mtx name="equal_greater.liga" width="1100" lsb="72"/>
<mtx name="exclam_equal.liga" width="1100" lsb="72"/>
<mtx name="exclam_equal_equal.liga" width="1650" lsb="72"/>
<mtx name="greater_equal.liga" width="1100" lsb="257"/>
<mtx name="hyphen_greater.liga" width="1100" lsb="72"/>
<mtx name="hyphen_hyphen.liga" width="1100" lsb="190"/>
<mtx name="hyphen_hyphen_greater.liga" width="1650" lsb="72"/>
<mtx name="less_bar.liga" width="1100" lsb="230"/>
<mtx name="less_equal.liga" width="1100" lsb="257"/>
<mtx name="less_equal_equal.liga" width="1650" lsb="72"/>
<mtx name="less_exclam_hyphen_hyphen.liga" width="2200" lsb="80"/>
<mtx name="less_hyphen.liga" width="1100" lsb="72"/>
<mtx name="less_hyphen_hyphen.liga" width="1650" lsb="72"/>
<mtx name="plus_plus.liga" width="1100" lsb="117"/>
</hmtx>
-45
View File
@@ -1,45 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<name fullName="Operator Mono Lig Medium" familyName="Operator Mono Lig">
<namerecord nameID="1" platformID="1" platEncID="0" langID="0x0" unicode="True">
Operator Mono Lig
</namerecord>
<namerecord nameID="2" platformID="1" platEncID="0" langID="0x0" unicode="True">
Medium
</namerecord>
<namerecord nameID="3" platformID="1" platEncID="0" langID="0x0" unicode="True">
H&amp;Co: Operator Mono Lig Medium: 1.200
</namerecord>
<namerecord nameID="4" platformID="1" platEncID="0" langID="0x0" unicode="True">
Operator Mono Lig Medium
</namerecord>
<namerecord nameID="6" platformID="1" platEncID="0" langID="0x0" unicode="True">
OperatorMonoLig-Medium
</namerecord>
<namerecord nameID="16" platformID="1" platEncID="0" langID="0x0" unicode="True">
Operator Mono Lig
</namerecord>
<namerecord nameID="17" platformID="1" platEncID="0" langID="0x0" unicode="True">
Medium
</namerecord>
<namerecord nameID="1" platformID="3" platEncID="1" langID="0x409">
Operator Mono Lig Medium
</namerecord>
<namerecord nameID="2" platformID="3" platEncID="1" langID="0x409">
Regular
</namerecord>
<namerecord nameID="3" platformID="3" platEncID="1" langID="0x409">
H&amp;Co: Operator Mono Lig Medium: 1.200
</namerecord>
<namerecord nameID="4" platformID="3" platEncID="1" langID="0x409">
Operator Mono Lig Medium
</namerecord>
<namerecord nameID="6" platformID="3" platEncID="1" langID="0x409">
OperatorMonoLig-Medium
</namerecord>
<namerecord nameID="16" platformID="3" platEncID="1" langID="0x409">
Operator Mono Lig
</namerecord>
<namerecord nameID="17" platformID="3" platEncID="1" langID="0x409">
Medium
</namerecord>
</name>
File diff suppressed because it is too large Load Diff
@@ -1,297 +0,0 @@
<CharStrings>
<CharString name="ampersand_ampersand.liga">
-107 -10 96 -95 95 hstemhm
111 104 hintmask 10100000
888 -20 rmoveto
89 65 -42 46 -36 44 -29 42 rlinecurve
38 47 39 58 41 69 -88 31 rcurveline
-25 -49 -25 -44 -27 -39 -29 52 -19 51 -10 51 3 callgsubr
26 22 vvcurveto
22 -7 17 -49 callgsubr
-85 -69 -58 -67 -29 -66 -42 74 -25 62 -9 49 3 callgsubr
26 22 vvcurveto
22 -7 17 -49 callgsubr
-129 -104 -65 -101 -97 vvcurveto
hintmask 01100000
1 callsubr
hintmask 10100000
33 -47 rlineto
-39 31 37 -19 44 hhcurveto
65 69 35 70 75 hvcurveto
28 -39 31 -39 33 -37 rrcurveto
-503 204 rmoveto
5 -7 4 -8 5 -8 rrcurveto
-50 -49 -44 -25 -39 hhcurveto
2 callsubr
12 -44 20 -48 30 -53 rrcurveto
359 -8 rmoveto
9 -15 rlineto
-50 -49 -44 -25 -39 hhcurveto
2 callsubr
12 -46 23 -51 32 -56 rrcurveto
endchar
</CharString>
<CharString name="bar_bar.liga">
-107 -182 895 hstem
232 636 vstem
333 -182 rmoveto
110 560 65 335 -102 -3 -174 -892 rlineto
636 895 rmoveto
-102 -3 -65 -332 -109 -560 rlineto
101 hlineto
endchar
</CharString>
<CharString name="bar_greater.liga">
-107 -182 895 hstem
276 646 vstem
276 -182 rmoveto
101 hlineto
528 420 17 91 -370 384 -102 -3 rlineto
-45 -749 rmoveto
123 630 289 -292 -2 -11 rlineto
endchar
</CharString>
<CharString name="equal_equal.liga">
-107 -25 callgsubr
1002 vstem
1033 365 rmoveto
18 91 rlineto
-940 -34 callsubr
898 -220 rmoveto
19 91 rlineto
-941 -34 callsubr
endchar
</CharString>
<CharString name="equal_equal_equal.liga">
10 callgsubr
1583 436 rmoveto
18 91 rlineto
-1450 -34 callsubr
-21 -77 rmoveto
-19 -91 rlineto
1451 17 callgsubr
-61 -254 rmoveto
19 91 rlineto
-1451 -34 callsubr
endchar
</CharString>
<CharString name="equal_equal_greater.liga">
443 -25 callgsubr
1529 vstem
1143 -53 callgsubr
83 -83 rlineto
-1195 -34 callsubr
1306 hlineto
75 -75 -2 -11 -65 -43 rlineto
-1338 -34 callsubr
1219 hlineto
endchar
</CharString>
<CharString name="equal_greater.liga">
-107 -25 callgsubr
993 vstem
607 -53 callgsubr
83 -83 rlineto
-659 -34 callsubr
770 hlineto
75 -75 -2 -11 -65 -43 rlineto
-802 -34 callsubr
683 hlineto
endchar
</CharString>
<CharString name="exclam_equal.liga">
-107 -25 callgsubr
1002 vstem
990 145 rmoveto
19 91 rlineto
-428 hlineto
88 129 rlineto
364 17 callgsubr
-320 hlineto
159 234 -89 36 -184 -270 rlineto
-506 -34 callsubr
462 hlineto
-88 -129 rlineto
-398 -34 callsubr
355 hlineto
-208 -305 96 -28 227 333 rlineto
endchar
</CharString>
<CharString name="exclam_equal_equal.liga">
10 callgsubr
1111 690 rmoveto
-89 36 -136 -199 rlineto
-735 -34 callsubr
692 hlineto
-53 -77 rlineto
-660 -34 callsubr
617 hlineto
-49 -72 rlineto
-592 -34 callsubr
549 hlineto
-181 -265 96 -28 200 293 rlineto
787 hlineto
19 91 rlineto
-744 hlineto
49 72 rlineto
719 17 callgsubr
-675 hlineto
52 77 rlineto
645 17 callgsubr
-601 hlineto
endchar
</CharString>
<CharString name="greater_equal.liga">
-107 -116 856 hstem
243 615 vstem
243 182 rmoveto
45 -85 553 261 17 91 -461 291 -74 -72 430 -249 -2 -11 rlineto
106 -150 rmoveto
-610 -290 30 -84 562 271 rlineto
endchar
</CharString>
<CharString name="hyphen_greater.liga">
-107 251 93 hstem
82 936 vstem
583 -53 callgsubr
196 -195 rlineto
-759 hlineto
-18 -93 rlineto
786 hlineto
endchar
</CharString>
<CharString name="hyphen_hyphen.liga">
-107 251 93 hstem
195 710 vstem
195 251 rmoveto
302 hlineto
17 93 rlineto
-301 hlineto
692 hmoveto
-301 hlineto
-18 -93 rlineto
302 hlineto
endchar
</CharString>
<CharString name="hyphen_hyphen_greater.liga">
443 251 93 hstem
82 1486 vstem
1133 -53 callgsubr
196 -195 rlineto
-1309 hlineto
-18 -93 rlineto
1336 hlineto
endchar
</CharString>
<CharString name="less_bar.liga">
-107 -182 895 hstem
201 685 vstem
610 -182 rmoveto
101 hlineto
175 895 -102 -3 -567 -381 -16 -91 rlineto
433 -298 rmoveto
-328 329 2 10 450 300 rlineto
endchar
</CharString>
<CharString name="less_equal.liga">
-107 -128 863 hstem
256 628 vstem
884 651 rmoveto
-45 84 -534 -295 -16 -91 440 -249 74 72 -409 208 2 10 rlineto
-120 -122 rmoveto
-20 -97 481 -299 66 67 rlineto
endchar
</CharString>
<CharString name="less_equal_equal.liga">
443 145 91 129 91 hstem
81 1511 vstem
1574 365 rmoveto
18 91 rlineto
-1183 hlineto
107 71 -47 callgsubr
-95 95 rlineto
1191 hlineto
19 91 rlineto
-1300 hlineto
-64 64 2 10 83 55 rlineto
endchar
</CharString>
<CharString name="less_exclam_hyphen_hyphen.liga">
993 0 131 120 93 hstem
81 2038 vstem
729 -36 callgsubr
-213 282 rmoveto
-47 callgsubr
-200 201 rlineto
369 hlineto
17 93 rlineto
-382 hlineto
1863 -93 rmoveto
17 93 rlineto
-1169 hlineto
-18 -93 rlineto
-152 -251 rmoveto
26 131 rlineto
-135 hlineto
-26 -131 rlineto
endchar
</CharString>
<CharString name="less_hyphen.liga">
-107 251 93 hstem
82 936 vstem
517 527 rmoveto
-47 callgsubr
-200 201 rlineto
765 hlineto
17 93 rlineto
-778 hlineto
endchar
</CharString>
<CharString name="less_hyphen_hyphen.liga">
443 251 93 hstem
82 1486 vstem
517 527 rmoveto
-47 callgsubr
-200 201 rlineto
1315 hlineto
17 93 rlineto
-1328 hlineto
endchar
</CharString>
<CharString name="plus_plus.liga">
-107 252 91 hstem
100 900 vstem
810 252 rmoveto
171 hlineto
19 91 rlineto
-173 6 callgsubr
-97 hlineto
-35 -179 rlineto
-343 -18 callsubr
35 179 rlineto
343 hlineto
-35 -179 rlineto
97 hlineto
endchar
</CharString>
</CharStrings>
@@ -1,53 +0,0 @@
<ttFont>
<head>
<!-- Most of this table will be recalculated by the compiler -->
<tableVersion value="1.0"/>
<fontRevision value="1.002"/>
<checkSumAdjustment value="0xe7c3331c"/>
<magicNumber value="0x5f0f3cf5"/>
<flags value="00000000 00000011"/>
<unitsPerEm value="1000"/>
<created value="Mon Sep 18 16:02:15 2017"/>
<modified value="Mon Sep 18 16:02:15 2017"/>
<xMin value="-382"/>
<yMin value="-364"/>
<xMax value="2119"/>
<yMax value="1137"/>
<macStyle value="00000000 00000010"/>
<lowestRecPPEM value="3"/>
<fontDirectionHint value="2"/>
<indexToLocFormat value="0"/>
<glyphDataFormat value="0"/>
</head>
<hhea>
<tableVersion value="0x00010000"/>
<ascent value="960"/>
<descent value="-240"/>
<lineGap value="0"/>
<advanceWidthMax value="2200"/>
<minLeftSideBearing value="-382"/>
<minRightSideBearing value="-193"/>
<xMaxExtent value="2119"/>
<caretSlopeRise value="1000"/>
<caretSlopeRun value="190"/>
<caretOffset value="0"/>
<reserved0 value="0"/>
<reserved1 value="0"/>
<reserved2 value="0"/>
<reserved3 value="0"/>
<metricDataFormat value="0"/>
<numberOfHMetrics value="458"/>
</hhea>
<CFF>
<CFFFont>
<FontBBox value="-382 -364 2119 1137"/>
</CFFFont>
</CFF>
<CFF>
<CFFFont>
<Private>
<nominalWidthX value="1207"/>
</Private>
</CFFFont>
</CFF>
</ttFont>
@@ -1,164 +0,0 @@
<GPOS>
<Version value="0x00010000"/>
<ScriptList>
<!-- ScriptCount=2 -->
<ScriptRecord index="0">
<ScriptTag value="DFLT"/>
<Script>
<DefaultLangSys>
<ReqFeatureIndex value="65535"/>
<!-- FeatureCount=1 -->
<FeatureIndex index="0" value="0"/>
</DefaultLangSys>
<!-- LangSysCount=0 -->
</Script>
</ScriptRecord>
<ScriptRecord index="1">
<ScriptTag value="latn"/>
<Script>
<DefaultLangSys>
<ReqFeatureIndex value="65535"/>
<!-- FeatureCount=1 -->
<FeatureIndex index="0" value="1"/>
</DefaultLangSys>
<!-- LangSysCount=3 -->
<LangSysRecord index="0">
<LangSysTag value="CAT "/>
<LangSys>
<ReqFeatureIndex value="65535"/>
<!-- FeatureCount=1 -->
<FeatureIndex index="0" value="2"/>
</LangSys>
</LangSysRecord>
<LangSysRecord index="1">
<LangSysTag value="MOL "/>
<LangSys>
<ReqFeatureIndex value="65535"/>
<!-- FeatureCount=1 -->
<FeatureIndex index="0" value="3"/>
</LangSys>
</LangSysRecord>
<LangSysRecord index="2">
<LangSysTag value="ROM "/>
<LangSys>
<ReqFeatureIndex value="65535"/>
<!-- FeatureCount=1 -->
<FeatureIndex index="0" value="4"/>
</LangSys>
</LangSysRecord>
</Script>
</ScriptRecord>
</ScriptList>
<FeatureList>
<!-- FeatureCount=5 -->
<FeatureRecord index="0">
<FeatureTag value="kern"/>
<Feature>
<!-- LookupCount=1 -->
<LookupListIndex index="0" value="0"/>
</Feature>
</FeatureRecord>
<FeatureRecord index="1">
<FeatureTag value="kern"/>
<Feature>
<!-- LookupCount=1 -->
<LookupListIndex index="0" value="0"/>
</Feature>
</FeatureRecord>
<FeatureRecord index="2">
<FeatureTag value="kern"/>
<Feature>
<!-- LookupCount=1 -->
<LookupListIndex index="0" value="0"/>
</Feature>
</FeatureRecord>
<FeatureRecord index="3">
<FeatureTag value="kern"/>
<Feature>
<!-- LookupCount=1 -->
<LookupListIndex index="0" value="0"/>
</Feature>
</FeatureRecord>
<FeatureRecord index="4">
<FeatureTag value="kern"/>
<Feature>
<!-- LookupCount=1 -->
<LookupListIndex index="0" value="0"/>
</Feature>
</FeatureRecord>
</FeatureList>
<LookupList>
<!-- LookupCount=1 -->
<Lookup index="0">
<LookupType value="2"/>
<LookupFlag value="0"/>
<!-- SubTableCount=1 -->
<PairPos index="0" Format="2">
<Coverage Format="2">
<Glyph value="zero.num"/>
<Glyph value="one.num"/>
<Glyph value="two.num"/>
<Glyph value="three.num"/>
<Glyph value="four.num"/>
<Glyph value="five.num"/>
<Glyph value="six.num"/>
<Glyph value="seven.num"/>
<Glyph value="eight.num"/>
<Glyph value="nine.num"/>
<Glyph value="fraction.afrc"/>
</Coverage>
<ValueFormat1 value="4"/>
<ValueFormat2 value="0"/>
<ClassDef1 Format="2">
<ClassDef glyph="eight.num" class="1"/>
<ClassDef glyph="five.num" class="1"/>
<ClassDef glyph="four.num" class="1"/>
<ClassDef glyph="nine.num" class="1"/>
<ClassDef glyph="one.num" class="1"/>
<ClassDef glyph="seven.num" class="1"/>
<ClassDef glyph="six.num" class="1"/>
<ClassDef glyph="three.num" class="1"/>
<ClassDef glyph="two.num" class="1"/>
<ClassDef glyph="zero.num" class="1"/>
</ClassDef1>
<ClassDef2 Format="2">
<ClassDef glyph="eight.den" class="1"/>
<ClassDef glyph="five.den" class="1"/>
<ClassDef glyph="four.den" class="1"/>
<ClassDef glyph="fraction.afrc" class="2"/>
<ClassDef glyph="nine.den" class="1"/>
<ClassDef glyph="one.den" class="1"/>
<ClassDef glyph="seven.den" class="1"/>
<ClassDef glyph="six.den" class="1"/>
<ClassDef glyph="three.den" class="1"/>
<ClassDef glyph="two.den" class="1"/>
<ClassDef glyph="zero.den" class="1"/>
</ClassDef2>
<!-- Class1Count=2 -->
<!-- Class2Count=3 -->
<Class1Record index="0">
<Class2Record index="0">
<Value1 XAdvance="0"/>
</Class2Record>
<Class2Record index="1">
<Value1 XAdvance="-550"/>
</Class2Record>
<Class2Record index="2">
<Value1 XAdvance="0"/>
</Class2Record>
</Class1Record>
<Class1Record index="1">
<Class2Record index="0">
<Value1 XAdvance="0"/>
</Class2Record>
<Class2Record index="1">
<Value1 XAdvance="0"/>
</Class2Record>
<Class2Record index="2">
<Value1 XAdvance="-550"/>
</Class2Record>
</Class1Record>
</PairPos>
</Lookup>
</LookupList>
</GPOS>
@@ -1,407 +0,0 @@
<GSUB>
<Version value="0x00010000"/>
<ScriptList>
<!-- ScriptCount=2 -->
<ScriptRecord index="0">
<ScriptTag value="DFLT"/>
<Script>
<DefaultLangSys>
<ReqFeatureIndex value="65535"/>
<!-- FeatureCount=4 -->
<FeatureIndex index="0" value="0"/>
<FeatureIndex index="1" value="5"/>
<FeatureIndex index="2" value="10"/>
<FeatureIndex index="3" value="15"/>
</DefaultLangSys>
<!-- LangSysCount=0 -->
</Script>
</ScriptRecord>
<ScriptRecord index="1">
<ScriptTag value="latn"/>
<Script>
<DefaultLangSys>
<ReqFeatureIndex value="65535"/>
<!-- FeatureCount=4 -->
<FeatureIndex index="0" value="1"/>
<FeatureIndex index="1" value="6"/>
<FeatureIndex index="2" value="11"/>
<FeatureIndex index="3" value="16"/>
</DefaultLangSys>
<!-- LangSysCount=3 -->
<LangSysRecord index="0">
<LangSysTag value="CAT "/>
<LangSys>
<ReqFeatureIndex value="65535"/>
<!-- FeatureCount=5 -->
<FeatureIndex index="0" value="2"/>
<FeatureIndex index="1" value="7"/>
<FeatureIndex index="2" value="12"/>
<FeatureIndex index="3" value="17"/>
<FeatureIndex index="4" value="20"/>
</LangSys>
</LangSysRecord>
<LangSysRecord index="1">
<LangSysTag value="MOL "/>
<LangSys>
<ReqFeatureIndex value="65535"/>
<!-- FeatureCount=5 -->
<FeatureIndex index="0" value="3"/>
<FeatureIndex index="1" value="8"/>
<FeatureIndex index="2" value="13"/>
<FeatureIndex index="3" value="18"/>
<FeatureIndex index="4" value="21"/>
</LangSys>
</LangSysRecord>
<LangSysRecord index="2">
<LangSysTag value="ROM "/>
<LangSys>
<ReqFeatureIndex value="65535"/>
<!-- FeatureCount=5 -->
<FeatureIndex index="0" value="4"/>
<FeatureIndex index="1" value="9"/>
<FeatureIndex index="2" value="14"/>
<FeatureIndex index="3" value="19"/>
<FeatureIndex index="4" value="22"/>
</LangSys>
</LangSysRecord>
</Script>
</ScriptRecord>
</ScriptList>
<FeatureList>
<!-- FeatureCount=23 -->
<FeatureRecord index="0">
<FeatureTag value="aalt"/>
<Feature>
<!-- LookupCount=1 -->
<LookupListIndex index="0" value="0"/>
</Feature>
</FeatureRecord>
<FeatureRecord index="1">
<FeatureTag value="aalt"/>
<Feature>
<!-- LookupCount=1 -->
<LookupListIndex index="0" value="0"/>
</Feature>
</FeatureRecord>
<FeatureRecord index="2">
<FeatureTag value="aalt"/>
<Feature>
<!-- LookupCount=1 -->
<LookupListIndex index="0" value="0"/>
</Feature>
</FeatureRecord>
<FeatureRecord index="3">
<FeatureTag value="aalt"/>
<Feature>
<!-- LookupCount=1 -->
<LookupListIndex index="0" value="0"/>
</Feature>
</FeatureRecord>
<FeatureRecord index="4">
<FeatureTag value="aalt"/>
<Feature>
<!-- LookupCount=1 -->
<LookupListIndex index="0" value="0"/>
</Feature>
</FeatureRecord>
<FeatureRecord index="5">
<FeatureTag value="dlig"/>
<Feature>
<!-- LookupCount=1 -->
<LookupListIndex index="0" value="5"/>
</Feature>
</FeatureRecord>
<FeatureRecord index="6">
<FeatureTag value="dlig"/>
<Feature>
<!-- LookupCount=1 -->
<LookupListIndex index="0" value="5"/>
</Feature>
</FeatureRecord>
<FeatureRecord index="7">
<FeatureTag value="dlig"/>
<Feature>
<!-- LookupCount=1 -->
<LookupListIndex index="0" value="5"/>
</Feature>
</FeatureRecord>
<FeatureRecord index="8">
<FeatureTag value="dlig"/>
<Feature>
<!-- LookupCount=1 -->
<LookupListIndex index="0" value="5"/>
</Feature>
</FeatureRecord>
<FeatureRecord index="9">
<FeatureTag value="dlig"/>
<Feature>
<!-- LookupCount=1 -->
<LookupListIndex index="0" value="5"/>
</Feature>
</FeatureRecord>
<FeatureRecord index="10">
<FeatureTag value="frac"/>
<Feature>
<!-- LookupCount=1 -->
<LookupListIndex index="0" value="4"/>
</Feature>
</FeatureRecord>
<FeatureRecord index="11">
<FeatureTag value="frac"/>
<Feature>
<!-- LookupCount=1 -->
<LookupListIndex index="0" value="4"/>
</Feature>
</FeatureRecord>
<FeatureRecord index="12">
<FeatureTag value="frac"/>
<Feature>
<!-- LookupCount=1 -->
<LookupListIndex index="0" value="4"/>
</Feature>
</FeatureRecord>
<FeatureRecord index="13">
<FeatureTag value="frac"/>
<Feature>
<!-- LookupCount=1 -->
<LookupListIndex index="0" value="4"/>
</Feature>
</FeatureRecord>
<FeatureRecord index="14">
<FeatureTag value="frac"/>
<Feature>
<!-- LookupCount=1 -->
<LookupListIndex index="0" value="4"/>
</Feature>
</FeatureRecord>
<FeatureRecord index="15">
<FeatureTag value="liga"/>
<Feature>
<!-- LookupCount=1 -->
<LookupListIndex index="0" value="6"/>
</Feature>
</FeatureRecord>
<FeatureRecord index="16">
<FeatureTag value="liga"/>
<Feature>
<!-- LookupCount=1 -->
<LookupListIndex index="0" value="6"/>
</Feature>
</FeatureRecord>
<FeatureRecord index="17">
<FeatureTag value="liga"/>
<Feature>
<!-- LookupCount=1 -->
<LookupListIndex index="0" value="6"/>
</Feature>
</FeatureRecord>
<FeatureRecord index="18">
<FeatureTag value="liga"/>
<Feature>
<!-- LookupCount=1 -->
<LookupListIndex index="0" value="6"/>
</Feature>
</FeatureRecord>
<FeatureRecord index="19">
<FeatureTag value="liga"/>
<Feature>
<!-- LookupCount=1 -->
<LookupListIndex index="0" value="6"/>
</Feature>
</FeatureRecord>
<FeatureRecord index="20">
<FeatureTag value="locl"/>
<Feature>
<!-- LookupCount=1 -->
<LookupListIndex index="0" value="1"/>
</Feature>
</FeatureRecord>
<FeatureRecord index="21">
<FeatureTag value="locl"/>
<Feature>
<!-- LookupCount=1 -->
<LookupListIndex index="0" value="3"/>
</Feature>
</FeatureRecord>
<FeatureRecord index="22">
<FeatureTag value="locl"/>
<Feature>
<!-- LookupCount=1 -->
<LookupListIndex index="0" value="2"/>
</Feature>
</FeatureRecord>
</FeatureList>
<LookupList>
<!-- LookupCount=8 -->
<Lookup index="0">
<LookupType value="1"/>
<LookupFlag value="0"/>
<!-- SubTableCount=1 -->
<SingleSubst index="0" Format="1">
<Substitution in="Scedilla" out="uni0218"/>
<Substitution in="scedilla" out="uni0219"/>
</SingleSubst>
</Lookup>
<Lookup index="1">
<LookupType value="6"/>
<LookupFlag value="0"/>
<!-- SubTableCount=2 -->
<ChainContextSubst index="0" Format="3">
<!-- BacktrackGlyphCount=0 -->
<!-- InputGlyphCount=2 -->
<InputCoverage index="0" Format="1">
<Glyph value="l"/>
</InputCoverage>
<InputCoverage index="1" Format="1">
<Glyph value="periodcentered"/>
</InputCoverage>
<!-- LookAheadGlyphCount=1 -->
<LookAheadCoverage index="0" Format="1">
<Glyph value="l"/>
</LookAheadCoverage>
<!-- SubstCount=1 -->
<SubstLookupRecord index="0">
<SequenceIndex value="0"/>
<LookupListIndex value="7"/>
</SubstLookupRecord>
</ChainContextSubst>
<ChainContextSubst index="1" Format="3">
<!-- BacktrackGlyphCount=0 -->
<!-- InputGlyphCount=2 -->
<InputCoverage index="0" Format="1">
<Glyph value="L"/>
</InputCoverage>
<InputCoverage index="1" Format="1">
<Glyph value="periodcentered"/>
</InputCoverage>
<!-- LookAheadGlyphCount=1 -->
<LookAheadCoverage index="0" Format="1">
<Glyph value="L"/>
</LookAheadCoverage>
<!-- SubstCount=1 -->
<SubstLookupRecord index="0">
<SequenceIndex value="0"/>
<LookupListIndex value="7"/>
</SubstLookupRecord>
</ChainContextSubst>
</Lookup>
<Lookup index="2">
<LookupType value="1"/>
<LookupFlag value="0"/>
<!-- SubTableCount=1 -->
<SingleSubst index="0" Format="1">
<Substitution in="Scedilla" out="uni0218"/>
<Substitution in="scedilla" out="uni0219"/>
</SingleSubst>
</Lookup>
<Lookup index="3">
<LookupType value="1"/>
<LookupFlag value="0"/>
<!-- SubTableCount=1 -->
<SingleSubst index="0" Format="1">
<Substitution in="Scedilla" out="uni0218"/>
<Substitution in="scedilla" out="uni0219"/>
</SingleSubst>
</Lookup>
<Lookup index="4">
<LookupType value="4"/>
<LookupFlag value="0"/>
<!-- SubTableCount=1 -->
<LigatureSubst index="0" Format="1">
<LigatureSet glyph="five">
<Ligature components="slash,six" glyph="uni215A"/>
<Ligature components="slash,eight" glyph="fiveeighths"/>
</LigatureSet>
<LigatureSet glyph="four">
<Ligature components="slash,five" glyph="uni2158"/>
</LigatureSet>
<LigatureSet glyph="one">
<Ligature components="slash,two" glyph="onehalf"/>
<Ligature components="slash,three" glyph="uni2153"/>
<Ligature components="slash,four" glyph="onequarter"/>
<Ligature components="slash,five" glyph="uni2155"/>
<Ligature components="slash,six" glyph="uni2159"/>
<Ligature components="slash,eight" glyph="oneeighth"/>
</LigatureSet>
<LigatureSet glyph="seven">
<Ligature components="slash,eight" glyph="seveneighths"/>
</LigatureSet>
<LigatureSet glyph="three">
<Ligature components="slash,four" glyph="threequarters"/>
<Ligature components="slash,five" glyph="uni2157"/>
<Ligature components="slash,eight" glyph="threeeighths"/>
</LigatureSet>
<LigatureSet glyph="two">
<Ligature components="slash,three" glyph="uni2154"/>
<Ligature components="slash,five" glyph="uni2156"/>
</LigatureSet>
</LigatureSubst>
</Lookup>
<Lookup index="5">
<LookupType value="4"/>
<LookupFlag value="0"/>
<!-- SubTableCount=1 -->
<LigatureSubst index="0" Format="1">
<LigatureSet glyph="R">
<Ligature components="p" glyph="R_p"/>
</LigatureSet>
</LigatureSubst>
</Lookup>
<Lookup index="6">
<LookupType value="4"/>
<LookupFlag value="0"/>
<!-- SubTableCount=1 -->
<LigatureSubst index="0" Format="1">
<LigatureSet glyph="ampersand">
<Ligature components="ampersand" glyph="ampersand_ampersand.liga"/>
</LigatureSet>
<LigatureSet glyph="bar">
<Ligature components="greater" glyph="bar_greater.liga"/>
<Ligature components="bar" glyph="bar_bar.liga"/>
</LigatureSet>
<LigatureSet glyph="equal">
<Ligature components="equal,equal" glyph="equal_equal_equal.liga"/>
<Ligature components="equal,greater" glyph="equal_equal_greater.liga"/>
<Ligature components="equal" glyph="equal_equal.liga"/>
<Ligature components="greater" glyph="equal_greater.liga"/>
</LigatureSet>
<LigatureSet glyph="exclam">
<Ligature components="equal,equal" glyph="exclam_equal_equal.liga"/>
<Ligature components="equal" glyph="exclam_equal.liga"/>
</LigatureSet>
<LigatureSet glyph="greater">
<Ligature components="equal" glyph="greater_equal.liga"/>
</LigatureSet>
<LigatureSet glyph="hyphen">
<Ligature components="hyphen,greater" glyph="hyphen_hyphen_greater.liga"/>
<Ligature components="hyphen" glyph="hyphen_hyphen.liga"/>
<Ligature components="greater" glyph="hyphen_greater.liga"/>
</LigatureSet>
<LigatureSet glyph="less">
<Ligature components="exclam,hyphen,hyphen" glyph="less_exclam_hyphen_hyphen.liga"/>
<Ligature components="hyphen,hyphen" glyph="less_hyphen_hyphen.liga"/>
<Ligature components="equal,equal" glyph="less_equal_equal.liga"/>
<Ligature components="hyphen" glyph="less_hyphen.liga"/>
<Ligature components="equal" glyph="less_equal.liga"/>
<Ligature components="bar" glyph="less_bar.liga"/>
</LigatureSet>
<LigatureSet glyph="plus">
<Ligature components="plus" glyph="plus_plus.liga"/>
</LigatureSet>
</LigatureSubst>
</Lookup>
<Lookup index="7">
<LookupType value="4"/>
<LookupFlag value="0"/>
<!-- SubTableCount=1 -->
<LigatureSubst index="0" Format="1">
<LigatureSet glyph="L">
<Ligature components="periodcentered" glyph="Ldot"/>
</LigatureSet>
<LigatureSet glyph="l">
<Ligature components="periodcentered" glyph="ldot"/>
</LigatureSet>
</LigatureSubst>
</Lookup>
</LookupList>
</GSUB>
File diff suppressed because it is too large Load Diff
@@ -1,22 +0,0 @@
<hmtx>
<mtx name="ampersand_ampersand.liga" width="1100" lsb="111"/>
<mtx name="bar_bar.liga" width="1100" lsb="232"/>
<mtx name="bar_greater.liga" width="1100" lsb="276"/>
<mtx name="equal_equal.liga" width="1100" lsb="49"/>
<mtx name="equal_equal_equal.liga" width="1650" lsb="49"/>
<mtx name="equal_equal_greater.liga" width="1650" lsb="49"/>
<mtx name="equal_greater.liga" width="1100" lsb="49"/>
<mtx name="exclam_equal.liga" width="1100" lsb="49"/>
<mtx name="exclam_equal_equal.liga" width="1650" lsb="49"/>
<mtx name="greater_equal.liga" width="1100" lsb="243"/>
<mtx name="hyphen_greater.liga" width="1100" lsb="82"/>
<mtx name="hyphen_hyphen.liga" width="1100" lsb="195"/>
<mtx name="hyphen_hyphen_greater.liga" width="1650" lsb="82"/>
<mtx name="less_bar.liga" width="1100" lsb="201"/>
<mtx name="less_equal.liga" width="1100" lsb="256"/>
<mtx name="less_equal_equal.liga" width="1650" lsb="81"/>
<mtx name="less_exclam_hyphen_hyphen.liga" width="2200" lsb="81"/>
<mtx name="less_hyphen.liga" width="1100" lsb="82"/>
<mtx name="less_hyphen_hyphen.liga" width="1650" lsb="82"/>
<mtx name="plus_plus.liga" width="1100" lsb="100"/>
</hmtx>
@@ -1,45 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<name fullName="Operator Mono Lig Medium Italic" familyName="Operator Mono Lig">
<namerecord nameID="1" platformID="1" platEncID="0" langID="0x0" unicode="True">
Operator Mono Lig
</namerecord>
<namerecord nameID="2" platformID="1" platEncID="0" langID="0x0" unicode="True">
Medium Italic
</namerecord>
<namerecord nameID="3" platformID="1" platEncID="0" langID="0x0" unicode="True">
H&amp;Co: Operator Mono Lig Medium Italic: 1.200
</namerecord>
<namerecord nameID="4" platformID="1" platEncID="0" langID="0x0" unicode="True">
Operator Mono Lig Medium Italic
</namerecord>
<namerecord nameID="6" platformID="1" platEncID="0" langID="0x0" unicode="True">
OperatorMonoLig-MediumItalic
</namerecord>
<namerecord nameID="16" platformID="1" platEncID="0" langID="0x0" unicode="True">
Operator Mono Lig
</namerecord>
<namerecord nameID="17" platformID="1" platEncID="0" langID="0x0" unicode="True">
Medium Italic
</namerecord>
<namerecord nameID="1" platformID="3" platEncID="1" langID="0x409">
Operator Mono Lig Medium
</namerecord>
<namerecord nameID="2" platformID="3" platEncID="1" langID="0x409">
Italic
</namerecord>
<namerecord nameID="3" platformID="3" platEncID="1" langID="0x409">
H&amp;Co: Operator Mono Lig Medium Italic: 1.200
</namerecord>
<namerecord nameID="4" platformID="3" platEncID="1" langID="0x409">
Operator Mono Lig Medium Italic
</namerecord>
<namerecord nameID="6" platformID="3" platEncID="1" langID="0x409">
OperatorMonoLig-MediumItalic
</namerecord>
<namerecord nameID="16" platformID="3" platEncID="1" langID="0x409">
Operator Mono Lig
</namerecord>
<namerecord nameID="17" platformID="3" platEncID="1" langID="0x409">
Medium Italic
</namerecord>
</name>
File diff suppressed because it is too large Load Diff
@@ -1,282 +0,0 @@
<CharStrings>
<CharString name="ampersand_ampersand.liga">
-107 -13 75 555 84 hstemhm
133 88 -6 90 278 88 -6 90 hintmask 11100100
1043 -28 callsubr
-67 callsubr
hintmask 11011000
-98 -62 -51 -71 -83 vvcurveto
-2 vlineto
-40 46 37 65 35 89 25 98 rlinecurve
-79 9 -16 -75 -22 -73 -26 -59 rlinecurve
-67 callsubr
hintmask 11100100
-1 callgsubr
-37 31 91 -85 129 hhcurveto
70 71 37 85 58 hvcurveto
31 -37 33 -41 36 -46 rrcurveto
-730 77 rmoveto
-45 callsubr
hintmask 11101000
450 hmoveto
-45 callsubr
endchar
</CharString>
<CharString name="bar_bar.liga">
-107 781 -20 hstem
382 85 316 85 vstem
382 -202 12 callgsubr
rlineto
401 -983 12 callgsubr
rlineto
endchar
</CharString>
<CharString name="bar_greater.liga">
-107 781 -20 hstem
368 85 457 84 vstem
368 -202 rmoveto
85 hlineto
541 454 rlineto
77 vlineto
-541 460 -85 -8 rlineto
85 -877 rmoveto
772 vlineto
457 -380 rlineto
-11 vlineto
endchar
</CharString>
<CharString name="equal_equal.liga">
-107 -27 callsubr
87 1076 vstem
1162 414 rmoveto
1 77 rlineto
-1076 -77 hlineto
1075 -246 rmoveto
1 77 rlineto
-1076 -77 hlineto
endchar
</CharString>
<CharString name="equal_equal_equal.liga">
-3 callgsubr
87 484 rmoveto
-13 callsubr
-267 vmoveto
-13 callsubr
-267 vmoveto
-13 callsubr
endchar
</CharString>
<CharString name="equal_equal_greater.liga">
518 -27 callsubr
1704 84 vstem
1418 -25 rmoveto
-53 callgsubr
137 -113 rlineto
-1422 -77 1515 hlineto
102 -84 rlineto
-11 vlineto
-89 -74 rlineto
-1528 -77 1435 hlineto
-155 -129 rlineto
endchar
</CharString>
<CharString name="equal_greater.liga">
-107 -27 callsubr
1079 84 vstem
793 -25 rmoveto
-53 callgsubr
137 -113 rlineto
-797 -77 890 hlineto
102 -84 rlineto
-11 vlineto
-89 -74 rlineto
-903 -77 810 hlineto
-155 -129 rlineto
endchar
</CharString>
<CharString name="exclam_equal.liga">
-107 -27 callsubr
87 1076 vstem
411 -210 rmoveto
198 378 rlineto
552 hlineto
2 77 rlineto
-514 hlineto
89 169 rlineto
423 hlineto
2 77 rlineto
-385 hlineto
146 279 -78 37 -165 -316 rlineto
-594 -77 554 hlineto
-89 -169 rlineto
-465 -77 425 hlineto
-181 -346 rlineto
endchar
</CharString>
<CharString name="exclam_equal_equal.liga">
-3 callgsubr
717 -210 rmoveto
164 314 rlineto
906 -28 callgsubr
-866 hlineto
59 113 rlineto
806 -28 callgsubr
-767 hlineto
59 113 rlineto
707 -28 callgsubr
-667 hlineto
109 209 -78 37 -129 -246 rlineto
-936 -77 896 hlineto
-59 -113 rlineto
-837 -77 797 hlineto
-59 -113 rlineto
-738 -77 697 hlineto
-147 -282 rlineto
endchar
</CharString>
<CharString name="greater_equal.liga">
-107 -117 847 hstem
878 84 vstem
318 46 rmoveto
644 307 rlineto
77 vlineto
-631 300 -52 -65 599 -268 rlineto
-11 vlineto
-611 -276 rlineto
51 -227 rmoveto
644 310 rlineto
79 vlineto
-695 -331 rlineto
endchar
</CharString>
<CharString name="hyphen_greater.liga">
-107 286 78 hstem
87 1076 vstem
793 -25 rmoveto
-53 callgsubr
291 -240 rlineto
-951 -78 952 hlineto
-297 -247 rlineto
endchar
</CharString>
<CharString name="hyphen_hyphen.liga">
-107 286 78 hstem
229 792 vstem
229 286 rmoveto
346 13 callsubr
-352 hlineto
440 -78 rmoveto
346 13 callsubr
-352 hlineto
endchar
</CharString>
<CharString name="hyphen_hyphen_greater.liga">
518 286 78 hstem
87 1701 vstem
1418 -25 rmoveto
-53 callgsubr
291 -240 rlineto
-1576 -78 1577 hlineto
-297 -247 rlineto
endchar
</CharString>
<CharString name="less_bar.liga">
-107 781 -20 hstem
252 84 451 85 vstem
787 -202 12 callgsubr
-535 -452 rlineto
-77 vlineto
535 -347 rmoveto
-451 380 rlineto
11 vlineto
451 377 rlineto
endchar
</CharString>
<CharString name="less_equal.liga">
-107 -124 854 hstem
288 84 vstem
971 666 rmoveto
-50 64 -633 -300 rlineto
-77 vlineto
631 -307 52 64 -599 276 rlineto
11 vlineto
-84 -125 rmoveto
-78 vlineto
631 -318 52 64 rlineto
endchar
</CharString>
<CharString name="less_equal_equal.liga">
518 -27 callsubr
87 84 vstem
456 -24 rmoveto
52 64 -155 128 rlineto
1434 -28 callgsubr
-1528 hlineto
-89 74 rlineto
11 vlineto
101 84 rlineto
1515 -28 callgsubr
-1423 hlineto
138 114 -33 callsubr
endchar
</CharString>
<CharString name="less_exclam_hyphen_hyphen.liga">
1143 0 123 163 78 hstem
824.5 127 vstem
864 -20 callgsubr
-408 -284 3 callgsubr
546 13 callsubr
-551 hlineto
291 241 -33 callsubr
942 hmoveto
1378 13 callsubr
-1384 hlineto
-206 -364 9 callsubr
</CharString>
<CharString name="less_hyphen.liga">
-107 286 78 hstem
87 1076 vstem
456 -24 3 callgsubr
946 13 callsubr
-951 hlineto
291 241 -33 callsubr
endchar
</CharString>
<CharString name="less_hyphen_hyphen.liga">
518 286 78 hstem
87 1701 vstem
456 -24 3 callgsubr
1571 13 callsubr
-1576 hlineto
291 241 -33 callsubr
endchar
</CharString>
<CharString name="plus_plus.liga">
-107 287 77 hstem
348 81 391 81 vstem
348 79 rmoveto
81 208 391 -208 81 208 9 callgsubr
-391 207 -81 -207 -197 -77 197 hlineto
endchar
</CharString>
</CharStrings>
+79 -11
View File
@@ -1,52 +1,120 @@
<ttFont>
<head>
<!-- Most of this table will be recalculated by the compiler -->
<tableVersion value="1.0"/>
<fontRevision value="1.002"/>
<checkSumAdjustment value="0x165c5289"/>
<magicNumber value="0x5f0f3cf5"/>
<flags value="00000000 00000011"/>
<unitsPerEm value="1000"/>
<created value="Mon Sep 18 15:51:17 2017"/>
<modified value="Mon Sep 18 15:51:17 2017"/>
<xMin value="-384"/>
<xMin value="-1773"/>
<yMin value="-319"/>
<xMax value="2413"/>
<xMax value="708"/>
<yMax value="1270"/>
<macStyle value="00000000 00000000"/>
<lowestRecPPEM value="3"/>
<fontDirectionHint value="2"/>
<indexToLocFormat value="0"/>
<glyphDataFormat value="0"/>
</head>
<hhea>
<tableVersion value="0x00010000"/>
<ascent value="960"/>
<descent value="-240"/>
<lineGap value="0"/>
<advanceWidthMax value="2500"/>
<minLeftSideBearing value="-384"/>
<advanceWidthMax value="625"/>
<minLeftSideBearing value="-1773"/>
<minRightSideBearing value="-83"/>
<xMaxExtent value="2413"/>
<xMaxExtent value="708"/>
<caretSlopeRise value="1"/>
<caretSlopeRun value="0"/>
<caretOffset value="0"/>
<reserved0 value="0"/>
<reserved1 value="0"/>
<reserved2 value="0"/>
<reserved3 value="0"/>
<metricDataFormat value="0"/>
<numberOfHMetrics value="469"/>
<numberOfHMetrics value="482"/>
</hhea>
<CFF>
<CFFFont>
<FontBBox value="-2888 -319 2413 1270"/>
<FontBBox value="-1773 -319 716 1270"/>
</CFFFont>
</CFF>
<CFF>
<CFFFont>
<Private>
<nominalWidthX value="1357"/>
<nominalWidthX value="107"/>
</Private>
</CFFFont>
</CFF>
@@ -0,0 +1,7 @@
<Glyph name="LIG" lsb="0" width="625">
<CharString>
endchar
</CharString>
<Subrs/>
<GlobalSubrs/>
</Glyph>
@@ -0,0 +1,59 @@
<Glyph name="ampersand_ampersand.liga" lsb="-495" width="625">
<CharString>
-13 75 555 84 hstem
-495 88 340 79 380 79 vstem
374 188 rmoveto
{942f298c} callgsubr
-13 vlineto
-17 20 -16 19 -16 18 {942f298c} callgsubr
-88 56 -69 105 {a2bf9d92} callgsubr
vhcurveto
-37 31 68 -85 161 hhcurveto
{a2bf9d92} callgsubr
hvcurveto
31 -37 33 -41 36 -46 73 58 rcurveline
-45 55 -41 48 -37 42 rrcurveto
-689 -126 rmoveto
{5dab1f06} callgsubr
459 hmoveto
{5dab1f06} callgsubr
endchar
</CharString>
<Subrs/>
<GlobalSubrs>
<CharString index="0" fingerprint="942f298c">
{b458bdd3} callgsubr
{71ca5f9e} callgsubr
-98 -62 -51 -71 -83 vvcurveto
return
</CharString>
<CharString index="1" fingerprint="b458bdd3">
37 65 35 89 25 98 -79 9 rcurveline
-16 -75 -22 -73 -26 -59 rrcurveto
return
</CharString>
<CharString index="2" fingerprint="71ca5f9e">
-132 151 -60 64 58 vvcurveto
60 46 50 180 -8 vhcurveto
-6 84 rlineto
-236 4 -74 -100 -96 vvcurveto
-47 23 -44 44 -58 vhcurveto
return
</CharString>
<CharString index="3" fingerprint="942f298c">
{b458bdd3} callgsubr
{71ca5f9e} callgsubr
-98 -62 -51 -71 -83 vvcurveto
return
</CharString>
<CharString index="4" fingerprint="a2bf9d92">
70 71 37 85 58 return
</CharString>
<CharString index="5" fingerprint="5dab1f06">
-61 -31 43 58 52 31 54 64 47 hvcurveto
134 -156 rlineto
-67 -43 -47 -31 -47 hhcurveto
return
</CharString>
</GlobalSubrs>
</Glyph>
@@ -0,0 +1,23 @@
<Glyph name="bar_bar.liga" lsb="-265" width="625">
<CharString>
-265 85 360 85 vstem
-180 789 {0a47d65c} callsubr
445 991 {0a47d65c} callsubr
endchar
</CharString>
<Subrs>
<CharString index="0" fingerprint="0a47d65c">
rmoveto
-85 -8 rlineto
-983 85 vlineto
return
</CharString>
<CharString index="1" fingerprint="0a47d65c">
rmoveto
-85 -8 rlineto
-983 85 vlineto
return
</CharString>
</Subrs>
<GlobalSubrs/>
</Glyph>
@@ -0,0 +1,22 @@
<Glyph name="bar_greater.liga" lsb="-289" width="625">
<CharString>
-289 665 vstem
-204 789 {0a47d65c} callsubr
580 488 rlineto
77 vlineto
-84 -44 rmoveto
-496 -414 rlineto
782 vlineto
496 -357 rlineto
endchar
</CharString>
<Subrs>
<CharString index="0" fingerprint="0a47d65c">
rmoveto
-85 -8 rlineto
-983 85 vlineto
return
</CharString>
</Subrs>
<GlobalSubrs/>
</Glyph>
@@ -0,0 +1,45 @@
<Glyph name="colon_equal.liga" lsb="-401" width="625">
<CharString>
0 129 39 {cb9b10c3} callsubr
-553 134 512 438 vstem
-401 388 {d09d3f0f} callgsubr
779 -104 {8952ca5e} callsubr
-538 -77 hlineto
-244 -278 {d09d3f0f} callgsubr
779 -98 {8952ca5e} callsubr
-538 -77 hlineto
endchar
</CharString>
<Subrs>
<CharString index="0" fingerprint="cb9b10c3">
{5e5f0c6d} callgsubr
hstem
return
</CharString>
<CharString index="1" fingerprint="444efb90">
hlineto
2 130 rlineto
-133 hlineto
return
</CharString>
<CharString index="2" fingerprint="8952ca5e">
rmoveto
{ab181b74} callgsubr
return
</CharString>
</Subrs>
<GlobalSubrs>
<CharString index="0" fingerprint="5e5f0c6d">
77 169 77 return
</CharString>
<CharString index="1" fingerprint="d09d3f0f">
rmoveto
133 {444efb90} callsubr
return
</CharString>
<CharString index="2" fingerprint="ab181b74">
1 77 rlineto
return
</CharString>
</GlobalSubrs>
</Glyph>
@@ -0,0 +1,46 @@
<Glyph name="equal_equal.2.liga" lsb="-532" width="625">
<CharString>
{be56e9fa} callgsubr
-532 1063 vstem
-40 414 {8952ca5e} callsubr
-493 -77 hlineto
1062 hmoveto
{ab181b74} callgsubr
-493 -77 hlineto
-78 {6b7916a4} callgsubr
-493 -77 hlineto
1062 hmoveto
{ab181b74} callgsubr
-493 -77 hlineto
endchar
</CharString>
<Subrs>
<CharString index="0" fingerprint="cb9b10c3">
{5e5f0c6d} callgsubr
hstem
return
</CharString>
<CharString index="1" fingerprint="8952ca5e">
rmoveto
{ab181b74} callgsubr
return
</CharString>
</Subrs>
<GlobalSubrs>
<CharString index="0" fingerprint="be56e9fa">
168 {cb9b10c3} callsubr
return
</CharString>
<CharString index="1" fingerprint="5e5f0c6d">
77 169 77 return
</CharString>
<CharString index="2" fingerprint="ab181b74">
1 77 rlineto
return
</CharString>
<CharString index="3" fingerprint="6b7916a4">
-246 {8952ca5e} callsubr
return
</CharString>
</GlobalSubrs>
</Glyph>
@@ -0,0 +1,40 @@
<Glyph name="equal_equal.liga" lsb="-532" width="625">
<CharString>
{be56e9fa} callgsubr
-532 1063 vstem
530 414 {8952ca5e} callsubr
-1063 -77 hlineto
1062 {6b7916a4} callgsubr
-1063 -77 hlineto
endchar
</CharString>
<Subrs>
<CharString index="0" fingerprint="cb9b10c3">
{5e5f0c6d} callgsubr
hstem
return
</CharString>
<CharString index="1" fingerprint="8952ca5e">
rmoveto
{ab181b74} callgsubr
return
</CharString>
</Subrs>
<GlobalSubrs>
<CharString index="0" fingerprint="be56e9fa">
168 {cb9b10c3} callsubr
return
</CharString>
<CharString index="1" fingerprint="5e5f0c6d">
77 169 77 return
</CharString>
<CharString index="2" fingerprint="ab181b74">
1 77 rlineto
return
</CharString>
<CharString index="3" fingerprint="6b7916a4">
-246 {8952ca5e} callsubr
return
</CharString>
</GlobalSubrs>
</Glyph>
@@ -0,0 +1,45 @@
<Glyph name="equal_equal_equal.2.liga" lsb="-1157" width="625">
<CharString>
{be56e9fa} callgsubr
-1158 1688 vstem
-647 414 {b5f8f374} callsubr
-667 -246 {b5f8f374} callsubr
endchar
</CharString>
<Subrs>
<CharString index="0" fingerprint="cb9b10c3">
{5e5f0c6d} callgsubr
hstem
return
</CharString>
<CharString index="1" fingerprint="b5f8f374">
{8952ca5e} callsubr
-511 -77 hlineto
1099 hmoveto
{ab181b74} callgsubr
-512 -77 hlineto
1099 hmoveto
{ab181b74} callgsubr
-511 -77 hlineto
return
</CharString>
<CharString index="2" fingerprint="8952ca5e">
rmoveto
{ab181b74} callgsubr
return
</CharString>
</Subrs>
<GlobalSubrs>
<CharString index="0" fingerprint="be56e9fa">
168 {cb9b10c3} callsubr
return
</CharString>
<CharString index="1" fingerprint="5e5f0c6d">
77 169 77 return
</CharString>
<CharString index="2" fingerprint="ab181b74">
1 77 rlineto
return
</CharString>
</GlobalSubrs>
</Glyph>
@@ -0,0 +1,38 @@
<Glyph name="equal_equal_equal.liga" lsb="-1157" width="625">
<CharString>
45 77 169 {cb9b10c3} callsubr
-1157 1688 cntrmask 11100000
530 537 {8952ca5e} callsubr
-1688 -77 hlineto
1687 {6b7916a4} callgsubr
-1688 -77 hlineto
1687 {6b7916a4} callgsubr
-1688 -77 hlineto
endchar
</CharString>
<Subrs>
<CharString index="0" fingerprint="cb9b10c3">
{5e5f0c6d} callgsubr
hstem
return
</CharString>
<CharString index="1" fingerprint="8952ca5e">
rmoveto
{ab181b74} callgsubr
return
</CharString>
</Subrs>
<GlobalSubrs>
<CharString index="0" fingerprint="5e5f0c6d">
77 169 77 return
</CharString>
<CharString index="1" fingerprint="ab181b74">
1 77 rlineto
return
</CharString>
<CharString index="2" fingerprint="6b7916a4">
-246 {8952ca5e} callsubr
return
</CharString>
</GlobalSubrs>
</Glyph>
@@ -0,0 +1,79 @@
<Glyph name="equal_equal_greater.liga" lsb="-1157" width="625">
<CharString>
{2d9d014a} callgsubr
-1402 -77 1495 {d08059f3} callgsubr
-1508 -77 1415 {c2e7c1d8} callsubr
</CharString>
<Subrs>
<CharString index="0" fingerprint="73b4eeb5">
-25 694 {95e8401a} callsubr
return
</CharString>
<CharString index="1" fingerprint="95e8401a">
-501 {2104c6cb} callgsubr
return
</CharString>
<CharString index="2" fingerprint="68618674">
160 {69d40705} callsubr
-52 -65 rlineto
return
</CharString>
<CharString index="3" fingerprint="69d40705">
669 rmoveto
return
</CharString>
<CharString index="4" fingerprint="6fed55c0">
137 -113 rlineto
return
</CharString>
<CharString index="5" fingerprint="c2e7c1d8">
{81b66a3d} callgsubr
hintmask 10010000
{0ebde8d9} callsubr
endchar
</CharString>
<CharString index="6" fingerprint="0ebde8d9">
51 -64 {17aabf5c} callsubr
return
</CharString>
<CharString index="7" fingerprint="17aabf5c">
{7d1d3dc1} callsubr
77 vlineto
return
</CharString>
<CharString index="8" fingerprint="7d1d3dc1">
370 311 rlineto
return
</CharString>
</Subrs>
<GlobalSubrs>
<CharString index="0" fingerprint="2d9d014a">
{73b4eeb5} callsubr
440 84 hintmask 10010000
{68618674} callsubr
hintmask 01110000
{6fed55c0} callsubr
return
</CharString>
<CharString index="1" fingerprint="2104c6cb">
{5e5f0c6d} callgsubr
hstemhm
return
</CharString>
<CharString index="2" fingerprint="5e5f0c6d">
77 169 77 return
</CharString>
<CharString index="3" fingerprint="d08059f3">
hlineto
102 -84 rlineto
-11 vlineto
-89 -74 rlineto
return
</CharString>
<CharString index="4" fingerprint="81b66a3d">
hlineto
-155 -129 rlineto
return
</CharString>
</GlobalSubrs>
</Glyph>
@@ -0,0 +1,79 @@
<Glyph name="equal_greater.liga" lsb="-532" width="625">
<CharString>
{2d9d014a} callgsubr
-777 -77 870 {d08059f3} callgsubr
-883 -77 790 {c2e7c1d8} callsubr
</CharString>
<Subrs>
<CharString index="0" fingerprint="73b4eeb5">
-25 694 {95e8401a} callsubr
return
</CharString>
<CharString index="1" fingerprint="95e8401a">
-501 {2104c6cb} callgsubr
return
</CharString>
<CharString index="2" fingerprint="68618674">
160 {69d40705} callsubr
-52 -65 rlineto
return
</CharString>
<CharString index="3" fingerprint="69d40705">
669 rmoveto
return
</CharString>
<CharString index="4" fingerprint="6fed55c0">
137 -113 rlineto
return
</CharString>
<CharString index="5" fingerprint="c2e7c1d8">
{81b66a3d} callgsubr
hintmask 10010000
{0ebde8d9} callsubr
endchar
</CharString>
<CharString index="6" fingerprint="0ebde8d9">
51 -64 {17aabf5c} callsubr
return
</CharString>
<CharString index="7" fingerprint="17aabf5c">
{7d1d3dc1} callsubr
77 vlineto
return
</CharString>
<CharString index="8" fingerprint="7d1d3dc1">
370 311 rlineto
return
</CharString>
</Subrs>
<GlobalSubrs>
<CharString index="0" fingerprint="2d9d014a">
{73b4eeb5} callsubr
440 84 hintmask 10010000
{68618674} callsubr
hintmask 01110000
{6fed55c0} callsubr
return
</CharString>
<CharString index="1" fingerprint="2104c6cb">
{5e5f0c6d} callgsubr
hstemhm
return
</CharString>
<CharString index="2" fingerprint="5e5f0c6d">
77 169 77 return
</CharString>
<CharString index="3" fingerprint="d08059f3">
hlineto
102 -84 rlineto
-11 vlineto
-89 -74 rlineto
return
</CharString>
<CharString index="4" fingerprint="81b66a3d">
hlineto
-155 -129 rlineto
return
</CharString>
</GlobalSubrs>
</Glyph>
@@ -0,0 +1,75 @@
<Glyph name="equal_less_less.liga" lsb="-1157" width="625">
<CharString>
{480b8ca3} callgsubr
-1157 1680 -771 84 266 84 hintmask 01001100
-164 330 rmoveto
332 275 rlineto
hintmask 10001100
-50 64 rlineto
hintmask 01101100
-213 -178 rlineto
-1062 -77 970 {f52ca306} callsubr
-958 -77 1049 hlineto
hintmask 10001100
229 -192 52 64 {34825a9a} callgsubr
350 hmoveto
{a802daf0} callgsubr
{4948d217} callgsubr
rlineto
hintmask 10010000
52 64 rlineto
endchar
</CharString>
<Subrs>
<CharString index="0" fingerprint="95e8401a">
-501 {2104c6cb} callgsubr
return
</CharString>
<CharString index="1" fingerprint="f52ca306">
hlineto
-61 -51 rlineto
-77 vlineto
49 -41 rlineto
return
</CharString>
</Subrs>
<GlobalSubrs>
<CharString index="0" fingerprint="480b8ca3">
-24 693 {95e8401a} callsubr
return
</CharString>
<CharString index="1" fingerprint="2104c6cb">
{5e5f0c6d} callgsubr
hstemhm
return
</CharString>
<CharString index="2" fingerprint="5e5f0c6d">
77 169 77 return
</CharString>
<CharString index="3" fingerprint="34825a9a">
-337 279 rlineto
return
</CharString>
<CharString index="4" fingerprint="a802daf0">
11 vlineto
332 275 return
</CharString>
<CharString index="5" fingerprint="4948d217">
-50 64 {d6f695ab} callgsubr
return
</CharString>
<CharString index="6" fingerprint="d6f695ab">
{3136202a} callgsubr
369 -310 return
</CharString>
<CharString index="7" fingerprint="3136202a">
-366 {3c39be5e} callgsubr
return
</CharString>
<CharString index="8" fingerprint="3c39be5e">
-306 rlineto
-77 vlineto
return
</CharString>
</GlobalSubrs>
</Glyph>
@@ -0,0 +1,51 @@
<Glyph name="exclam_equal.liga" lsb="-532" width="625">
<CharString>
{f05ddc40} callsubr
-639 {2104c6cb} callgsubr
-532 1063 -818 593 hintmask 01110000
120 414 rmoveto
410 {2baa6024} callgsubr
-371 hlineto
hintmask 01101000
146 279 rlineto
hintmask 10001000
-78 37 rlineto
hintmask 01101000
-165 -316 rlineto
-595 -77 555 hlineto
-89 -169 rlineto
-466 -77 426 hlineto
-181 -346 rlineto
hintmask 10001000
80 -32 rlineto
hintmask 01001000
198 378 rlineto
539 {2baa6024} callgsubr
-500 hlineto
endchar
</CharString>
<Subrs>
<CharString index="0" fingerprint="f05ddc40">
-210 1017 return
</CharString>
</Subrs>
<GlobalSubrs>
<CharString index="0" fingerprint="2104c6cb">
{5e5f0c6d} callgsubr
hstemhm
return
</CharString>
<CharString index="1" fingerprint="5e5f0c6d">
77 169 77 return
</CharString>
<CharString index="2" fingerprint="2baa6024">
hlineto
{ab181b74} callgsubr
return
</CharString>
<CharString index="3" fingerprint="ab181b74">
1 77 rlineto
return
</CharString>
</GlobalSubrs>
</Glyph>
@@ -0,0 +1,64 @@
<Glyph name="exclam_equal_equal.liga" lsb="-1157" width="625">
<CharString>
{f05ddc40} callsubr
-762 77 169 {2104c6cb} callgsubr
-1157 1688 -1151 593 cntrmask 01110000
hintmask 01111000
530 291 {8952ca5e} callsubr
-768 hlineto
88 169 rlineto
679 {2baa6024} callgsubr
-640 hlineto
hintmask 01110100
82 156 rlineto
hintmask 10000100
-78 37 rlineto
hintmask 01010100
-101 -193 rlineto
-951 -77 911 hlineto
hintmask 01110100
-89 -169 rlineto
-822 -77 782 hlineto
-88 -169 rlineto
-694 -77 654 hlineto
-117 -223 rlineto
hintmask 10000100
80 -32 rlineto
hintmask 01010100
133 255 rlineto
937 {2baa6024} callgsubr
-897 hlineto
hintmask 01110100
88 169 rlineto
endchar
</CharString>
<Subrs>
<CharString index="0" fingerprint="f05ddc40">
-210 1017 return
</CharString>
<CharString index="1" fingerprint="8952ca5e">
rmoveto
{ab181b74} callgsubr
return
</CharString>
</Subrs>
<GlobalSubrs>
<CharString index="0" fingerprint="2104c6cb">
{5e5f0c6d} callgsubr
hstemhm
return
</CharString>
<CharString index="1" fingerprint="5e5f0c6d">
77 169 77 return
</CharString>
<CharString index="2" fingerprint="ab181b74">
1 77 rlineto
return
</CharString>
<CharString index="3" fingerprint="2baa6024">
hlineto
{ab181b74} callgsubr
return
</CharString>
</GlobalSubrs>
</Glyph>
@@ -0,0 +1,22 @@
<Glyph name="greater_equal.2.liga" lsb="-429" width="625">
<CharString>
-429 805 -332 536 hintmask 01000000
-426 47 rmoveto
-85 vlineto
hintmask 10000000
801 324 {25e18274} callgsubr
110 -486 rmoveto
73 -809 -73 vlineto
endchar
</CharString>
<Subrs/>
<GlobalSubrs>
<CharString index="0" fingerprint="25e18274">
rlineto
77 vlineto
-764 306 -40 -70 702 -266 rlineto
-14 vlineto
return
</CharString>
</GlobalSubrs>
</Glyph>
@@ -0,0 +1,22 @@
<Glyph name="greater_equal.liga" lsb="-429" width="625">
<CharString>
-429 805 vstem
-426 47 rmoveto
31 -72 770 311 {25e18274} callgsubr
-699 -472 rmoveto
801 326 rlineto
-87 vlineto
-770 -311 rlineto
endchar
</CharString>
<Subrs/>
<GlobalSubrs>
<CharString index="0" fingerprint="25e18274">
rlineto
77 vlineto
-764 306 -40 -70 702 -266 rlineto
-14 vlineto
return
</CharString>
</GlobalSubrs>
</Glyph>
@@ -0,0 +1,88 @@
<Glyph name="greater_equal_greater.liga" lsb="-1147" width="625">
<CharString>
{73b4eeb5} callsubr
-1147 1671 -1334 84 1166 84 hintmask 10001100
{68618674} callsubr
hintmask 01101100
{6fed55c0} callsubr
-1123 hlineto
hintmask 10001100
-212 178 {518377e0} callsubr
hintmask 01010000
230 193 rlineto
1124 {81b66a3d} callgsubr
hintmask 10010000
51 -64 rlineto
hintmask 10001100
{17aabf5c} callsubr
-84 -44 rmoveto
hintmask 01001100
-89 -74 rlineto
-1126 hlineto
49 41 rlineto
77 vlineto
hintmask 01101100
-61 51 rlineto
1125 hlineto
102 -84 rlineto
endchar
</CharString>
<Subrs>
<CharString index="0" fingerprint="73b4eeb5">
-25 694 {95e8401a} callsubr
return
</CharString>
<CharString index="1" fingerprint="95e8401a">
-501 {2104c6cb} callgsubr
return
</CharString>
<CharString index="2" fingerprint="68618674">
160 {69d40705} callsubr
-52 -65 rlineto
return
</CharString>
<CharString index="3" fingerprint="69d40705">
669 rmoveto
return
</CharString>
<CharString index="4" fingerprint="6fed55c0">
137 -113 rlineto
return
</CharString>
<CharString index="5" fingerprint="518377e0">
{51c2609d} callgsubr
hintmask 10010000
-337 -280 51 -64 rlineto
return
</CharString>
<CharString index="6" fingerprint="17aabf5c">
{7d1d3dc1} callsubr
77 vlineto
return
</CharString>
<CharString index="7" fingerprint="7d1d3dc1">
370 311 rlineto
return
</CharString>
</Subrs>
<GlobalSubrs>
<CharString index="0" fingerprint="2104c6cb">
{5e5f0c6d} callgsubr
hstemhm
return
</CharString>
<CharString index="1" fingerprint="5e5f0c6d">
77 169 77 return
</CharString>
<CharString index="2" fingerprint="51c2609d">
-52 -65 332 -274 rlineto
-11 vlineto
return
</CharString>
<CharString index="3" fingerprint="81b66a3d">
hlineto
-155 -129 rlineto
return
</CharString>
</GlobalSubrs>
</Glyph>
@@ -0,0 +1,69 @@
<Glyph name="greater_greater_equal.liga" lsb="-1147" width="625">
<CharString>
{73b4eeb5} callsubr
-1147 1679 -1342 84 260 84 hintmask 01001100
-726 363 rmoveto
hintmask 10001100
-364 306 {518377e0} callsubr
hintmask 10001100
{7d1d3dc1} callsubr
344 hmoveto
77 vlineto
hintmask 01101100
-61 51 rlineto
973 {2baa6024} callgsubr
-1065 hlineto
hintmask 10001100
-212 178 {51c2609d} callgsubr
-337 -280 51 -64 rlineto
hintmask 01001100
230 193 rlineto
1052 {2baa6024} callgsubr
-962 hlineto
endchar
</CharString>
<Subrs>
<CharString index="0" fingerprint="73b4eeb5">
-25 694 {95e8401a} callsubr
return
</CharString>
<CharString index="1" fingerprint="95e8401a">
-501 {2104c6cb} callgsubr
return
</CharString>
<CharString index="2" fingerprint="518377e0">
{51c2609d} callgsubr
hintmask 10010000
-337 -280 51 -64 rlineto
return
</CharString>
<CharString index="3" fingerprint="7d1d3dc1">
370 311 rlineto
return
</CharString>
</Subrs>
<GlobalSubrs>
<CharString index="0" fingerprint="2104c6cb">
{5e5f0c6d} callgsubr
hstemhm
return
</CharString>
<CharString index="1" fingerprint="5e5f0c6d">
77 169 77 return
</CharString>
<CharString index="2" fingerprint="51c2609d">
-52 -65 332 -274 rlineto
-11 vlineto
return
</CharString>
<CharString index="3" fingerprint="2baa6024">
hlineto
{ab181b74} callgsubr
return
</CharString>
<CharString index="4" fingerprint="ab181b74">
1 77 rlineto
return
</CharString>
</GlobalSubrs>
</Glyph>
@@ -0,0 +1,47 @@
<Glyph name="hyphen_greater.liga" lsb="-486" width="625">
<CharString>
{add9cb07} callgsubr
-885 -78 886 {e70b385b} callgsubr
</CharString>
<Subrs>
<CharString index="0" fingerprint="68618674">
160 {69d40705} callsubr
-52 -65 rlineto
return
</CharString>
<CharString index="1" fingerprint="69d40705">
669 rmoveto
return
</CharString>
<CharString index="2" fingerprint="0ebde8d9">
51 -64 {17aabf5c} callsubr
return
</CharString>
<CharString index="3" fingerprint="17aabf5c">
{7d1d3dc1} callsubr
77 vlineto
return
</CharString>
<CharString index="4" fingerprint="7d1d3dc1">
370 311 rlineto
return
</CharString>
</Subrs>
<GlobalSubrs>
<CharString index="0" fingerprint="add9cb07">
-25 694 -383 78 hstemhm
440 84 hintmask 10100000
{68618674} callsubr
hintmask 01100000
291 -240 rlineto
return
</CharString>
<CharString index="1" fingerprint="e70b385b">
hlineto
-297 -247 rlineto
hintmask 10100000
{0ebde8d9} callsubr
endchar
</CharString>
</GlobalSubrs>
</Glyph>
@@ -0,0 +1,24 @@
<Glyph name="hyphen_hyphen.liga" lsb="-440" width="625">
<CharString>
286 78 hstem
-440 352 176 352 vstem
-94 286 rmoveto
{6661d53b} callgsubr
874 hmoveto
{6661d53b} callgsubr
endchar
</CharString>
<Subrs/>
<GlobalSubrs>
<CharString index="0" fingerprint="6661d53b">
6 78 rlineto
-352 -78 hlineto
return
</CharString>
<CharString index="1" fingerprint="6661d53b">
6 78 rlineto
-352 -78 hlineto
return
</CharString>
</GlobalSubrs>
</Glyph>
@@ -0,0 +1,47 @@
<Glyph name="hyphen_hyphen_greater.liga" lsb="-1111" width="625">
<CharString>
{add9cb07} callgsubr
-1510 -78 1511 {e70b385b} callgsubr
</CharString>
<Subrs>
<CharString index="0" fingerprint="68618674">
160 {69d40705} callsubr
-52 -65 rlineto
return
</CharString>
<CharString index="1" fingerprint="69d40705">
669 rmoveto
return
</CharString>
<CharString index="2" fingerprint="0ebde8d9">
51 -64 {17aabf5c} callsubr
return
</CharString>
<CharString index="3" fingerprint="17aabf5c">
{7d1d3dc1} callsubr
77 vlineto
return
</CharString>
<CharString index="4" fingerprint="7d1d3dc1">
370 311 rlineto
return
</CharString>
</Subrs>
<GlobalSubrs>
<CharString index="0" fingerprint="add9cb07">
-25 694 -383 78 hstemhm
440 84 hintmask 10100000
{68618674} callsubr
hintmask 01100000
291 -240 rlineto
return
</CharString>
<CharString index="1" fingerprint="e70b385b">
hlineto
-297 -247 rlineto
hintmask 10100000
{0ebde8d9} callsubr
endchar
</CharString>
</GlobalSubrs>
</Glyph>
@@ -0,0 +1,17 @@
<Glyph name="less_bar.liga" lsb="-343" width="625">
<CharString>
102 84 vstem
238 781 rmoveto
-581 -418 rlineto
-77 vlineto
581 -488 rlineto
85 991 hlineto
-582 -470 rmoveto
11 vlineto
497 352 rlineto
-777 vlineto
endchar
</CharString>
<Subrs/>
<GlobalSubrs/>
</Glyph>
@@ -0,0 +1,26 @@
<Glyph name="less_equal.2.liga" lsb="-429" width="625">
<CharString>
-161 536 {4094d862} callsubr
801 -324 rlineto
3 -129 rmoveto
73 -804 -73 vlineto
endchar
</CharString>
<Subrs>
<CharString index="0" fingerprint="4094d862">
vstem
372 47 rmoveto
-699 272 rlineto
14 vlineto
702 266 -40 70 -764 {3c39be5e} callgsubr
return
</CharString>
</Subrs>
<GlobalSubrs>
<CharString index="0" fingerprint="3c39be5e">
-306 rlineto
-77 vlineto
return
</CharString>
</GlobalSubrs>
</Glyph>
@@ -0,0 +1,27 @@
<Glyph name="less_equal.liga" lsb="-429" width="625">
<CharString>
375 805 {4094d862} callsubr
770 -311 rlineto
31 -128 rmoveto
-31 -72 -770 311 rlineto
87 vlineto
endchar
</CharString>
<Subrs>
<CharString index="0" fingerprint="4094d862">
vstem
372 47 rmoveto
-699 272 rlineto
14 vlineto
702 266 -40 70 -764 {3c39be5e} callgsubr
return
</CharString>
</Subrs>
<GlobalSubrs>
<CharString index="0" fingerprint="3c39be5e">
-306 rlineto
-77 vlineto
return
</CharString>
</GlobalSubrs>
</Glyph>
@@ -0,0 +1,81 @@
<Glyph name="less_equal_equal.liga" lsb="-1148" width="625">
<CharString>
{100ccab2} callsubr
-84 1680 hintmask 01010000
-1064 319 rmoveto
11 vlineto
hintmask 01110000
101 84 rlineto
1493 {2baa6024} callgsubr
-1401 {4f917770} callsubr
hintmask 10010000
{a6f54b4d} callgsubr
1412 {2baa6024} callgsubr
-1506 hlineto
endchar
</CharString>
<Subrs>
<CharString index="0" fingerprint="100ccab2">
{480b8ca3} callgsubr
-1148 84 return
</CharString>
<CharString index="1" fingerprint="95e8401a">
-501 {2104c6cb} callgsubr
return
</CharString>
<CharString index="2" fingerprint="4f917770">
hlineto
138 114 rlineto
return
</CharString>
</Subrs>
<GlobalSubrs>
<CharString index="0" fingerprint="480b8ca3">
-24 693 {95e8401a} callsubr
return
</CharString>
<CharString index="1" fingerprint="2104c6cb">
{5e5f0c6d} callgsubr
hstemhm
return
</CharString>
<CharString index="2" fingerprint="5e5f0c6d">
77 169 77 return
</CharString>
<CharString index="3" fingerprint="2baa6024">
hlineto
{ab181b74} callgsubr
return
</CharString>
<CharString index="4" fingerprint="ab181b74">
1 77 rlineto
return
</CharString>
<CharString index="5" fingerprint="a6f54b4d">
-50 64 rlineto
hintmask 10001000
{ec1485d5} callgsubr
rlineto
hintmask 01001000
-155 128 rlineto
return
</CharString>
<CharString index="6" fingerprint="ec1485d5">
{d6f695ab} callgsubr
52 64 return
</CharString>
<CharString index="7" fingerprint="d6f695ab">
{3136202a} callgsubr
369 -310 return
</CharString>
<CharString index="8" fingerprint="3136202a">
-366 {3c39be5e} callgsubr
return
</CharString>
<CharString index="9" fingerprint="3c39be5e">
-306 rlineto
-77 vlineto
return
</CharString>
</GlobalSubrs>
</Glyph>
@@ -0,0 +1,109 @@
<Glyph name="less_equal_greater.liga" lsb="-1148" width="625">
<CharString>
{100ccab2} callsubr
1504 84 hintmask 10011000
{68618674} callsubr
hintmask 01111000
{6fed55c0} callsubr
-1115 {4f917770} callsubr
{31c0401c} callgsubr
-155 128 rlineto
1140 {81b66a3d} callgsubr
hintmask 10011000
{0ebde8d9} callsubr
-84 -44 rmoveto
hintmask 01111000
-89 -74 rlineto
-1326 hlineto
-89 74 rlineto
11 vlineto
101 84 rlineto
1301 hlineto
102 -84 rlineto
endchar
</CharString>
<Subrs>
<CharString index="0" fingerprint="100ccab2">
{480b8ca3} callgsubr
-1148 84 return
</CharString>
<CharString index="1" fingerprint="95e8401a">
-501 {2104c6cb} callgsubr
return
</CharString>
<CharString index="2" fingerprint="68618674">
160 {69d40705} callsubr
-52 -65 rlineto
return
</CharString>
<CharString index="3" fingerprint="69d40705">
669 rmoveto
return
</CharString>
<CharString index="4" fingerprint="6fed55c0">
137 -113 rlineto
return
</CharString>
<CharString index="5" fingerprint="4f917770">
hlineto
138 114 rlineto
return
</CharString>
<CharString index="6" fingerprint="0ebde8d9">
51 -64 {17aabf5c} callsubr
return
</CharString>
<CharString index="7" fingerprint="17aabf5c">
{7d1d3dc1} callsubr
77 vlineto
return
</CharString>
<CharString index="8" fingerprint="7d1d3dc1">
370 311 rlineto
return
</CharString>
</Subrs>
<GlobalSubrs>
<CharString index="0" fingerprint="480b8ca3">
-24 693 {95e8401a} callsubr
return
</CharString>
<CharString index="1" fingerprint="2104c6cb">
{5e5f0c6d} callgsubr
hstemhm
return
</CharString>
<CharString index="2" fingerprint="5e5f0c6d">
77 169 77 return
</CharString>
<CharString index="3" fingerprint="31c0401c">
hintmask 10011000
-50 64 {ec1485d5} callgsubr
rlineto
hintmask 01111000
return
</CharString>
<CharString index="4" fingerprint="ec1485d5">
{d6f695ab} callgsubr
52 64 return
</CharString>
<CharString index="5" fingerprint="d6f695ab">
{3136202a} callgsubr
369 -310 return
</CharString>
<CharString index="6" fingerprint="3136202a">
-366 {3c39be5e} callgsubr
return
</CharString>
<CharString index="7" fingerprint="3c39be5e">
-306 rlineto
-77 vlineto
return
</CharString>
<CharString index="8" fingerprint="81b66a3d">
hlineto
-155 -129 rlineto
return
</CharString>
</GlobalSubrs>
</Glyph>
@@ -0,0 +1,97 @@
<Glyph name="less_equal_less.liga" lsb="-1148" width="625">
<CharString>
{100ccab2} callsubr
-84 1671 -421 84 hintmask 10000100
471 -24 rmoveto
hintmask 10001000
52 64 rlineto
hintmask 10000100
{34825a9a} callgsubr
{a802daf0} callgsubr
-50 64 rlineto
hintmask 01100100
-213 -178 rlineto
-1125 {4f917770} callsubr
hintmask 10000100
{a6f54b4d} callgsubr
1124 hlineto
-1217 77 rmoveto
hintmask 01010100
-89 74 rlineto
11 vlineto
hintmask 01110100
101 84 rlineto
1126 {f52ca306} callsubr
endchar
</CharString>
<Subrs>
<CharString index="0" fingerprint="100ccab2">
{480b8ca3} callgsubr
-1148 84 return
</CharString>
<CharString index="1" fingerprint="95e8401a">
-501 {2104c6cb} callgsubr
return
</CharString>
<CharString index="2" fingerprint="4f917770">
hlineto
138 114 rlineto
return
</CharString>
<CharString index="3" fingerprint="f52ca306">
hlineto
-61 -51 rlineto
-77 vlineto
49 -41 rlineto
return
</CharString>
</Subrs>
<GlobalSubrs>
<CharString index="0" fingerprint="480b8ca3">
-24 693 {95e8401a} callsubr
return
</CharString>
<CharString index="1" fingerprint="2104c6cb">
{5e5f0c6d} callgsubr
hstemhm
return
</CharString>
<CharString index="2" fingerprint="5e5f0c6d">
77 169 77 return
</CharString>
<CharString index="3" fingerprint="34825a9a">
-337 279 rlineto
return
</CharString>
<CharString index="4" fingerprint="a802daf0">
11 vlineto
332 275 return
</CharString>
<CharString index="5" fingerprint="a6f54b4d">
-50 64 rlineto
hintmask 10001000
{ec1485d5} callgsubr
rlineto
hintmask 01001000
-155 128 rlineto
return
</CharString>
<CharString index="6" fingerprint="ec1485d5">
{d6f695ab} callgsubr
52 64 return
</CharString>
<CharString index="7" fingerprint="d6f695ab">
{3136202a} callgsubr
369 -310 return
</CharString>
<CharString index="8" fingerprint="3136202a">
-366 {3c39be5e} callgsubr
return
</CharString>
<CharString index="9" fingerprint="3c39be5e">
-306 rlineto
-77 vlineto
return
</CharString>
</GlobalSubrs>
</Glyph>
@@ -0,0 +1,60 @@
<Glyph name="less_exclam_hyphen_hyphen.liga" lsb="-1773" width="625">
<CharString>
-24 693 -669 123 163 78 hstemhm
-1773 84 685 127 hintmask 01011000
-964 {3e9f41a0} callsubr
-393 345 rmoveto
{31c0401c} callgsubr
-297 246 rlineto
540 hlineto
6 78 rlineto
-545 hlineto
887 hmoveto
-78 1246 vlineto
6 78 rlineto
-1496 -364 {a36b40b4} callsubr
</CharString>
<Subrs>
<CharString index="0" fingerprint="3e9f41a0">
260 rmoveto
60 hlineto
2 95 28 295 5 101 rrcurveto
-116 hlineto
2 -101 19 -295 -95 vvcurveto
return
</CharString>
<CharString index="1" fingerprint="a36b40b4">
rmoveto
127 hlineto
3 123 rlineto
-127 hlineto
endchar
</CharString>
</Subrs>
<GlobalSubrs>
<CharString index="0" fingerprint="31c0401c">
hintmask 10011000
-50 64 {ec1485d5} callgsubr
rlineto
hintmask 01111000
return
</CharString>
<CharString index="1" fingerprint="ec1485d5">
{d6f695ab} callgsubr
52 64 return
</CharString>
<CharString index="2" fingerprint="d6f695ab">
{3136202a} callgsubr
369 -310 return
</CharString>
<CharString index="3" fingerprint="3136202a">
-366 {3c39be5e} callgsubr
return
</CharString>
<CharString index="4" fingerprint="3c39be5e">
-306 rlineto
-77 vlineto
return
</CharString>
</GlobalSubrs>
</Glyph>
@@ -0,0 +1,36 @@
<Glyph name="less_hyphen.liga" lsb="-523" width="625">
<CharString>
-24 693 -383 78 hstemhm
-523 84 -84 1014 hintmask 01010000
491 364 rmoveto
-889 {65ab9a81} callsubr
884 hlineto
endchar
</CharString>
<Subrs>
<CharString index="0" fingerprint="65ab9a81">
hlineto
291 241 rlineto
hintmask 10010000
-50 64 rlineto
hintmask 01100000
{3136202a} callgsubr
hintmask 10100000
369 -310 52 64 rlineto
hintmask 01100000
-297 246 rlineto
return
</CharString>
</Subrs>
<GlobalSubrs>
<CharString index="0" fingerprint="3136202a">
-366 {3c39be5e} callgsubr
return
</CharString>
<CharString index="1" fingerprint="3c39be5e">
-306 rlineto
-77 vlineto
return
</CharString>
</GlobalSubrs>
</Glyph>

Some files were not shown because too many files have changed in this diff Show More