Glyphs 3.0.5 released

Blog
by Rainer Erich Scheichelbauer

20 May 2022

Here it is, version 3.0.5 of our favorite font editor! Get it while it’s hot, and read here what’s new.

Hello, hello, here we are again! We recommend all users of Glyphs 3 to choose Glyphs > Check for Updates… from the menu, and follow the on-screen instructions to update your installation of Glyphs to version number 3.0.5. Do it right now, and while the update is under way, let me get your attention for some updates elsewhere on the website:

Okay, your download should be done by now, so let’s take a closer look at what’s new in your Applications folder.

UI Improvements

We have been tweaking a few things in Edit View. For one thing, we have been able to improve visibility of outlines over a placed image:

In Edit view, we also managed to eradicate the one-step-behind delay that could appear when you were changing the sidebearings of one glyph but also had composites containing the same glyph as a component.

Open the feature pop-up in the bottom left, and you will see, all the feature names are now prefixed with their appropriate tags:

Glyphs will correctly draw CJK metrics for full-width forms of non-CJK glyphs:

In Font View, we properly draw color layers for the current master:

Spacing in Edit view has gotten snappier. You’ll notice it when you change the sidebearings for a glyph when there are its composites next to it. Like this:

We have reviewed entry fields in a bunch of dialogs. We were able to improve tabbing orders between fields in many places, e.g., in the Smart Components settings. If you have been experiencing problems in the past, try again. We also fixed an annoying text selection bug while entering data in the Font Info window. If you were affected, you know what we are talking about. While we were at it, we improved a few Custom Parameter dialogs, including the Get PS Zones option in the TTFZones dialog, and the Axis Location dialog now accepts decimals as input.

The UI behaves better in full screen. Filter dialogs do not go full screen and block your view anymore.

Many tiny UI improvements were made. Just to name a few, Brace Layer ranges are now displayed the way we expect them. No more percentage signs where they don’t belong. Glyphs better stores the content of Window > Text Preview from one app session to the next. And the error report for a failed font export is much better now and shows more details. We have been able to improve the preview of filters in instances. And the Knife tool (shortcut Shift-E) in edge cases, especially when treating overlaps.

Improved script support

Belarusian and Kurdish character sets have been added to the Cyrillic and Arabic script flyouts in Font view’s sidebar. We are grateful to Nick and Dolan for their contributions and constructive discussion:

And thanks to Ben Mitchell’s input, we have a new script, New Tai Lue. Ben has also been helpful in improving Burmese OpenType code.

Furthermore, we have been able to improve the implementation of Devanagari, especially fixing a number of issues with Devanagari OpenType feature code. Thanks to Tanya, Rob, Kimya, Pria and others who have been pointing us in the right direction. Speaking of South Asian scripts, we now use Conjunct as subcategory in glyph info (Cmd-Opt-I) to not confuse the anchors and to facilitate proper GDEF table generation.

Thanks to John Hudson for his help on Ethiopic Extended-B.

We were able to fix a few of issues with legacy Arabic presentation Unicode values.

Interpolation and variable fonts

While you are here, the ‘Creating a variable font’ tutorial has been updated. Worth a reread. Pay special attention to Axis Location parameters.

For better backwards compatibility with Glyphs 2, we added a secret option to linearly interpolate components, the way it used to be in the good old times. To use old-style linear interpolation, select the respective glyphs, then paste and run this script in Window > Macro Panel:

for layer in Font.selectedLayers:
    glyph = layer.parent
    glyph.userData["useLinearComponentInterpolation"] = True
    print("Components interpolating linearly in: %s" % glyph.name)
print("Done.")

Change True to False and adapt the status message accordingly if you want to go back again. Needless to say, use this only if you know what you are doing.

Intersecting condition statements for feature variations behave better now. And if you have an axis entirely made up of conditional substitutions, it should work much better now. Thanks to Jérôme.

Variations PostScript Name Prefix is a new alternative spelling for variationsPostScriptNamePrefix (name table ID 25) of variable font settings in Font Info > Export > General. And the Export STAT Table custom parameter is honored in Variable Font exports. Not that this would make much sense, but yeah.

Lots of minor improvements: We have been able to improve mark positioning for variable fonts, and able to fix issues in the generation of GPOS, avar and fvar tables that would appear under certain circumstances. We could fix some issues with corner and cap components in intermediate layers. And we fixed a rare but annoying bug where setting axes coordinates for masters and instances would not stick.

Extending

When a plug-in crashes, you will be shown a dialog at the next startup, asking you to deactivate plug-ins. The problem was that it forced you to uninstall and reinstall all plug-ins even if there was just a module missing. That is why we added an Ignore button to the ‘crashed plug-ins’ prompt. Ignore the issue, do the necessary installs in Window > Plugin Manager, and restart the app. And usually that ought to be enough.

While we were at it, we added a Restart button to the plug-in installation dialog.

We improved the Python wrapper, especially:

  • font.save() works much better
  • variable instance export through the API is working again as it should, thank you Sebastian.
  • copying of userData
  • added more constants
  • better error reporting

Glyphs 3.0.5 supports Python version 3.10.1. If you are using a manual Python installation, it is going to be detected properly now.

Localizations

We are happy to announce that we have been able to update localizations of the app, including Chinese, French, Spanish, Russian, German and Italian versions. Many thanks to the 3type crew, to Nathalie, Vika, Valentina and Sol for their invaluable input. In further news, we have been able to fix an issue with files generated in Arabic UI localization.

And we were able to improve the code that manages keyboard shortcuts with keyboard layouts where you need the Shift key to access the figures (especially French and Czech keyboards).

Fixes and improvements

As with every iteration of Glyphs, a ton of minor improvements and fixes were undertaken. One seemingly minor thing is actually huge: we were finally able to track down and fix the most frequent crash that popped up in our reports. It has been a pretty obscure bug, hard to reproduce, and we have been trying to locate it for some time. But now we nailed it. That means that Glyphs 3.0.5 is significantly more stable, yeeha.

  • The italic angle is not rounded on export anymore
  • Fixed loading of smallCapHeight from old .glyphs files
  • Filter > Roughen will keep components as they are
  • The Rename Glyphs parameter will also apply to components in extra layers
  • You can resize the sidebars of Font Info > Masters a bit wider. Long master names, bring ’em on.
  • Many improvements for vertical kerning in both static and variable fonts (thanks Min-Young and Kazuhiro)
  • Improved import of Illustrator and Inkscape artwork
  • Improved the OT feature compiler, as well as OT feature code generation, especially automated mark-to-mark feature code
  • Improved QuickLook
  • Improved sorting of glyphs with custom subcategories, which might change the sort order in the exported font
  • Improved automatic alignment for non-letters, especially punctuation
  • Improved Correct Path Direction with corner components
  • Improved View > Show Master Compatibility with unusual instances setup
  • Fixed a number of TT hinting issues (thanks Edgar), and improved cvt and cvar export
  • Fixed an issue with OpenType code for the frac feature
  • Fixed display of the measurement line (Ctrl-Cmd-L) in Text mode
  • Fixed minor UFO issues (codePageIndexes, style name)
  • Fixed WOFF2 export in macOS 10.13 and older
  • Fixed the changing of layer types in macOS 10.11
  • Improved import of TT hints: sidebearing hints are recognized
  • Generally improved stability and performance

Have fun with the update, and a big thank you to all our users. Your continued input has made Glyphs the font editor it is today. Thank you.

Stay healthy, stay safe.