Making Small Caps

by Stella Chupik
en fr zh

2 December 2015 Published on 29 October 2015

So, you’ve finished all your uppercase glyphs, and you are on a roll? Here’s how the software can generate small caps from your uppercase.

Duplicating and Renaming

Glyphs employs a special naming scheme for small caps: a lowercase name plus the suffix .sc. Alternatively, there are the suffixes .smcp for lowercase to small caps, and .c2sc for uppercase to small caps.

First of all, you need to duplicate all the letters you want small caps for. Generally, that would be all uppercase letters which do not consist of components. You can easily filter them by clicking on the gear icon in the bottom left corner in the Font view, and selecting Add Smart Filter. Then, select Count of Paths, is greater than and enter 0:

Now, select your filter and Letter > Uppercase at the same time by holding down Cmd while selecting. That will give you all uppercase letters without components.

If your design requires it, don’t forget about small caps variations for figures, punctuation and marks. In this example, we will stick with uppercase letters. Select all your chosen letters and go to Glyph > Duplicate Glyph (Cmd-D). Now, all the duplicated glyphs have the suffix .001:

Now, you need to rename them, because small caps have the suffix .sc. But, you don’t have to rename them one by one. Just select all your .001 glyphs and press Shift-Cmd-F, or go to Edit > Find > Find and Replace. Enter .001 in the Find box, .sc in the Replace box, and press Replace.

To easily toggle the names of your glyphs from uppercase to lowercase, simply use the Make glyph names lowercase script in the Glyph Names folder of mekkablue’s scripts. It automatically changes the names of selected glyphs to lowercase.

Or, for the geeks amongst you, there’s a cooler, built-in way to do it. You can do both renaming steps (adding the suffix and lowercase) at once with this little trick:

Again, select your glyphs, go to Edit > Find > Find and Replace (Shift-Cmd-F) and enter (.*)\.001 in the Find field. The (.*) means any number of any characters, and \.001 means a literal dot, followed by ‘001’. Then, in the Replace field, enter \L\ \L turns anything that follows into lowercase, \1 stands for the first expression in parentheses, in our case (.*). And .sc is our preferred name suffix for small caps. This time, you also have to check Regex, which means Regular Expressions, which in turn are these funny dots, asterisks and parentheses that mean something. Super easy!

Scaling and Fine Tuning

Well, it’s not really small caps if it isn’t small. So, you need to ‘scale’ your glyphs, but keep the stem width intact at the same time. Again, you don’t have to do that all manually. If you have more than one master on the weight axis, you can use the RMX Scaler feature of Tim Ahrens’ Font Remix Tools. But they actually do much more than just scaling: The RMX Scaler tries to preserve your stem width, which is what we want for small caps. But RMX cannot guess your stem width, so you need to define a horizontal and vertical stem width for every master in Font Info > Masters (Cmd-I).

Then select your prospective small cap glyphs in Font or Edit view, run Filter > RMX Scaler, and enter values that make sense for your design:

Every column represents one master. When you place your cursor in a column, RMX Scaler will switch the Edit view to the respective master, so you always get a good preview of what you are doing. You’ll probably want your Width value to be higher than your Height value, and the height of your small caps a little above the x-height. You can also change the stems’ Weight by specifying a unit value by which your outlines will be expanded. That is, in case your small caps appear too thin, which sometimes happens in small caps, at the end of the spectrum. Usually, small caps also need a little more spacing. Enter a unit value in the Adjust Spacing field. The Vertical Shift field is for superscript glyphs, so you can ignore it here.

Remember that while RMX is a great help, and it will get you very far in one step, it won’t give you finished small caps. You will still have to do some fine-tuning manually.

So, this is what we achieved so far:

Small Cap Height

You have an x-height and a cap height, so you should also have a small cap height. Go to Font Info > Masters, add a new Custom Parameter and select smallCapHeight in every master. For Value, enter the height respective of your small caps. This way, you won’t need to clutter your Edit view with dozens of guides. Finally, don’t forget about your overshoots: press the refresh button for Alignment Zones and adjust them as needed, or add it manually with the plus button.

Now, whenever you edit a .sc glyph, the small caps height is displayed instead of the x-height in your Edit view:


If you also want your small caps to have accents and whatnot, there’s an easier way than to generate them all manually. We will add small caps for all lowercase components! Here’s how: Again, add a Smart filter, but this time, select First Master has components and Yes.

Now, select your filter and Lowercase at the same time, just like we did before with the uppercase. You know, by holding down Cmd. Select all these letters, right click and select Copy Glyph Names > Space Separated. Now all glyph names of lowercase components are in your clipboard.

Open the text editor of your choice, like TextMate, TextWrangler, Atom, Sublime, or BBEdit and paste it there. Use the Find and Replace function to replace every space with .sc plus space.

This should turn aacute, abreve, acaron, … into,,, …. Copy your new list and switch back to Glyphs again. Go to Glyph > Add Glyphs (Shift-Cmd-G), paste the list and press Generate. Glyphs will then build your small cap glyphs and prefer .sc components wherever possible. Done!

You can also add glyphs manually by pressing the plus button in the bottom left of the Font View, and rename them. For example, name the small cap variant of the a with the dieresis, and go to Glyph > Make Component Glyph (Opt-Shift-Cmd-C). Now the glyph will be put together with the components and Glyphs prefers glyphs with the same suffix, wherever possible. So, if you don’t have a in your font, it will default to dieresiscomb instead.

OpenType Features

For adding a small caps feature, go to Font Info > Features and click Update, then Compile. You should now have two additional features called smcp and c2sc. The first one, smcp, turns your lowercase glyphs into small caps, and c2sc (short for ‘caps to small caps’) does the same with your uppercase letters.

And after all that hard work, you want to know if it actually works. Read more about testing your fonts in Adobe programs.

Update 2019-02-11: minor corrections, formatting and typos, added Atom link.
Update 2019-08-09: changed the name of the Make glyph names lowercase script and corrected typos (thank you Nathalie Dumont.)