googlefonts / googlefonts/fontc

GSUB table overflow with mega substitutions

Open
#1,358 14 comments 0 reactions 0 assignees View on GitHub
bug question
Dominant language
Rust
Stars
193
Forks
21
Avg merge
1d 17h
Merged PRs (30d)
65

Description

We do some large icon fonts, which we build with fontmake.

When we try to use fontc, it fails with a GSUB table overflow. Which is not as shocking as it would be with a normal font, as we have about 15K substitutions. So, yes, it is a bit large. But our fontmake build does not fail.

I don’t *think* the existing fontmake uses a subtable break to avoid this... a decompiled ttx file does not show the word “subtable” anywhere, which IIRC I would see if there was one in there.

I am wondering whether fontc is for some reason generating a larger GSUB than fontmake?
Or does fontmake automatically fix the lookup, in some way I am missing, while fontc does not?

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reproducing the GSUB table overflow with the reported large icon font using fontc, then compare its output with the successful fontmake build and decompiled ttx output. Determine whether the difference is caused by missing subtable handling or larger generated data; done means identifying the cause and defining a verified fix or clear limitation.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
compilers
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
28/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.