I'm trying to read the IFT table from the font generated using IFT encoder and discovered there is inconsistencies between the entry's patch uri and the patch file names, they do not match up.
The culprit:
IFT patch format 2 specs states:
If the entryIdStringData offset is 0 then initialize last entry id to 0. Otherwise initialize it to an empty byte string. Set current byte to 0, and current id string byte to 0.
The lastEntryId should initialize as 0 if entryIdStringData is empty else it should initialize to b"" and use entry's entryIdStringLength to derive the actual entry ID.
I'm trying to read the IFT table from the font generated using IFT encoder and discovered there is inconsistencies between the entry's patch uri and the patch file names, they do not match up.
The culprit:
fonttools/Lib/fontTools/ttLib/tables/otConverters.py
Line 2058 in 386243e
IFT patch format 2 specs states:
The
lastEntryIdshould initialize as 0 ifentryIdStringDatais empty else it should initialize tob""and use entry'sentryIdStringLengthto derive the actual entry ID.