New Features in Glyphs 2.2

by Stella Chupik

10 October 2015

This is going to be fun. Version 2.2 contains some great workflow improvements, and we think you’re going to like it. Here is the gist of it:

Paths and Clipboard

There are two things we improved regarding paths and the clipboard:

Firstly, when hitting Cmd-X on a selected partial path, it really cuts open the path now. I.e., the path is placed in the clipboard, removed from the glyph, and the remaining path is broken open:

Secondly, when pasting a copied path segment to a different outline, it replaces the point selection. Sounds difficult, but this little animation should say more than a thousand words:

New in the Context Menu: Layer Colors and Export Settings

While we are still in Edit view, we might as well right click anywhere in the canvas to bring up the context menu of the current glyph layer. Whoa, no less than two new additions there: Export and Set Layer Color:

The Export menu item allows you to check and set the current export status of the glyph that is being edited. No more going back and forth between Font view and your Edit tab, just to click on that little check box.

When the other option, Set Layer Color, is active, the following label color changes will be local to the layer, and not for the whole glyph. This allows marking glyphs that just need work in one master, but not in the others. If you like this feature, give Ermin a pat on the back the next time you see him. Because, we probably wouldn’t have added it without his persistence. ;-)

And this is what it will look like in Font view, from left to right: a, orange glyph color; b, orange glyph color and pink layer color; c, no glyph color and pink layer color; d, neither glyph nor layer color set. As you can see, layer colors take up the right half of the glyph cell, provided the layer in question is actually visible in Font view:

Complex Corner Components

The implementation for corner component has been vastly improved. First of all, you can now use corner components for cupped or Tuscan serifs, too. That is because you do not need to keep the end of the path on the baseline anymore. You can have a leftor right anchor take care of that. Technically, they keep the fitting of the open path independent from the position of the end points. If that sounds too complicated, don’t worry, just try it. It’s so easy:

But there’s more. Next to the obligatory open path, you can now add any number of closed paths in a _corner glyph. And yes, their path direction is preserved. So you can take part in nifty stuff like the long overdue return of the page curl:

And now you can mirror corner components horizontally and/or vertically. All paths will be reversed, and anchors adapted accordingly, just as if you had drawn a separate right _corner glyph. This is what we did with the cupped serif in the example above. And this is what the page curl looks like mirrored, note the –100% entry for the horizontal scale:

We do not know what kind of monster we are unleashing with this. But we are pretty sure it is going to be a lot of fun.

Glyphs Projects

We have a new window and a new file format in Glyphs! It is called a Project, it is for batch-managing instances and instance variants without modifying the original Glyphs file, it has the file suffix .glyphsproject, and can be set up via File > New Project:

What you do first, is click on the Choose button, and choose a Glyphs file. Its instances will then be displayed in the sidebar on the left. Then you can add, remove and rearrange the instances. And for each instance, you can add, remove, and edit custom parameters, much like in Font Info. When you are done, choose an export destination, and click Export, and boom your font family is exported with the settings you chose.

The best thing is, you do not even need to have a Glyphs file open. All changes and edits are saved in the Project file. This is going to be great for producing subsetted webfonts, producing font trials and all sorts of font family variants. Anything you can put in a parameter, you can do here too.

SVG Table Support

Glyphs can now embed SVG graphics in fonts! To be more precise, we are talking about OpenType fonts with an SVG table, not to be confused with the outdated .svg webfont format. The SVG table is the color font solution proposed by Mozilla and Adobe. To use it, all you have to do is add a new layer to any glyph, rename the layer to svg, drag your SVG file into it, and export your font. But beware, currently only Firefox supports this table. Therefore, this only really makes sense for .woff and .woff2 webfonts.

Oh, and SVG animations are supported too! But be careful, animations in fonts are very processor-intensive, it can make your computer fans go bonkers, and all mobile users will hate you for draining their battery. You have been warned.

Screen capture from Firefox: The Glyphs logo and the rotating circle are embedded SVGs.

Guideline Highlights

Now, when a node happens to sit exactly on a guideline, you will see a little diamond indicator, much like the ones for the vertical metrics. And it works both for local and global guidelines:

Component Origins

Component origins are now indicated by a little hook in the bottom left corner in the Edit view:

Now it is easy to check if a component has been moved from its default position.


Kerning indicator colors can now be customized! To do so, simply go to Glyphs > Preferences.

So, now we can finally have some bright pink and green kerning colors!

Instance Preview Parameter

Tired of that ‘Aang126’ in the Font Info? Guess what, you can now have your own custom instance preview! Pick an instance in File > Font Info > Instances, and click on the plus button to add a custom parameter. For Property, choose Instance Preview. Now, click in the Value field. A dropdown window should open, and that’s where you can write your own list of glyph names, like this:

