googlefonts / fontc

Where in we pursue oxidizing (context: https://github.com/googlefonts/oxidize) fontmake.
Apache License 2.0
85 stars 14 forks source link

All your hints are belong to us #51

Open rsheeter opened 1 year ago

rsheeter commented 1 year ago

In https://github.com/googlefonts/fontmake-rs/issues/33#issuecomment-1346920324 concerns about hints came up. It then became unclear what the existing fontmake tooling actually supports. Based on #33 and IM conversation I current believe that:

(will update as I learn more)

anthrotype commented 1 year ago

Glyphs can embed hinting information but fontmake wouldn't read or compile it

that's right, fontmake can not yet read nor compile Glyphs.app hinting, as glyhpsLib even crashes on them: https://github.com/googlefonts/glyphsLib/issues/817

People aspire to stick hint information into UFOs but fontmake might not read or compile it

correct, until https://github.com/googlefonts/ufo2ft/pull/654

rsheeter commented 1 year ago

Additional context courtesy of Adam:

The FontLab compiler from visual commands to binary is proprietary to FontLab. This works well for environments without subpixel rendering & VF.

The Glyphs compiler from visual commands to binary is proprietary to Glyphs. It's relatively lightweight set of visual commands that I think work with VF.

The VTT compiler was opemsourced by MS not so long ago, and that's the first (and good) piece of code that does the compilation.

But there isn't really any established way to store VTT visual commands in source formats (should be)

And there isn't any code to convert from the Glyphs visual commands or from the FontLab visual commands to VTT commands, but since both G & FL commands are kind of a subset of VTT, such converters could be made

Marc adds

gftools builder uses vttLib. We don't store the hinting info in the ufos since we also build glyphs files. Instead, the user provides a mapping which maps fonts to ttx files e.g https://github.com/wix/wixmadefor/blob/main/sources/config_text.yaml#L20-L36