Initialize CFF DICT's _defaultWidthX and _nominalWidthX #445
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.
As specified by CFF specification (see page 24), the defaultWidthX and nominalWidthX operators should have a default value of 0.
Description
gatherCFFTopDicts
parses the CFF table's DICT data. It is in charge of assigning correct defaults for the private DICT operator subrs. I assumed we would like to also initialize the default values for _defaultWidthX and _nominalWidthX here, since other calculations rely on there always being a value for the topDict's _defaultWidthX and _nominalWidthX.Motivation and Context
This solves the problem of OTF fonts that don't have a private DICT having all glyphs end up with a width of NaN, since the width calculation expects values for _defaultWidthX and _nominalWidthX.
How Has This Been Tested?
The following test used to fail their assertion. They now pass.
Screenshots (if appropriate):
Types of changes
Checklist:
npm run test
and all tests passed green (including code styling checks).