Remove overlaps (for specific glyphs) custom parameter?

Is there a custom parameter for removing overlaps in specific glyphs, versus all of them? This would be use for e.g. black circled glyphs made out of components. Currently I do this via export script, but it would be nice if a regular export worked

Why are you using that for black circled numbers? How do you have them set up?

Because the overlaps in the glyphs inside the circle will result in those overlaps appearing black, rather than solid white like the glyph should be, due to their path directions

Select “Reverse Paths” on the number components (the components on top of the blackCircle glyphs).

That won’t help the problem. As a minimally reproducible example:

You’re not using components in your screenshot, but paths. Your example works fine when using components (because overlap is removed when using Reverse Paths):


Aha! Interesting! Perhaps my issue is the path direction of glyphs being used as components, or a layering issue; I was getting a solid black circle before with that method. Looking more closely now

Ahhh, OK, many layers of stupidity here on my part. The circle path direction was reversed, which causes the preview to be incorrect (looks as if it will not have this issue), but on export, it does have the issue. That really threw me off. So you want the paths to black themselves out and be “incompatible,” until the reverse is ticked on the front component. If my circle had the proper path direction your advice would have made sense a lot more quickly - thank you as ever, Sebastian

Do you know off-hand if there is an API method for setting the reverse option? I don’t seem to see a Python method, and the objc method reporter on GSComponent doesn’t seem to have anything that sounds quite right

Oh I see now, not a method, it’s in attributes - component.attributes['reversePaths'] - fantastic. I’ve got some scripts to update :sweat_smile:

Oh darn, this method seems to break hinting

Can you send me a sample file that shows the hinting problem?

I sent a message with a test case. Oddly, after trying a few things it seems to break in three cases:

  • when there is no codepoint on the overlaid glyph
  • if the blackCircled glyph is not named that, is another normal letter like “G”

And then the normal case, where hinting is removed entirely. Removing TT hinting is probably desirable, not so sure about PS though