Strange effect when testing variable font in Illustrator

Has anyone else seen an effect like this when testing a variable font in Illustrator?

Illustrator_slider_problem

While sliding the sliders, seemingly random glyphs from the roman font are substituted. When you release the mouse button, the correct glyphs appear (usually–sometimes it sticks you with the random glyphs). This italic font has three axes: the corresponding roman font has two. Nothing like this happens with the roman font.

I’m assuming at this point that there’s something wrong with my font, not with Illustrator, but after a couple of weeks of this I still have no idea what. It’s driving me a little crazy.

Are you using the Adobe Fonts folder?
http://www.glyphsapp.com/tutorials/testing-your-fonts-in-adobe-apps

Yes–and the fonts are not installed via Font Book.

It looks like a conflict. Try a diffferent font Name for testing.

By way of experiment, on the theory that I had messed up one of my axes, I tried deleting each axis and testing as a two-axis font–but I got the same result every time. Meanwhile, it works flawlessly in the Axis-Praxis test page (on Firefox)–so maybe it is an Illustrator bug after all.

Are there any validators for variable fonts yet?

Can you send me the .glyphs and .ttf file?

I’ve sent them. Thanks!

I’ve now changed the font name, made sure there are no old files hanging around in the Fonts folder, re-exported the fonts (both roman and italic) and (just in case) cleared the font cache and restarted the computer.

I got a slightly different result, namely that fewer glyphs are replaced by apparently random ones–but the font still shifts to roman while the sliders are being dragged, and some glyphs are replaced.

The font works fine for me. What version of Illustrator do you have?

Illustrator CC 22.1. But you made me think of another experiment. I dragged the roman font out of the Fonts folder and relaunched Illustrator, and it worked perfectly! Quit Illustrator, put the roman back, and tried again, and the problem returned. I’ll message you a link to the roman so you can see this for yourself.

I think the problem may be that I am doing something badly wrong in my font and style naming, and also handling the STAT table. I’ve read the “Naming” tutorial, which has a lot about what one can do with occasional notes to the effect that one doesn’t have to do these things at all. I’m a bit confused about what one has to do.

I’ve included the “Elidable STAT axis value name” parameter for Regular, and yet for some reason the family name is showing up as “ElstobVF Regular” in the Adobe font menu. I’m very confused about whether it’s appropriate to have “Style name as STAT entry” parameters for any Italic style, or where (if anywhere) you would use the “Elidable” parameter in the Italic font. I stumbled across the “variableStyleName” parameter, which seems to be necessary to make the italic instances show up in the Adobe menu at all, and yet it seems to be undocumented.

So I’m hoping for some further guidance about naming and the STAT table, especially with respect to variable fonts.

The parameters are explained in detail in the variable font tutorial.

And I learned a lot from that excellent tutorial. But I’m having trouble extending this to the italics. How does the “Elide” parameter work with italics? It’s easy to see how it works with roman, but can you elide a style name like “Light Italic”? The variableStyleName parameter isn’t mentioned at all: if I’m using it wrong, it may be messing me up.

Don’t get me wrong: I love the Glyphs tutorials. Those and this forum are among the things that brought me to Glyphs. But variable fonts are new, the issues are complex, and there are still unanswered questions.

Elidable means it is the part of a style name that can left out in other slider positions, where the style name is combined with other style names. Italic will probably not qualify, rather the opposite, because they are all italics, and you will usually always want specify ‘italic’ in the style name.

variableStyleName sets the style name of the default instance. Mostly useful for cases where you do not have predefined instances, but there still needs to be something in the style menu.

Thanks very much for this. So I shouldn’t need variableStyleName, but for the italic face I do need it–the italic instances don’t show up in the menu if I don’t. Relatedly (maybe), the family name (often) has “Regular” in it, and “Italic” is appearing twice in the font menu:

Italic_menu

Choose the first one and you get the stored outline. Choose the second and you get the correct “Italic.”

These things suggest to me that I’m still doing something wrong. But what I’m doing now is minimal–leaving almost everything (WWS names, etc.) for the program to supply. Here’s the “Italic” instance, for example:

Italic_Instance

Does anything seem to be wrong or missing here?

Meanwhile, the problem illustrated by my GIF above seems to have solved itself. Maybe because I did a lot of work on master compatibility (I was getting away with a lot of messiness in the metadata), or maybe because I figured out that I needed a new Illustrator doc every time I tested a new version of the font.

Things I’ve done to improve this situation (mainly this adds up to being less sloppy than I usually am):

  • The variable font tutorial talks about making sure all the values in the Masters panels match up: I made sure there were the same number of vertical and horizontal stem widths and that they were in the same order; also the same alignment zones and (though I’m not sure if this matters) the typoAscender and similar custom parameters.

  • Very important, when assigning coordinates to your axes, to consult the axis tag registry, because it turns out you can’t assign any numbers you want (my slant and optical size coordinates were wrong, and I’m pretty sure this caused significant problems).

  • It seems that both the roman and the italic fonts should have the ital axis (this is hinted at at the end of the Variable Font tutorial). Source Serif Variable, for example, has the ital axis. I’m not yet sure exactly how to implement this (as Source does) so that there is no “Italic” slider in the user interfaces, but I have faith that I’ll figure it out sooner or later.

  • For my italic face, anyway, Glyphs supplied STAT table entries for the Weight axis but not for Optical Size (since I have no instances for Slant, my third axis, I apparently need no STAT entries for that). I doubt that this was really a problem, but I decided to manage the STAT table myself. Between the variable font tutorial and the OpenType specification for the STAT table, I was able to work out what to do.

I still have a few problems to work through, especially the way “Italic” (and sometimes “Regular”) appear twice in the Adobe font menu. But behavior in Illustrator is much better now. Photoshop was rejecting the fonts altogether for a while, and now it handles them well.

2 Likes