by Rainer Erich Scheichelbauer
en fr zh

10 February 2013 Published on 14 January 2013

Cook your glyphs with components. Stir gently and let it boil for a few minutes, serve hot. Enjoy.

You probably know the Glyph > Add Glyphs… (Cmd-Shift-G) command. It gives you a text entry sheet like this one:

Now you can enter glyph names as they appear in the Glyph Info panel, like germandbls, five, guillemetleft. Or you can enter the actual character, like ä or à, and Glyphs will add a glyph with the proper glyph name, in this case adieresis and agrave. The command even recognizes ligatures, so you can enter t_t and you get a ligature glyph called t_t with two t components in it. You can enter many glyph names at once, separated by spaces or carriage returns. This way, you can copy and paste complete glyph lists you keep around in text files, and you can create many glyphs at once.

Single component recipes

The really cool stuff, however, are recipes. A recipe is a string containing an equals sign, e.g. six.numr=six.sups. Glyphs tries to make a component of what’s left of the equals sign. What’s right of the equals sign is the resulting glyph name. So, in the example of six.numr=six.sups, Glyphs will create a glyph called six.sups and inject a six.numr component.

Think of the possibilities. Imagine you want to build an uppercase-only font. You could enter something like this:

A=a B=b C=c D=d E=e F=f G=g H=h I=i J=j K=k L=l M=m
N=n O=o P=p Q=q R=r S=s T=t U=u V=v W=w X=x Y=y Z=z

This creates lowercase letters a-z and inserts the caps A-Z into them, but as components! This way, upper- and lowercase letters will always stay synchronized. Cool.

Multiple component recipes

Enter the plus sign. Take a look at this recipe:


This recipe takes the h.short component, adds the circumflex component and creates the glyph hcircumflex.
You need to add a new glyph and call it h.short. Now you can shorten the bar, to get an even nicer h.circumflex:

In most cases, the built-in recipes will do nicely. And you only need to write the glyph name and Glyphs figures out the rest. E.g. if you enter edieresis, Glyphs will build it from e and dieresis components. You can take a look at the built-in recipes in the Components column of Window > Glyph Info. If you do not agree with the pre-cooked recipe, you can roll your own with the plus sign.

Let’s take it one step further:

In this case, the second glyph is not a diacritical mark, but a regular letter. This means that, in this example, Glyphs will insert two next to each other, forming a smallcap double s, built from components. This is what germandbls is supposed to be turned into when switching to smallcaps:

Note: Actually, this should not be the font’s job. Rather, the layout engine of the app or system that displays your font should take care of this. But backwards compatibility or legacy software may require this solution.

To sum up, using recipes, you can add two glyphs to create either a diacritic or a digraph. And the best thing about it is that the resulting glyph will be made of components.


You can add complete ranges in Unicode with a colon between two glyph names, like this:


This, for instance, will add all box drawing characters as glyphs to your font. In short, the structure is glyphname1:glyphname2, where glyphname1 has a Unicode value smaller than that of glyphname2. Then all the characters listed in Unicode between these two will be added.

By the way, it does not matter which glyph name structure you follow. Can be nice names, can be uniXXXX names. So, this is equivalent to the example above:


Multi-Line Editing

You will be confronted with situations where you have a bunch of recipe lines with a similar structure. And that is when you will find yourself repeating typing similar stuff in every line, again and again, like a robot. Ugh.

Luckily, there are text editors that allow multi-line editing, namely Sublime Text and TextMate. In TextMate you tap the Option key to switch between regular and column selection. Once you are in column selection, any editing you do is done on every line. In Sublime Text, you do the same by pressing Cmd-Shift-L.

Combine this with the ability to copy all selected glyph names: Select glyphs in the Font tab, right click to bring up the context menu, and pick Copy Glyph Names > One per Line.

Then paste in TextMate or Sublime Text, and multi-line edit away:

Pretty cool.

Update 2017-10-05: Added note and paragraphs about Ranges and Multi-Line Editing.
Update 2019-08-05: Corrected typos (thanks Nathalie!).