fix(mono): maintain fixed width for fractions and code ligatures #44
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes #33
Rationale and fixes implemented
Few things to note here, this PR tweaks all the mono glyphs to the same metric width (600) -- thus, system and code editors will recognise Geist Mono as a monospace font.
In doing so, a few things needed to be changed :
frac
open type feature. It didn't make sense to include it as the input was 3 characters (ie.1
/
2
) to result in 1 character (½
)SPC
glyph -- empty character -- which is used as a filler character to construct the ligatureliga
(standard ligature) feature -- previously auto generatedcalt
(contextual alternative) feature -- this replaces theliga
and contains all previous instructions but utilising theSPC
character. This is the same/similar approach as how JetBrains Mono, Fire Code, et al... uses.Test export files -- ttf only
8f30371GeistMono.zip
Supporting screenshots
Redrawn fraction glyphs

Now recognised as a monospace by WebStorm

(I didn't test other code editors or systems, would be super surprised if others don't recognise it now as a monospace)
Ligature still works

Actions and next steps
Keen to get some peer (/stress) testing in to see if I'm missed any code ligature pairings and if any ignore sub needed to be added.
Fractions should be viewed from a design perspective.
If all happy, would need to cut a new release -- I didn't do this bit as it's not documented how y'all are exporting the binary font files (either directly from Glyphs or using fontmake or other scripts)