MarkToBase error

Hi, I’m editing my kerning in MetricsMachine and then I generate the OTFs in Glyphs. For some bizarre reason, sometimes I receive this when trying to generate the OTF:

MarkToBase lookup subtable in GPOS feature ‘mark’ causes offset overflow.

Any ideas? Tks…

That means that the kerning just fit in. then the mark feature is the last drop to overflow the offset.

How to solve this one?

Less kerning.

Try the Use Extension Kerning parameter in File > Font Info > Font, and see if that changes your outcome.

How many kern pairs do you have?

2 Likes

Thanks, yes, Toshi suggested that too, it worked.

Lots of kerning pairs. Really lots.

Out of curiosity, is it limited by MakeOTF/FDK or by the OT format itself?

By OpenType. Maximum OpenType table size is 64k (a.k.a. 16-bit limit, because 2^16=64k), and kerning goes into the GPOS table, along with other stuff, like mkmk and mark features. What bloats it is, of course, the number of pairs, the number of exceptions to group kerning, and badly placed subtable breaks.

The Use Extension Kerning can do a little magic, it triggers Extension Positioning, i.e., raises the bar from 16 to 32 bits (2^32=4M). More info: GPOS — Glyph Positioning Table (OpenType 1.9) - Typography | Microsoft Learn

Type designers have been avoiding the option because they were afraid their kerning would not be compatible. But any sufficiently recent software (including Word, I believe at least since Vista if not earlier) has no problems with Extension Positioning.

3 Likes

Hi, I also have a MarkToBase error which comes while exporting Glyphs file to OTF.

MarkToBase lookup subtable in GPOS feature ‘mark’ causes offset overflow.

I have zero kerning at this point. Besides some ligatures there are no extra features.
However I have a lot of alternate glyphs with accents, I think that’s where the problem is, but don’t know how to fix this issue.
My knowledge is not extensive enough to solve the problem.
Any ideas how to fix it?
Thanks in advance!

Do you have many alternate accents? Perhaps you can disable export on those that are only used in compounds.

Besides that, you could rename all top and _top anchors to #top and _#top, bottom to #bottom, etc., and thus prevent the generation of a mark table. (There is a script for that in my repo.)

1 Like

Thanks for your reply. Yes, I have a lot of alternate accents. I followed your suggestion, I have used your Find and Replace in Anchor Names script to rename the anchors, and it worked. I was able to export to OTF.
Thanks again, big help!

1 Like