Smart Component popup dialog doesn't show first axis

With 3.2 (3180). I’m still used to doing Cmd+Option+I to open the Smart Component dialog and I just noticed it doesn’t show the first axis now. All axes are fine in the sidebar on the right under Smart Settings. Not a huge deal, but I thought something got really messed up since all my first axes were missing.

For me, all axes show up. What Mac OS version are you using?

Could you send a screenshot?

OS is 12.6.3. Very weird. If I make a new Glyphs 3 project I don’t see any issue. This came from Glyphs 2 originally so I did a quick test in Glyphs 2 and then opened in 3 and this time it’s the last axis that doesn’t show up. I also tried changing the version format to 3 from 2 and then reopening, but that didn’t seem to have any effect. (3.9 KB)

That is an interesting issue.

The Info for Selection dialog checks if an axis has any influence and hides the ones that are not. And the smart glyph has four axis and only four layers (origin and an extreme for three of the four axes). If you add another layer and assign it to the last axis, it will show in the dialog.

That doesn’t make any sense for this. This was just a quick sloppy test file, but the real source has axes and layers that 100% have influence and those axes are not shown. And like I said they all show in Glyphs 2 and then opening the same file in Glyphs 3 doesn’t show some axes. Here’s an updated file showing it. _part.01_Bar_H_Slant has 3 axes and they all have influence and still one axis is missing from the dialog. (4.9 KB)

Also, I don’t claim that these components are well done or “correct” really. It’s all converted from another old dead format so it’s definitely not how I would do it now, but it’s what I’m working with and it’s been working fine in Glyphs 2 for a couple years. I want to move it all to Glyphs 3 which is why I’m now finding this.

Right. I found a comment in the code that would point to that issue. Glyphs tries to not show the font axis. Meaning in this case the first axis as it interpolates between the masters.

In the _part.001 the master layers are use the same axis setting and thous don’t interpolates with a smart axis slider.
For the _part.01_Bar_H_Slant, the master layers have different settings for the first smart axis and that makes the duplicate the fonts Weight axis.

You can rename the first axis to avoid the filtering.

This still makes absolutely no sense to me. I can rename the first axis and then it shows up, but I don’t understand why that would matter. And that only works in the UI. I tried to rename all the smart component axes with Python and then every component in every glyph shows No Base Glyph even though the base glyph clearly exists and the only thing that changed in the whole file were the smart component axis names.

I disabled the axis filtering. So all axis will show up now.

Can you show the script?

Just did something like this because all the names in this case are Axis_0, Axis_1, etc and removing the underscore manually made it show up so I thought the same would work with a script.

for g in font.glyphs:
		for axis in g.smartComponentAxes: ='_', '')

I fixed it. The update is out.

1 Like

I installed the latest and now every glyph in every file looks like this so I went back to the previous version.

Is this the file you run the script on?

No, every file I have that has always worked. No scripts or anything. Just installed the latest and every file is like this.

You don’t seem to be the only one facing this issue:

Fixed it and the new version is up.