how to solve this problem for me? fontlab 5: GPOS feature 'kern' causes overflow of offset to a subtable

Sebastian Nagel's picture

Dear readers,

i have been searching the forums for this topic, and found some questions and answers, but it didn't help me in solving my problem:

I have kerned an extensive opentype font (that should end up in a postscript otf file finally) in fontlab 5 on windows XP.

I am using about 125 kerning classes (but also with exceptions if necessary) and kern single glyphs that don't deserve a class (as they are alone anyway). in metrics window, the pair count in the table on the right says there are 5982 pairs defined. in the bottom of fontlab window, it says "Pairs: 5874" (why is there a difference?) When i update the kern feature with fontlabs tool, it results in 5874 POS-instructions (plus 5 "subtable;" lines in between).
when i want to compile the opentype features (including 'kern'), i get this (and only this) error message:
[FATAL] GPOS feature 'kern' causes overflow of offset to a subtable (0x1101c)

what i read so far (my interpretation):

  • a kern table in opentype fonts is limited to 64kb
  • someone here on the forum says the commands are limited to about 15.000 (but i am having problems with "only" about 5800 - maybe my commands are "larger"?)
  • if i manually delete about 800 lines from kern feature, the feature compiles.
  • there can be more kern subtables, with adding "subtable;" command somewhere in between (which does not seem to work for me - how is the syntax?)
  • if there are conflicts in kern classes, fontlab creates subtables by itself, some of the glyph combinations are not kerned then anymore due to overlaps. (this is not the case here, i don't have any conflicts in classes - no error messages when compiling, nothing found when clicking the ying-yang symbol in fontlab kern assistance.)
  • there is the suggestion to use the AFDKO kern feature generator. but this special script relies on robofab, which i tried to install, but this one again relies on fonttools, which i tried to install, but this one relies on a mathematics script collection for python, which i am not able to install ... so i am stuck for the moment on this path, as it get's more complicated with every step i take.

what i'd like to do / could do:

  • get robofab installed and try AFDKO generator
  • lern how to use the subtable command correctly
  • reduce kerning pairs - i am able to push them below my "personal" 5000 commands limit for the moment, but it does not seem to be a good solution when i want to expand the font further.

any ideas, facts, best practices, ... ?

thanks for your help again

k.l.'s picture

Hello Sebastian, please be patient. I may have something ready by the end of next week: It is an FLS5 script* which makes an AFDKO syntax kern feature, automatically splits subtables, and if necessary enforces use of the extension lookup type.

* No dependencies on RoboFab or anything else.

Sebastian Nagel's picture

Hello Karsten,

thank you, this sounds very promising – I'll do clean up in the meantime, and wait patiently :)


Syndicate content Syndicate content