refactor(font): rewrite mapping.pl
in Python
#3715
Open
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.
Assumes #3714 gets merged, and likewise this PR is ready for merging.
This rewrite is almost trivial, as we can reuse the mapping from the font generation code. Because this deduplicates code, there is no need to keep the mappings in sync. The only real rewrite is the inversion of the mapping from the original Perl code, the rest of the old Perl code was a duplication of the mapping.
This commit also contains the newly generated
fontMetricsData.js
. The changes in this file correspond to adding all of the metrics of two fonts (Caligraphic-Bold
andFraktur-Bold
), and a few touch-ups for several glyphs:In
Main-Italic
we add metrics for two glyphs:The rest of the additions are in
Typewriter-Regular
:729 and 733 are a little weird as the Unicode descriptions do not match their glyphs.
Three glyphs are removed from
Typewriter-Regular
: (770, 771, 776) / (0x302, 0x303, 0x308). These are not present in the generated font files, so it's save to remove them.Only 126: 0x7E in
Typewriter-Regular
has changed metrics, its height and depth change.Disregarding the added metrics in the generated file, merging this chain of PR's removes a net of 1K LOC.
Closes #3702.