Anchor point confusion

Hi,

I made a font which appeared to work OK in Windows and OS X, but in Harfbuzz characters are juggled around in mysterious ways. Although it is a Harfbuzz bug, I have been able to trace it back to Glyphs.

If you have a composite glyph of base and mark, which does not have an anchor point itself, but the mark component glyph does have an anchor point:

  • if the mark component glyph is part of the “Keep glyph” character set of an instance, then the composite does not have an anchor point and everything is fine

  • if the mark component glyph is NOT part of the “Keep glyph” character set of an instance, then the composite inherits the anchor point of the mark. It ended up in my GPOS source file, a base glyph with a mark anchor, and caused the mayhem.

Now that I know this, I removed the anchor of the component glyph. But it seems odd that it happened.

Forgot to mention: I used “Generate Instances”, to extract anchors from interpolated instances.

Can you send me the .glyphs file (to support [at] this domain)?

Hi Georg,

I think you can reproduce this in less time than it takes to unzip my giant file.

What happens appears to be a side effect of basic functionality. When a instance is generated, there is a new Glyphs file with all the glyphs. Those that are not in the keep glyph list are simply marked with the stop sign to not export. While at the same time, where they are used as composite component, they are decomposed.

And whenever a component is decomposed, the anchor points of the component glyph are copied to the (ex)composite. If you do that manually in the UI, you see them appear, and delete them. So it is decomposing, rather than the creation of an instance, which does something questionable. So if you have an acute and an e with an anchor point: if you decompose the eacute, it gets them both.

I guess it is hard to decide how to treat anchor points in relation to outlines. And sometimes it is fuzzy what happens. When pasting in a new outline, I remove the original with select all and delete. Usually the anchor points stay. Sometimes they disappear along with the outlines. I am not sure what I do differently. When I do Select All and “Selection to Background”, the anchors do not go to the background. But with “Swap with Background” they do. Which basically means that they disappear, if I swap back to undo unsuccessful edits.

Jelle

There should be a difference if the components are decomposed or not. The mark feature is generated the same in both cases.