DeltaValue writer fails to write #3757
Closed
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.
I have a font with Delta values built into the
GPOS
table that I am trying to round-trip through TTX:Here is an example of it:
However, every time I tried to build the font, fonttools errors on the deltavalues above. Stepping through the specific code in otConverters, I found that the problem is due to this line
assert len(DeltaValue) == nItems
. In manually counting the items, this assertion appears to be fine, but I discovered that thevalue
that is being passed intoDeltaValue
is not[2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1]
as it should be, but[[2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1]]
, which is of course returning alen
of 1 instead of 13.Adding
[0]
to the declaration forDeltaValue
solves this problem.