Welcome to the latest iteration of Glyphs: version 2.6.2. This blogpost will take you through the most important changes. To update, fire up your copy of Glyphs, and choose Glyphs > Check for Updates… and follow the instructions that appear on the screen:
First and foremost, we managed to update all the built-in helper tools to 64-bit code. This makes Glyphs now fully compatible with macOS Catalina. And if you are not upgrading your OS yet, at least you get no more nasty warning dialogs in macOS Mojave. FTW!
Update for your Selection tool (V): It will try to keep angles around smooth connections (green nodes) when you are nudging them with Ctrl-Opt.
This will make a difference in a lot of people’s workflow: Hold down your Option key to change Reconnect Nodes to Reconnect Nodes in all Masters. If you want to thank someone, thank Ermin for the idea:
The Measurement tool (shortcut L, or temporarily hold down Ctrl-Opt-Cmd) now snaps to nodes. Cool.
If you choose the appropriate setting hidden behind the magnifying glass symbol (see screenshot), you can now search for Unicode values in Select Glyphs dialogs, e.g. in Edit > Find > Find… or Cmd-F:
Look into your Edit > Other submenu: You will find new Next Layer and Previous Layer menu items, for stepping through all master, brace and bracket layers. In other words: all layers relevant for interpolation.
Switch to Text tool (T), select all text (Cmd-A), and right-click: now you have the full-blown Copy Glyph Names submenu, complete with the new option to copy Unicode values:
The new Unicodes option is also available in Font view, of course. Speaking of which:
If you have your SVG color font set up nicely, the glyph slots in Font view will display a preview for the SVG glyphs. Minus the animation, if there is one. As an example, this is what the red dot from the SVG tutorial looks like in Font view:
When you edit custom parameters with a text dialog, such as
glyphOrder, you can now find and replace text in it. Simply press Cmd-F for finding, or Cmd-Shift-F for replacing. This will make managing long lists of glyph names easier:
There are two new custom parameters for File > Font Info > Instances:
Export OpenTypefor enabling/disabling export of OpenType layout tables (GDEF, GPOS, GSUB), default and fallback is on.
Export AATfor enabling/disabling export of AAT layout tables (kerx, morx), default and fallback is on.
This way you can now make two equivalent font instances, one AAT-only and one OT-only.
Script Support and Glyph Data
You can add multiple languages to the
.locl suffix now. For example,
de-cy.loclBGRMKDSRB will create the respective
locl substitutions for Bulgarian, Macedonian, and Serbian.
We have largely improved automatic feature code and glyph info for Oriya. Many thanks to Amélie and Sol for their input.
The automated Thai ligature feature code has been improved, especially the
rlig treatment. Thanks to Ben for his continued input.
OpenType feature code for Indic scripts is not going into
ccmp anymore. While we are at it, we also do not add ligature anchors to conjuncts anymore when you press Cmd-U.
We added a lot of little improvements for right-to-left scripts. To name just two, we better align the grey glyph info box in Edit view, and secondly, you can now properly print your Edit view in RTL mode. What a relief!
Oh, and who would have guessed, there is news for Latin as well: Glyphs now always prefers
.case accents for lowercase compounds with ascenders, e.g.
lacute will prefer
acutecomb.case over their unsuffixed variants if available.
Better initial width of new glyphs: Let’s face it, the default width of 600 units didn’t always quite cut it. So, for instance, CJK glyphs default to the UPM now, which makes much more sense. Or, the glyphs listed in Categories > Separator > Other get much better defaults that should work in most cases out of the box.
Remember, you can set your own glyph width defaults with the
Default Layer Widthcustom parameter in Font Info > Font and/or Font Info > Masters. As value, it takes the script name (as specified in Window > Glyph Info), followed by a colon and a number value, e.g.,
thai: 450. However, if you find yourself doing this very often for a certain script, please let us know. We can update the defaults accordingly.
And… at long last, I have the big pleasure to inform you that we have added Mahjong tiles to our Glyph Data. So nothing shoud stop you anymore from making that Mahjong font you have always dreamed about!
Import and Export
When opening a compiled font, Glyphs now imports and stores the
fsType entry from the
OS/2 table. En passant, we improved the wording in the custom parameter dialog. Thanks to Felipe.
.ttf fonts will always have component alignment disabled.
We are not kidding: you can now painlessly import
.eps files from CorelDraw.
We much improved the import of
.designspace files. It can also handle incomplete files to some degree, e.g., a missing
info element in the file. Thanks to Paul for his alertness on this one.
Perhaps the biggest news in this category: By popular request, when you export a
.ufo file, it defaults to version 3 now.
We improved stability of UFO export, and we now export GPOS code into UFOs as well. For the latter, you do need to enable the Decompose Smart Stuff option in the UFO export dialog, though. Export also supports
public.skipExportGlyphs. And nonspacing marks are now automatically collapsed to zero-width during UFO export.
Exporting a UFO from a
.glyphs file that uses smart components is now stable and reliable.
We improved handling of TrueType curves without on-curve nodes. Yes, that is possible in TT. This and a few other things are adding to an overall improved TT-to-PS conversion.
For the geeks amongst you, we managed to improve
cvt handling with an
alignToZone directive. Thanks to Jens for his invaluable input.
We improved the setting of the start node in PS-to-TT outline conversion during export. Careful: this may interfere with point indexes, so double check your TTF Autohint control instructions if you have any.
In the TrueType Instructioning tool (I), we have some news for you: the TrueType curve preview is more reliable now, and selected nodes stay selected after you undo an action.
And for the AAT geeks, you can now have multiple
kerx entries in Font Info > Features > Prefix. They will be automatically merged during export. Thanks to Muthu.
Interpolation and Variable Fonts
We improved many details of OTVar production: export performance is noticeably better,
STAT table export is more reliable, more subtable overflows are prevented now. That’s cool.
In terms of the outline conversion that is necessary for a TT-based variable font, Glyphs is now less strict with inflection points. This should result in fewer nodes, and thus in fewer micro-kinks.
And what’s really cool is that you can keep your outside (‘white’) overlaps when you export variable fonts. If you don’t know what I am talking about, this is what I mean:
Oh, and we improved interpolation of kerning exceptions. Thanks to Titus and Tim for their input.
And lastly, Glyphs makes a better effort at preventing rounding errors that could lead to vertical lines being slightly slanted in interpolation, just by one unit and only in rare edge cases, but still.
As with every update, we were able to squish a few bugs, improve the performance, and increase the stability of the app. The latest statistics showed practically no crashes anymore. If you do encounter one though, do not forget to send us your crash report, so we can take care of the problem.
And as always, there were these countless small improvements and fixes, too small to mention them all, but I’ll give you a small excerpt anyway:
- Improved the Round Corner filter, particularly with already existing roundings
- Placeholders now appear as they should when printing
- Improved calculating of
vpalfeature with custom
- Use the ‘legible’ system font for kerning group fields as well
- Improved decomposition of corner and cap components, especially when they are mirrored and nested
- Glyphs now better checks for invalid characters in Font Info entries
- Fixed the OT feature preview for CID fonts
- Improved the parsing and calculation of metrics keys, allowing more combinations
- Improved performance of the Edit view when there is a lot of text plus an instance in the Preview that has a filter applied
- Fixed a longstanding bug that prevented the Reconnect Nodes function in Background layers
vkrnin Variable Fonts
- Glyphs does not scale components and corners anymore when then base glyph is scaled already
- Scripting: you can now access a layer’s
.vertOriginthrough the Python wrapper
- Scripting: improved handling of
Many thanks to many Glyphs users, especially Ricard, Wei, Mark, Edd, Ori, Paul, Taisei, and Matheus.
And keep it coming, folks. Your continued input makes a big difference for us. It helps us improve Glyphs to the font editor that we all want. We have the best users in the world. Therefore a big thank you to you all!