I’ve been designing fonts for years, I’ve mentored a few up-and-coming new font designers, and I’ve helped assess fonts by various makers for quality control issues. I’m also an avid user of fonts! I’m not saying I’m the doyenne of font design; far from it. But I’ve both built and looked at the code of a LOT of fonts.
With new designers in particular, a few common errors and issues seem to pop up regularly. I made several of these mistakes when I was learning font design; hopefully this list will let other new designers skip all of these issues. (And come up with brand new and exciting errors, just like I have. We’re always learning!)
Here are the 12 types of font construction issues I see the most. All screenshots are from Font Creator 12.
#1: Cleanup Crisis
A lot of us draw out our alphabets in a raster art program like Photoshop or Procreate. We then bring that alphabet into a program like Illustrator or Inkscape, so those letters can be turned into vector shapes; those vector letter shapes can then be built into a font. But no vector program’s trace function is perfect; your nodes and handles should ALWAYS be cleaned up after the characters are brought into your font creation program.
Here you can see three versions of this A. On the left, we have the traced version straight out of Illustrator. The middle had had some basic automatic cleanup done in Font Creator, using the “Optimize Contours” function. The left is the fully cleaned version.
Looking at the node view, you can get an even better idea of how much cleanup happened. The original was full of overlapping points, crossed outlines, and other issues – every red circle or X is a spot that Font Creator had an issue with. The middle version is better; there are a lot fewer nodes, and all of the red marks are gone. If your font is intended to have a rougher look, this is OK! But the right shows when the letter is really fully cleaned. No extra nodes, sharp corners, smooth curves.
You could absolutely still sell the middle version – I do! It’s my Mystical Woods Rough. But you wouldn’t want to advertise it as a “crafter” or “cutting” font; it’s more suitable for print. If your intent is to make smooth fonts for crafting, you’ll want to clean up at a similar level as the A on the right (Mystical Woods Smooth). Many times, I’ll save the first cleanup pass as a “rough” version, and then save the really tidy pass as a “clean” version, and just like that, you have two members of a font family instead of one!
#2: Curve Concerns
Here are two versions of the letter C:
They don’t look too different, right? Ah, but check them out with the node view turned on:
Compare them with and without nodes. Where the one on the right has green circle nodes, all of those curves are smooth. But looking at the ones on the left, where the nodes are gray squares, every point where there’s a gray square has a little sharp point.
In most font design programs, nodes will appear in two different colors and shapes like this, depending on the type of node. In Font Creator, a green circle node means that the handles coming out of either side are exactly 180 degrees from each other, which will make the curve smooth. The gray square node marks a “corner,” which is really any node where the handles aren’t exactly opposite each other.
It’s really easy to line up a node with its handles – in Font Creator, just select the node and its two handles, and use the “Align Middle” or “Align Center” buttons on your top menu. The node and its handles will then all be lined up vertically or horizontally with each other. Most other font building programs have similar tools!
#3: Empty Extrema
Yes, another one about node issues. There are a lot, because nodes are the basic building blocks of your characters. They’re one of the most important, if not THE most important, thing you’ll deal with when building a font.
Here we have two versions of the letter O. They’re pretty much identical, BUT. The one on the left has a bunch of red dots on it, while the one on the right doesn’t.
This is because the one on the left is missing its extrema points. The extrema are the spots at the extreme top, bottom, left, and right of every curve, and your font program—as well as many other design programs—wants you to have nodes at those spots. Having extrema points helps design programs draw the characters properly, so they’re definitely something you want!
You can add in points over those red spots, and adjust your handles so that they’re exactly vertical or horizontal to those extrema points, to fix this error. Some creation programs will also have tools that will fix this for you, and place nodes where they should go. In Font Creator, you can use the Optimize Contours option to add any missing extrema nodes.
Most font design programs also have a validation tool or wizard that will help you find and fix common node errors:
In Font Creator, go to Font>Validate from the top menu bar. You’ll get the Font Validation Wizard, which looks for nearly a dozen common problems, including ones I’ve covered already, and ones I’ll get to soon.
You can tick the “Fix detected problems” box, and it will try to correct everything it can. Or you can leave that box unticked, and the program will just give you a list of what needs to be adjusted by hand. If you do have the program fix problems, I still recommend looking at every character afterward, to make sure it didn’t make really weird choices. (It’s still a computer, and as such, still prone to error when it comes to art.)
If you aren’t already running your validation tools before your final export, start now!
#4: Outline Obstacles
Finally, we’re moving away from nodes. Onward to outlines! There are two issues I see the most often: when an outline crosses over itself, and when two objects cross over each other.
In both cases, you’ll see a small red X anywhere outlines cross over each other. Your goal is to not have any of these Xs anywhere in your font.
In this example, I’ve been building a font from a bunch of shapes, so that the letters are all consistent; I’m re-using parts from letter to letter, then putting them together. (For an example of this type of construction, check out my 4-part series from 2018, “Creating a Font from Geometric Shapes.”)
If you don’t merge all of your building blocks that touch each other into one unified vector shape (using your font creation program’s tool, which may be called Merge, Unite, Union, Weld, or something similar), your users may not be able to properly use your font. Some design programs will show a knocked-out empty area in the letter where the shapes overlap. Folks using cutting machines will have cut lines going through their letters, because the paths of all of the building blocks will be cut.
Your program’s validation tools will look for these issues
#5: Diacritic Dilemma
This is something I’ve seen come up a lot in the last few months, and I haven’t yet figured out why folks are doing it. Characters appear in the Latin-1 Supplement section, but instead of showing up with their proper accent marks (À, Á, Ä, Å, and so forth), they all look just like the plain basic letter.
What I’ve discovered is that the font designer probably doesn’t even intend to include these characters; they’ve just accidentally mapped the Unicode designations for those characters to the basic letter. Such as:
Here I’ve selected the A, and you can see in the “Code-points” field of its properties, this single character is mapped to Unicode spots 0041, 00C0, 00C1, 00C2, 00C3, 00C4, and 00C5. (Font Creator tends to drop zeros from the beginning of any Unicode; so 0041 becomes $41 in its internal shorthand.) The plain, basic A should only be mapped to that first one, 0041. The other six Unicode spots are all unique and different characters; each one does use the basic uppercase A, but each one should have a different accent mark over the top.
If you don’t want to include accented characters in your font, you don’t have to. (Though we’ll talk a little later about why you should.) But if you do this type of mapping, customers will think that their language is supported, when it isn’t. You’re misleading buyers by having something mapped to those spots that is incorrect and unusable for them.
#6: Spacing Stumbles
There are a lot of common spacing issues, so I’m going to group them all together here.
First off, if you’re making a simpler font (sans-serif, serif, slab serif, or handwritten print), your right and left side bearings should be consistent throughout the font:
Any letters that have the same style left and right sides (like this O, with curves on both sides) should have the same left side bearing and right side bearing. For this example, the O has 30 points on either side. Likewise, letters with two flat sides (H, N, M, I) should have the same number for left/right.
And for letters with a mix of flat and round, like D, the flat side should have the same spacing as both sides of your H, while the curved side should have the same spacing as both sides of your O. By using a test string like OHOHHOOH, and adjusting the side bearings of those two letters, you can get the correct side bearing values for most of the uppercase characters. Then your “pointy” characters like V, W, X, and Y can likewise get consistent spacing.
I can’t tell you the number of times I’ve opened a font to find that a letter like H has a left bearing of 2, and a right bearing of 100.
By setting your spacing right from the get-go, you’re going to make a lot less work for yourself later, when it comes time to adjust kerning. And we’ll get to kerning a bit lower down!
The even-spacing advice above is great for fonts like sans-serifs. But what about connecting script fonts? Well, there are some easy rules to follow here as well! For this example with a lowercase y, I’ve set a guideline at 200 points above the baseline, which is where all of my letters will connect. The left side of the y just touches the spot where the left side bearing and that guideline meet; the tail on the right side overlaps that spot just a little bit on the opposite side (green dots). This will ensure that you need to do very little kerning, and your letters will connect smoothly.
I’ve seen many script fonts like the example on the right, however. The side bearings are in places that don’t relate to the letters at all, and the only way to get these to connect properly is to adjust the kerning for every pair of letters. That’s a problem for two reasons: one, you’re just making way more work for yourself; and two, some programs can’t see kerning. Best to have the spacing as perfect as possible before you even THINK about kerning!
The “easy” on the left has all of the letters spaced properly: left side just kissing the side bearing at the guideline, tails on the right overlapping that side bearing/guideline meeting point. Nice, smooth connections.
On the right, the spacing is all over the place. Just typing out the letters, without any kerning, will never look good.
One last note about setting your spacing: odds are, your font creation program has made the blank space character too wide. Be sure to adjust it so that it fits with your character width!
#7: Feature Frustration
Speaking of kerning, it’s one of the most overlooked OpenType features!
Even if your font is a simple uppercase set, there will always be some letter pairs that need to be kerned. A font that doesn’t include AV, VA, TA, AT, LT, AY, and other really common quirky pairings just isn’t ready to sell.
If your font has any alternates, ligatures, or even fractions, you should also be coding those! Not just kerning them (which you should definitely do), but also setting up Script, Feature, and Lookup entries for all of them as well.
And don’t forget to kern your numbers and punctuation; I see those missed a lot! A lot of combinations (like L’ and Y,) need a little love.
Here’s a look at the OpenType coding for my Witch Hazel font. (This isn’t even all of it; there are a couple more Stylistic Sets, but I figured you’d get the idea.) Many design programs see this code and make it as easy as pressing one button, or highlighting a character, for the user to select an alternate option. You should include OpenType coding whenever possible to make your fonts as easy to use as possible, and to make sure any alternates and ligatures are right there for your customers to use.
#8: Punctuation Peril
Punctuation marks can be a challenge. They definitely aren’t as fun to draw as letters, and don’t get used as much. But you still gotta make ’em!
I’ve seen this first issue come up a lot. When you create a new project in Font Creator, the program gives you the option to check a box, and it will pre-fill in a bunch of punctuation marks and numbers with basic default versions.
Don’t check that box! It’s a trap! Look at this terrible mismatch above!
You should always create your punctuation and numbers by hand, using the same tools that you use to create your letters. If you’re doing a hand-lettered alphabet, write the letters, numbers, and punctuation marks all out at the same time so they’re consistent.
I mean, even these pre-filled characters aren’t consistent with each other! The plus, less, equal, and greater characters are all sans-serif style, while the rest are serif! Also, some are set oddly on the baseline—look at the top row, and compare where the ampersand sits, versus the parentheses. The one is way higher than the others!
The pre-filled punctuation might (MIGHT) be even worse than no punctuation at all. In this one, the pale gray letters indicate spots where I haven’t yet put in a character. The only things in there are the comma and period. If I finished up this font and put it out there as it currently stands, it wouldn’t be very useful. Customers can’t make wedding invitations (Person & Person would need the ampersand), or price tags (no dollar sign), or even ask a question (no question mark).
I could see a free demo version of a font being this limited, to encourage folks to buy the full version. But if it’s a font that you expect your customers to type words and phrases with, the full version should always have all of the basic punctuation marks you’d find on your computer keyboard. (There are exceptions; I wouldn’t expect a full set of punctuation if a font was just made up of decorative monogram letters, or if it was a dingbat font. But fonts for typing? Those need all of the punctuation you’d find on your computer keyboard.)
#9: Baffling Blanks
Speaking of everything you’d find on your computer keyboard, did you know that the 95 characters in the Basic Latin section of Unicode cover everything on an English-language computer keyboard?
There they are: the Basic Latin 95. At a very bare minimum, every single font you make should include these 95 characters. I know it’s tempting to leave out things like the bar, grave, asciicircum, asciitilde … because what even are those? Who uses those?
I’ll tell you who uses those: customers. They may not be used often, but they all have their uses.
I also think that the most basic, simple fonts also need another specific set of characters:
Namely, all 96 characters in the Latin-1 Supplement section of Unicode.
Including these characters will ensure that you’re good to go for all English speakers. (We do use accent marks in a number of borrowed words! Someday the garçon at the French café may bring you a jalapeño crème brûlée.) By including these, you’re also opening up your customer base to those who need to type in Spanish, French, German, Portuguese, and quite a few more languages.
Do you have to include even more accented characters beyond these? I mean, you don’t HAVE to. But with most font programs, they’re so easy to make! You’ve already created the basic letters. You just need to load in the accent marks, and odds are your program has a “Create Composites” or similar option. The program will bring in the letter and the mark, and then all you need to do is maybe nudge the accent a little bit so that it sits nicely over or under the letter. If you’ve already put 50 hours into a font, why not take another hour and create 400 more accented characters, so you can open your font up to a hundred languages?
But in general, in my opinion: a free font should contain all 95 Basic Latin characters, and a font that you’re selling should also contain all 96 Latin-1 Supplement characters.
#10: Metrics Mayhem
We talked about the left and right side bearings and spacing, but we haven’t yet talked about the upper and lower boundaries of your font: the ascender and descender.
A common problem is to set the descender (aka WinDescent, in this Font Creator editing window) up too high, so it chops off the bottoms of your characters.
Some design programs can figure out that the letter itself goes down below that line, and it will show the whole letter despite where the WinDescent boundary is set. But other programs (I’m looking at you, everything in Microsoft Office) takes that WinDescent line as the final word. If the font creator says that’s the lower boundary of the font, then by golly, Word and PowerPoint and Publisher won’t show anything from that line downward. So it’ll chop off any part of the letter that sits below the WinDescent line.
(I did a whole blog post about this issue in Microsoft products, if you want to give it a gander.)
I’ve even seen the WinDescent set at zero, so that it’s overlapping the baseline. Not good! Anything with a descender (g, p, q, y) gets its bottom cut off in those programs.
But oddly, some font designers go too far in the other direction: they drop their WinDescent line WAY lower than it needs to be. I’ve seen quite a few fonts where it’s set at 2000 units below the baseline. It’s always 2000, I don’t know why.
I’ve edited my Breakfast Pastry font to show what that looks like, both in the design window and when someone’s actually trying to type with the font. That super low WinDescent boundary makes the text on the next line down show up extremely far away from the previous line.
In a perfect world, you’d set your ascender/WinAscent so that it sits one unit above the very top of your tallest character (accent marks included), and your descender/WinDescent would sit one unit below the very bottom of your lowest character (accent marks included). With most font creation programs, you don’t even need to figure out what the tallest and lowest characters are; there’s often a system in place that will scan all of your characters, and auto-calculate those highest and lowest points!
There are some intentional exceptions, which I go into in that blog post I linked to; mainly, when you have alternates with exceptionally tall or deep flourishes, it may be worth cutting those off with your ascender or descender; odds are, people will be using them in a full design program that won’t chop off the tops or bottoms.
#11: PUA Problems
Ah, the Private Use Area. For those of us who like to create a lot of alternates and ligatures, it’s like a home away from home. But some fonts don’t use it the way they should.
The PUA is a section of Unicode that has been specifically set aside for non-standard characters, so you can put all of your weird and unique items there. Technically, there are three areas set aside: one starts at code point E000, one starts at F000, and one starts at 100000.
You should always encode your alternates and other custom characters to the PUA, and in almost all cases, you should start with E000. This will put your alternates right at the very top of the Private Use Characters section in character map programs, so they’re easy for your customers to find. (I’ve seen quite a few fonts where the alternates start at F000, and they can be hard for some users to find, because in some programs the customer has to scroll past over 4,000 empty spots before they get to your alternates.)
I’ve also seen alternates put into other areas, such as the Mathematical Operators section, or as in this example, in the Thai character section. The Thai one is an easy mistake to make; the first character in the Thai section of Unicode is 0E00, which shortens to E00 when you drop that opening zero. So if you only type in E00 instead of E000 when adding Unicode glyphs to your font, you can accidentally end up with Thai characters.
You may wonder, what happens if you don’t map your alternates to the Private Use Area at all? Well, it may make them completely inaccessible to some customers.
Programs like Photoshop and Illustrator can reach those alternates, as long as you’ve coded them in with OpenType features like SALT, SS##, or SWSH. But there are quite a few programs out there that don’t have direct access to alternates like that; users need to copy your alternates from programs like Character Map (PC) or Font Book (Mac), then past them into their design program.
If your alternates haven’t been mapped to Unicode spots, then many of those secondary programs (like Windows Character Map) can’t see them at all; and other secondary programs (like Mac’s Font Book) can see them, and you can copy them, but they can’t be pasted into design programs. And that means your customers can’t use them.
#12: Name Nuisances
There are two different name-related issues that pop up a lot. First, let’s talk about how names work inside the font’s code:
In Font Creator, you’ll always put the font’s name in that first “Identification” tab in the Font Properties menu. But then there’s this second menu, “Extended,” that has additional name fields!
But look at that note, halfway down the box: “In general it is best to leave these naming fields empty.”
Here’s the problem: some programs love the naming fields highlighted in blue, and some programs HATE them. The programs that love these fields have two drop-down menus that you can use when choosing your fonts: the first menu will have the family name (in this example, “Font Name”) and then the second menu lets you choose between variants in that family (I have “Regular” and “Italic” here, but some fonts come in a huge variety of weights like Light, Thin, Medium, Bold, and Black).
Here’s Affinity Photo, which contains both drop-down boxes. The first one allows you to choose what you have in the Typographic Family naming field, and the second allows you to choose what’s in that Typographic Subfamily field. In this example, you can see that Berkeley LT has 4 members of its family, and all of those are installed on my computer.
The programs that hate these fields hate them because they don’t have that second drop-down menu. So with our example of Berkeley LT, while Affinity Photo shows that we can choose between four members of the family, this is all you get in programs like Cricut Design Space, which can only see the Typographic Family field, and not the Typographic Subfamily field:
As far as this program is concerned, you’ve installed the same font four times, and each of those four is only named “Berkeley LT.”
It can be tough to decide which way to name, because no matter which way you go—using these fields or not—some of your users would wish you did it the other way. But by not using these Extended naming fields, everyone can use your fonts in all programs; it’s just not quite as tidy for some of them. So every time, I’ll vote that you avoid using these fields, and make your fonts accessible to all users.
Users of the pro design programs will see each individual font in their first drop-down menu, and they won’t select anything in the second. But this means that users of programs like Cricut Design Space, or other programs that lack that second drop-down menu, will be able to see and use all four of the fonts in the family.
For the second naming issue … I’ve tried to avoid criticizing any specific fonts or font makers up to this point, but I think this image makes a very important point:
This is not every font named Samantha out there, but it’s quite a few of them. And one of them is extremely popular. There are a couple of reasons I recommend avoiding a name that someone has used before:
– If another font with that same name gets acclaim and popularity, it will overshadow yours, making your font impossible to find in search engines; and
– People who want to purchase one of these may accidentally purchase a different one, which can result in upset customers and refunds.
So when choosing a name for your font, I strongly recommend researching to find a name that nobody has used yet. You can do a Google search, or search Dafont, or visit some of the more popular font marketplaces and search them. There’s also the NameCheck tool, a database of font names which pulls in results from several marketplaces and portfolio sites.
Is your first choice for a name already being used? Most likely yes.
Is your second, third, or fourth choice already being used? Quite possibly yes as well.
But believe me, you absolutely can find a unique, original, name that suits the tone of your font. It just may take a little more work. And if you’re looking for inspiration, check out my Font Name Generator! It will combine two words, each six letters or shorter, into a font name for you. Even if it doesn’t give you the perfect name, it may inspire you to think of other similar words that DO make up the perfect name!
And know that at some point in the future, someone else may name their font the same as yours. But the more unique your font name, the less chance that will happen. I know of a couple of mine—Boisterous and Barn Dance—that are now the names of other fonts released after mine. But nobody has made a font named Zooky Squash, or Dear Agatha, or Pickled Limes; those are weird names that just don’t pop into someone’s head randomly as a good name for their font.
This was a big undertaking, and I hope it’s helpful to all of you new font creators out there! If you make sure to avoid these pitfalls, your work will be that much sharper, cleaner, and professional—resulting in more fans and better earnings in your font-making career!
I don’t always open up comments on blog posts, but I’ll open them here, in case you have questions. They’ll be moderated, but I’ll try to approve them as quickly as I can! 😊