Add documentatio
2
.gitignore
vendored
|
|
@ -1,2 +1,2 @@
|
||||||
.DS_Store
|
.DS_Store
|
||||||
Source/*(Autosaved).glyphs
|
Sources/*(Autosaved).glyphs
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,4 @@
|
||||||
# Contributing
|
# Contributing
|
||||||
|
|
||||||
I know I say contributions are welcome, but this is my anonymous internet art project. Feel free to make suggestions or additions or even "I could go work on this languauge/glyph you can't be bothered to do Chris, and then you can have final veto..". I usually do veto, because I'm an anti-social like that. I'm sorry, I don't mean any malice, but hey, I'll loose interest otherwise and then this project really will be useless to everyone. And obviously, the worst kind of veto is an un-reviewed pull request (sorry, I'm a busy guy).
|
1. Read the [Documentation](./Documentation/Documentation.md)
|
||||||
|
2. Create a pull request
|
||||||
The letters are the way they are because I wanted them that way. I also reserve the right to also go "this is shit, what was I thinking" and rub it out and do it again. If you don't like that, feel free to fork this project and take my name off your theft*.
|
|
||||||
|
|
||||||
Why the change of heart? As of late 2019, several high profile contributors in the open source community have been (essentially) removed from their own projects. I intend to subvert that trend. I care more about autonomy than irrelevance.
|
|
||||||
|
|
||||||
*: All great artists steal, btw ;)
|
|
||||||
195
Documentation/Documentation.md
Normal file
|
|
@ -0,0 +1,195 @@
|
||||||
|
# <a name="documentation"></a> Documentation
|
||||||
|
|
||||||
|
## <a name="contents"></a> Table of Contents
|
||||||
|
|
||||||
|
* [Documentation](#documentation)
|
||||||
|
* [Table of Contents](#contents)
|
||||||
|
* [Workflow](#workflow)
|
||||||
|
* [Metrics](#metrics)
|
||||||
|
* [Italics](#italics)
|
||||||
|
* [Dimensions/stroke width](#dimensions)
|
||||||
|
* [Alignment Zones](#alignmentzones)
|
||||||
|
* [HT Letterspacer](#htletterspacer)
|
||||||
|
* [BubbleKern](#bubblekern)
|
||||||
|
* [Cursify](#cursify)
|
||||||
|
* [Release process](#releaseprocess)
|
||||||
|
* [Export formats](#exportformats)
|
||||||
|
* [Future plans](#futureplans)
|
||||||
|
* [Alternative to Glyphs](#alternatives)
|
||||||
|
* [Submitting a PR](#PRs)
|
||||||
|
|
||||||
|
## <a name="workflow"></a> Workflow
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Metropolis is built with an entirely Glyphs ([https://glyphsapp.com](https://glyphsapp.com)) based workflow. I can't recommend Glyphs enough, though it does come with a price tag.
|
||||||
|
|
||||||
|
The two plugins that are essential to this workflow are HT Letterspacer ([https://huertatipografica.github.io/HTLetterspacer/)](https://huertatipografica.github.io/HTLetterspacer/) and BubbleKern ([http://glyphsextensions.com/bubblekern/](http://glyphsextensions.com/bubblekern/)). More on both those below.
|
||||||
|
|
||||||
|
## <a name="metrics"></a> Metrics
|
||||||
|
|
||||||
|
Given an **em square of 1000**, the metrics for Metropolis are as follows:
|
||||||
|
|
||||||
|
| Value
|
||||||
|
--- | -----
|
||||||
|
Ascender | 795
|
||||||
|
Cap Height | 687
|
||||||
|
x-Height | 517
|
||||||
|
Descender | -205
|
||||||
|
|
||||||
|
### <a name="italics"></a> Italics
|
||||||
|
|
||||||
|
The italics angle is universally **11.75°**.
|
||||||
|
|
||||||
|
### <a name="dimensions"></a> Dimensions or 'stroke width'
|
||||||
|
|
||||||
|
The dimensions are as follows:
|
||||||
|
|
||||||
|
Light | Regular | Black
|
||||||
|
--- | --- | ---
|
||||||
|
 |  | 
|
||||||
|
|
||||||
|
Example: If drawing something like an 'x', I likely will start with an elongated vertical bar with the same width as the vertical stem in 'n'. After rotating it the appropriate width to create the letter 'x' of the desired width, a lot of adjustment takes place. The final result cannot be reasonably estimated something akin to 'stroke width y at a degree of z'. This is essentially how all diagonals have been drawn to date. Start with an initial shape based off these dimensions and then infinite adjustment.
|
||||||
|
|
||||||
|
### <a name="alignmentzones"></a> Alignment Zones
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Also across all current 6 masters, the alignment zones are +/- a value of **12**. This is a good value for this style of sans typeface for an em square of 1000, so I'll often use a value of 12, not just for Metropolis.
|
||||||
|
|
||||||
|
There like are (or should be) some other values here and there, but I can't provide them because, well, I largely just started drawing outlines straight into Glyphs, rather than work off physical sketches or source material. Maybe that's a 'wrong' way to do type design, but it works for me. That will explain why some outlikes are a bit primitive. For example, I'm still not really happy with the lowercase 'a' overall, but I am reticent to change it to something already familiar over something original. This is an original work, not a copy, after all.
|
||||||
|
|
||||||
|
Armed with all the above metrics, you should be able draw a great many number of outlines/glyphs. There are 327 already there by my count. I say outlines, I have intentionally left out spacing until now.
|
||||||
|
|
||||||
|
|
||||||
|
## <a name="htletterspacer"></a> HT Letterspacer
|
||||||
|
|
||||||
|
HT Letterspacer is a tool that automatically calculates the appropriate left and right bearing on any glyph, essentially doing the spacing part of the design automatically.
|
||||||
|
|
||||||
|
In order for this to work, the plugin requires a few parameters, which can be found in the custom parameters in the masters tab of the font info window, namely `paramArea`, `paramDepth`, `paramOver`.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Checkout [https://huertatipografica.github.io/HTLetterspacer/)]() for a much more thorough explanation of this tool. Essentially the above metrics tell HT Letterspacer how much space to allocate. I have chosen the following values:
|
||||||
|
|
||||||
|
| Thin | Regular | Black
|
||||||
|
--- | ---- | ------- | -----
|
||||||
|
`paramArea` | 350 | 310 | 370
|
||||||
|
`paramDepth` | 5 | 7 | 16
|
||||||
|
`paramOver` | 2 | 9 | 22
|
||||||
|
|
||||||
|
I roughly understand what these numbers do, but I'm not going to explain how I've arrived at these specific values. A **lot** of fiddling, adjusting and trial & error.
|
||||||
|
|
||||||
|
In addition to this, each *.glyphs file needs a corresponding autospace file. For instance:
|
||||||
|
|
||||||
|
```
|
||||||
|
./Metropolis.glyphs
|
||||||
|
./Metropolis_Black_autospace.py
|
||||||
|
./Metropolis_Regular_autospace.py
|
||||||
|
./Metropolis_Thin_autospace.py
|
||||||
|
```
|
||||||
|
|
||||||
|
and
|
||||||
|
|
||||||
|
```
|
||||||
|
./Metropolis-Italic.glyphs
|
||||||
|
./Metropolis-Italic_Black_autospace.py
|
||||||
|
./Metropolis-Italic_Regular_autospace.py
|
||||||
|
./Metropolis-Italic_Thin_autospace.py
|
||||||
|
```
|
||||||
|
|
||||||
|
You will actually need a relatively new version of HT Letterspacer as I actually submitted a PR allowing masters/weights to have individually set values. (As far as I understand) the param values define overall weight (and/or rhythm) of the typeface, whereas the autospace file defines ratios between things like uppercase, small caps, lowercase, numbers etc.
|
||||||
|
|
||||||
|
Once both the plugin and these settings are correctly set up, you can invoke the tool one of two ways: 1) with the UI and 2) without. The UI allows you to manually override settings (which is not what we want), so I choose to always invoke it without the UI. Once invoked, you can easily repeat the operation with **Option + Command + R**.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
## <a name="bubblekern"></a> BubbleKern
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
After drawing and spacing our glyphs, we need to define approriate kerning information. This would be a mammoth job to do manually each release, so instead I'm using BubbleKern ([http://glyphsextensions.com/bubblekern/](http://glyphsextensions.com/bubblekern/)). If you think back to days of old physical type, imagine the 'bubbles' being the shaped physical block the glyph is mounted on. The block itself is contoured outside of the perimeter of the glyph to allow glyphs tightly align.
|
||||||
|
|
||||||
|
Basically for reach outline layer, there needs to be a corresponding 'bubble' layer (see right hand side 'Layers' pane).
|
||||||
|
|
||||||
|
It is crucial the width of the corresponding layers are the same (e.g. the 'Thin' layer and it's immediately following 'bubble' layer) for this to work correctly.
|
||||||
|
|
||||||
|
Once defined/drawn for every glyph, BubbleKern is then run. I have prepared `Metropolis BubbleKern Pairs.txt` for this. **Any kern pairs must go in this file/BubbleKern must only be run using this file.**
|
||||||
|
|
||||||
|
## <a name="cursify"></a> Cursify
|
||||||
|
|
||||||
|
I'm largely using Glyph's 'Cursify' tool to do the italics. This yeilds better results that simply slanting the glyph shapes from the regular/normal glyph, though from memory I was doing something tricky like slanting the vertical bars and cursifying everything else.
|
||||||
|
|
||||||
|
Will update if/when I can recreate how I did this. Again, a lot of just eyeballing and trail and error.
|
||||||
|
|
||||||
|
Cursify | Slant
|
||||||
|
--- | ---
|
||||||
|
 | 
|
||||||
|
|
||||||
|
## <a name="releaseprocess"></a> Release process
|
||||||
|
|
||||||
|
Is as follows:
|
||||||
|
|
||||||
|
1. Remove all kerning
|
||||||
|
2. Draw
|
||||||
|
3. Space
|
||||||
|
4. Draw BubbleKern bubbles
|
||||||
|
5. Re-Run BubbleKern
|
||||||
|
6. Export
|
||||||
|
7. Commit
|
||||||
|
8. Create release tag
|
||||||
|
|
||||||
|
## <a name="exportformats"></a> Export formats
|
||||||
|
|
||||||
|
Once I've run BubbleKern, I create exports for OpenType, TrueType, UFO, EOT, WOFF & WOFF2.
|
||||||
|
|
||||||
|
# <a name="futureplans"></a> Future Plans
|
||||||
|
|
||||||
|
## Small Caps
|
||||||
|
|
||||||
|
There are some additional metrics that likely need to be defined before this can go ahead. There is an open PR for some caps, but I haven't reviewed and I'm not sure if spacing and/or kerning has been appropriately set.
|
||||||
|
|
||||||
|
## Rounded
|
||||||
|
|
||||||
|
A rounded version. Adjusting strokes an addition 12 points at cap ends.
|
||||||
|
|
||||||
|
## Slab/Serif
|
||||||
|
|
||||||
|
This one has had the least thought, but might be cool. Also could serve as some preliminary work for a possible monospaced version.
|
||||||
|
|
||||||
|
## Monospaced
|
||||||
|
|
||||||
|
As above
|
||||||
|
|
||||||
|
## Micro / Text / Display
|
||||||
|
|
||||||
|
This possibly would require an entire redrawing effort. The current metrics *kind of* work, but separating for different display sizes would likely need quite a rethink of the core metrics (and therefore spacing too). I don't really have any plans to do this. It's more of a 'if I was doing this all over again...' type thing.
|
||||||
|
|
||||||
|
# <a name="alternatives"></a> Alternative to Glyphs
|
||||||
|
|
||||||
|
At present, the best bet is the UFO export. However, if you want to request glyph, you must raise an issue and add your modified file as an attachment to the issue, rather than a pull request. I will only allow PRs to the glpyhs file.
|
||||||
|
|
||||||
|
This will in turn mean someone (likely myself) will need to translate this into an appropriate commit/PR.
|
||||||
|
|
||||||
|
# <a name="PRs"></a> Submitting a PR
|
||||||
|
|
||||||
|
I will only review PRs that are small and isolated and can be easily described and understood within the context of the PR rather than even needing to open it.
|
||||||
|
|
||||||
|
When saving the file for your PR close all other open tabs and leave one remaining with the added/modified glyphs visible. This makes it much easier to review PRs.
|
||||||
|
|
||||||
|
Please:
|
||||||
|
|
||||||
|
- Run the autospacing on your modified/created glyph before subitting as a PR
|
||||||
|
- Add relevant bubble kern to any modified/created glyph and set up as drescribed above
|
||||||
|
- Apply to all weights and both normal/italic where appropriate
|
||||||
|
|
||||||
|
Please do not:
|
||||||
|
|
||||||
|
- Modify any autospacing settings
|
||||||
|
- Modify any other kern bubbles
|
||||||
|
- Set manual kerns (or indeed run the kerning tool at all)
|
||||||
|
- Modify any glyphs not related to your changes
|
||||||
|
|
||||||
|
As a general rule, a small isolated commit should equal a small isolated PR.
|
||||||
|
|
||||||
|
|
||||||
BIN
Documentation/Images/00_Workflow.png
Normal file
|
After Width: | Height: | Size: 1.1 MiB |
BIN
Documentation/Images/01_InfoWindow.png
Normal file
|
After Width: | Height: | Size: 572 KiB |
BIN
Documentation/Images/02_DimensionsThin.png
Normal file
|
After Width: | Height: | Size: 9.7 KiB |
BIN
Documentation/Images/03_DimensionsRegular.png
Normal file
|
After Width: | Height: | Size: 8.5 KiB |
BIN
Documentation/Images/04_DimensionsBlack.png
Normal file
|
After Width: | Height: | Size: 11 KiB |
BIN
Documentation/Images/05_AlignmentZones.png
Normal file
|
After Width: | Height: | Size: 13 KiB |
BIN
Documentation/Images/06_HTLetterspacerUI.png
Normal file
|
After Width: | Height: | Size: 86 KiB |
BIN
Documentation/Images/07_BubbleKern.png
Normal file
|
After Width: | Height: | Size: 905 KiB |
BIN
Documentation/Images/08_Cursify.png
Normal file
|
After Width: | Height: | Size: 205 KiB |
BIN
Documentation/Images/09_Slant.png
Normal file
|
After Width: | Height: | Size: 204 KiB |
|
|
@ -1,3 +0,0 @@
|
||||||
# Kerning
|
|
||||||
|
|
||||||
## Kerning Groups
|
|
||||||
|
|
@ -1,7 +0,0 @@
|
||||||
# Workflow
|
|
||||||
|
|
||||||
## Glyphs App
|
|
||||||
|
|
||||||
## HT LetterSpacer
|
|
||||||
|
|
||||||
## BubbleKern
|
|
||||||
|
|
@ -2,19 +2,19 @@
|
||||||
|
|
||||||
A modern, geometric typeface. Open sourced, and openly available. Influenced by other popular geometric, minimalist sans-serif typefaces of the new millenium. Designed for optimal readability at small point sizes while beautiful at large point sizes.
|
A modern, geometric typeface. Open sourced, and openly available. Influenced by other popular geometric, minimalist sans-serif typefaces of the new millenium. Designed for optimal readability at small point sizes while beautiful at large point sizes.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
### Where am I?
|
### Where am I?
|
||||||
|
|
||||||
See .
|
See [Documentation](./Documentation/Documentation.md).
|
||||||
|
|
||||||
### The Unlicense
|
### The Unlicense
|
||||||
|
|
||||||
Contributions still welcome.
|
Contributions welcome.
|
||||||
|
|
||||||
### Contact
|
### Contact
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,35 +0,0 @@
|
||||||
|
|
||||||
# Reference
|
|
||||||
# Script, Category, Subcategory, value, referenceGlyph, filter
|
|
||||||
|
|
||||||
# Letters
|
|
||||||
*,Letter,Uppercase,1.25,H,*,
|
|
||||||
*,Letter,Smallcaps,1.1,h.sc,*,
|
|
||||||
*,Letter,Lowercase,1,x,*,
|
|
||||||
*,Letter,Lowercase,0.7,m.sups,.sups,
|
|
||||||
|
|
||||||
# Numbers
|
|
||||||
*,Number,Decimal Digit,1.2,one,*,
|
|
||||||
*,Number,Decimal Digit,1.2,zero.osf,.osf,
|
|
||||||
*,Number,Fraction,1.3,*,*,
|
|
||||||
*,Number,*,0.8,*,.dnom,
|
|
||||||
*,Number,*,0.8,*,.numr,
|
|
||||||
*,Number,*,0.8,*,.inferior,
|
|
||||||
*,Number,*,0.8,*,superior,
|
|
||||||
|
|
||||||
# Punctuation
|
|
||||||
*,Punctuation,Other,1.4,*,*,
|
|
||||||
*,Punctuation,Parenthesis,1.2,*,*,
|
|
||||||
*,Punctuation,Quote,1.2,*,*,
|
|
||||||
*,Punctuation,Dash,1,*,*,
|
|
||||||
*,Punctuation,*,1,*,slash,
|
|
||||||
*,Punctuation,*,1.2,*,*,
|
|
||||||
|
|
||||||
# Symbols
|
|
||||||
*,Symbol,Currency,1.6,*,*,
|
|
||||||
*,Symbol,*,1.5,*,*,
|
|
||||||
*,Mark,*,1,*,*,
|
|
||||||
|
|
||||||
# Devanagari
|
|
||||||
devanagari,Letter,Other,1,devaHeight,*,
|
|
||||||
devanagari,Letter,Ligature,1,devaHeight,*,
|
|
||||||
30064
Sources/Metropolis (Autosaved).glyphs
Normal file
|
|
@ -1,5 +1,5 @@
|
||||||
{
|
{
|
||||||
.appVersion = "1192";
|
.appVersion = "1271";
|
||||||
DisplayStrings = (
|
DisplayStrings = (
|
||||||
"AÁ/Abreve ÂÄÀ/Amacron/Aogonek ÅÃÆBC/Cacute/Ccaron ÇDÐ/Dcaron/Dcroat EÉ/Ecaron ÊË/Edotaccent/Edotbelow È/Emacron/Eogonek/Etilde FG/Gbreve/Gcommaaccent HIÍÎÏ/Idotaccent Ì/Imacron/Iogonek JK/Kcommaaccent L/Lacute/Lcaron/Lslash MN/Nacute/Ncaron/Ncommaaccent ÑOÓÔÖÒ/Ohungarumlaut/Omacron ØÕ/OE PÞQR/Racute/Rcaron/Rcommaaccent S/Sacute/Scaron/Scedilla T/Tcaron/Tcedilla UÚÛÜÙ/Uhungarumlaut/Umacron/Uogonek/Uring VW/Wacute/Wcircumflex/Wdieresis/Wgrave XYÝ/Ycircumflex/Ydieresis/Ygrave Z/Zacute/Zcaron/Zdotaccent aá/abreve âäà/amacron/aogonek åãæbc/cacute/ccaron çdð/dcaron/dcroat eé/ecaron êë/edotaccent/edotbelow è/emacron/eogonek/etilde fg/gbreve/gcommaaccent hi/idotless íîïì/imacron/iogonek j/jdotless k/kcommaaccent l/lacute/lcaron/lslash mn/nacute/ncaron/ncommaaccent ñoóôöò/ohungarumlaut/omacron øõ/oe pþqr/racute/rcaron/rcommaaccent s/sacute/scaron/scedilla ßt/tcaron/tcedilla uúûüù/uhungarumlaut/umacron/uogonek/uring vw/wacute/wcircumflex/wdieresis/wgrave xyý/ycircumflex/ydieresis/ygrave z/zacute/zcaron/zdotaccent/a.alt/aacute.alt/abreve.alt/acircumflex.alt/adieresis.alt/agrave.alt/amacron.alt/aogonek.alt/aring.alt/atilde.alt 0123456789.,:;/ellipsis !¡?¿·/bullet *#///backslash (){}[]-/endash/emdash _/quotedblbase/quotedblleft/quotedblright/quoteleft/quoteright «»/guilsinglleft/guilsinglright \"'/emspace/enspace/fourperemspace/narrownbspace/sixperemspace /threeperemspace ¢$/euro £¥+/minus ×÷=><~^%/perthousand @&¶©®/trademark |/dotaccentcomb/commaaccentcomb ´/breve/caron ¸/circumflex ¨/dotaccent `/hungarumlaut ¯/ogonek/ring/tilde",
|
"AÁ/Abreve ÂÄÀ/Amacron/Aogonek ÅÃÆBC/Cacute/Ccaron ÇDÐ/Dcaron/Dcroat EÉ/Ecaron ÊË/Edotaccent/Edotbelow È/Emacron/Eogonek/Etilde FG/Gbreve/Gcommaaccent HIÍÎÏ/Idotaccent Ì/Imacron/Iogonek JK/Kcommaaccent L/Lacute/Lcaron/Lslash MN/Nacute/Ncaron/Ncommaaccent ÑOÓÔÖÒ/Ohungarumlaut/Omacron ØÕ/OE PÞQR/Racute/Rcaron/Rcommaaccent S/Sacute/Scaron/Scedilla T/Tcaron/Tcedilla UÚÛÜÙ/Uhungarumlaut/Umacron/Uogonek/Uring VW/Wacute/Wcircumflex/Wdieresis/Wgrave XYÝ/Ycircumflex/Ydieresis/Ygrave Z/Zacute/Zcaron/Zdotaccent aá/abreve âäà/amacron/aogonek åãæbc/cacute/ccaron çdð/dcaron/dcroat eé/ecaron êë/edotaccent/edotbelow è/emacron/eogonek/etilde fg/gbreve/gcommaaccent hi/idotless íîïì/imacron/iogonek j/jdotless k/kcommaaccent l/lacute/lcaron/lslash mn/nacute/ncaron/ncommaaccent ñoóôöò/ohungarumlaut/omacron øõ/oe pþqr/racute/rcaron/rcommaaccent s/sacute/scaron/scedilla ßt/tcaron/tcedilla uúûüù/uhungarumlaut/umacron/uogonek/uring vw/wacute/wcircumflex/wdieresis/wgrave xyý/ycircumflex/ydieresis/ygrave z/zacute/zcaron/zdotaccent/a.alt/aacute.alt/abreve.alt/acircumflex.alt/adieresis.alt/agrave.alt/amacron.alt/aogonek.alt/aring.alt/atilde.alt 0123456789.,:;/ellipsis !¡?¿·/bullet *#///backslash (){}[]-/endash/emdash _/quotedblbase/quotedblleft/quotedblright/quoteleft/quoteright «»/guilsinglleft/guilsinglright \"'/emspace/enspace/fourperemspace/narrownbspace/sixperemspace /threeperemspace ¢$/euro £¥+/minus ×÷=><~^%/perthousand @&¶©®/trademark |/dotaccentcomb/commaaccentcomb ´/breve/caron ¸/circumflex ¨/dotaccent `/hungarumlaut ¯/ogonek/ring/tilde",
|
||||||
"AÁ/Abreve ÂÄÀ/Amacron/Aogonek ÅÃÆ"
|
"AÁ/Abreve ÂÄÀ/Amacron/Aogonek ÅÃÆ"
|
||||||
|
|
@ -20,6 +20,7 @@ alignmentZones = (
|
||||||
);
|
);
|
||||||
ascender = 795;
|
ascender = 795;
|
||||||
capHeight = 687;
|
capHeight = 687;
|
||||||
|
custom = Thin;
|
||||||
customValue = 5;
|
customValue = 5;
|
||||||
customParameters = (
|
customParameters = (
|
||||||
{
|
{
|
||||||
|
|
@ -84,6 +85,7 @@ position = "{1073, 185}";
|
||||||
horizontalStems = (
|
horizontalStems = (
|
||||||
36
|
36
|
||||||
);
|
);
|
||||||
|
iconName = Light;
|
||||||
id = "84328D8E-4D54-44EF-AF5C-0364B1C28646";
|
id = "84328D8E-4D54-44EF-AF5C-0364B1C28646";
|
||||||
italicAngle = 11.75;
|
italicAngle = 11.75;
|
||||||
userData = {
|
userData = {
|
||||||
|
|
@ -93,7 +95,6 @@ GSOffsetVertical = 44;
|
||||||
verticalStems = (
|
verticalStems = (
|
||||||
36
|
36
|
||||||
);
|
);
|
||||||
weight = Light;
|
|
||||||
widthValue = 5;
|
widthValue = 5;
|
||||||
xHeight = 517;
|
xHeight = 517;
|
||||||
},
|
},
|
||||||
|
|
@ -195,6 +196,7 @@ alignmentZones = (
|
||||||
);
|
);
|
||||||
ascender = 795;
|
ascender = 795;
|
||||||
capHeight = 687;
|
capHeight = 687;
|
||||||
|
custom = Black;
|
||||||
customValue = 5;
|
customValue = 5;
|
||||||
customParameters = (
|
customParameters = (
|
||||||
{
|
{
|
||||||
|
|
@ -253,6 +255,7 @@ horizontalStems = (
|
||||||
173,
|
173,
|
||||||
176
|
176
|
||||||
);
|
);
|
||||||
|
iconName = Bold;
|
||||||
id = "88AF04C7-891B-4BE3-8AB1-6195D630646B";
|
id = "88AF04C7-891B-4BE3-8AB1-6195D630646B";
|
||||||
italicAngle = 11.75;
|
italicAngle = 11.75;
|
||||||
userData = {
|
userData = {
|
||||||
|
|
@ -265,7 +268,6 @@ verticalStems = (
|
||||||
194,
|
194,
|
||||||
200
|
200
|
||||||
);
|
);
|
||||||
weight = Bold;
|
|
||||||
weightValue = 900;
|
weightValue = 900;
|
||||||
widthValue = 5;
|
widthValue = 5;
|
||||||
xHeight = 517;
|
xHeight = 517;
|
||||||
|
|
@ -28263,6 +28265,7 @@ nV = "193";
|
||||||
nd = "160";
|
nd = "160";
|
||||||
oH = "160";
|
oH = "160";
|
||||||
oV = "182";
|
oV = "182";
|
||||||
|
tH = "152";
|
||||||
};
|
};
|
||||||
"A0D976AB-773B-4D3A-9F7E-7A0C42AF1E7B" = {
|
"A0D976AB-773B-4D3A-9F7E-7A0C42AF1E7B" = {
|
||||||
HH = "173";
|
HH = "173";
|
||||||
35
Sources/Metropolis-Italic_Black_autospace.py
Normal file
|
|
@ -0,0 +1,35 @@
|
||||||
|
|
||||||
|
# Reference
|
||||||
|
# Script, Category, Subcategory, value, referenceGlyph, filter
|
||||||
|
|
||||||
|
# Letters
|
||||||
|
*,Letter,Uppercase,1.1,H,*,
|
||||||
|
*,Letter,Smallcaps,1.1,h.sc,*,
|
||||||
|
*,Letter,Lowercase,1,x,*,
|
||||||
|
*,Letter,Lowercase,0.75,m.sups,.sups,
|
||||||
|
|
||||||
|
# Numbers
|
||||||
|
*,Number,Decimal Digit,1.33,one,*,
|
||||||
|
*,Number,Decimal Digit,1.33,zero.osf,.osf,
|
||||||
|
*,Number,Fraction,1.33,*,*,
|
||||||
|
*,Number,*,0.75,*,.dnom,
|
||||||
|
*,Number,*,0.75,*,.numr,
|
||||||
|
*,Number,*,0.75,*,.inferior,
|
||||||
|
*,Number,*,0.75,*,superior,
|
||||||
|
|
||||||
|
# Punctuation
|
||||||
|
*,Punctuation,Other,1.33,*,*,
|
||||||
|
*,Punctuation,Parenthesis,1.33,*,*,
|
||||||
|
*,Punctuation,Quote,1.33,*,*,
|
||||||
|
*,Punctuation,Dash,1,*,*,
|
||||||
|
*,Punctuation,*,1,*,slash,
|
||||||
|
*,Punctuation,*,1.33,*,*,
|
||||||
|
|
||||||
|
# Symbols
|
||||||
|
*,Symbol,Currency,1.66,*,*,
|
||||||
|
*,Symbol,*,1.5,*,*,
|
||||||
|
*,Mark,*,1,*,*,
|
||||||
|
|
||||||
|
# Devanagari
|
||||||
|
devanagari,Letter,Other,1,devaHeight,*,
|
||||||
|
devanagari,Letter,Ligature,1,devaHeight,*,
|
||||||
35
Sources/Metropolis-Italic_Thin_autospace.py
Normal file
|
|
@ -0,0 +1,35 @@
|
||||||
|
|
||||||
|
# Reference
|
||||||
|
# Script, Category, Subcategory, value, referenceGlyph, filter
|
||||||
|
|
||||||
|
# Letters
|
||||||
|
*,Letter,Uppercase,1.44,H,*,
|
||||||
|
*,Letter,Smallcaps,1.1,h.sc,*,
|
||||||
|
*,Letter,Lowercase,1,x,*,
|
||||||
|
*,Letter,Lowercase,0.75,m.sups,.sups,
|
||||||
|
|
||||||
|
# Numbers
|
||||||
|
*,Number,Decimal Digit,1.33,one,*,
|
||||||
|
*,Number,Decimal Digit,1.33,zero.osf,.osf,
|
||||||
|
*,Number,Fraction,1.33,*,*,
|
||||||
|
*,Number,*,0.75,*,.dnom,
|
||||||
|
*,Number,*,0.75,*,.numr,
|
||||||
|
*,Number,*,0.75,*,.inferior,
|
||||||
|
*,Number,*,0.75,*,superior,
|
||||||
|
|
||||||
|
# Punctuation
|
||||||
|
*,Punctuation,Other,1.33,*,*,
|
||||||
|
*,Punctuation,Parenthesis,1.33,*,*,
|
||||||
|
*,Punctuation,Quote,1.33,*,*,
|
||||||
|
*,Punctuation,Dash,1,*,*,
|
||||||
|
*,Punctuation,*,1,*,slash,
|
||||||
|
*,Punctuation,*,1.33,*,*,
|
||||||
|
|
||||||
|
# Symbols
|
||||||
|
*,Symbol,Currency,1.66,*,*,
|
||||||
|
*,Symbol,*,1.5,*,*,
|
||||||
|
*,Mark,*,1,*,*,
|
||||||
|
|
||||||
|
# Devanagari
|
||||||
|
devanagari,Letter,Other,1,devaHeight,*,
|
||||||
|
devanagari,Letter,Ligature,1,devaHeight,*,
|
||||||
35
Sources/Metropolis_Black_autospace.py
Normal file
|
|
@ -0,0 +1,35 @@
|
||||||
|
|
||||||
|
# Reference
|
||||||
|
# Script, Category, Subcategory, value, referenceGlyph, filter
|
||||||
|
|
||||||
|
# Letters
|
||||||
|
*,Letter,Uppercase,1.1,H,*,
|
||||||
|
*,Letter,Smallcaps,1.1,h.sc,*,
|
||||||
|
*,Letter,Lowercase,1,x,*,
|
||||||
|
*,Letter,Lowercase,0.75,m.sups,.sups,
|
||||||
|
|
||||||
|
# Numbers
|
||||||
|
*,Number,Decimal Digit,1.33,one,*,
|
||||||
|
*,Number,Decimal Digit,1.33,zero.osf,.osf,
|
||||||
|
*,Number,Fraction,1.33,*,*,
|
||||||
|
*,Number,*,0.75,*,.dnom,
|
||||||
|
*,Number,*,0.75,*,.numr,
|
||||||
|
*,Number,*,0.75,*,.inferior,
|
||||||
|
*,Number,*,0.75,*,superior,
|
||||||
|
|
||||||
|
# Punctuation
|
||||||
|
*,Punctuation,Other,1.33,*,*,
|
||||||
|
*,Punctuation,Parenthesis,1.33,*,*,
|
||||||
|
*,Punctuation,Quote,1.33,*,*,
|
||||||
|
*,Punctuation,Dash,1,*,*,
|
||||||
|
*,Punctuation,*,1,*,slash,
|
||||||
|
*,Punctuation,*,1.33,*,*,
|
||||||
|
|
||||||
|
# Symbols
|
||||||
|
*,Symbol,Currency,1.66,*,*,
|
||||||
|
*,Symbol,*,1.5,*,*,
|
||||||
|
*,Mark,*,1,*,*,
|
||||||
|
|
||||||
|
# Devanagari
|
||||||
|
devanagari,Letter,Other,1,devaHeight,*,
|
||||||
|
devanagari,Letter,Ligature,1,devaHeight,*,
|
||||||
35
Sources/Metropolis_Regular_autospace.py
Normal file
|
|
@ -0,0 +1,35 @@
|
||||||
|
|
||||||
|
# Reference
|
||||||
|
# Script, Category, Subcategory, value, referenceGlyph, filter
|
||||||
|
|
||||||
|
# Letters
|
||||||
|
*,Letter,Uppercase,1.33,H,*,
|
||||||
|
*,Letter,Smallcaps,1.1,h.sc,*,
|
||||||
|
*,Letter,Lowercase,1,x,*,
|
||||||
|
*,Letter,Lowercase,0.75,m.sups,.sups,
|
||||||
|
|
||||||
|
# Numbers
|
||||||
|
*,Number,Decimal Digit,1.33,one,*,
|
||||||
|
*,Number,Decimal Digit,1.33,zero.osf,.osf,
|
||||||
|
*,Number,Fraction,1.33,*,*,
|
||||||
|
*,Number,*,0.75,*,.dnom,
|
||||||
|
*,Number,*,0.75,*,.numr,
|
||||||
|
*,Number,*,0.75,*,.inferior,
|
||||||
|
*,Number,*,0.75,*,superior,
|
||||||
|
|
||||||
|
# Punctuation
|
||||||
|
*,Punctuation,Other,1.33,*,*,
|
||||||
|
*,Punctuation,Parenthesis,1.33,*,*,
|
||||||
|
*,Punctuation,Quote,1.33,*,*,
|
||||||
|
*,Punctuation,Dash,1,*,*,
|
||||||
|
*,Punctuation,*,1,*,slash,
|
||||||
|
*,Punctuation,*,1.33,*,*,
|
||||||
|
|
||||||
|
# Symbols
|
||||||
|
*,Symbol,Currency,1.66,*,*,
|
||||||
|
*,Symbol,*,1.5,*,*,
|
||||||
|
*,Mark,*,1,*,*,
|
||||||
|
|
||||||
|
# Devanagari
|
||||||
|
devanagari,Letter,Other,1,devaHeight,*,
|
||||||
|
devanagari,Letter,Ligature,1,devaHeight,*,
|
||||||
35
Sources/Metropolis_Thin_autospace.py
Normal file
|
|
@ -0,0 +1,35 @@
|
||||||
|
|
||||||
|
# Reference
|
||||||
|
# Script, Category, Subcategory, value, referenceGlyph, filter
|
||||||
|
|
||||||
|
# Letters
|
||||||
|
*,Letter,Uppercase,1.44,H,*,
|
||||||
|
*,Letter,Smallcaps,1.1,h.sc,*,
|
||||||
|
*,Letter,Lowercase,1,x,*,
|
||||||
|
*,Letter,Lowercase,0.75,m.sups,.sups,
|
||||||
|
|
||||||
|
# Numbers
|
||||||
|
*,Number,Decimal Digit,1.33,one,*,
|
||||||
|
*,Number,Decimal Digit,1.33,zero.osf,.osf,
|
||||||
|
*,Number,Fraction,1.33,*,*,
|
||||||
|
*,Number,*,0.75,*,.dnom,
|
||||||
|
*,Number,*,0.75,*,.numr,
|
||||||
|
*,Number,*,0.75,*,.inferior,
|
||||||
|
*,Number,*,0.75,*,superior,
|
||||||
|
|
||||||
|
# Punctuation
|
||||||
|
*,Punctuation,Other,1.33,*,*,
|
||||||
|
*,Punctuation,Parenthesis,1.33,*,*,
|
||||||
|
*,Punctuation,Quote,1.33,*,*,
|
||||||
|
*,Punctuation,Dash,1,*,*,
|
||||||
|
*,Punctuation,*,1,*,slash,
|
||||||
|
*,Punctuation,*,1.33,*,*,
|
||||||
|
|
||||||
|
# Symbols
|
||||||
|
*,Symbol,Currency,1.66,*,*,
|
||||||
|
*,Symbol,*,1.5,*,*,
|
||||||
|
*,Mark,*,1,*,*,
|
||||||
|
|
||||||
|
# Devanagari
|
||||||
|
devanagari,Letter,Other,1,devaHeight,*,
|
||||||
|
devanagari,Letter,Ligature,1,devaHeight,*,
|
||||||
|
Before Width: | Height: | Size: 217 KiB After Width: | Height: | Size: 217 KiB |
|
Before Width: | Height: | Size: 154 KiB After Width: | Height: | Size: 154 KiB |
|
Before Width: | Height: | Size: 366 KiB After Width: | Height: | Size: 366 KiB |
|
Before Width: | Height: | Size: 368 KiB After Width: | Height: | Size: 368 KiB |