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.
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
You need to add a new glyph and call it
h.short. Now you can shorten the bar, 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
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
s.sc next to each other, forming a smallcap double s, built from
s.sc 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
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 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:
Update 2017-10-05: Added note and paragraphs about Ranges and Multi-Line Editing.
Update 2019-08-05: Corrected typos (thanks Nathalie!).
SAMPLE FONT: ALENA, COURTESY OF ROLAND STIEGER.