Brace Layers (Intermediate Layers) in Variable Fonts Bug

Can you send us a sample font from G2 that shows this behaviour? Just the necessary glyphs (a composite and the respective base glyphs) will suffice.

Sure. Sending.

So just to summarize (having run into the same issues here and spending many hours): for Intermediate a.k.a Brace {} Layers to work in Components in Variable Fonts there are a set of conditions that must be met (please reply to this if there are more):

  1. The Component with Intermediate Layers must be set to Exporting
  2. All other Components in the Composite Glyph must also be set to Exporting.
  3. The Composite Glyph that contains the Component with Intermediate Layers must consist only of Components; if you mix raw paths with Components, Intermediate Layers will not be reflected in the Composite Glyph in the final exported font. Mixing Anchors with Components in a Composite Glyph fine.
  4. “Decompose Components in Variable Font” must be disabled or removed from the Font’s Custom Parameters in Font Info.
  5. In the Composite Glyph, the Component’s Automatic Alignment may be disabled or enabled. It doesn’t matter.
  6. I’ve tested a Composite Glyph with up to 4 Components (some with Intermediate Layers, some not), and Intermediate Layers are still reflected correctly. So number of Components does not seem to be an issue.

Whew! These are a lot of unintuitive gotchas! I think the Variable Fonts tutorial could use a section on Intermediate Layers. The UX can also be improved by alerting the user when they export a variable font if the possibility of Intermediate Layers not working as expected becomes evident. (e.g. “It appears that you’re using a non-exporting component with Intermediate Layers, are you sure about this?”).

Thanks

Thanks for the summary. All the “gotchas” will trigger a flat decompose of the composite glyph.

I fixed it.

Hi @GeorgSeifert,

Did you manage to fix the issue where when a Glyph includes a Component with Intermediate Layers and a non-exporting component its not appearing as expected in the Variable Font?

I have a few Glyphs that include the above structure but I don’t really want to include any of the non-exporting Glyphs in the export if possible.

I’m on build 3.0.5 (3109).

Thanks.