So, you’re interested in type design, but you are still figuring out how & where to start or get to the next step. This post is a non-exhaustive attempt to share an overview of how you might learn some basics, how you can get started with font editing software, and where you might consider growing your skills after that.
This post reflects my bias and (some of) my personal experience, and it completely skips important topics like formal education, calligraphy, sketching, bezier drawing tips, and more. But, I have a lot of thoughts to share on beginner (and intermediate) resources, so this post will serve as an evolving collection of those thoughts.
General learning 🔗
Useful Internet resources
- The format of this post is somewhat informed by James Edmonson’s (Ohno Type) blog post Getting Started in Type Design. It includes some useful topics I haven’t included in this post. Also, The next two resources in this list are borrowed directly from it.
- Spacing & Proofing, also by OHno Type, are two excellent, practical posts for subjects beyond drawing that are super significant to good type design.
- More recently, The Ohno Blog added the excellent Ohno Type School series. I don’t fully agree with 100% of the opinions offered within it, but Ohno is brilliant, and this series is crammed full of entertaining jokes and useful insights.
- Type Basics, by Underware. This doesn’t have a flashy layout, but it is a series of extremely helpful drawings with important lessons for type design.
- Type Mechanics, by Tobias Frere-Jones. More useful explanations of some visual things that are important to know, but not always obvious.
- I have collected a few useful spacing tests at https://github.com/arrowtype/spacing
- There is a ton of practical advice for technical aspects of type design available in the documentation & tutorials provided by various font editing apps. More on this below.
Useful books
- For the very basics of letter-shaping, the first book I read in type design was really helpful: Designing Type, by Karen Cheng. It goes through each letter, showing their general forms via measurements of different pieces of glyphs from classic typefaces. This measurement-based is not necessarily useful if you have been designing type for a while – type design is more about testing what you make and trusting your own eyes than it is about following formulas from the work of others. Even so, this book helped me gain an overall awareness of what is “general practice” that I found really helpful as a beginner. And sometimes, even today, when I don’t know a convention offhand (e.g. a question like "How big, exactly, should the quote marks be for a display serif?"), I will take a look at a few relevant fonts to understand precedent.
- For more practical information around how to actually draw, space, and kern a typeface, take a look at How to Create Typefaces, from Sketch to Screen.
- For deeper (but still approacheable) reflections on theory, The Theory of Type Design, by Gerard Unger is a great book with a beautiful set of visual examples and references.
- For one useful theory of approaching type design in a systematic way, The Stroke, by Gerrit Noordzij is a classic.
My favorite font editors: Glyphs & RoboFont 🔗
Making type is involves many things. Digital drawing is only one of the areas to master, but it is a core aspect. When I started out as a student in graphic design, I remember thinking, “Wait, Adobe doesn’t just make a type editor??” I was daunted by what seemed like a confusing world of indie apps, and not sure what to use and how to get started. Here is what I would tell someone in that position, today.
Glyphs & RoboFont are the two most-commonly used editors in professional type design, and also the two editors I have the most familiarity with. This post isn’t really a comparison of the two; I 100% recommend either of them.
Generally, Glyphs is more approacheable and feels more “Mac-like” as an app: it is quite approachable and does some helpful things for you. RoboFont is a bit more intimidating to get started with, but provides more flexibility because it is less “opinionated” about what tools you need.
I got started in Glyphs, and I now use RoboFont more. I use RoboFont largely because I like the way it encourages me to think about my workflow and consider what a given type family should be like. RoboFont is somewhat nicer for scripting (partly because it uses Python3), and its format is nicer for Git versioning. I also really like its approach to spacing.
To be honest, my initial motivation to use RoboFont was that most of my heroes in type use it. A couple years in, however, I have become more fluent in drawing with it, and I like it for many reasons – here’s more on my favorite extensions & tools to use with RoboFont. But, there are also many professionals who use Glyphs to make amazing type. Some studios even use both, though this takes some scripting to handle well.
I have a lot of love for both apps!
Alternative editors 🔗
- Glyphs Mini has many of the features of Glyphs, with the main exception that it only allows 1 master per font (meaning that if you want to make multi-style typefaces, you will want to upgrade. If you are just drawing a single font, doing lettering, or making a logotype, this is about 5x better for drawing letters than Adobe Illustrator
- FontLab 7 has some amazing features and I’m sure people are doing good work on it, though I don’t have much personal familiarity with it. Unlike RoboFont & Glyphs, it is available on Mac and Windows, so if you’re on a Windows machine, this might be the app for you.
- FontForge is an open-source font editor which is cross platform and freely available for Mac, Windows, and Linux. I also don’t have much familiarity with this one, but if you are just looking to explore type design without a big initial investment, this might be the perfect solution.
Getting started in Glyphs 🔗
Glyphs does an amazing job in tutorials & support. Check out https://glyphsapp.com/tutorials for advice on getting started. The Glyphs Forum provides excellent support, often faster than seems reasonably possible. There are great extensions for Glyphs, but I don’t really know much about these – see https://glyphsapp.com/extend for some good suggestions.
Getting started in RoboFont 🔗
Due to its unopinionated nature, RoboFont can an intimidating program to get started in,. If you are just getting started (or if you’re just curious to see what I like), here’s some basic advice that may help get you off the ground.
The docs are pretty good at https://robofont.com/documentation/introduction/. Read through these, and keep clicking to the next page. Don’t get distracted by all the links in each page on the first read through – consider clicking them on subsequent reads.
If you have questions, the RoboFont Forum is very helpful: https://forum.robofont.com/. They usually answer questions within a day (many questions, of course, are already answered if you search for them).
RoboFont Extensions
In an earlier version of this post, I had tips here on some of my favorite RoboFont extensions. However, I have since added more extensions and detail in a separate post on RoboFont Tips.
Other useful tools: 🔗
- Alphabet Type’s CharSet Builder is a really handy tool to create character sets (an important early hurdle in RoboFont)
- FontGoggles is a really good tool to quickly view fonts, useful to quickly test font builds. It can also be useful as a way to quickly compare how various fonts handle the design of certain characters, etc.
- Type-X is a tool I designed and built in collaboration with Roel Nieskens. It allows you to quickly & easily test any font on your system on (almost) any website. This can help you to judge your work in different web contexts (and can be a fun motivator to improve what you’re working on).
Technical areas 🔗
- Version control: Git is pretty challenging to get started with, but extremely useful for all areas of technical design & code.
- Git for Humans is a a great introduction to using Git.
- GitHub is the most popular Git website, and they also have a nice getting-started guide.
- Scripting: scripting makes it possible to work efficiently with complex fonts, and not have to rely on someone else building everything for you.
- RoboFont has a good guide to getting started, including a great guide to starting with Python, the most common scripting language used for font design & development (and many other things, like software development, data analysis, and more).
- DrawBot makes it possible to create graphic designs & animations with Python. Not only is this a fun way to learn Python, but it can be a genuinely useful tool to generate proofs, books, or animations that (sometimes) would be impossible to create with more-general design tools
- On the Glyphs side, they provide a very handy 4-part Scripting Glyphs tutorial.
- Mastering: A topic as big as type design itself. Here are a few places you might get started.
- OpenType Cookbook is a friendly introduction to scripting OpenType features. It is very approacheable, and helps answer questions like “How can I add automatically-swapping alternates to a font?” and “How can I make ligatures work how I want?”
- The OpenType Spec answers basically every question about what is possible in fonts, such as “What are the possible OpenType feature tags and what do they mean?” and “What are the valid values for font variation axes?”
- FontMake is a great way to get started into building fonts in a way that gives you more control than tools like Batch can (you can even use shell scripting as a quick way to create handy workflows to build & sort fonts).
- FontTools provides a bunch of Python-based tools to help handle font files – of note, TTX makes it easy to inspect built OTF/TTF font files, TTFont can make it efficient to edit font data, and