mirror of
https://github.com/kiliman/operator-mono-lig.git
synced 2026-08-12 10:20:51 +02:00
Compare commits
62 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 2ed7ab50b3 | |||
| 37caa3ddea | |||
| b70accff53 | |||
| da7425fbe9 | |||
| 2282dd3d5d | |||
| d7e18a4962 | |||
| d71b04356a | |||
| 651edc2b62 | |||
| 02818d15a9 | |||
| 5c9a5d51a8 | |||
| fc180099b8 | |||
| 1f5712ecae | |||
| 2cbf9d84cb | |||
| d1c8620f6d | |||
| 0f10f62920 | |||
| fd4b980b7c | |||
| 286e5f0820 | |||
| 6e66c37704 | |||
| ad3050a731 | |||
| da1abf02c6 | |||
| 3a03d21c90 | |||
| 05bc5eaa4e | |||
| 03114bf88d | |||
| 83f9a6d170 | |||
| f0a883ee62 | |||
| 6e3415763c | |||
| 2bdf134f70 | |||
| edbbc78b82 | |||
| 4edf9bc945 | |||
| 538de4ad67 | |||
| 3550ee0bb1 | |||
| 65b938fdc1 | |||
| c5112089cb | |||
| 22ebd8aab7 | |||
| fe530d1ea9 | |||
| 19727aecc5 | |||
| 7a3be9b579 | |||
| 371be6a082 | |||
| 86b1d66f15 | |||
| 5538ffe2b5 | |||
| 360402a197 | |||
| f7cafe55b3 | |||
| 9cef42b1fb | |||
| 8360f4ad81 | |||
| 73f188856f | |||
| d2c63ad1ca | |||
| 0a7eca61d4 | |||
| fc8827e17c | |||
| 150ed13829 | |||
| 502f445758 | |||
| d3c5604090 | |||
| 61cfbf075d | |||
| 28eb8b58e5 | |||
| 91c4421765 | |||
| 3ed59809de | |||
| 660c719779 | |||
| 610140f1de | |||
| b6f785bfc7 | |||
| bc46df5f1c | |||
| 5f13b9c918 | |||
| 9398884dc6 | |||
| 036e837e0c |
@@ -0,0 +1,35 @@
|
||||
{
|
||||
"projectName": "operator-mono-lig",
|
||||
"projectOwner": "kiliman",
|
||||
"repoType": "github",
|
||||
"repoHost": "https://github.com",
|
||||
"files": [
|
||||
"README.md"
|
||||
],
|
||||
"imageSize": 100,
|
||||
"commit": true,
|
||||
"commitConvention": "none",
|
||||
"contributors": [
|
||||
{
|
||||
"login": "kiliman",
|
||||
"name": "Kiliman",
|
||||
"avatar_url": "https://avatars3.githubusercontent.com/u/47168?v=4",
|
||||
"profile": "https://github.com/kiliman",
|
||||
"contributions": [
|
||||
"code",
|
||||
"doc",
|
||||
"design"
|
||||
]
|
||||
},
|
||||
{
|
||||
"login": "markypython",
|
||||
"name": "Mark Skelton",
|
||||
"avatar_url": "https://avatars3.githubusercontent.com/u/25914066?v=4",
|
||||
"profile": "https://github.com/markypython",
|
||||
"contributions": [
|
||||
"design"
|
||||
]
|
||||
}
|
||||
],
|
||||
"contributorsPerLine": 7
|
||||
}
|
||||
@@ -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'
|
||||
}
|
||||
};
|
||||
@@ -1,12 +1,87 @@
|
||||
# Operator Mono Ligatures
|
||||
|
||||
[](#contributors-)
|
||||
|
||||
<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.
|
||||
|
||||
## Take the poll
|
||||
## New Version 2.2.3
|
||||
|
||||
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" />
|
||||
|
||||
### 🎉 New in Version 2.2
|
||||
|
||||
With the awesome help from [Mark Skelton](https://github.com/markypython), we now have the full set of ligatures for
|
||||
the following fonts. Thanks Mark, and thanks to all of you who have been patiently waiting for these ligatures to be completed.
|
||||
|
||||
- Operator Mono SSm Light/Light Italic
|
||||
- Operator Mono SSm Book/Book Italic
|
||||
- Operator Mono SSm Medium/Medium Italic
|
||||
- Operator Mono SSm Bold/Bold Italic
|
||||
- Operator Mono Light/Light Italic
|
||||
|
||||
### 🐛 Fixed in Version 2.2.3
|
||||
|
||||
Updated Operator Mono SSm Book Italic ligatures.
|
||||
|
||||
### 🐛 Fixed in Version 2.2.2
|
||||
|
||||
Fixed glyph widths Operator Mono Light and Light Italic. These fonts accidentally were sized
|
||||
the same as the ScreenSmart versions and caused alignment issues. Also fixed a few ligatures
|
||||
that didn't have the correct weight.
|
||||
|
||||
### 🔧 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
|
||||
|
||||
Which font weight of Operator Mono do you use? Also note difference between Screen Smart (SSm) and regular version. This will help prioritize the order of development.
|
||||
|
||||
@@ -17,51 +92,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/vote)
|
||||
[](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)**
|
||||
|
||||
[](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**)
|
||||
|
||||
## How to Install
|
||||
- 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
|
||||
|
||||
1. Once all the prerequisites have been installed, clone this repo.
|
||||
## 🛠 How to Install
|
||||
|
||||
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 +114,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 +139,45 @@ 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" />
|
||||
Thanks also to all of you for your kinds words of encouragement and feedback. I really
|
||||
appreciate it.
|
||||
|
||||
## Hyper shell
|
||||
## ✨ Contributors
|
||||
|
||||
Add *Operator Mono* to [Hyper](https://hyper.is/) a JS/CSS/HTML Terminal.
|
||||
Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):
|
||||
|
||||
<img src="./images/hyper terminal.png" />
|
||||
<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->
|
||||
<!-- prettier-ignore-start -->
|
||||
<!-- markdownlint-disable -->
|
||||
<table>
|
||||
<tr>
|
||||
<td align="center"><a href="https://github.com/kiliman"><img src="https://avatars3.githubusercontent.com/u/47168?v=4" width="100px;" alt="Kiliman"/><br /><sub><b>Kiliman</b></sub></a><br /><a href="https://github.com/kiliman/operator-mono-lig/commits?author=kiliman" title="Code">💻</a> <a href="https://github.com/kiliman/operator-mono-lig/commits?author=kiliman" title="Documentation">📖</a> <a href="#design-kiliman" title="Design">🎨</a></td>
|
||||
<td align="center"><a href="https://github.com/markypython"><img src="https://avatars3.githubusercontent.com/u/25914066?v=4" width="100px;" alt="Mark Skelton"/><br /><sub><b>Mark Skelton</b></sub></a><br /><a href="#design-markypython" title="Design">🎨</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<!-- markdownlint-enable -->
|
||||
<!-- prettier-ignore-end -->
|
||||
|
||||
<!-- ALL-CONTRIBUTORS-LIST:END -->
|
||||
|
||||
This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
@@ -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
@@ -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
|
||||
|
||||
@@ -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 |
@@ -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>
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
@@ -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&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&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>
|
||||
@@ -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&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&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
+82
-14
@@ -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="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"/>
|
||||
|
||||
|
||||
|
||||
|
||||
<xMin value="-1560"/>
|
||||
|
||||
|
||||
<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="2200"/>
|
||||
<minLeftSideBearing value="-339"/>
|
||||
<minRightSideBearing value="-80"/>
|
||||
<xMaxExtent value="2122"/>
|
||||
|
||||
|
||||
<advanceWidthMax value="550"/>
|
||||
|
||||
|
||||
<minLeftSideBearing value="-1560"/>
|
||||
|
||||
|
||||
<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="454"/>
|
||||
|
||||
|
||||
<numberOfHMetrics value="466"/>
|
||||
|
||||
|
||||
</hhea>
|
||||
<CFF>
|
||||
<CFFFont>
|
||||
<FontBBox value="-339 -288 2122 1144"/>
|
||||
<FontBBox value="-1560 -284 619 1140"/>
|
||||
</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,57 @@
|
||||
<Glyph name="ampersand_ampersand.liga" lsb="-408" width="550">
|
||||
<CharString>
|
||||
-12 52 533 58 hstem
|
||||
296 159 rmoveto
|
||||
35 61 31 81 25 96 -55 7 rcurveline
|
||||
{8f8784a0} callgsubr
|
||||
rrcurveto
|
||||
{db974013} callgsubr
|
||||
-21 5 -21 10 -21 vhcurveto
|
||||
-48 6 {8f8784a0} callgsubr
|
||||
rlinecurve
|
||||
{4eaf5c4e} callgsubr
|
||||
38 -59 33 -31 33 -15 rrcurveto
|
||||
-8 19 21 -5 25 hhcurveto
|
||||
63 65 36 82 54 hvcurveto
|
||||
31 -35 33 -40 36 -44 48 40 rcurveline
|
||||
-42 50 -39 44 -34 38 rrcurveto
|
||||
-219 163 rmoveto
|
||||
-38 -24 -29 -25 -22 -27 17 43 15 48 14 51 10 -21 14 -21 19 -24 rrcurveto
|
||||
-335 -282 rmoveto
|
||||
{62d0dced} callgsubr
|
||||
351 hmoveto
|
||||
{62d0dced} callgsubr
|
||||
-148 114 rmoveto
|
||||
0 0 0 0 vhcurveto
|
||||
endchar
|
||||
</CharString>
|
||||
<Subrs/>
|
||||
<GlobalSubrs>
|
||||
<CharString index="0" fingerprint="8f8784a0">
|
||||
-17 -79 -24 -72 -27 -58 return
|
||||
</CharString>
|
||||
<CharString index="1" fingerprint="db974013">
|
||||
-132 149 -60 63 60 vvcurveto
|
||||
59 47 55 177 -8 vhcurveto
|
||||
-4 58 rlineto
|
||||
-212 4 -66 -91 -83 vvcurveto
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="2" fingerprint="8f8784a0">
|
||||
-17 -79 -24 -72 -27 -58 return
|
||||
</CharString>
|
||||
<CharString index="3" fingerprint="4eaf5c4e">
|
||||
{db974013} callgsubr
|
||||
-44 21 -41 42 -54 vhcurveto
|
||||
-90 -57 -44 -66 -72 vvcurveto
|
||||
-77 49 -62 89 63 65 36 82 54 vhcurveto
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="4" fingerprint="62d0dced">
|
||||
-60 -31 42 58 50 32 55 68 47 hvcurveto
|
||||
34 -41 43 -48 53 -61 rrcurveto
|
||||
-69 -43 -49 -33 -47 hhcurveto
|
||||
return
|
||||
</CharString>
|
||||
</GlobalSubrs>
|
||||
</Glyph>
|
||||
@@ -0,0 +1,23 @@
|
||||
<Glyph name="bar_bar.liga" lsb="-226" width="550">
|
||||
<CharString>
|
||||
-226 56 329 56 vstem
|
||||
-170 705 {a9d1a864} callsubr
|
||||
385 886 {a9d1a864} callsubr
|
||||
endchar
|
||||
</CharString>
|
||||
<Subrs>
|
||||
<CharString index="0" fingerprint="a9d1a864">
|
||||
rmoveto
|
||||
-56 -5 rlineto
|
||||
-881 56 vlineto
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="1" fingerprint="a9d1a864">
|
||||
rmoveto
|
||||
-56 -5 rlineto
|
||||
-881 56 vlineto
|
||||
return
|
||||
</CharString>
|
||||
</Subrs>
|
||||
<GlobalSubrs/>
|
||||
</Glyph>
|
||||
@@ -0,0 +1,16 @@
|
||||
<Glyph name="bar_greater.liga" lsb="-251" width="550">
|
||||
<CharString>
|
||||
-251 56 468 57 vstem
|
||||
330 317 rmoveto
|
||||
-525 456 -56 -5 rlineto
|
||||
-949 56 5 vlineto
|
||||
525 439 rlineto
|
||||
-57 23 rmoveto
|
||||
-468 -391 rlineto
|
||||
804 vlineto
|
||||
468 -405 rlineto
|
||||
endchar
|
||||
</CharString>
|
||||
<Subrs/>
|
||||
<GlobalSubrs/>
|
||||
</Glyph>
|
||||
@@ -0,0 +1,48 @@
|
||||
<Glyph name="colon_equal.liga" lsb="-289" width="550">
|
||||
<CharString>
|
||||
131 101 -76 52 147 101 -77 52 hstemhm
|
||||
-288.5 96.5 hintmask 00000000
|
||||
hintmask 01101000
|
||||
-289 355 {f593abee} callsubr
|
||||
hintmask 10011000
|
||||
635 -77 rmoveto
|
||||
{d805e4a1} callgsubr
|
||||
-211 -248 {f593abee} callsubr
|
||||
hintmask 01011000
|
||||
635 -76 rmoveto
|
||||
{d805e4a1} callgsubr
|
||||
endchar
|
||||
</CharString>
|
||||
<Subrs>
|
||||
<CharString index="0" fingerprint="f593abee">
|
||||
rmoveto
|
||||
96 hlineto
|
||||
2 101 rlineto
|
||||
-97 hlineto
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="1" fingerprint="f593abee">
|
||||
rmoveto
|
||||
96 hlineto
|
||||
2 101 rlineto
|
||||
-97 hlineto
|
||||
return
|
||||
</CharString>
|
||||
</Subrs>
|
||||
<GlobalSubrs>
|
||||
<CharString index="0" fingerprint="d805e4a1">
|
||||
{c7138596} callgsubr
|
||||
-426 -52 hlineto
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="1" fingerprint="c7138596">
|
||||
1 52 rlineto
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="2" fingerprint="d805e4a1">
|
||||
{c7138596} callgsubr
|
||||
-426 -52 hlineto
|
||||
return
|
||||
</CharString>
|
||||
</GlobalSubrs>
|
||||
</Glyph>
|
||||
@@ -0,0 +1,32 @@
|
||||
<Glyph name="equal_equal.2.liga" lsb="-468" width="550">
|
||||
<CharString>
|
||||
{a926ac67} callgsubr
|
||||
hstem
|
||||
-468 425 85 425 vstem
|
||||
-43 379 {a8999db7} callgsubr
|
||||
-85 -223 {a8999db7} callgsubr
|
||||
endchar
|
||||
</CharString>
|
||||
<Subrs/>
|
||||
<GlobalSubrs>
|
||||
<CharString index="0" fingerprint="a926ac67">
|
||||
156 52 171 52 return
|
||||
</CharString>
|
||||
<CharString index="1" fingerprint="a8999db7">
|
||||
rmoveto
|
||||
{d805e4a1} callgsubr
|
||||
935 hmoveto
|
||||
{d805e4a1} callgsubr
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="2" fingerprint="d805e4a1">
|
||||
{c7138596} callgsubr
|
||||
-426 -52 hlineto
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="3" fingerprint="c7138596">
|
||||
1 52 rlineto
|
||||
return
|
||||
</CharString>
|
||||
</GlobalSubrs>
|
||||
</Glyph>
|
||||
@@ -0,0 +1,33 @@
|
||||
<Glyph name="equal_equal.liga" lsb="-468" width="550">
|
||||
<CharString>
|
||||
{a926ac67} callgsubr
|
||||
hstem
|
||||
-468 936 vstem
|
||||
467 379 {28fd4823} callsubr
|
||||
-936 -52 hlineto
|
||||
935 -223 {28fd4823} callsubr
|
||||
-936 -52 hlineto
|
||||
endchar
|
||||
</CharString>
|
||||
<Subrs>
|
||||
<CharString index="0" fingerprint="28fd4823">
|
||||
rmoveto
|
||||
{c7138596} callgsubr
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="1" fingerprint="28fd4823">
|
||||
rmoveto
|
||||
{c7138596} callgsubr
|
||||
return
|
||||
</CharString>
|
||||
</Subrs>
|
||||
<GlobalSubrs>
|
||||
<CharString index="0" fingerprint="a926ac67">
|
||||
156 52 171 52 return
|
||||
</CharString>
|
||||
<CharString index="1" fingerprint="c7138596">
|
||||
1 52 rlineto
|
||||
return
|
||||
</CharString>
|
||||
</GlobalSubrs>
|
||||
</Glyph>
|
||||
@@ -0,0 +1,53 @@
|
||||
<Glyph name="equal_equal_equal.2.liga" lsb="-1018" width="550">
|
||||
<CharString>
|
||||
{a926ac67} callgsubr
|
||||
hstem
|
||||
-1018 442 80 441 81 441 cntrmask 00111000
|
||||
-576 379 {31d2d078} callsubr
|
||||
-602 -223 {31d2d078} callsubr
|
||||
endchar
|
||||
</CharString>
|
||||
<Subrs>
|
||||
<CharString index="0" fingerprint="31d2d078">
|
||||
{28fd4823} callsubr
|
||||
-443 -52 hlineto
|
||||
963 hmoveto
|
||||
1 52 rlineto
|
||||
-442 {2b826e40} callgsubr
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="1" fingerprint="28fd4823">
|
||||
rmoveto
|
||||
{c7138596} callgsubr
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="2" fingerprint="31d2d078">
|
||||
{28fd4823} callsubr
|
||||
-443 -52 hlineto
|
||||
963 hmoveto
|
||||
1 52 rlineto
|
||||
-442 {2b826e40} callgsubr
|
||||
return
|
||||
</CharString>
|
||||
</Subrs>
|
||||
<GlobalSubrs>
|
||||
<CharString index="0" fingerprint="a926ac67">
|
||||
156 52 171 52 return
|
||||
</CharString>
|
||||
<CharString index="1" fingerprint="c7138596">
|
||||
1 52 rlineto
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="2" fingerprint="2b826e40">
|
||||
-52 hlineto
|
||||
963 {30708a76} callgsubr
|
||||
-442 -52 hlineto
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="3" fingerprint="30708a76">
|
||||
hmoveto
|
||||
{c7138596} callgsubr
|
||||
return
|
||||
</CharString>
|
||||
</GlobalSubrs>
|
||||
</Glyph>
|
||||
@@ -0,0 +1,26 @@
|
||||
<Glyph name="equal_equal_equal.liga" lsb="-1018" width="550">
|
||||
<CharString>
|
||||
16 61 187 60 187 60 hstem
|
||||
467 511 {39bc6f61} callgsubr
|
||||
-247 {39bc6f61} callgsubr
|
||||
-248 rmoveto
|
||||
1 61 rlineto
|
||||
-1486 -61 hlineto
|
||||
endchar
|
||||
</CharString>
|
||||
<Subrs/>
|
||||
<GlobalSubrs>
|
||||
<CharString index="0" fingerprint="39bc6f61">
|
||||
rmoveto
|
||||
1 60 rlineto
|
||||
-1486 -60 hlineto
|
||||
1485 return
|
||||
</CharString>
|
||||
<CharString index="1" fingerprint="39bc6f61">
|
||||
rmoveto
|
||||
1 60 rlineto
|
||||
-1486 -60 hlineto
|
||||
1485 return
|
||||
</CharString>
|
||||
</GlobalSubrs>
|
||||
</Glyph>
|
||||
@@ -0,0 +1,57 @@
|
||||
<Glyph name="equal_equal_greater.liga" lsb="-1018" width="550">
|
||||
<CharString>
|
||||
{17e5c391} callgsubr
|
||||
-1018 1478 -57 {076e1c46} callsubr
|
||||
-1259 -52 1320 {ce96b479} callsubr
|
||||
-1329 -52 1267 {3bf8a3e7} callgsubr
|
||||
</CharString>
|
||||
<Subrs>
|
||||
<CharString index="0" fingerprint="076e1c46">
|
||||
57 hintmask 11100000
|
||||
{ea3a6f68} callsubr
|
||||
144 -121 rlineto
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="1" fingerprint="ea3a6f68">
|
||||
133 595 rmoveto
|
||||
-36 -43 return
|
||||
</CharString>
|
||||
<CharString index="2" fingerprint="ce96b479">
|
||||
hlineto
|
||||
hintmask 11010000
|
||||
101 -85 rlineto
|
||||
-8 vlineto
|
||||
-92 -78 {bf847d0e} callgsubr
|
||||
return
|
||||
</CharString>
|
||||
</Subrs>
|
||||
<GlobalSubrs>
|
||||
<CharString index="0" fingerprint="17e5c391">
|
||||
{a926ac67} callgsubr
|
||||
hstemhm
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="1" fingerprint="a926ac67">
|
||||
156 52 171 52 return
|
||||
</CharString>
|
||||
<CharString index="2" fingerprint="bf847d0e">
|
||||
rlineto
|
||||
hintmask 11100000
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="3" fingerprint="3bf8a3e7">
|
||||
hlineto
|
||||
-158 -134 {c7af96e2} callgsubr
|
||||
endchar
|
||||
</CharString>
|
||||
<CharString index="4" fingerprint="c7af96e2">
|
||||
35 -42 {fe9ab107} callgsubr
|
||||
54 vlineto
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="5" fingerprint="fe9ab107">
|
||||
334 283 rlineto
|
||||
return
|
||||
</CharString>
|
||||
</GlobalSubrs>
|
||||
</Glyph>
|
||||
@@ -0,0 +1,57 @@
|
||||
<Glyph name="equal_greater.liga" lsb="-468" width="550">
|
||||
<CharString>
|
||||
{17e5c391} callgsubr
|
||||
-468 927 -56 {076e1c46} callsubr
|
||||
-709 -52 770 {ce96b479} callsubr
|
||||
-779 -52 717 {3bf8a3e7} callgsubr
|
||||
</CharString>
|
||||
<Subrs>
|
||||
<CharString index="0" fingerprint="076e1c46">
|
||||
57 hintmask 11100000
|
||||
{ea3a6f68} callsubr
|
||||
144 -121 rlineto
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="1" fingerprint="ea3a6f68">
|
||||
133 595 rmoveto
|
||||
-36 -43 return
|
||||
</CharString>
|
||||
<CharString index="2" fingerprint="ce96b479">
|
||||
hlineto
|
||||
hintmask 11010000
|
||||
101 -85 rlineto
|
||||
-8 vlineto
|
||||
-92 -78 {bf847d0e} callgsubr
|
||||
return
|
||||
</CharString>
|
||||
</Subrs>
|
||||
<GlobalSubrs>
|
||||
<CharString index="0" fingerprint="17e5c391">
|
||||
{a926ac67} callgsubr
|
||||
hstemhm
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="1" fingerprint="a926ac67">
|
||||
156 52 171 52 return
|
||||
</CharString>
|
||||
<CharString index="2" fingerprint="bf847d0e">
|
||||
rlineto
|
||||
hintmask 11100000
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="3" fingerprint="3bf8a3e7">
|
||||
hlineto
|
||||
-158 -134 {c7af96e2} callgsubr
|
||||
endchar
|
||||
</CharString>
|
||||
<CharString index="4" fingerprint="c7af96e2">
|
||||
35 -42 {fe9ab107} callgsubr
|
||||
54 vlineto
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="5" fingerprint="fe9ab107">
|
||||
334 283 rlineto
|
||||
return
|
||||
</CharString>
|
||||
</GlobalSubrs>
|
||||
</Glyph>
|
||||
@@ -0,0 +1,62 @@
|
||||
<Glyph name="equal_less_less.liga" lsb="-1018" width="550">
|
||||
<CharString>
|
||||
{17e5c391} callgsubr
|
||||
-1018 1477 -669 58 242 58 hintmask 11010000
|
||||
-152 294 rmoveto
|
||||
{653069d6} callsubr
|
||||
-193 -164 {bf847d0e} callgsubr
|
||||
-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
|
||||
-311 264 rlineto
|
||||
hintmask 11001000
|
||||
300 hmoveto
|
||||
{9d42e380} callsubr
|
||||
{bf847d0e} callgsubr
|
||||
36 42 rlineto
|
||||
endchar
|
||||
</CharString>
|
||||
<Subrs>
|
||||
<CharString index="0" fingerprint="653069d6">
|
||||
306 258 -36 43 return
|
||||
</CharString>
|
||||
<CharString index="1" fingerprint="9d42e380">
|
||||
{a8585996} callsubr
|
||||
{f9df3c06} callsubr
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="2" fingerprint="a8585996">
|
||||
8 vlineto
|
||||
{653069d6} callsubr
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="3" fingerprint="653069d6">
|
||||
306 258 -36 43 return
|
||||
</CharString>
|
||||
<CharString index="4" fingerprint="f9df3c06">
|
||||
-328 -279 rlineto
|
||||
-53 vlineto
|
||||
333 -283 return
|
||||
</CharString>
|
||||
</Subrs>
|
||||
<GlobalSubrs>
|
||||
<CharString index="0" fingerprint="17e5c391">
|
||||
{a926ac67} callgsubr
|
||||
hstemhm
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="1" fingerprint="a926ac67">
|
||||
156 52 171 52 return
|
||||
</CharString>
|
||||
<CharString index="2" fingerprint="bf847d0e">
|
||||
rlineto
|
||||
hintmask 11100000
|
||||
return
|
||||
</CharString>
|
||||
</GlobalSubrs>
|
||||
</Glyph>
|
||||
@@ -0,0 +1,44 @@
|
||||
<Glyph name="exclam_equal.liga" lsb="-468" width="550">
|
||||
<CharString>
|
||||
{36aee12c} callsubr
|
||||
-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="36aee12c">
|
||||
-181 898 return
|
||||
</CharString>
|
||||
<CharString index="1" fingerprint="91954767">
|
||||
hlineto
|
||||
{c7138596} callgsubr
|
||||
return
|
||||
</CharString>
|
||||
</Subrs>
|
||||
<GlobalSubrs>
|
||||
<CharString index="0" fingerprint="c7138596">
|
||||
1 52 rlineto
|
||||
return
|
||||
</CharString>
|
||||
</GlobalSubrs>
|
||||
</Glyph>
|
||||
@@ -0,0 +1,40 @@
|
||||
<Glyph name="exclam_equal_equal.liga" lsb="-1018" width="550">
|
||||
<CharString>
|
||||
{36aee12c} callsubr
|
||||
-701 61 187 60 187 60 hstemhm
|
||||
-530 520 hintmask 01111000
|
||||
467 264 rmoveto
|
||||
1 60 rlineto
|
||||
-675 hlineto
|
||||
100 187 rlineto
|
||||
574 hlineto
|
||||
1 60 rlineto
|
||||
-543 hlineto
|
||||
65 122 rlineto
|
||||
hintmask 10001000
|
||||
-51 24 rlineto
|
||||
hintmask 01111000
|
||||
-78 -146 rlineto
|
||||
-879 -60 847 hlineto
|
||||
-100 -187 rlineto
|
||||
-747 -60 715 hlineto
|
||||
-99 -187 rlineto
|
||||
-616 -61 583 hlineto
|
||||
-95 -178 rlineto
|
||||
hintmask 10001000
|
||||
54 -19 rlineto
|
||||
hintmask 01111000
|
||||
105 197 rlineto
|
||||
838 hlineto
|
||||
1 61 rlineto
|
||||
-806 hlineto
|
||||
99 187 rlineto
|
||||
endchar
|
||||
</CharString>
|
||||
<Subrs>
|
||||
<CharString index="0" fingerprint="36aee12c">
|
||||
-181 898 return
|
||||
</CharString>
|
||||
</Subrs>
|
||||
<GlobalSubrs/>
|
||||
</Glyph>
|
||||
@@ -0,0 +1,29 @@
|
||||
<Glyph name="greater_equal.2.liga" lsb="-338" width="550">
|
||||
<CharString>
|
||||
-119 50 hstemhm
|
||||
-338 481 -478 702 hintmask 10100000
|
||||
{64fb1ad2} callgsubr
|
||||
-700 -293 rlineto
|
||||
701 -89 rmoveto
|
||||
50 vlineto
|
||||
hintmask 11000000
|
||||
-705 -50 hlineto
|
||||
endchar
|
||||
</CharString>
|
||||
<Subrs>
|
||||
<CharString index="0" fingerprint="89cb26bd">
|
||||
264 rlineto
|
||||
8 vlineto
|
||||
return
|
||||
</CharString>
|
||||
</Subrs>
|
||||
<GlobalSubrs>
|
||||
<CharString index="0" fingerprint="64fb1ad2">
|
||||
-334 22 rmoveto
|
||||
612 {89cb26bd} callsubr
|
||||
-605 258 25 43 668 -278 rlineto
|
||||
-54 vlineto
|
||||
return
|
||||
</CharString>
|
||||
</GlobalSubrs>
|
||||
</Glyph>
|
||||
@@ -0,0 +1,26 @@
|
||||
<Glyph name="greater_equal.liga" lsb="-334" width="550">
|
||||
<CharString>
|
||||
-335 702 vstem
|
||||
{64fb1ad2} callgsubr
|
||||
-675 -283 rlineto
|
||||
675 113 rmoveto
|
||||
-675 -283 -25 42 700 297 rlineto
|
||||
endchar
|
||||
</CharString>
|
||||
<Subrs>
|
||||
<CharString index="0" fingerprint="89cb26bd">
|
||||
264 rlineto
|
||||
8 vlineto
|
||||
return
|
||||
</CharString>
|
||||
</Subrs>
|
||||
<GlobalSubrs>
|
||||
<CharString index="0" fingerprint="64fb1ad2">
|
||||
-334 22 rmoveto
|
||||
612 {89cb26bd} callsubr
|
||||
-605 258 25 43 668 -278 rlineto
|
||||
-54 vlineto
|
||||
return
|
||||
</CharString>
|
||||
</GlobalSubrs>
|
||||
</Glyph>
|
||||
@@ -0,0 +1,82 @@
|
||||
<Glyph name="greater_equal_greater.liga" lsb="-1009" width="550">
|
||||
<CharString>
|
||||
{0b3c1f4e} callsubr
|
||||
1469 -1156 57 1043 {076e1c46} callsubr
|
||||
-1015 {75fc0322} callsubr
|
||||
hintmask 11010000
|
||||
{7d351c1f} callgsubr
|
||||
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="0b3c1f4e">
|
||||
{17e5c391} callgsubr
|
||||
-1010 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="75fc0322">
|
||||
hlineto
|
||||
-193 164 -36 -43 rlineto
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="4" fingerprint="735054ce">
|
||||
306 {1341d64a} callgsubr
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="5" fingerprint="4d0a4e5f">
|
||||
-312 -264 35 -42 return
|
||||
</CharString>
|
||||
</Subrs>
|
||||
<GlobalSubrs>
|
||||
<CharString index="0" fingerprint="17e5c391">
|
||||
{a926ac67} callgsubr
|
||||
hstemhm
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="1" fingerprint="a926ac67">
|
||||
156 52 171 52 return
|
||||
</CharString>
|
||||
<CharString index="2" fingerprint="7d351c1f">
|
||||
{735054ce} callsubr
|
||||
hintmask 11100000
|
||||
{4d0a4e5f} callsubr
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="3" fingerprint="1341d64a">
|
||||
-258 rlineto
|
||||
-8 vlineto
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="4" fingerprint="c7af96e2">
|
||||
35 -42 {fe9ab107} callgsubr
|
||||
54 vlineto
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="5" fingerprint="fe9ab107">
|
||||
334 283 rlineto
|
||||
return
|
||||
</CharString>
|
||||
</GlobalSubrs>
|
||||
</Glyph>
|
||||
@@ -0,0 +1,81 @@
|
||||
<Glyph name="greater_greater_equal.liga" lsb="-1009" width="550">
|
||||
<CharString>
|
||||
{17e5c391} callgsubr
|
||||
-1009 1477 -1165 57 243 57 hintmask 11010000
|
||||
-640 317 rmoveto
|
||||
-327 278 -36 -43 {7d351c1f} callgsubr
|
||||
rlineto
|
||||
hintmask 11010000
|
||||
{fe9ab107} callgsubr
|
||||
hintmask 11001000
|
||||
300 hmoveto
|
||||
54 vlineto
|
||||
-73 62 {bf847d0e} callgsubr
|
||||
880 {91954767} callsubr
|
||||
-942 {75fc0322} callsubr
|
||||
hintmask 11001000
|
||||
{735054ce} callsubr
|
||||
{4d0a4e5f} callsubr
|
||||
208 176 {bf847d0e} callgsubr
|
||||
933 {91954767} callsubr
|
||||
-873 hlineto
|
||||
endchar
|
||||
</CharString>
|
||||
<Subrs>
|
||||
<CharString index="0" fingerprint="735054ce">
|
||||
306 {1341d64a} callgsubr
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="1" fingerprint="4d0a4e5f">
|
||||
-312 -264 35 -42 return
|
||||
</CharString>
|
||||
<CharString index="2" fingerprint="91954767">
|
||||
hlineto
|
||||
{c7138596} callgsubr
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="3" fingerprint="75fc0322">
|
||||
hlineto
|
||||
-193 164 -36 -43 rlineto
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="4" fingerprint="735054ce">
|
||||
306 {1341d64a} callgsubr
|
||||
return
|
||||
</CharString>
|
||||
</Subrs>
|
||||
<GlobalSubrs>
|
||||
<CharString index="0" fingerprint="17e5c391">
|
||||
{a926ac67} callgsubr
|
||||
hstemhm
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="1" fingerprint="a926ac67">
|
||||
156 52 171 52 return
|
||||
</CharString>
|
||||
<CharString index="2" fingerprint="7d351c1f">
|
||||
{735054ce} callsubr
|
||||
hintmask 11100000
|
||||
{4d0a4e5f} callsubr
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="3" fingerprint="1341d64a">
|
||||
-258 rlineto
|
||||
-8 vlineto
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="4" fingerprint="fe9ab107">
|
||||
334 283 rlineto
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="5" fingerprint="bf847d0e">
|
||||
rlineto
|
||||
hintmask 11100000
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="6" fingerprint="c7138596">
|
||||
1 52 rlineto
|
||||
return
|
||||
</CharString>
|
||||
</GlobalSubrs>
|
||||
</Glyph>
|
||||
@@ -0,0 +1,39 @@
|
||||
<Glyph name="hyphen_greater.liga" lsb="-430" width="550">
|
||||
<CharString>
|
||||
{4ef4eda0} callsubr
|
||||
-430 890 {98ef964f} callgsubr
|
||||
-807 -52 807 {ada6e010} callsubr
|
||||
</CharString>
|
||||
<Subrs>
|
||||
<CharString index="0" fingerprint="4ef4eda0">
|
||||
264 52 hstem
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="1" fingerprint="ea3a6f68">
|
||||
133 595 rmoveto
|
||||
-36 -43 return
|
||||
</CharString>
|
||||
<CharString index="2" fingerprint="ada6e010">
|
||||
hlineto
|
||||
-286 -242 {c7af96e2} callgsubr
|
||||
endchar
|
||||
</CharString>
|
||||
</Subrs>
|
||||
<GlobalSubrs>
|
||||
<CharString index="0" fingerprint="98ef964f">
|
||||
vstem
|
||||
{ea3a6f68} callsubr
|
||||
280 -236 rlineto
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="1" fingerprint="c7af96e2">
|
||||
35 -42 {fe9ab107} callgsubr
|
||||
54 vlineto
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="2" fingerprint="fe9ab107">
|
||||
334 283 rlineto
|
||||
return
|
||||
</CharString>
|
||||
</GlobalSubrs>
|
||||
</Glyph>
|
||||
@@ -0,0 +1,29 @@
|
||||
<Glyph name="hyphen_hyphen.liga" lsb="-383" width="550">
|
||||
<CharString>
|
||||
{4ef4eda0} callsubr
|
||||
-383 314 123 314 vstem
|
||||
-72 264 rmoveto
|
||||
{3b143fa3} callgsubr
|
||||
748 hmoveto
|
||||
{3b143fa3} callgsubr
|
||||
endchar
|
||||
</CharString>
|
||||
<Subrs>
|
||||
<CharString index="0" fingerprint="4ef4eda0">
|
||||
264 52 hstem
|
||||
return
|
||||
</CharString>
|
||||
</Subrs>
|
||||
<GlobalSubrs>
|
||||
<CharString index="0" fingerprint="3b143fa3">
|
||||
3 52 rlineto
|
||||
-314 -52 hlineto
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="1" fingerprint="3b143fa3">
|
||||
3 52 rlineto
|
||||
-314 -52 hlineto
|
||||
return
|
||||
</CharString>
|
||||
</GlobalSubrs>
|
||||
</Glyph>
|
||||
@@ -0,0 +1,39 @@
|
||||
<Glyph name="hyphen_hyphen_greater.liga" lsb="-980" width="550">
|
||||
<CharString>
|
||||
{4ef4eda0} callsubr
|
||||
-980 1440 {98ef964f} callgsubr
|
||||
-1357 -52 1357 {ada6e010} callsubr
|
||||
</CharString>
|
||||
<Subrs>
|
||||
<CharString index="0" fingerprint="4ef4eda0">
|
||||
264 52 hstem
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="1" fingerprint="ea3a6f68">
|
||||
133 595 rmoveto
|
||||
-36 -43 return
|
||||
</CharString>
|
||||
<CharString index="2" fingerprint="ada6e010">
|
||||
hlineto
|
||||
-286 -242 {c7af96e2} callgsubr
|
||||
endchar
|
||||
</CharString>
|
||||
</Subrs>
|
||||
<GlobalSubrs>
|
||||
<CharString index="0" fingerprint="98ef964f">
|
||||
vstem
|
||||
{ea3a6f68} callsubr
|
||||
280 -236 rlineto
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="1" fingerprint="c7af96e2">
|
||||
35 -42 {fe9ab107} callgsubr
|
||||
54 vlineto
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="2" fingerprint="fe9ab107">
|
||||
334 283 rlineto
|
||||
return
|
||||
</CharString>
|
||||
</GlobalSubrs>
|
||||
</Glyph>
|
||||
@@ -0,0 +1,17 @@
|
||||
<Glyph name="less_bar.liga" lsb="-301" width="550">
|
||||
<CharString>
|
||||
-301 57 468 56 vstem
|
||||
224 773 rmoveto
|
||||
-525 -456 rlineto
|
||||
-54 vlineto
|
||||
525 -439 rlineto
|
||||
-5 56 949 vlineto
|
||||
-524 -482 rmoveto
|
||||
8 vlineto
|
||||
468 405 rlineto
|
||||
-804 vlineto
|
||||
endchar
|
||||
</CharString>
|
||||
<Subrs/>
|
||||
<GlobalSubrs/>
|
||||
</Glyph>
|
||||
@@ -0,0 +1,27 @@
|
||||
<Glyph name="less_equal.2.liga" lsb="-364" width="550">
|
||||
<CharString>
|
||||
148 -21 hstem
|
||||
-365 706 vstem
|
||||
337 18 rmoveto
|
||||
-52 vlineto
|
||||
-700 293 {c237e4e4} callsubr
|
||||
-89 -405 rmoveto
|
||||
705 50 -705 hlineto
|
||||
endchar
|
||||
</CharString>
|
||||
<Subrs>
|
||||
<CharString index="0" fingerprint="c237e4e4">
|
||||
rlineto
|
||||
54 vlineto
|
||||
668 278 25 -43 -605 {1341d64a} callgsubr
|
||||
return
|
||||
</CharString>
|
||||
</Subrs>
|
||||
<GlobalSubrs>
|
||||
<CharString index="0" fingerprint="1341d64a">
|
||||
-258 rlineto
|
||||
-8 vlineto
|
||||
return
|
||||
</CharString>
|
||||
</GlobalSubrs>
|
||||
</Glyph>
|
||||
@@ -0,0 +1,26 @@
|
||||
<Glyph name="less_equal.liga" lsb="-364" width="550">
|
||||
<CharString>
|
||||
-363 699 vstem
|
||||
336 22 rmoveto
|
||||
-25 -42 -675 283 {c237e4e4} callsubr
|
||||
-88 -193 rmoveto
|
||||
56 vlineto
|
||||
700 -297 -25 -42 rlineto
|
||||
endchar
|
||||
</CharString>
|
||||
<Subrs>
|
||||
<CharString index="0" fingerprint="c237e4e4">
|
||||
rlineto
|
||||
54 vlineto
|
||||
668 278 25 -43 -605 {1341d64a} callgsubr
|
||||
return
|
||||
</CharString>
|
||||
</Subrs>
|
||||
<GlobalSubrs>
|
||||
<CharString index="0" fingerprint="1341d64a">
|
||||
-258 rlineto
|
||||
-8 vlineto
|
||||
return
|
||||
</CharString>
|
||||
</GlobalSubrs>
|
||||
</Glyph>
|
||||
@@ -0,0 +1,59 @@
|
||||
<Glyph name="less_equal_equal.liga" lsb="-1010" width="550">
|
||||
<CharString>
|
||||
{0b3c1f4e} callsubr
|
||||
58 -58 1478 hintmask 11100000
|
||||
-952 286 rmoveto
|
||||
8 vlineto
|
||||
101 85 rlineto
|
||||
hintmask 11010000
|
||||
1318 {91954767} callsubr
|
||||
-1258 {2e75d6c9} callgsubr
|
||||
1266 {91954767} callsubr
|
||||
-1328 hlineto
|
||||
endchar
|
||||
</CharString>
|
||||
<Subrs>
|
||||
<CharString index="0" fingerprint="0b3c1f4e">
|
||||
{17e5c391} callgsubr
|
||||
-1010 return
|
||||
</CharString>
|
||||
<CharString index="1" fingerprint="91954767">
|
||||
hlineto
|
||||
{c7138596} callgsubr
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="2" fingerprint="ecf99dc2">
|
||||
{f9df3c06} callsubr
|
||||
36 42 return
|
||||
</CharString>
|
||||
<CharString index="3" fingerprint="f9df3c06">
|
||||
-328 -279 rlineto
|
||||
-53 vlineto
|
||||
333 -283 return
|
||||
</CharString>
|
||||
</Subrs>
|
||||
<GlobalSubrs>
|
||||
<CharString index="0" fingerprint="17e5c391">
|
||||
{a926ac67} callgsubr
|
||||
hstemhm
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="1" fingerprint="a926ac67">
|
||||
156 52 171 52 return
|
||||
</CharString>
|
||||
<CharString index="2" fingerprint="c7138596">
|
||||
1 52 rlineto
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="3" fingerprint="2e75d6c9">
|
||||
hlineto
|
||||
144 121 {3eba54eb} callgsubr
|
||||
-158 134 rlineto
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="4" fingerprint="3eba54eb">
|
||||
-36 43 {ecf99dc2} callsubr
|
||||
return
|
||||
</CharString>
|
||||
</GlobalSubrs>
|
||||
</Glyph>
|
||||
@@ -0,0 +1,75 @@
|
||||
<Glyph name="less_equal_greater.liga" lsb="-1010" width="550">
|
||||
<CharString>
|
||||
{0b3c1f4e} callsubr
|
||||
58 -58 1470 -57 {076e1c46} callsubr
|
||||
-1031 {2e75d6c9} callgsubr
|
||||
1048 hlineto
|
||||
-158 -134 35 -42 rlineto
|
||||
hintmask 11010000
|
||||
{fe9ab107} callgsubr
|
||||
54 vlineto
|
||||
hintmask 11101000
|
||||
-57 -31 rmoveto
|
||||
-92 -78 rlineto
|
||||
-1171 hlineto
|
||||
{a1ea141e} callgsubr
|
||||
1153 hlineto
|
||||
101 -85 rlineto
|
||||
endchar
|
||||
</CharString>
|
||||
<Subrs>
|
||||
<CharString index="0" fingerprint="0b3c1f4e">
|
||||
{17e5c391} callgsubr
|
||||
-1010 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="ecf99dc2">
|
||||
{f9df3c06} callsubr
|
||||
36 42 return
|
||||
</CharString>
|
||||
<CharString index="4" fingerprint="f9df3c06">
|
||||
-328 -279 rlineto
|
||||
-53 vlineto
|
||||
333 -283 return
|
||||
</CharString>
|
||||
</Subrs>
|
||||
<GlobalSubrs>
|
||||
<CharString index="0" fingerprint="17e5c391">
|
||||
{a926ac67} callgsubr
|
||||
hstemhm
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="1" fingerprint="a926ac67">
|
||||
156 52 171 52 return
|
||||
</CharString>
|
||||
<CharString index="2" fingerprint="2e75d6c9">
|
||||
hlineto
|
||||
144 121 {3eba54eb} callgsubr
|
||||
-158 134 rlineto
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="3" fingerprint="3eba54eb">
|
||||
-36 43 {ecf99dc2} callsubr
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="4" fingerprint="fe9ab107">
|
||||
334 283 rlineto
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="5" fingerprint="a1ea141e">
|
||||
-92 78 rlineto
|
||||
8 vlineto
|
||||
101 85 rlineto
|
||||
return
|
||||
</CharString>
|
||||
</GlobalSubrs>
|
||||
</Glyph>
|
||||
@@ -0,0 +1,66 @@
|
||||
<Glyph name="less_equal_less.liga" lsb="-1010" width="550">
|
||||
<CharString>
|
||||
{0b3c1f4e} callsubr
|
||||
58 -58 1469 -369 58 hintmask 11010000
|
||||
423 -20 rmoveto
|
||||
36 42 rlineto
|
||||
hintmask 11001000
|
||||
-311 264 rlineto
|
||||
{a8585996} callsubr
|
||||
-193 -164 rlineto
|
||||
-1015 hlineto
|
||||
144 121 -36 43 rlineto
|
||||
hintmask 11010000
|
||||
{ecf99dc2} callsubr
|
||||
-158 134 rlineto
|
||||
1015 hlineto
|
||||
-1076 52 rmoveto
|
||||
hintmask 11100000
|
||||
{a1ea141e} callgsubr
|
||||
1015 hlineto
|
||||
hintmask 11001000
|
||||
-74 -63 rlineto
|
||||
-53 vlineto
|
||||
65 -55 rlineto
|
||||
endchar
|
||||
</CharString>
|
||||
<Subrs>
|
||||
<CharString index="0" fingerprint="0b3c1f4e">
|
||||
{17e5c391} callgsubr
|
||||
-1010 return
|
||||
</CharString>
|
||||
<CharString index="1" fingerprint="a8585996">
|
||||
8 vlineto
|
||||
{653069d6} callsubr
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="2" fingerprint="653069d6">
|
||||
306 258 -36 43 return
|
||||
</CharString>
|
||||
<CharString index="3" fingerprint="ecf99dc2">
|
||||
{f9df3c06} callsubr
|
||||
36 42 return
|
||||
</CharString>
|
||||
<CharString index="4" fingerprint="f9df3c06">
|
||||
-328 -279 rlineto
|
||||
-53 vlineto
|
||||
333 -283 return
|
||||
</CharString>
|
||||
</Subrs>
|
||||
<GlobalSubrs>
|
||||
<CharString index="0" fingerprint="17e5c391">
|
||||
{a926ac67} callgsubr
|
||||
hstemhm
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="1" fingerprint="a926ac67">
|
||||
156 52 171 52 return
|
||||
</CharString>
|
||||
<CharString index="2" fingerprint="a1ea141e">
|
||||
-92 78 rlineto
|
||||
8 vlineto
|
||||
101 85 rlineto
|
||||
return
|
||||
</CharString>
|
||||
</GlobalSubrs>
|
||||
</Glyph>
|
||||
@@ -0,0 +1,50 @@
|
||||
<Glyph name="less_exclam_hyphen_hyphen.liga" lsb="-1560" width="550">
|
||||
<CharString>
|
||||
0 96 168 52 hstemhm
|
||||
-1560 58 629 94 -62 40 hintmask 11101000
|
||||
-841 {9500e647} callgsubr
|
||||
-355 326 rmoveto
|
||||
-36 43 {80b4b821} callgsubr
|
||||
447 hlineto
|
||||
3 52 rlineto
|
||||
-450 hlineto
|
||||
863 hmoveto
|
||||
-52 1044 vlineto
|
||||
3 52 rlineto
|
||||
hintmask 11110000
|
||||
-1308 -316 {8ff4d132} callsubr
|
||||
</CharString>
|
||||
<Subrs>
|
||||
<CharString index="0" fingerprint="ecf99dc2">
|
||||
{f9df3c06} callsubr
|
||||
36 42 return
|
||||
</CharString>
|
||||
<CharString index="1" fingerprint="f9df3c06">
|
||||
-328 -279 rlineto
|
||||
-53 vlineto
|
||||
333 -283 return
|
||||
</CharString>
|
||||
<CharString index="2" fingerprint="8ff4d132">
|
||||
rmoveto
|
||||
93 hlineto
|
||||
3 96 rlineto
|
||||
-94 hlineto
|
||||
endchar
|
||||
</CharString>
|
||||
</Subrs>
|
||||
<GlobalSubrs>
|
||||
<CharString index="0" fingerprint="9500e647">
|
||||
226 rmoveto
|
||||
40 hlineto
|
||||
3 116 16 212 6 122 rrcurveto
|
||||
-77 hlineto
|
||||
2 -122 10 -212 -116 vvcurveto
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="1" fingerprint="80b4b821">
|
||||
{ecf99dc2} callsubr
|
||||
-285 242 rlineto
|
||||
return
|
||||
</CharString>
|
||||
</GlobalSubrs>
|
||||
</Glyph>
|
||||
@@ -0,0 +1,39 @@
|
||||
<Glyph name="less_hyphen.liga" lsb="-460" width="550">
|
||||
<CharString>
|
||||
264 52 hstemhm
|
||||
-460 58 -58 894 hintmask 10100000
|
||||
434 {9b6142ec} callsubr
|
||||
-810 {1326ca39} callgsubr
|
||||
807 hlineto
|
||||
endchar
|
||||
</CharString>
|
||||
<Subrs>
|
||||
<CharString index="0" fingerprint="9b6142ec">
|
||||
316 rmoveto
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="1" fingerprint="ecf99dc2">
|
||||
{f9df3c06} callsubr
|
||||
36 42 return
|
||||
</CharString>
|
||||
<CharString index="2" fingerprint="f9df3c06">
|
||||
-328 -279 rlineto
|
||||
-53 vlineto
|
||||
333 -283 return
|
||||
</CharString>
|
||||
</Subrs>
|
||||
<GlobalSubrs>
|
||||
<CharString index="0" fingerprint="1326ca39">
|
||||
hlineto
|
||||
280 236 -36 43 rlineto
|
||||
hintmask 11000000
|
||||
{80b4b821} callgsubr
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="1" fingerprint="80b4b821">
|
||||
{ecf99dc2} callsubr
|
||||
-285 242 rlineto
|
||||
return
|
||||
</CharString>
|
||||
</GlobalSubrs>
|
||||
</Glyph>
|
||||
@@ -0,0 +1,39 @@
|
||||
<Glyph name="less_hyphen_hyphen.liga" lsb="-1010" width="550">
|
||||
<CharString>
|
||||
264 52 hstemhm
|
||||
-1010 58 -58 1444 hintmask 10100000
|
||||
434 {9b6142ec} callsubr
|
||||
-1360 {1326ca39} callgsubr
|
||||
1357 hlineto
|
||||
endchar
|
||||
</CharString>
|
||||
<Subrs>
|
||||
<CharString index="0" fingerprint="9b6142ec">
|
||||
316 rmoveto
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="1" fingerprint="ecf99dc2">
|
||||
{f9df3c06} callsubr
|
||||
36 42 return
|
||||
</CharString>
|
||||
<CharString index="2" fingerprint="f9df3c06">
|
||||
-328 -279 rlineto
|
||||
-53 vlineto
|
||||
333 -283 return
|
||||
</CharString>
|
||||
</Subrs>
|
||||
<GlobalSubrs>
|
||||
<CharString index="0" fingerprint="1326ca39">
|
||||
hlineto
|
||||
280 236 -36 43 rlineto
|
||||
hintmask 11000000
|
||||
{80b4b821} callgsubr
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="1" fingerprint="80b4b821">
|
||||
{ecf99dc2} callsubr
|
||||
-285 242 rlineto
|
||||
return
|
||||
</CharString>
|
||||
</GlobalSubrs>
|
||||
</Glyph>
|
||||
@@ -0,0 +1,36 @@
|
||||
<Glyph name="less_slash.liga" lsb="-460" width="525">
|
||||
<CharString>
|
||||
418 {36aee12c} callsubr
|
||||
hstem
|
||||
-460 58 199 520 vstem
|
||||
266 717 rmoveto
|
||||
-367 -687 -301 256 rlineto
|
||||
{9d42e380} callsubr
|
||||
-76 -142 54 -19 466 874 rlineto
|
||||
endchar
|
||||
</CharString>
|
||||
<Subrs>
|
||||
<CharString index="0" fingerprint="36aee12c">
|
||||
-181 898 return
|
||||
</CharString>
|
||||
<CharString index="1" fingerprint="9d42e380">
|
||||
{a8585996} callsubr
|
||||
{f9df3c06} callsubr
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="2" fingerprint="a8585996">
|
||||
8 vlineto
|
||||
{653069d6} callsubr
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="3" fingerprint="653069d6">
|
||||
306 258 -36 43 return
|
||||
</CharString>
|
||||
<CharString index="4" fingerprint="f9df3c06">
|
||||
-328 -279 rlineto
|
||||
-53 vlineto
|
||||
333 -283 return
|
||||
</CharString>
|
||||
</Subrs>
|
||||
<GlobalSubrs/>
|
||||
</Glyph>
|
||||
@@ -0,0 +1,30 @@
|
||||
<Glyph name="plus_plus.liga" lsb="-423" width="550">
|
||||
<CharString>
|
||||
{4ef4eda0} callsubr
|
||||
-239 55 364 55 vstem
|
||||
235 {9b6142ec} callsubr
|
||||
192 -55 -192 -364 {7c4152a6} callgsubr
|
||||
193 364 -193 55 193 182 vlineto
|
||||
{c7138596} callgsubr
|
||||
endchar
|
||||
</CharString>
|
||||
<Subrs>
|
||||
<CharString index="0" fingerprint="4ef4eda0">
|
||||
264 52 hstem
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="1" fingerprint="9b6142ec">
|
||||
316 rmoveto
|
||||
return
|
||||
</CharString>
|
||||
</Subrs>
|
||||
<GlobalSubrs>
|
||||
<CharString index="0" fingerprint="7c4152a6">
|
||||
192 -55 -192 -184 -52 184 -193 55 return
|
||||
</CharString>
|
||||
<CharString index="1" fingerprint="c7138596">
|
||||
1 52 rlineto
|
||||
return
|
||||
</CharString>
|
||||
</GlobalSubrs>
|
||||
</Glyph>
|
||||
@@ -0,0 +1,41 @@
|
||||
<Glyph name="question_question.liga" lsb="-434" width="550">
|
||||
<CharString>
|
||||
0 96 525 57 hstem
|
||||
-337 91 142 63 125 91 141 63 vstem
|
||||
-428 678 rmoveto
|
||||
{400ad052} callgsubr
|
||||
420 hmoveto
|
||||
{400ad052} callgsubr
|
||||
-329 -678 {b01158f3} callgsubr
|
||||
419 -96 {b01158f3} callgsubr
|
||||
endchar
|
||||
</CharString>
|
||||
<Subrs/>
|
||||
<GlobalSubrs>
|
||||
<CharString index="0" fingerprint="400ad052">
|
||||
-6 -57 rlineto
|
||||
261 -16 69 -46 -54 vvcurveto
|
||||
-79 -193 -61 -9 -141 vhcurveto
|
||||
42 -1 rlineto
|
||||
14 129 209 57 109 vvcurveto
|
||||
78 -88 64 -299 18 vhcurveto
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="1" fingerprint="400ad052">
|
||||
-6 -57 rlineto
|
||||
261 -16 69 -46 -54 vvcurveto
|
||||
-79 -193 -61 -9 -141 vhcurveto
|
||||
42 -1 rlineto
|
||||
14 129 209 57 109 vvcurveto
|
||||
78 -88 64 -299 18 vhcurveto
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="2" fingerprint="b01158f3">
|
||||
rmoveto
|
||||
90 hlineto
|
||||
2 96 rlineto
|
||||
-91 hlineto
|
||||
return
|
||||
</CharString>
|
||||
</GlobalSubrs>
|
||||
</Glyph>
|
||||
@@ -0,0 +1,32 @@
|
||||
<Glyph name="slash_greater.liga" lsb="-335" width="550">
|
||||
<CharString>
|
||||
{36aee12c} callsubr
|
||||
hstem
|
||||
-335 520 218 57 vstem
|
||||
133 595 rmoveto
|
||||
-1 -1 53 99 {c030e715} callsubr
|
||||
387 726 297 -251 rlineto
|
||||
-8 vlineto
|
||||
-312 -264 {c7af96e2} callgsubr
|
||||
endchar
|
||||
</CharString>
|
||||
<Subrs>
|
||||
<CharString index="0" fingerprint="36aee12c">
|
||||
-181 898 return
|
||||
</CharString>
|
||||
<CharString index="1" fingerprint="c030e715">
|
||||
-51 24 -469 -879 54 -19 return
|
||||
</CharString>
|
||||
</Subrs>
|
||||
<GlobalSubrs>
|
||||
<CharString index="0" fingerprint="c7af96e2">
|
||||
35 -42 {fe9ab107} callgsubr
|
||||
54 vlineto
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="1" fingerprint="fe9ab107">
|
||||
334 283 rlineto
|
||||
return
|
||||
</CharString>
|
||||
</GlobalSubrs>
|
||||
</Glyph>
|
||||
@@ -0,0 +1,11 @@
|
||||
<Glyph name="underscore_underscore.liga" lsb="-553" width="550">
|
||||
<CharString>
|
||||
-100 50 hstem
|
||||
-553 1115 vstem
|
||||
562 -100 rmoveto
|
||||
50 -1115 -50 vlineto
|
||||
endchar
|
||||
</CharString>
|
||||
<Subrs/>
|
||||
<GlobalSubrs/>
|
||||
</Glyph>
|
||||
@@ -0,0 +1,38 @@
|
||||
<Glyph name="uniE0A0" code="0xe0a0" lsb="6" width="550">
|
||||
<CharString>
|
||||
-59 53 160 104 264 54 53 53 hstemhm
|
||||
6 53 0 105 0 53 106 53 0 105 0 53 hintmask 1111010101000000
|
||||
428 576 rmoveto
|
||||
-58 -47 -47 -60 hvcurveto
|
||||
hintmask 1111010010000000
|
||||
-38 22 -34 31 -18 vhcurveto
|
||||
-15 vlineto
|
||||
-53 -53 -53 -53 -44 -34 -9 -15 -28 vhcurveto
|
||||
251 vlineto
|
||||
hintmask 1111101101000000
|
||||
31 17 22 34 40 vvcurveto
|
||||
58 -47 48 -58 -60 -46 -48 -58 vhcurveto
|
||||
hintmask 1111010101000000
|
||||
-40 21 -34 32 -17 vhcurveto
|
||||
-347 vlineto
|
||||
hintmask 1111101010000000
|
||||
-32 -17 -21 -34 -40 vvcurveto
|
||||
-58 46 -48 60 58 47 48 58 29 -11 25 -17 19 vhcurveto
|
||||
18 16 24 16 41 hhcurveto
|
||||
106 105 105 106 hvcurveto
|
||||
14 vlineto
|
||||
hintmask 1111010101000000
|
||||
32 19 21 34 38 vvcurveto
|
||||
59 -46 47 -60 vhcurveto
|
||||
hintmask 1111101101000000
|
||||
-316 53 rmoveto
|
||||
28 24 -24 -29 -30 -24 -24 -28 -30 -23 24 30 29 23 24 30 hvcurveto
|
||||
316 -212 rmoveto
|
||||
-28 -24 24 28 30 24 23 28 30 23 -23 -30 -28 -23 -24 -30 hvcurveto
|
||||
-316 -423 rmoveto
|
||||
-30 -23 23 30 29 23 24 30 28 24 -24 -29 -30 -24 -23 -28 hvcurveto
|
||||
endchar
|
||||
</CharString>
|
||||
<Subrs/>
|
||||
<GlobalSubrs/>
|
||||
</Glyph>
|
||||
@@ -0,0 +1,16 @@
|
||||
<Glyph name="uniE0B0" code="0xe0b0" lsb="-20" width="550">
|
||||
<CharString>
|
||||
{99cad421} callsubr
|
||||
609 313 rmoveto
|
||||
-627 581 -2 -1099 rlineto
|
||||
endchar
|
||||
</CharString>
|
||||
<Subrs>
|
||||
<CharString index="0" fingerprint="99cad421">
|
||||
-205 1099 hstem
|
||||
-20 629 vstem
|
||||
return
|
||||
</CharString>
|
||||
</Subrs>
|
||||
<GlobalSubrs/>
|
||||
</Glyph>
|
||||
@@ -0,0 +1,16 @@
|
||||
<Glyph name="uniE0B2" code="0xe0b2" lsb="-20" width="550">
|
||||
<CharString>
|
||||
{99cad421} callsubr
|
||||
-20 313 rmoveto
|
||||
629 -518 -2 1099 rlineto
|
||||
endchar
|
||||
</CharString>
|
||||
<Subrs>
|
||||
<CharString index="0" fingerprint="99cad421">
|
||||
-205 1099 hstem
|
||||
-20 629 vstem
|
||||
return
|
||||
</CharString>
|
||||
</Subrs>
|
||||
<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
+82
-14
@@ -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="-1557"/>
|
||||
|
||||
|
||||
<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="-1557"/>
|
||||
|
||||
|
||||
<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="468"/>
|
||||
|
||||
|
||||
</hhea>
|
||||
<CFF>
|
||||
<CFFFont>
|
||||
<FontBBox value="-367 -371 2139 1130"/>
|
||||
<FontBBox value="-1557 -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,57 @@
|
||||
<Glyph name="ampersand_ampersand.liga" lsb="-440" width="550">
|
||||
<CharString>
|
||||
-10 55 hstem
|
||||
-400 58 163 49 112 58 163 49 vstem
|
||||
311 165 rmoveto
|
||||
42 51 41 61 40 72 {4c9e2c1e} callgsubr
|
||||
-60 -54 -53 -54 -39 -54 15 23 14 25 15 26 {761b8378} callgsubr
|
||||
23 -31 29 -46 32 -25 rrcurveto
|
||||
-17 19 26 -10 33 hhcurveto
|
||||
63 78 45 84 79 hvcurveto
|
||||
34 -46 41 -46 47 -45 45 41 rcurveline
|
||||
-51 48 -43 46 -34 48 rrcurveto
|
||||
-625 -120 rmoveto
|
||||
{8855f5cc} callsubr
|
||||
382 hmoveto
|
||||
{8855f5cc} callsubr
|
||||
-83 195 rmoveto
|
||||
-20 -33 -13 -32 -6 -32 -6 7 -6 7 -5 8 19 23 19 25 18 27 rrcurveto
|
||||
endchar
|
||||
</CharString>
|
||||
<Subrs>
|
||||
<CharString index="0" fingerprint="8855f5cc">
|
||||
-42 -26 26 46 81 73 92 90 89 hvcurveto
|
||||
9 -76 28 -73 45 -71 rrcurveto
|
||||
-76 -67 -63 -38 -47 hhcurveto
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="1" fingerprint="8855f5cc">
|
||||
-42 -26 26 46 81 73 92 90 89 hvcurveto
|
||||
9 -76 28 -73 45 -71 rrcurveto
|
||||
-76 -67 -63 -38 -47 hhcurveto
|
||||
return
|
||||
</CharString>
|
||||
</Subrs>
|
||||
<GlobalSubrs>
|
||||
<CharString index="0" fingerprint="4c9e2c1e">
|
||||
-52 19 rcurveline
|
||||
-32 -63 -33 -54 -34 -45 -42 69 -24 70 -5 76 rrcurveto
|
||||
57 60 35 65 50 vvcurveto
|
||||
29 -17 15 -24 -44 -56 -103 -100 -3 vhcurveto
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="1" fingerprint="761b8378">
|
||||
{4c9e2c1e} callgsubr
|
||||
-124 -111 -94 -113 -108 vvcurveto
|
||||
-72 40 -43 70 63 78 45 84 79 vhcurveto
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="2" fingerprint="4c9e2c1e">
|
||||
-52 19 rcurveline
|
||||
-32 -63 -33 -54 -34 -45 -42 69 -24 70 -5 76 rrcurveto
|
||||
57 60 35 65 50 vvcurveto
|
||||
29 -17 15 -24 -44 -56 -103 -100 -3 vhcurveto
|
||||
return
|
||||
</CharString>
|
||||
</GlobalSubrs>
|
||||
</Glyph>
|
||||
@@ -0,0 +1,23 @@
|
||||
<Glyph name="bar_bar.liga" lsb="-312" width="550">
|
||||
<CharString>
|
||||
-312 227 158 227 vstem
|
||||
-85 703 {b95482c8} callgsubr
|
||||
557 883 {b95482c8} callgsubr
|
||||
endchar
|
||||
</CharString>
|
||||
<Subrs/>
|
||||
<GlobalSubrs>
|
||||
<CharString index="0" fingerprint="b95482c8">
|
||||
rmoveto
|
||||
-56 -2 -171 -881 rlineto
|
||||
55 hlineto
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="1" fingerprint="b95482c8">
|
||||
rmoveto
|
||||
-56 -2 -171 -881 rlineto
|
||||
55 hlineto
|
||||
return
|
||||
</CharString>
|
||||
</GlobalSubrs>
|
||||
</Glyph>
|
||||
@@ -0,0 +1,14 @@
|
||||
<Glyph name="bar_greater.liga" lsb="-344" width="550">
|
||||
<CharString>
|
||||
-344 56 559 53 vstem
|
||||
334 317 rmoveto
|
||||
-436 456 -57 -5 -185 -949 rlineto
|
||||
56 hlineto
|
||||
1 4 611 440 rlineto
|
||||
-53 23 rmoveto
|
||||
-544 -392 156 804 390 -404 rlineto
|
||||
endchar
|
||||
</CharString>
|
||||
<Subrs/>
|
||||
<GlobalSubrs/>
|
||||
</Glyph>
|
||||
@@ -0,0 +1,51 @@
|
||||
<Glyph name="colon_equal.liga" lsb="-321" width="550">
|
||||
<CharString>
|
||||
131 101 -76 52 147 101 -77 52 hstemhm
|
||||
-321 696 hintmask 00000000
|
||||
hintmask 01101000
|
||||
-277 355 {35be6a3e} callsubr
|
||||
hintmask 10011000
|
||||
620 -77 {7140cd68} callsubr
|
||||
-260 -248 {35be6a3e} callsubr
|
||||
hintmask 01011000
|
||||
620 -76 {7140cd68} callsubr
|
||||
endchar
|
||||
</CharString>
|
||||
<Subrs>
|
||||
<CharString index="0" fingerprint="35be6a3e">
|
||||
rmoveto
|
||||
96 hlineto
|
||||
22 101 rlineto
|
||||
-97 hlineto
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="1" fingerprint="7140cd68">
|
||||
rmoveto
|
||||
{6d81c4ca} callgsubr
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="2" fingerprint="9b1a6feb">
|
||||
11 52 rlineto
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="3" fingerprint="35be6a3e">
|
||||
rmoveto
|
||||
96 hlineto
|
||||
22 101 rlineto
|
||||
-97 hlineto
|
||||
return
|
||||
</CharString>
|
||||
</Subrs>
|
||||
<GlobalSubrs>
|
||||
<CharString index="0" fingerprint="6d81c4ca">
|
||||
{9b1a6feb} callsubr
|
||||
-426 {50f87708} callgsubr
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="1" fingerprint="50f87708">
|
||||
hlineto
|
||||
-10 -52 rlineto
|
||||
return
|
||||
</CharString>
|
||||
</GlobalSubrs>
|
||||
</Glyph>
|
||||
@@ -0,0 +1,41 @@
|
||||
<Glyph name="equal_equal.2.liga" lsb="-468" width="550">
|
||||
<CharString>
|
||||
{a926ac67} callgsubr
|
||||
hstem
|
||||
-468 425 85 425 vstem
|
||||
379 vmoveto
|
||||
{6d81c4ca} callgsubr
|
||||
935 hmoveto
|
||||
{6d81c4ca} callgsubr
|
||||
-128 -223 {7140cd68} callsubr
|
||||
935 hmoveto
|
||||
{6d81c4ca} callgsubr
|
||||
endchar
|
||||
</CharString>
|
||||
<Subrs>
|
||||
<CharString index="0" fingerprint="9b1a6feb">
|
||||
11 52 rlineto
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="1" fingerprint="7140cd68">
|
||||
rmoveto
|
||||
{6d81c4ca} callgsubr
|
||||
return
|
||||
</CharString>
|
||||
</Subrs>
|
||||
<GlobalSubrs>
|
||||
<CharString index="0" fingerprint="a926ac67">
|
||||
156 52 171 52 return
|
||||
</CharString>
|
||||
<CharString index="1" fingerprint="6d81c4ca">
|
||||
{9b1a6feb} callsubr
|
||||
-426 {50f87708} callgsubr
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="2" fingerprint="50f87708">
|
||||
hlineto
|
||||
-10 -52 rlineto
|
||||
return
|
||||
</CharString>
|
||||
</GlobalSubrs>
|
||||
</Glyph>
|
||||
@@ -0,0 +1,42 @@
|
||||
<Glyph name="equal_equal.liga" lsb="-468" width="550">
|
||||
<CharString>
|
||||
126 22 201 22 hstem
|
||||
-498 906 vstem
|
||||
510 379 {a61c4392} callsubr
|
||||
892 -223 {a61c4392} callsubr
|
||||
endchar
|
||||
</CharString>
|
||||
<Subrs>
|
||||
<CharString index="0" fingerprint="a61c4392">
|
||||
{053ace07} callsubr
|
||||
-936 {50f87708} callgsubr
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="1" fingerprint="053ace07">
|
||||
rmoveto
|
||||
{9b1a6feb} callsubr
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="2" fingerprint="9b1a6feb">
|
||||
11 52 rlineto
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="3" fingerprint="a61c4392">
|
||||
{053ace07} callsubr
|
||||
-936 {50f87708} callgsubr
|
||||
return
|
||||
</CharString>
|
||||
</Subrs>
|
||||
<GlobalSubrs>
|
||||
<CharString index="0" fingerprint="50f87708">
|
||||
hlineto
|
||||
-10 -52 rlineto
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="1" fingerprint="50f87708">
|
||||
hlineto
|
||||
-10 -52 rlineto
|
||||
return
|
||||
</CharString>
|
||||
</GlobalSubrs>
|
||||
</Glyph>
|
||||
@@ -0,0 +1,60 @@
|
||||
<Glyph name="equal_equal_equal.2.liga" lsb="-1018" width="550">
|
||||
<CharString>
|
||||
{a926ac67} callgsubr
|
||||
hstem
|
||||
-1018 442 80 441 81 441 cntrmask 00111000
|
||||
-533 379 {2b10fd76} callsubr
|
||||
-645 -223 {2b10fd76} callsubr
|
||||
endchar
|
||||
</CharString>
|
||||
<Subrs>
|
||||
<CharString index="0" fingerprint="2b10fd76">
|
||||
{053ace07} callsubr
|
||||
-443 hlineto
|
||||
-10 -52 rlineto
|
||||
963 hmoveto
|
||||
11 52 rlineto
|
||||
-442 {90479866} callsubr
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="1" fingerprint="053ace07">
|
||||
rmoveto
|
||||
{9b1a6feb} callsubr
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="2" fingerprint="9b1a6feb">
|
||||
11 52 rlineto
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="3" fingerprint="90479866">
|
||||
{50f87708} callgsubr
|
||||
963 {a590d80b} callsubr
|
||||
-442 {50f87708} callgsubr
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="4" fingerprint="a590d80b">
|
||||
hmoveto
|
||||
{9b1a6feb} callsubr
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="5" fingerprint="2b10fd76">
|
||||
{053ace07} callsubr
|
||||
-443 hlineto
|
||||
-10 -52 rlineto
|
||||
963 hmoveto
|
||||
11 52 rlineto
|
||||
-442 {90479866} callsubr
|
||||
return
|
||||
</CharString>
|
||||
</Subrs>
|
||||
<GlobalSubrs>
|
||||
<CharString index="0" fingerprint="a926ac67">
|
||||
156 52 171 52 return
|
||||
</CharString>
|
||||
<CharString index="1" fingerprint="50f87708">
|
||||
hlineto
|
||||
-10 -52 rlineto
|
||||
return
|
||||
</CharString>
|
||||
</GlobalSubrs>
|
||||
</Glyph>
|
||||
@@ -0,0 +1,26 @@
|
||||
<Glyph name="equal_equal_equal.liga" lsb="-1018" width="550">
|
||||
<CharString>
|
||||
{e06728d3} callsubr
|
||||
563 511 {ef3b9a97} callsubr
|
||||
-247 {ef3b9a97} callsubr
|
||||
-248 rmoveto
|
||||
13 61 rlineto
|
||||
-1486 hlineto
|
||||
-12 -61 rlineto
|
||||
endchar
|
||||
</CharString>
|
||||
<Subrs>
|
||||
<CharString index="0" fingerprint="e06728d3">
|
||||
16 61 187 60 187 60 hstem
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="1" fingerprint="ef3b9a97">
|
||||
rmoveto
|
||||
13 60 rlineto
|
||||
-1486 hlineto
|
||||
-12 -60 rlineto
|
||||
1437 return
|
||||
</CharString>
|
||||
</Subrs>
|
||||
<GlobalSubrs/>
|
||||
</Glyph>
|
||||
@@ -0,0 +1,65 @@
|
||||
<Glyph name="equal_equal_greater.liga" lsb="-1018" width="550">
|
||||
<CharString>
|
||||
{17e5c391} callgsubr
|
||||
-1018 1478 -393 {9772cd75} callsubr
|
||||
{e0be236e} callsubr
|
||||
-1249 {50f87708} callgsubr
|
||||
1310 {34bb5356} callsubr
|
||||
-1327 {50f87708} callgsubr
|
||||
1264 {a374cd37} callsubr
|
||||
{b821e20e} callsubr
|
||||
endchar
|
||||
</CharString>
|
||||
<Subrs>
|
||||
<CharString index="0" fingerprint="9772cd75">
|
||||
417 hintmask 11100000
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="1" fingerprint="e0be236e">
|
||||
{9e664772} callgsubr
|
||||
119 -120 rlineto
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="2" fingerprint="34bb5356">
|
||||
hlineto
|
||||
89 -90 -2 -8 -103 -73 rlineto
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="3" fingerprint="a374cd37">
|
||||
hlineto
|
||||
hintmask 11010000
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="4" fingerprint="b821e20e">
|
||||
-179 -127 {2f89f84b} callgsubr
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="5" fingerprint="1c31358f">
|
||||
27 -46 380 271 10 52 return
|
||||
</CharString>
|
||||
</Subrs>
|
||||
<GlobalSubrs>
|
||||
<CharString index="0" fingerprint="17e5c391">
|
||||
{a926ac67} callgsubr
|
||||
hstemhm
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="1" fingerprint="a926ac67">
|
||||
156 52 171 52 return
|
||||
</CharString>
|
||||
<CharString index="2" fingerprint="9e664772">
|
||||
206 591 rmoveto
|
||||
-41 -40 return
|
||||
</CharString>
|
||||
<CharString index="3" fingerprint="50f87708">
|
||||
hlineto
|
||||
-10 -52 rlineto
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="4" fingerprint="2f89f84b">
|
||||
{1c31358f} callsubr
|
||||
rlineto
|
||||
return
|
||||
</CharString>
|
||||
</GlobalSubrs>
|
||||
</Glyph>
|
||||
@@ -0,0 +1,65 @@
|
||||
<Glyph name="equal_greater.liga" lsb="-468" width="550">
|
||||
<CharString>
|
||||
{17e5c391} callgsubr
|
||||
-468 927 -392 {9772cd75} callsubr
|
||||
{e0be236e} callsubr
|
||||
-699 {50f87708} callgsubr
|
||||
760 {34bb5356} callsubr
|
||||
-777 {50f87708} callgsubr
|
||||
714 {a374cd37} callsubr
|
||||
{b821e20e} callsubr
|
||||
endchar
|
||||
</CharString>
|
||||
<Subrs>
|
||||
<CharString index="0" fingerprint="9772cd75">
|
||||
417 hintmask 11100000
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="1" fingerprint="e0be236e">
|
||||
{9e664772} callgsubr
|
||||
119 -120 rlineto
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="2" fingerprint="34bb5356">
|
||||
hlineto
|
||||
89 -90 -2 -8 -103 -73 rlineto
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="3" fingerprint="a374cd37">
|
||||
hlineto
|
||||
hintmask 11010000
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="4" fingerprint="b821e20e">
|
||||
-179 -127 {2f89f84b} callgsubr
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="5" fingerprint="1c31358f">
|
||||
27 -46 380 271 10 52 return
|
||||
</CharString>
|
||||
</Subrs>
|
||||
<GlobalSubrs>
|
||||
<CharString index="0" fingerprint="17e5c391">
|
||||
{a926ac67} callgsubr
|
||||
hstemhm
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="1" fingerprint="a926ac67">
|
||||
156 52 171 52 return
|
||||
</CharString>
|
||||
<CharString index="2" fingerprint="9e664772">
|
||||
206 591 rmoveto
|
||||
-41 -40 return
|
||||
</CharString>
|
||||
<CharString index="3" fingerprint="50f87708">
|
||||
hlineto
|
||||
-10 -52 rlineto
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="4" fingerprint="2f89f84b">
|
||||
{1c31358f} callsubr
|
||||
rlineto
|
||||
return
|
||||
</CharString>
|
||||
</GlobalSubrs>
|
||||
</Glyph>
|
||||
@@ -0,0 +1,58 @@
|
||||
<Glyph name="equal_less_less.liga" lsb="-1018" width="550">
|
||||
<CharString>
|
||||
{17e5c391} callgsubr
|
||||
-1018 1477 -666 417 -117 {9772cd75} callsubr
|
||||
-145 294 rmoveto
|
||||
hintmask 11010000
|
||||
{ba93ac95} callgsubr
|
||||
-922 {50f87708} callgsubr
|
||||
859 hlineto
|
||||
-82 -58 -9 -52 59 -61 rlineto
|
||||
-860 hlineto
|
||||
hintmask 11100000
|
||||
-10 -52 rlineto
|
||||
921 {a556ddda} callgsubr
|
||||
302 8 rmoveto
|
||||
hintmask 11001000
|
||||
355 252 {502a035d} callsubr
|
||||
-259 262 rlineto
|
||||
endchar
|
||||
</CharString>
|
||||
<Subrs>
|
||||
<CharString index="0" fingerprint="9772cd75">
|
||||
417 hintmask 11100000
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="1" fingerprint="502a035d">
|
||||
{46d990e9} callgsubr
|
||||
278 -286 41 41 return
|
||||
</CharString>
|
||||
</Subrs>
|
||||
<GlobalSubrs>
|
||||
<CharString index="0" fingerprint="17e5c391">
|
||||
{a926ac67} callgsubr
|
||||
hstemhm
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="1" fingerprint="a926ac67">
|
||||
156 52 171 52 return
|
||||
</CharString>
|
||||
<CharString index="2" fingerprint="ba93ac95">
|
||||
355 252 -27 45 -226 -160 rlineto
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="3" fingerprint="50f87708">
|
||||
hlineto
|
||||
-10 -52 rlineto
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="4" fingerprint="a556ddda">
|
||||
hlineto
|
||||
168 -173 41 41 -259 262 rlineto
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="5" fingerprint="46d990e9">
|
||||
-27 45 -381 -270 -9 -52 return
|
||||
</CharString>
|
||||
</GlobalSubrs>
|
||||
</Glyph>
|
||||
@@ -0,0 +1,48 @@
|
||||
<Glyph name="exclam_equal.liga" lsb="-468" width="550">
|
||||
<CharString>
|
||||
126 22 201 22 hstemhm
|
||||
-498 906 -768 665 hintmask 11100000
|
||||
510 379 {053ace07} callsubr
|
||||
-398 {a374cd37} callsubr
|
||||
182 258 -47 23 -198 -281 rlineto
|
||||
-475 {50f87708} callgsubr
|
||||
448 hlineto
|
||||
-121 -171 rlineto
|
||||
-360 {50f87708} callgsubr
|
||||
334 hlineto
|
||||
-226 -320 53 -14 236 334 rlineto
|
||||
538 hlineto
|
||||
{9b1a6feb} callsubr
|
||||
-513 hlineto
|
||||
121 171 rlineto
|
||||
endchar
|
||||
</CharString>
|
||||
<Subrs>
|
||||
<CharString index="0" fingerprint="053ace07">
|
||||
rmoveto
|
||||
{9b1a6feb} callsubr
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="1" fingerprint="9b1a6feb">
|
||||
11 52 rlineto
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="2" fingerprint="a374cd37">
|
||||
hlineto
|
||||
hintmask 11010000
|
||||
return
|
||||
</CharString>
|
||||
</Subrs>
|
||||
<GlobalSubrs>
|
||||
<CharString index="0" fingerprint="50f87708">
|
||||
hlineto
|
||||
-10 -52 rlineto
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="1" fingerprint="50f87708">
|
||||
hlineto
|
||||
-10 -52 rlineto
|
||||
return
|
||||
</CharString>
|
||||
</GlobalSubrs>
|
||||
</Glyph>
|
||||
@@ -0,0 +1,38 @@
|
||||
<Glyph name="exclam_equal_equal.liga" lsb="-1018" width="550">
|
||||
<CharString>
|
||||
{e06728d3} callsubr
|
||||
-603 665 vstem
|
||||
563 511 rmoveto
|
||||
13 60 rlineto
|
||||
-597 hlineto
|
||||
83 118 -47 23 -99 -141 rlineto
|
||||
-826 hlineto
|
||||
-12 -60 rlineto
|
||||
795 hlineto
|
||||
-132 -187 rlineto
|
||||
-699 hlineto
|
||||
-12 -60 rlineto
|
||||
669 hlineto
|
||||
-132 -187 rlineto
|
||||
-573 hlineto
|
||||
-12 -61 rlineto
|
||||
542 hlineto
|
||||
-127 -180 53 -14 137 194 rlineto
|
||||
880 hlineto
|
||||
13 61 rlineto
|
||||
-850 hlineto
|
||||
132 187 rlineto
|
||||
753 hlineto
|
||||
13 60 rlineto
|
||||
-724 hlineto
|
||||
132 187 rlineto
|
||||
endchar
|
||||
</CharString>
|
||||
<Subrs>
|
||||
<CharString index="0" fingerprint="e06728d3">
|
||||
16 61 187 60 187 60 hstem
|
||||
return
|
||||
</CharString>
|
||||
</Subrs>
|
||||
<GlobalSubrs/>
|
||||
</Glyph>
|
||||
@@ -0,0 +1,26 @@
|
||||
<Glyph name="greater_equal.2.liga" lsb="-338" width="550">
|
||||
<CharString>
|
||||
-119 50 hstemhm
|
||||
-338 481 -478 702 hintmask 10100000
|
||||
-307 {60d14561} callgsubr
|
||||
-757 -293 rlineto
|
||||
684 -89 rmoveto
|
||||
{0e168d1d} callsubr
|
||||
-705 hlineto
|
||||
hintmask 11000000
|
||||
-10 -50 rlineto
|
||||
endchar
|
||||
</CharString>
|
||||
<Subrs>
|
||||
<CharString index="0" fingerprint="0e168d1d">
|
||||
10 50 rlineto
|
||||
return
|
||||
</CharString>
|
||||
</Subrs>
|
||||
<GlobalSubrs>
|
||||
<CharString index="0" fingerprint="60d14561">
|
||||
22 rmoveto
|
||||
664 264 1 8 -555 258 34 43 614 -278 -11 -54 return
|
||||
</CharString>
|
||||
</GlobalSubrs>
|
||||
</Glyph>
|
||||
@@ -0,0 +1,17 @@
|
||||
<Glyph name="greater_equal.liga" lsb="-326" width="550">
|
||||
<CharString>
|
||||
-335 702 vstem
|
||||
-293 {60d14561} callgsubr
|
||||
-730 -283 rlineto
|
||||
697 113 rmoveto
|
||||
-730 -283 -17 42 758 297 rlineto
|
||||
endchar
|
||||
</CharString>
|
||||
<Subrs/>
|
||||
<GlobalSubrs>
|
||||
<CharString index="0" fingerprint="60d14561">
|
||||
22 rmoveto
|
||||
664 264 1 8 -555 258 34 43 614 -278 -11 -54 return
|
||||
</CharString>
|
||||
</GlobalSubrs>
|
||||
</Glyph>
|
||||
@@ -0,0 +1,72 @@
|
||||
<Glyph name="greater_equal_greater.liga" lsb="-1033" width="550">
|
||||
<CharString>
|
||||
{17e5c391} callgsubr
|
||||
-1033 417 -394 1469 -392 417 hintmask 11010000
|
||||
{e0be236e} callsubr
|
||||
-1022 {4a0409a4} callgsubr
|
||||
hintmask 11100000
|
||||
{ebacf4f0} callsubr
|
||||
1009 hlineto
|
||||
hintmask 11001000
|
||||
{9521edfd} callgsubr
|
||||
-1010 hlineto
|
||||
65 46 rlineto
|
||||
hintmask 11100000
|
||||
10 52 -71 73 rlineto
|
||||
1022 hlineto
|
||||
89 -90 rlineto
|
||||
endchar
|
||||
</CharString>
|
||||
<Subrs>
|
||||
<CharString index="0" fingerprint="e0be236e">
|
||||
{9e664772} callgsubr
|
||||
119 -120 rlineto
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="1" fingerprint="ebacf4f0">
|
||||
-355 -252 27 -46 243 173 rlineto
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="2" fingerprint="b821e20e">
|
||||
-179 -127 {2f89f84b} callgsubr
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="3" fingerprint="1c31358f">
|
||||
27 -46 380 271 10 52 return
|
||||
</CharString>
|
||||
</Subrs>
|
||||
<GlobalSubrs>
|
||||
<CharString index="0" fingerprint="17e5c391">
|
||||
{a926ac67} callgsubr
|
||||
hstemhm
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="1" fingerprint="a926ac67">
|
||||
156 52 171 52 return
|
||||
</CharString>
|
||||
<CharString index="2" fingerprint="9e664772">
|
||||
206 591 rmoveto
|
||||
-41 -40 return
|
||||
</CharString>
|
||||
<CharString index="3" fingerprint="4a0409a4">
|
||||
hlineto
|
||||
-156 160 {5a2c4896} callgsubr
|
||||
rlineto
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="4" fingerprint="5a2c4896">
|
||||
-41 -40 259 -262 -2 -8 return
|
||||
</CharString>
|
||||
<CharString index="5" fingerprint="9521edfd">
|
||||
{b821e20e} callsubr
|
||||
-62 -25 rmoveto
|
||||
-103 -73 rlineto
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="6" fingerprint="2f89f84b">
|
||||
{1c31358f} callsubr
|
||||
rlineto
|
||||
return
|
||||
</CharString>
|
||||
</GlobalSubrs>
|
||||
</Glyph>
|
||||
@@ -0,0 +1,55 @@
|
||||
<Glyph name="greater_greater_equal.liga" lsb="-1033" width="550">
|
||||
<CharString>
|
||||
{17e5c391} callgsubr
|
||||
-1033 417 -393 1477 -1201 {9772cd75} callsubr
|
||||
-616 306 rmoveto
|
||||
-278 285 {5a2c4896} callgsubr
|
||||
-355 -252 27 -46 380 271 rlineto
|
||||
1147 177 rmoveto
|
||||
-959 {4a0409a4} callgsubr
|
||||
hintmask 11001000
|
||||
{ebacf4f0} callsubr
|
||||
hintmask 11010000
|
||||
930 hlineto
|
||||
{9b1a6feb} callsubr
|
||||
-869 hlineto
|
||||
65 46 rlineto
|
||||
hintmask 11001000
|
||||
10 52 -71 73 rlineto
|
||||
897 hlineto
|
||||
endchar
|
||||
</CharString>
|
||||
<Subrs>
|
||||
<CharString index="0" fingerprint="9772cd75">
|
||||
417 hintmask 11100000
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="1" fingerprint="ebacf4f0">
|
||||
-355 -252 27 -46 243 173 rlineto
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="2" fingerprint="9b1a6feb">
|
||||
11 52 rlineto
|
||||
return
|
||||
</CharString>
|
||||
</Subrs>
|
||||
<GlobalSubrs>
|
||||
<CharString index="0" fingerprint="17e5c391">
|
||||
{a926ac67} callgsubr
|
||||
hstemhm
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="1" fingerprint="a926ac67">
|
||||
156 52 171 52 return
|
||||
</CharString>
|
||||
<CharString index="2" fingerprint="5a2c4896">
|
||||
-41 -40 259 -262 -2 -8 return
|
||||
</CharString>
|
||||
<CharString index="3" fingerprint="4a0409a4">
|
||||
hlineto
|
||||
-156 160 {5a2c4896} callgsubr
|
||||
rlineto
|
||||
return
|
||||
</CharString>
|
||||
</GlobalSubrs>
|
||||
</Glyph>
|
||||
@@ -0,0 +1,44 @@
|
||||
<Glyph name="hyphen_greater.liga" lsb="-430" width="550">
|
||||
<CharString>
|
||||
264 52 hstemhm
|
||||
-430 890 {eadcabe1} callgsubr
|
||||
-817 {50f87708} callgsubr
|
||||
828 {5fadfa30} callsubr
|
||||
</CharString>
|
||||
<Subrs>
|
||||
<CharString index="0" fingerprint="5fadfa30">
|
||||
hlineto
|
||||
hintmask 10100000
|
||||
-331 -235 {8182c88f} callsubr
|
||||
</CharString>
|
||||
<CharString index="1" fingerprint="8182c88f">
|
||||
{2f89f84b} callgsubr
|
||||
endchar
|
||||
</CharString>
|
||||
<CharString index="2" fingerprint="1c31358f">
|
||||
27 -46 380 271 10 52 return
|
||||
</CharString>
|
||||
</Subrs>
|
||||
<GlobalSubrs>
|
||||
<CharString index="0" fingerprint="eadcabe1">
|
||||
-393 417 hintmask 11000000
|
||||
{9e664772} callgsubr
|
||||
232 -235 rlineto
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="1" fingerprint="9e664772">
|
||||
206 591 rmoveto
|
||||
-41 -40 return
|
||||
</CharString>
|
||||
<CharString index="2" fingerprint="50f87708">
|
||||
hlineto
|
||||
-10 -52 rlineto
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="3" fingerprint="2f89f84b">
|
||||
{1c31358f} callsubr
|
||||
rlineto
|
||||
return
|
||||
</CharString>
|
||||
</GlobalSubrs>
|
||||
</Glyph>
|
||||
@@ -0,0 +1,22 @@
|
||||
<Glyph name="hyphen_hyphen.liga" lsb="-379" width="550">
|
||||
<CharString>
|
||||
264 51 hstem
|
||||
-379 304 133 304 vstem
|
||||
-84 {3e00176a} callsubr
|
||||
732 hmoveto
|
||||
9 51 rlineto
|
||||
-295 hlineto
|
||||
-9 -51 rlineto
|
||||
endchar
|
||||
</CharString>
|
||||
<Subrs>
|
||||
<CharString index="0" fingerprint="3e00176a">
|
||||
264 rmoveto
|
||||
9 51 rlineto
|
||||
-295 hlineto
|
||||
-9 -51 rlineto
|
||||
return
|
||||
</CharString>
|
||||
</Subrs>
|
||||
<GlobalSubrs/>
|
||||
</Glyph>
|
||||
@@ -0,0 +1,44 @@
|
||||
<Glyph name="hyphen_hyphen_greater.liga" lsb="-980" width="550">
|
||||
<CharString>
|
||||
264 52 hstemhm
|
||||
-980 1440 {eadcabe1} callgsubr
|
||||
-1367 {50f87708} callgsubr
|
||||
1378 {5fadfa30} callsubr
|
||||
</CharString>
|
||||
<Subrs>
|
||||
<CharString index="0" fingerprint="5fadfa30">
|
||||
hlineto
|
||||
hintmask 10100000
|
||||
-331 -235 {8182c88f} callsubr
|
||||
</CharString>
|
||||
<CharString index="1" fingerprint="8182c88f">
|
||||
{2f89f84b} callgsubr
|
||||
endchar
|
||||
</CharString>
|
||||
<CharString index="2" fingerprint="1c31358f">
|
||||
27 -46 380 271 10 52 return
|
||||
</CharString>
|
||||
</Subrs>
|
||||
<GlobalSubrs>
|
||||
<CharString index="0" fingerprint="eadcabe1">
|
||||
-393 417 hintmask 11000000
|
||||
{9e664772} callgsubr
|
||||
232 -235 rlineto
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="1" fingerprint="9e664772">
|
||||
206 591 rmoveto
|
||||
-41 -40 return
|
||||
</CharString>
|
||||
<CharString index="2" fingerprint="50f87708">
|
||||
hlineto
|
||||
-10 -52 rlineto
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="3" fingerprint="2f89f84b">
|
||||
{1c31358f} callsubr
|
||||
rlineto
|
||||
return
|
||||
</CharString>
|
||||
</GlobalSubrs>
|
||||
</Glyph>
|
||||
@@ -0,0 +1,14 @@
|
||||
<Glyph name="less_bar.liga" lsb="-309" width="550">
|
||||
<CharString>
|
||||
-309 62 378 56 vstem
|
||||
316 773 rmoveto
|
||||
-614 -456 -11 -54 441 -441 -1 -3 rlineto
|
||||
56 hlineto
|
||||
184 949 rlineto
|
||||
-225 -874 rmoveto
|
||||
-393 392 1 8 548 405 rlineto
|
||||
endchar
|
||||
</CharString>
|
||||
<Subrs/>
|
||||
<GlobalSubrs/>
|
||||
</Glyph>
|
||||
@@ -0,0 +1,24 @@
|
||||
<Glyph name="less_equal.2.liga" lsb="-364" width="550">
|
||||
<CharString>
|
||||
148 -21 hstem
|
||||
-365 706 vstem
|
||||
364 18 rmoveto
|
||||
-10 -52 -643 293 {cc477545} callsubr
|
||||
-168 -405 rmoveto
|
||||
705 hlineto
|
||||
{0e168d1d} callsubr
|
||||
-705 hlineto
|
||||
endchar
|
||||
</CharString>
|
||||
<Subrs>
|
||||
<CharString index="0" fingerprint="cc477545">
|
||||
11 54 722 278 16 -43 -655 -258 -1 -8 rlineto
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="1" fingerprint="0e168d1d">
|
||||
10 50 rlineto
|
||||
return
|
||||
</CharString>
|
||||
</Subrs>
|
||||
<GlobalSubrs/>
|
||||
</Glyph>
|
||||
@@ -0,0 +1,17 @@
|
||||
<Glyph name="less_equal.liga" lsb="-309" width="550">
|
||||
<CharString>
|
||||
-363 699 vstem
|
||||
377 22 rmoveto
|
||||
-33 -42 -620 283 {cc477545} callsubr
|
||||
-126 -193 rmoveto
|
||||
11 56 642 -297 -33 -42 rlineto
|
||||
endchar
|
||||
</CharString>
|
||||
<Subrs>
|
||||
<CharString index="0" fingerprint="cc477545">
|
||||
11 54 722 278 16 -43 -655 -258 -1 -8 rlineto
|
||||
return
|
||||
</CharString>
|
||||
</Subrs>
|
||||
<GlobalSubrs/>
|
||||
</Glyph>
|
||||
@@ -0,0 +1,58 @@
|
||||
<Glyph name="less_equal_equal.liga" lsb="-1007" width="550">
|
||||
<CharString>
|
||||
{17e5c391} callgsubr
|
||||
-1010 1478 -1475 {9772cd75} callsubr
|
||||
-825 379 rmoveto
|
||||
1335 hlineto
|
||||
{9b1a6feb} callsubr
|
||||
-1273 {a374cd37} callsubr
|
||||
{c18f7f36} callgsubr
|
||||
hintmask 11100000
|
||||
1285 hlineto
|
||||
{9b1a6feb} callsubr
|
||||
-1348 hlineto
|
||||
-77 78 2 8 rlineto
|
||||
endchar
|
||||
</CharString>
|
||||
<Subrs>
|
||||
<CharString index="0" fingerprint="9772cd75">
|
||||
417 hintmask 11100000
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="1" fingerprint="9b1a6feb">
|
||||
11 52 rlineto
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="2" fingerprint="a374cd37">
|
||||
hlineto
|
||||
hintmask 11010000
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="3" fingerprint="502a035d">
|
||||
{46d990e9} callgsubr
|
||||
278 -286 41 41 return
|
||||
</CharString>
|
||||
</Subrs>
|
||||
<GlobalSubrs>
|
||||
<CharString index="0" fingerprint="17e5c391">
|
||||
{a926ac67} callgsubr
|
||||
hstemhm
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="1" fingerprint="a926ac67">
|
||||
156 52 171 52 return
|
||||
</CharString>
|
||||
<CharString index="2" fingerprint="c18f7f36">
|
||||
162 115 {502a035d} callsubr
|
||||
{13fcb190} callgsubr
|
||||
rlineto
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="3" fingerprint="46d990e9">
|
||||
-27 45 -381 -270 -9 -52 return
|
||||
</CharString>
|
||||
<CharString index="4" fingerprint="13fcb190">
|
||||
-130 132 return
|
||||
</CharString>
|
||||
</GlobalSubrs>
|
||||
</Glyph>
|
||||
@@ -0,0 +1,76 @@
|
||||
<Glyph name="less_equal_greater.liga" lsb="-1007" width="550">
|
||||
<CharString>
|
||||
{17e5c391} callgsubr
|
||||
-1007 417 657 417 hintmask 11010000
|
||||
{e0be236e} callsubr
|
||||
-1036 hlineto
|
||||
hintmask 11110000
|
||||
{c18f7f36} callgsubr
|
||||
1064 hlineto
|
||||
{9521edfd} callgsubr
|
||||
-1189 hlineto
|
||||
{553b793e} callgsubr
|
||||
1160 hlineto
|
||||
89 -90 rlineto
|
||||
endchar
|
||||
</CharString>
|
||||
<Subrs>
|
||||
<CharString index="0" fingerprint="e0be236e">
|
||||
{9e664772} callgsubr
|
||||
119 -120 rlineto
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="1" fingerprint="502a035d">
|
||||
{46d990e9} callgsubr
|
||||
278 -286 41 41 return
|
||||
</CharString>
|
||||
<CharString index="2" fingerprint="b821e20e">
|
||||
-179 -127 {2f89f84b} callgsubr
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="3" fingerprint="1c31358f">
|
||||
27 -46 380 271 10 52 return
|
||||
</CharString>
|
||||
</Subrs>
|
||||
<GlobalSubrs>
|
||||
<CharString index="0" fingerprint="17e5c391">
|
||||
{a926ac67} callgsubr
|
||||
hstemhm
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="1" fingerprint="a926ac67">
|
||||
156 52 171 52 return
|
||||
</CharString>
|
||||
<CharString index="2" fingerprint="9e664772">
|
||||
206 591 rmoveto
|
||||
-41 -40 return
|
||||
</CharString>
|
||||
<CharString index="3" fingerprint="c18f7f36">
|
||||
162 115 {502a035d} callsubr
|
||||
{13fcb190} callgsubr
|
||||
rlineto
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="4" fingerprint="46d990e9">
|
||||
-27 45 -381 -270 -9 -52 return
|
||||
</CharString>
|
||||
<CharString index="5" fingerprint="13fcb190">
|
||||
-130 132 return
|
||||
</CharString>
|
||||
<CharString index="6" fingerprint="9521edfd">
|
||||
{b821e20e} callsubr
|
||||
-62 -25 rmoveto
|
||||
-103 -73 rlineto
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="7" fingerprint="2f89f84b">
|
||||
{1c31358f} callsubr
|
||||
rlineto
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="8" fingerprint="553b793e">
|
||||
-77 78 2 8 120 85 rlineto
|
||||
return
|
||||
</CharString>
|
||||
</GlobalSubrs>
|
||||
</Glyph>
|
||||
@@ -0,0 +1,69 @@
|
||||
<Glyph name="less_equal_less.liga" lsb="-1007" width="550">
|
||||
<CharString>
|
||||
{17e5c391} callgsubr
|
||||
-1010 1469 -1466 417 683 {9772cd75} callsubr
|
||||
155 294 rmoveto
|
||||
hintmask 11001000
|
||||
{ba93ac95} callgsubr
|
||||
-1009 {a374cd37} callsubr
|
||||
{c18f7f36} callgsubr
|
||||
1021 {a556ddda} callgsubr
|
||||
-1023 -78 rmoveto
|
||||
{553b793e} callgsubr
|
||||
1009 hlineto
|
||||
-82 -58 rlineto
|
||||
hintmask 11001000
|
||||
-9 -52 59 -61 rlineto
|
||||
endchar
|
||||
</CharString>
|
||||
<Subrs>
|
||||
<CharString index="0" fingerprint="9772cd75">
|
||||
417 hintmask 11100000
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="1" fingerprint="a374cd37">
|
||||
hlineto
|
||||
hintmask 11010000
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="2" fingerprint="502a035d">
|
||||
{46d990e9} callgsubr
|
||||
278 -286 41 41 return
|
||||
</CharString>
|
||||
</Subrs>
|
||||
<GlobalSubrs>
|
||||
<CharString index="0" fingerprint="17e5c391">
|
||||
{a926ac67} callgsubr
|
||||
hstemhm
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="1" fingerprint="a926ac67">
|
||||
156 52 171 52 return
|
||||
</CharString>
|
||||
<CharString index="2" fingerprint="ba93ac95">
|
||||
355 252 -27 45 -226 -160 rlineto
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="3" fingerprint="c18f7f36">
|
||||
162 115 {502a035d} callsubr
|
||||
{13fcb190} callgsubr
|
||||
rlineto
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="4" fingerprint="46d990e9">
|
||||
-27 45 -381 -270 -9 -52 return
|
||||
</CharString>
|
||||
<CharString index="5" fingerprint="13fcb190">
|
||||
-130 132 return
|
||||
</CharString>
|
||||
<CharString index="6" fingerprint="a556ddda">
|
||||
hlineto
|
||||
168 -173 41 41 -259 262 rlineto
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="7" fingerprint="553b793e">
|
||||
-77 78 2 8 120 85 rlineto
|
||||
return
|
||||
</CharString>
|
||||
</GlobalSubrs>
|
||||
</Glyph>
|
||||
@@ -0,0 +1,48 @@
|
||||
<Glyph name="less_exclam_hyphen_hyphen.liga" lsb="-1557" width="550">
|
||||
<CharString>
|
||||
0 96 168 52 hstem
|
||||
-1557 417 213 225 vstem
|
||||
-852 {1df71722} callsubr
|
||||
-288 320 rmoveto
|
||||
{e6467a83} callgsubr
|
||||
446 hlineto
|
||||
13 52 rlineto
|
||||
-448 hlineto
|
||||
861 hmoveto
|
||||
-10 -52 rlineto
|
||||
1044 hlineto
|
||||
13 52 rlineto
|
||||
-1371 -316 {2f3e5c58} callsubr
|
||||
</CharString>
|
||||
<Subrs>
|
||||
<CharString index="0" fingerprint="1df71722">
|
||||
226 rmoveto
|
||||
39 hlineto
|
||||
25 116 56 211 30 122 rrcurveto
|
||||
-78 hlineto
|
||||
-21 -122 -29 -211 -22 -116 rrcurveto
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="1" fingerprint="502a035d">
|
||||
{46d990e9} callgsubr
|
||||
278 -286 41 41 return
|
||||
</CharString>
|
||||
<CharString index="2" fingerprint="2f3e5c58">
|
||||
rmoveto
|
||||
90 hlineto
|
||||
20 96 rlineto
|
||||
-90 hlineto
|
||||
endchar
|
||||
</CharString>
|
||||
</Subrs>
|
||||
<GlobalSubrs>
|
||||
<CharString index="0" fingerprint="e6467a83">
|
||||
{502a035d} callsubr
|
||||
-237 240 rlineto
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="1" fingerprint="46d990e9">
|
||||
-27 45 -381 -270 -9 -52 return
|
||||
</CharString>
|
||||
</GlobalSubrs>
|
||||
</Glyph>
|
||||
@@ -0,0 +1,31 @@
|
||||
<Glyph name="less_hyphen.liga" lsb="-457" width="550">
|
||||
<CharString>
|
||||
264 52 hstem
|
||||
-457 {e8cda87a} callsubr
|
||||
-808 hlineto
|
||||
324 230 {e6467a83} callgsubr
|
||||
806 hlineto
|
||||
endchar
|
||||
</CharString>
|
||||
<Subrs>
|
||||
<CharString index="0" fingerprint="e8cda87a">
|
||||
417 vstem
|
||||
444 316 rmoveto
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="1" fingerprint="502a035d">
|
||||
{46d990e9} callgsubr
|
||||
278 -286 41 41 return
|
||||
</CharString>
|
||||
</Subrs>
|
||||
<GlobalSubrs>
|
||||
<CharString index="0" fingerprint="e6467a83">
|
||||
{502a035d} callsubr
|
||||
-237 240 rlineto
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="1" fingerprint="46d990e9">
|
||||
-27 45 -381 -270 -9 -52 return
|
||||
</CharString>
|
||||
</GlobalSubrs>
|
||||
</Glyph>
|
||||
@@ -0,0 +1,31 @@
|
||||
<Glyph name="less_hyphen_hyphen.liga" lsb="-1007" width="550">
|
||||
<CharString>
|
||||
264 52 hstem
|
||||
-1007 {e8cda87a} callsubr
|
||||
-1358 hlineto
|
||||
324 230 {e6467a83} callgsubr
|
||||
1356 hlineto
|
||||
endchar
|
||||
</CharString>
|
||||
<Subrs>
|
||||
<CharString index="0" fingerprint="e8cda87a">
|
||||
417 vstem
|
||||
444 316 rmoveto
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="1" fingerprint="502a035d">
|
||||
{46d990e9} callgsubr
|
||||
278 -286 41 41 return
|
||||
</CharString>
|
||||
</Subrs>
|
||||
<GlobalSubrs>
|
||||
<CharString index="0" fingerprint="e6467a83">
|
||||
{502a035d} callsubr
|
||||
-237 240 rlineto
|
||||
return
|
||||
</CharString>
|
||||
<CharString index="1" fingerprint="46d990e9">
|
||||
-27 45 -381 -270 -9 -52 return
|
||||
</CharString>
|
||||
</GlobalSubrs>
|
||||
</Glyph>
|
||||
@@ -0,0 +1,17 @@
|
||||
<Glyph name="less_slash.liga" lsb="-457" width="525">
|
||||
<CharString>
|
||||
418 -457 417 -245 665 hintmask 10000000
|
||||
333 712 rmoveto
|
||||
-479 -680 -251 254 2 8 355 252 {46d990e9} callgsubr
|
||||
277 -285 rlineto
|
||||
hintmask 01000000
|
||||
-105 -148 53 -14 612 867 rlineto
|
||||
endchar
|
||||
</CharString>
|
||||
<Subrs/>
|
||||
<GlobalSubrs>
|
||||
<CharString index="0" fingerprint="46d990e9">
|
||||
-27 45 -381 -270 -9 -52 return
|
||||
</CharString>
|
||||
</GlobalSubrs>
|
||||
</Glyph>
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user