Expand corner components

I have a love-hate relationship with corner components and for every hour they save me they seem to cost me another hour somewhere else and I am wondering if there’s a way to “expand” the corner components so that they become part of the glyphs instead of little add-ons?

So far the only way I have figured out is to export the font as an otf and then open that otf in glyphs, but ideally I’d like to be able to do it in my original working file if I can.

UPDATE: I just saw that I can right-click on a corner component and click “decompose corner” but that makes my other corner components jump around into incorrect places AND would need to be done corner by corner.

I want to say Remove Overlap used to do this, but doesn’t apparently now. There’s a script in this thread that might help.

The script @eliason linked does not expand (decompose) corner components – it removes them.

Here’s a short script that decomposes corners and caps in your entire font:

for glyph in Glyphs.font.glyphs:
	for layer in glyph.layers:
		layer.decomposeCorners()
print("Decomposed all corner and cap components in all layers of all glyphs.")

Or you can decompose all corners and caps in the currently selected layers:

for layer in Glyphs.font.selectedLayers:
	layer.decomposeCorners()
print("Decomposed all corner and cap components in selected layers.")

Note that the decomposeCorners() method is incorrectly named since it also surprisingly decomposes cap components. There is not a separate method for decomposing only caps (or only corners).

1 Like

(All _corners, _cap, _segment and _brush elements are called “Corners” internally)

The mekkablue scripts contain a script called Components > Decompose Corner and Cap Components.