There should only be one glyph name per row. Once you confirm the dialog, the specified glyphs will be used instead of the default ‘Aang126’.

Kern Group Name Validation

When entering a kerning group name, it will be validated upon entry. Try entering höhöhö for a kerning group, and see what happens:

Smaller Grid for Handles

Imagine a grid setting where the Grid Spacing is 50 and the Subdivision is 5. If you moved your nodes, both the on-curve nodes and off-curve handles would automatically snap to the grid, right? Well, as of now, handles are exempt from grid snapping:

See how the nodes sit on the grid, while the handles keep their position? Now you can use a grid without compromising on curve quality.

Custom Tool Shortcuts

You can now add custom shortcuts for all tools in the toolbar! Let’s assume, just for a brief moment, that you are fed up of accidentally triggering the Annotation tool with the shortcut A, because you have spent too much of your lifetime in a certain popular vector illustration app. Then it is a good idea to bring up, and type this:

defaults write com.GeorgSeifert.Glyphs2 AnnotationTool.Hotkey "q"

Hit the Return key to confirm. Now, the Annotation tool has the shortcut Q. The change should be effective immediately, so you do not need to restart the app. If you want to remove your custom shortcut and go back to the defaults again, type:

defaults delete com.GeorgSeifert.Glyphs2 AnnotationTool.Hotkey

The other tools work in the same way, just that you need to type a different tool argument in your command line. So, instead of AnnotationTool.Hotkey, you type one of these: DrawTool.Hotkey, HandTool.Hotkey, MeasurementTool.Hotkey, OtherPathsTool.Hotkey, PrimitivesTool.Hotkey, SelectTool.Hotkey, SelectAllLayersTool.Hotkey, TextTool.Hotkey, RotateTool.Hotkey, ScaleTool.Hotkey, TrueTypeTool.Hotkey, ZoomTool.Hotkey.

And instead of "q" another letter of your liking between dumb quotes. Cool.

Custom Glyph Data per File

Select one glyph in Font view, and choose Edit > Info for Selection (Cmd-Opt-I). The following dialog allows you to customize the Production Name, the Unicode value, Script, Category, and Subcategory of the selected glyph:

If you select more than one glyph, you can customize their Script, Category and Subcategory attributes in one go. The great thing about this is that the Glyph Data change stays in this file only. So you do not need to juggle various GlyphData.xml files anymore if you have different clients with different needs.

CJK Grid

You can now have a grid in your CJK glyphs. To do so, go to File > Font Info > Masters. In the Custom Parameter field, click on the plus and add CJK Grid as Property. Then add your Value, in our example it’s 5:

That means that we have a grid of 5 rows and 5 columns. And here’s my favorite Hiragana character, tu-hira, with a CJK Grid 5:

If that’s not enough accuracy for you, you can also add the parameters CJK Grid Horizontal for the number of grid columns, and CJK Grid Vertical for the number of grid rows:

Language Support

Support for many scripts has been improved: Tamil, Khmer, Kannada, Lepcha, Gurmukhi, just to name a few. Lots of little improvements went into the default glyph data. And, Thai and Burmese were added to the Dimensions palette! Ta-daaa:

At this point, we want to thank our users for their invaluable input in putting together the glyph database we already have and continue to improve! Do you have something to add? Make yourself heard in the forum!

Python Changes

Are you using Python scripts and plugins in your workflow? There have been some major changes in how Glyphs handles Python code now. Make sure you update your plugins via Glyphs > Preferences > Addons > Plugins and retrieve the latest version of the scripts you are using from GitHub.

If you write your own Python scripts, you have likely already noticed a lot of improvements in the API. Again, many thanks to Yanone for his continued hard work on the implementation. You can always see the current status on

Small Improvements

As usual, we have a number of bug fixes, stability improvements, and many existing features received a polish. Take a look in Font Info, and you will find many new useful custom parameters. You will notice, for example, that the Color Palettes parameter dialog works much better now. Or that you do not need to deal with those pesky warnings anymore when you choose to leave the Designer URL and Manufacturer URL empty. We are pretty sure you will come across a number of other subtle niceties in your daily workflow. You will find all the good new stuff in Help > Change Log.

One More Thing …

Oh, and this one is for the geeks amongst you. Georg just released the DrawBot for Glyphs plugin on GitHub! Download it, install it, restart Glyphs, and then choose File > New DrawBot to open a new DrawBot window. With the plugin, you can open and save .py files.

And the best thing is, the complete Glyphs API is accessible through DrawBot just by adding from GlyphsApp import * at the beginning. If you ever wanted a macro window on steroids, well, it won’t get any better than this. Many thanks to Jens Kutílek for his help with the implementation!

Have fun with the new Glyphs 2.2.