Designing Case-Sensitive Symbols in GlyphsApp

Groteskly Yours Studio
5 min readAug 14, 2019

--

If you work with fonts a lot, you might have noticed that sometimes certain symbols, despite looking great and sleek, look terribly out of place. Say, you have to use parentheses, but compared to lowercase letters they look terribly tall, and then you resort to decreasing the font size and artificially increasing the weight of the culprit, which sometimes is just frustrating.

Both parenthesis are designed to be level with uppercase letters and look lopsided and awkward when used with lowercase letters only. Font: Rothek from Groteskly Yours

For someone who designs fonts (which, as it seems, is becoming quite popular among designers worldwide), there’s a rather quick trick, which can be learned on the fly and which would look rather impressive in your future projects. While it will require a lil bit of coding, you don’t need any prior knowledge of programming languages or software. All you need is a bit of patience, an up-to-date version of Glyphs (which is my favourite software when it comes to font design) and like 20 spare minutes.

First, you’d need to open the font you’re working on in Glyphs. No need to go in further detail as it’s super easy. Below is a screenshot of one of the versions of italics which I designed for Rothek, my latest type family.

Now, to design case-sensitive characters we’d need to do a bit of extra work. First, you’d need to design a regular character (we’ll do so below) and then an alternative version of the same glyph that fits, say, lowercase letters better. So, here’s our regular parenthesis next to uppercase “N”.

Once you’ve designed your regular parentheses (or any other glyph for that matter), it’s time to work on the alternative glyph that would fit your lowercase characters better. Simply click on Glyph → Add New Glyphs… and name it as your original glyph with .alt suffix. So, for example, my original glyph was named ‘parenleft’ and the newly generated would be named ‘parenleft.alt’. Repeat for the other parenthesis, since it’s pointless to have just one left parenthesis in your font.

Once the new glyph is generated, copy your original design for parenthesis and adjust it so it would fit lowercase characters better. Below is a screenshot of the two glyphs I designed.

And that’s when the fun begins. By itself, Glyphs wouldn’t really know what to do with two versions of the parenthesis, so you need to help it out a bit. First step, we need to let Glyphs know what the difference between the two cases are and what they are in regards to the glyphs we designed. In other words, we need to create two classes — uppercase and lowercase. To do so, navigate to Categories → Letter → Uppercase. You’d be greeted by a screen where all of your caps are. Select them all, right-click on any of the glyphs and copy their names separated only by a space.

It’s essential to have glyphs’ names space-separated on this stage.

Hooray, you now have some couple of hundred glyphs’ names on your fingertips. Where to paste them? Patience, first, we need to create a class called ‘uppercase’ in the Features tab. Navigate to Font Info (Cmd+I) and find the Features tab. That’s where all of your OpenType magic happens.

Click on the + in the bottom left corner and select Class from the drop menu.

Once clicked, it would create a class named ‘xxxx’ which you need to rename to ‘uppercase’.

Glyphs will then create a new, yet unnamed, class, which you have to rename to ‘uppercase’. That’s where you paste your glyphs’ names. Now, do the same for lowercase. Create a new class ‘lowercase’ and paste lowercase glyphs’ names there, too.

Both ‘lowercase’ and ‘uppercase’ classes are created, we have something to work with.

Now, you’ve specified what your upper- and lowercase classes are, now it’s time to code a little and let glyphs know what to do with your parentheses and when to do it.

Click on the + in the Features tab once again, but this time create a new Feature and name it ‘calt’ — it stands for contextual alternatives, which is precisely what we need when we have those ‘.alt’ suffixes up our sleeve. Once you have the feature created, move to the right part of the screen and type the following:

sub parenleft’ @lowercase by parenleft.alt;

sub @lowercase parenright’ by parenright.alt;

It may seem like a bit of nonsense now, but that’s what it means: ‘sub’ essentially means substitute; what follows is the name of the glyph in question, parenleft; and then is the glyph with which the original should be substituted,parenleft.alt. Don’t forget the ‘;’ at the end of the line.

The second line is essentially the same, but for the right parenthesis and with a slightly changed syntax, since the right parenthesis should rely on the case of a letter to the left of it, so that’s why the order is changed a little.

Now, here’s a little test:

Notice the bottom left corner where a feature ‘calt’ is turned on.

And that’s it. Now you have case sensitive parenthesis. You can do the same for other glyphs, so that your font is more consistent and full. Plus it’s an amazingly easy, yet cool feature to know how to do. You can do much more with ‘calt’ feature (like localising some of the glyphs or automatically change register for certain letters —a capital German ß being one of them. But we’ll talk more about it later.

Finally, if you’re not a type designer but still want a cool font that does this kind of OpenType magic, consider purchasing our latest Rothek sans serif, which is a font used as an example for this tutorial.

You can purchase Rothek here on Groteskly Yours MyFonts Page. And follow me here on Instagram for further updates and more cool stuff.

--

--

Groteskly Yours Studio

Independent Type Foundry: Inspire with Type. Design with Purpose.