Fontmake - avoiding overflow

Post Reply
Eben Sorkin
Posts: 29
Joined: 27 Apr 2021

Fontmake - avoiding overflow

Post by Eben Sorkin »

I am wondering if anyone has insights into how to avoid an overflow post kern on when you run fontmake. I am using fontmake in the googlefonts/googlefonts-project-template.

The funny thing is I have been able to build without this error even with pretty big glyph sets! So I am guessed maybe something changed with either fontmake or kern-on. I'm hoping the error record has a clue. I will also be asking the folks at Google Fonts what they recon.

The bug I gets it reported like this in the build record
WARNING:fontTools.ttLib.tables.otBase:hb.repack failed to serialize 'GPOS', attempting fonttools resolutions ; the error message was: RepackerError
INFO:fontTools.ttLib.tables.otBase:Attempting to fix OTLOffsetOverflowError ('GPOS', 'LookupIndex:', 1, 'SubTableIndex:', None, 'ItemName:', None, 'ItemIndex:', None)
INFO:fontTools.ttLib.tables.otBase:Attempting to fix OTLOffsetOverflowError ('GPOS', 'LookupIndex:', 0, 'SubTableIndex:', 0, 'ItemName:', 'PairSet', 'ItemIndex:', 746)
INFO:fontTools.ttLib.tables.otBase:Attempting to fix OTLOffsetOverflowError ('GPOS', 'LookupIndex:', 0, 'SubTableIndex:', 0, 'ItemName:', 'PairSet', 'ItemIndex:', 746)
INFO:fontTools.ttLib.tables.otBase:Attempting to fix OTLOffsetOverflowError ('GPOS', 'LookupIndex:', 0, 'SubTableIndex:', 0, 'ItemName:', 'PairSet.<none>', 'ItemIndex:', None)
INFO:fontTools.ttLib.tables.otBase:Attempting to fix OTLOffsetOverflowError ('GPOS', 'LookupIndex:', 0, 'SubTableIndex:', 0, 'ItemName:', 'PairSet.<none>', 'ItemIndex:', None)
INFO:fontTools.ttLib.tables.otBase:Attempting to fix OTLOffsetOverflowError ('GPOS', 'LookupIndex:', 0, 'SubTableIndex:', 0, 'ItemName:', 'PairSet.<none>', 'ItemIndex:', None)
INFO:fontTools.ttLib.tables.otBase:Attempting to fix OTLOffsetOverflowError ('GPOS', 'LookupIndex:', 0, 'SubTableIndex:', 0, 'ItemName:', 'PairSet.<none>', 'ItemIndex:', None)
INFO:fontTools.ttLib.tables.otBase:Attempting to fix OTLOffsetOverflowError ('GPOS', 'LookupIndex:', 0, 'SubTableIndex:', 0, 'ItemName:', 'PairSet.<none>', 'ItemIndex:', None)
INFO:fontTools.ttLib.tables.otBase:Attempting to fix OTLOffsetOverflowError ('GPOS', 'LookupIndex:', 0, 'SubTableIndex:', 1, 'ItemName:', 'PairSet.<none>', 'ItemIndex:', None)
INFO:fontTools.ttLib.tables.otBase:Attempting to fix OTLOffsetOverflowError ('GPOS', 'LookupIndex:', 0, 'SubTableIndex:', 1, 'ItemName:', 'PairSet.<none>', 'ItemIndex:', None)
INFO:fontTools.ttLib.tables.otBase:Attempting to fix OTLOffsetOverflowError ('GPOS', 'LookupIndex:', 0, 'SubTableIndex:', 2, 'ItemName:', 'PairSet.<none>', 'ItemIndex:', None)
INFO:fontTools.ttLib.tables.otBase:Attempting to fix OTLOffsetOverflowError ('GPOS', 'LookupIndex:', 0, 'SubTableIndex:', 2, 'ItemName:', 'PairSet.<none>', 'ItemIndex:', None)
INFO:fontTools.ttLib.tables.otBase:Attempting to fix OTLOffsetOverflowError ('GPOS', 'LookupIndex:', 0, 'SubTableIndex:', 3, 'ItemName:', 'PairSet.<none>', 'ItemIndex:', None)
INFO:fontTools.ttLib.tables.otBase:Attempting to fix OTLOffsetOverflowError ('GPOS', 'LookupIndex:', 0, 'SubTableIndex:', 3, 'ItemName:', 'PairSet.<none>', 'ItemIndex:', None)
INFO:fontTools.ttLib.tables.otBase:Attempting to fix OTLOffsetOverflowError ('GPOS', 'LookupIndex:', 0, 'SubTableIndex:', 4, 'ItemName:', 'PairSet.<none>', 'ItemIndex:', None)
INFO:fontTools.ttLib.tables.otBase:Attempting to fix OTLOffsetOverflowError ('GPOS', 'LookupIndex:', 0, 'SubTableIndex:', 4, 'ItemName:', 'PairSet.<none>', 'ItemIndex:', None)
INFO:fontTools.ttLib.tables.otBase:Attempting to fix OTLOffsetOverflowError ('GPOS', 'LookupIndex:', 0, 'SubTableIndex:', 5, 'ItemName:', 'PairSet.<none>', 'ItemIndex:', None)
INFO:fontTools.ttLib.tables.otBase:Attempting to fix OTLOffsetOverflowError ('GPOS', 'LookupIndex:', 0, 'SubTableIndex:', 5, 'ItemName:', 'PairSet.<none>', 'ItemIndex:', None)
INFO:fontTools.ttLib.tables.otBase:Attempting to fix OTLOffsetOverflowError ('GPOS', 'LookupIndex:', 0, 'SubTableIndex:', 11, 'ItemName:', '<none>', 'ItemIndex:', None)
INFO:fontTools.ttLib.tables.otBase:Attempting to fix OTLOffsetOverflowError ('GPOS', 'LookupIndex:', 0, 'SubTableIndex:', 11, 'ItemName:', '<none>', 'ItemIndex:', None)
INFO:fontTools.ttLib.tables.otBase:Attempting to fix OTLOffsetOverflowError ('GPOS', 'LookupIndex:', 0, 'SubTableIndex:', 6, 'ItemName:', 'PairSet.<none>', 'ItemIndex:', None)
User avatar
Tim Ahrens
Site Admin
Posts: 264
Joined: 11 Jul 2019

Re: Fontmake - avoiding overflow

Post by Tim Ahrens »

Just a quick guess: In Kern On, did you set the kerning size to more than 64kB?
Eben Sorkin
Posts: 29
Joined: 27 Apr 2021

Re: Fontmake - avoiding overflow

Post by Eben Sorkin »

Initially yes, but even after I re-ran Kern-on with the setting 35k it still happens. Could it be that the old larger number of kerns are not reduced after it is run at a larger memory (k) value?
User avatar
Tim Ahrens
Site Admin
Posts: 264
Joined: 11 Jul 2019

Re: Fontmake - avoiding overflow

Post by Tim Ahrens »

Can you try exporting the font with Glyphs (ideally, try exporting with Glyphs 2 and Glyphs 3)? If the fonts are generated by Glyphs without any problems then we can conclude that the problem must be with Fontmake, I suppose.
Eben Sorkin
Posts: 29
Joined: 27 Apr 2021

Re: Fontmake - avoiding overflow

Post by Eben Sorkin »

I do think it was fontmake now because starting with a fresh/new GF template made the issue go away using the same Glyphs 2 file.
Post Reply