Components complaints center

I have a few issues with components I’d like to clarify and maybe it could be helpful if people don’t have to hunt problems in different threads.

There are some problems with variable fonts and transformed components (certain PostScript printers? FreeType? Is there a tool to test FreeType rendering? How relevant is it today?) and nested components are the devil anyway.

Nested components, is the only way to automatically deal with them the filter in Plugin Manager? Or is the Decompose Glyphs custom parameter a more safe method? What does it do differently besides of having to manually define the glyphs?

Transformed components, I’m sure I’m not the only one who likes to mirror the parentheses for example. This doesn’t work in obliques, so they have to be also mirrored vertically. Glyphs automatically sets the angle to 180° and transformations to 100%. On export these are kept as components. Is this safe?

Mirrored components (one direction only) seem to be decomposed on export, is that correct behavior? Do they cause problems?

Are scaled components problematic? Currently they are not decomposed on export, is that safe?

If anyone has any more problems or questions or best practices regarding components, let’s gather them here :slight_smile:

I’ll look into the decomposing part. But can’t promise.

It is save to use 180° rotated components. If you don’t have trueType instructions.
Flippig them only once will effectively reverse the path direction and that can result in rendering issues.

@GeorgSeifert 180° rotated components apparently can cause misaligned diacritics on printers, even if the font is unhinted. See Printing issues due to running TTF fonts through a PostScript 3 printer · Issue #412 · arrowtype/recursive · GitHub

Also I’ve noticed that on static TTF exports, Glyphs decomposes 180° components when TT hints are present, which is great since it prevents hinting problems. Shouldn’t this also be done for VF exports that have TT hints? The problem is the same for static and variable fonts, but Glyphs only fixes it for static fonts.

So it is safe unless it’s unsafe :confused: Let’s say I’m making a text font that should be hinted (manually or with TTA), what’s the best practice here?

Also see Justin’s link, and I remember having the same problems with shifting components with an OKI printer, so it’s not a HP issue. Can’t say for sure if we tried hinted and unhinted fonts.