Smart components without duplicates

Hi, thought it would be great to use smartcomponents for weight without the need to duplicate layers. My goal is to have a few glyphs, for example _part.S, and use it in S and slightly lighter version in dollar. It’s possible, but I need to manually maintain identical drawing on 2 places.

Is there a way that wouldn’t require duplicating the layers?

Yes, you can add smart component axes by scripting. TypeNurse has a short, efficient script that does this: Glyphs-Scripts/Make Component Smart.py at main · TypeNurse/Glyphs-Scripts · GitHub

1 Like

One thing I overlooked in your original post, just in case this isn’t obvious: for the case you described, you don’t need _part.S, you can just make S a smart component and use it directly in dollar.

that would be great! I am just missing how to make regular glyph a smart component, could you advise, please?

I see, you need to run the type nurse script on given component.

I just wonder, why this isn’t the default behaviour

Why isn’t what the default behaviour of what?

don’t understand why to active this functionality with a script, when it seems it’s built-in functionality.

It’s a bit broken. Look left is S and right is Dollar, none of the interpolations has that horizontal edge that low, it’s one of S’s old versions.

Nothing helps to get the current shape of S now after using this “TypeNurse/Make Component Smart” script

Yes, I recently alerted Georg to this issue, where smart components with non-smart backup layers are “interpolating” using the backup layers. This is fixed and will, I assume, be in the next update. Remove the backup layers for the interpolations to work again.