Maintenance update with some new OpenType goodies.
So here is the latest iteration of our favorite font editor, Glyphs 3.1.1. Choose Glyphs > Check for Updates… and follow the on-screen instructions to get it on your machine.
For one thing, Glyphs 3.1.1 sports improved macOS 13 Ventura compatibility. Glyphs 3 works fine in Ventura, however we did notice some instabilities in the File > Print dialog (Cmd-P), and in the color picker. Those have been fixed in 3.1.1. If you spot other reproducible issues in Ventura, please let us know in the forum, and we’ll see to it.
Thanks to the continued input you have been providing, we were able to loosen some knots and widen some bottlenecks, and are happy to report that we have been able to improve UI performance in many cases.
Especially when there are many glyphs involved, you will notice an improvement, e.g., when you are selecting a very big list filter, a common scenario in CJK design. Or note that pinch-zooming has gotten smoother. Many thanks to our Korean users for pointing us into the right direction on this one.
And in Edit tabs, Glyphs now better preserves the relative viewport position after switching masters. No more shifting after switching back and forth a few times.
Oh, and you will notice that we improved sorting of items in the Filter menu. Much easier to keep oversight now.
There is something we have had it in Glyphs versions for quite a while already. Yes, we have secretly been testing new feature code extensions behind your back, and now is a good time to announce them publicly.
We already announced the
delete rule a while ago. To remind you, this example deletes
del a b' c;
What we did not tell you though is that it also supports the simple (non-contextual) syntax. So this example deletes
… which is a good way of getting rid of intermediary connector or constructor glyphs.
A multiple substitution (one-to-many) can be contextual as well:
sub a b' c d by b.left b.right;
One-to-many with classes
A multiple substitution (one-to-many) rule can have classes in both simple and contextual form:
sub @Uppercase @Letter' @Uppercase by @LeftForms @RightForms;
sub @Letter by @Letter.left @Letter.right;
Needless to say, you need to make sure the classes have the same number and order of glyphs.
Interpolate numbers in designspace
And the best one I kept for last. You can contextualize numbers inside the designspace. And the numbers interpolate. Any number of axis positions are possible. For instance, a single adjustment as it may appear in the
cpsp Capital Spacing feature:
pos @Uppercase 10 (wdth:80) 20 (wdth:200 wght:220) 30;
By default it is simply
pos @Uppercase 10; but at (internal) width axis coordinate 80, that extra spacing changes to 20. And at width 120 and weight 220, it becomes 30 spacing. All you need to do is prefix the additional spacing with a parenthesized sequence of axis tag, colon, axis coordinate. Multiple coordinates are space-separated.
It works for complete value records (position x y, advance x y) as well:
pos @Figures colon' <10 50 20 0 (wdth:70) 30 40 60 0 (wdth:200 wght:220) 5 10 10 0> @Figures;
The coordinates can, but do not have to be the same as those of the masters. Numbers interpolate for both static and variable font exports.
Wow. That was quite a mouthful. But it is not everything. In further OT feature news, the warning icons in the feature list of File > Font Info > Features are more responsive and reliable now. Shape switchings with the
condition keyword work better now in edge cases. Add to this a number of minor improvements and fixes in the feature compiler.
A few plug-ins have been added to Window > Plugin Manager. Take a look and see if there is something for your workflow too:
- Context Manager by Hugo Jourdan
- WoLiBaFoNaGen (WordListBasedFontNameGenerator) by Jens Kutílek
- A bunch of new export plug-ins by mekkablue: PS Export, EPS Export, FEA Export
- Color Toner (Show Darkened Colors)
Speaking of extending, if you are using a custom Python installation, make sure you read through the Extending Glyphs tutorial.
Since the release of 3.1, there have been new tutorials added to the Learn page:
- Hinting: TrueType autohinting
- Localize your font: Spanish inverted question and exclamation marks
And over the summer, many other tutorials have been updated for Glyphs 3. Many thanks to our intern Eva who helped make this happen.
Many minor things have been improved, among which:
- Removed mark filtering for Burmese (thx Ben).
- IMproved Spanish localization (thx Juanjo).
- Fixed an issue with some Japanese glyphs.
- Fixed an issue with kerning exceptions in RTL scripts.
- Fixed export of old-style
- Fixed a rare issue with mark positioning.
- In Font Info > Exports the Instance as master function now properly uses the Axis Location parameter of the instance.
- Fixed issue with smart components that use numbers as property names.
- Improved SVG export from color layers.
- Improved remove-overlap algorithm.
- Fixed reading and writing of instance userdata (thx Stephen).
- Improved QuickLook.
And as always, we managed to improve overall app stability, including fixes for some rare but nevertheless rare crashes.