googlefonts / googlefonts/fontmake

what should we do: empty GPOS/GSUB tables handling differences between Glyphs.app and fontmake

Open
#258 25 comments 0 reactions 0 assignees View on GitHub
question
Dominant language
Python
Stars
888
Forks
97
Avg merge
4d 52m
Merged PRs (30d)
1

Description

Now that we are working on single weight existing script conversions that include OpenType tables, we’ve encountered a new situation where Glyphs app. and pipeline handle things differently.

It has to do with empty GPOS/GSUB tables.

When we developed the SOW 12 TTF fonts, it was decided that if a font had a functional GSUB table, but no requirement for a GPOS, then an empty GPOS would be included. The reverse was also true about empty GSUBs.

In such a TTF, if there was an empty GPOS table it was truly empty, in that there were no features/lookups mentioned, just the script of the font.

It seems that a truly empty GPOS table won't work for OTFs produced via pipeline. When generating an OTF from a Glyphs file (with either FontWorker style OpenType or internal OpenType) via Pipeline, an empty GPOS table produces an error message in the log and no OTF is made. It appears the empty GPOS needs to have a feature and a lookup for pipeline to work.

A similar situation exists for an empty GSUB table. Pipeline requires there to be some feature and lookup present in the table.

Our question is how you want to handle fonts that have an empty GPOS or GSUB table? Is this something that can be fixed in pipeline? Or, are there some ‘dummy’ entries you want us to put in empty tables as a work around to this pipeline expectation?

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.