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
guillemetleft. Or you can enter the actual character, like
à, and Glyphs will add a glyph with the proper glyph name, in this case
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
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.
Option 1 Mark attachment
Enter the plus sign. Take a look at this recipe:
This recipe takes the
h.short letter component, adds the
circumflexcomb.case mark component and creates the glyph
hcircumflex, connecting the components with their respective
_top anchors, as you would in diacritics. You may need to add a new glyph and call it
h.short. Now you can shorten the bar and reposition the
top anchor, to get an even nicer
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
dieresiscomb 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.
Option 2 Ligature attachment
Let’s take it one step further. What happens if we do not add a mark in the recipe?
In these cases, the second and third glyphs are not diacritical marks, but regular letters: variants of
f fit for ligatures. This means that, in this example, Glyphs will insert the components of the respective letters next to each other, forming a ligature:
The components will be placed inside the ligature the same way as if the letters were typed net to each other. The placement respects kerning. Or you can take precise control of the placement with
#entry anchors. In the
f parts, you would place an anchor by right clicking in the canvas, choosing Add Anchor from the context menu, and renaming the anchor to
And in the
idotless, which is the base component of
icaron, you would place the corresponding
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 control the exact point of connection with
#entry anchors. Read more about tricks like these in the Component tricks tutorial.
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 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:
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:
Sample font: Alena, courtesy of Roland Stieger.
Update 2017-10-05: Added note and paragraphs about Ranges and Multi-Line Editing.
Update 2019-08-05: Corrected typos (thanks Nathalie!).
Update 2022-08-05: rewrote Multiple components chapter, added tip, updated screenshots, ,minor formatting.