fix cmap table selection (fix #649) #650
Merged
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.
Description
I introduced a bug with my PR #338, this is the fix for it. We always want to take the first CMAP table that we support, but keep on looking for an optional format 14 table that will be applied separately (this is the only exception, all other CMAP tables are exclusive). But I forgot to check if we already found a CMAP table when setting the offset for the supported table format, so it kept overriding the selected table until it found a format 14 table, thus always using the last instead of the first supported table.
Motivation and Context
fix #649, this bug broke the unicode test suite tests CFF-1 and CFF-2, and probably other fonts as well.
How Has This Been Tested?
loaded the FDArray test fonts and checked if the chars that broke in the test suite are displayed as expected
Screenshots (if appropriate):
Types of changes
Checklist:
npm run test
and all tests passed green (including code styling checks).