Font Creation Tutorial for CorelDRAW

V0.1

By John William Harris

Made available under the terms of the GNU Documentation License

 

 

History

V0.9: Initial version, posted August 23, 2001.

 

 

Introduction

Creating TrueType fonts is something of a black art, often requiring the use of software priced many times in excess of what is reasonable.  (The author considers over $100 unreasonable, for any software, but still pays it grudgingly for some things.  The author cut his teeth on a Commodore 64, and deep down believes all these various Offices and Suites merely elaborate upon themes touched hundreds of times over in the type-in programs in Compute!’s Gazette.)  But unknown to even some long-time Corel users is that CorelDRAW has long had the major functionality for creating TrueType fonts built-in, and has since at least version 4, if memory serves.  By "functionality," I mean that it is capable of exporting images directly into a TrueType font.  Everything the program can do that has to do with fonts is thus built into this export filter, but this is okay, because working with glyphs is mostly the same as working with any other sort of vector artwork.  So long as you follow certain conventions regarding what the export filter expects from your drawings, and how your character images compare to each other, you should be able to create a fairly decent font.

 

You should be aware that what you get with CorelDRAW is not the complete set of TrueType features.  There is no support for bitmap glyphs, special glyphs at particular sizes, turning font smoothing (that is, anti-aliasing) on or off, or any of a dozen other features.  It can, however, produce a glyph anywhere in the entire ASCII range, and set the "leading" and "trailing" positions of a character inside or outside the actual physical dimensions of the glyph, which should be fine for most of our purposes.

 

The information in this document comes from a combination of web research, the CorelDRAW help file, personal experience and common sense.

 

Why CorelDRAW?

Because it's what I have, and it's actually the cheapest program capable of creating fonts of which I am aware, with the exception of FontLab.  (I won’t get into how to use FontLab, especially since I’ve never used it myself, but some basic information is presented towards the end of this document.)  It might be possible to create fonts from Adobe Illustrator, but man-oh-Manos, that's so expensive.  Some of this, particularly the advice on layout, setting up your glyph artwork, etc., should work in just about any vector drawing program which can write or export to TTF.  Once I start mentioning specific menus, however, you're on your own to figure out how to get your program to work, if work it will.

 

Basically, creating a font is a complicated process, and one that involves some planning, and a fair amount of drudgery.  There are a *lot* of character images to create and sort through, even if you decide not to bother with the "international" stuff and the more esoteric characters, and once you're done you'll probably discover that you still have to tweak some of the characters a little after testing your font out.  On the other hand, it is true that some people sell the fonts they've created, and some of them earn a fair piece of cash in the process.  And it is a good feeling being able to say that the lettering in the comic strip you're producing is your own, and didn't come from someone else's mind.

 

 

STEP ONE: Setting up the glyph template

At first one might think creating a font is simply a matter of plopping down your symbols into a font, but it's actually a little more complicated than that.  You must manually handle and adjust many individual images, one for each character in your font.  In CorelDRAW!, we usually do this by giving each character its own document based off of a common "template" containing guidelines which help you line your characters up correctly with each other.  Then all the characters are exported, one at a time, into a TTF, or TrueType Font, file.  When you actually do the export job on a character, you supply a few extra pieces of information for it, most importantly which ASCII value it represents and how much blank space to follow.

 

To do this, you'll need to actually set up a template.  There are complete directions in CorelDRAW's help system, but to this end, I have provided my own template file, which I will try to make available from the ecartoonist list's file space.  You might want to edit it a little to get the guidelines set up in the best locations for your font.  What you do is open this file in CorelDRAW, then when it asks, tell it to create a new document based off of this template (the default option).  Then you can save this new document as whatever you want.  Do that about a hundred times, one for each character you want in your font.  Basically, you should try to cover every uppercase and lowercase letter (52 in all), all ten digits (10), and the basic punctuation marks and symbols: period, question mark, exclamation point, comma, single and double quotes, dollar sign, ampersand, left and right parenthesis, plus and minus, colon and semi-colon, equals, commercial-at (You want your characters to be able to give their e-mail address, right?) and forward slash (17).  That makes 79 glyphs in all, but don't forget space!  And you may see a need to add extra characters as well.

 

In case you don't have access to the template file, you want to do it all yourself to get familiar with the tools, or if you're not using CorelDRAW and want to try to adapt these steps to some other program, here are the steps the help file gives in creating the template:

- The "page size" for each glyph document should be 750x750 points.  In CorelDRAW, the page size option is under Tools -> Options, then Document -> Page -> Size, then choose "Custom" in the Paper list box.

- The "base point," which defines both the vertical baseline and helps set horizontal, inter-character spacing, needs to be set.  Go under Tools -> Options, then select Document -> Rulers, then enter 30 in the Horizontal and Vertical Origin boxes.

- Now to actually put in the vertical and horizontal guides, go under View -> Guidelines Setup, then select on Horizontal, then enter 0 in the top box and click Add.  Do the same thing with Vertical.

- Now comes the tricky part.  You want to create additional guidelines to mark the "Cap height," "X-height", "descender length" and "ascender height" for your font.  In my template I've provided the heights I used for my font, Woodsprite.  Of course you should feel free to change these to match your font vision.  The CorelDRAW help file goes through taking a pre-existing font, setting the font size to 720, then moving a capital T, then each of a lowercase x, g and d so that it touches both the vertical and horizontal base guidelines.  (It often will not come to rest exactly on the base point.  For many characters this is as it's supposed to be. And as an aside, let me say that you haven’t truly used a drawing program until you’ve used it to balloon a font up to 720 points, you’ll feel all warm and technical inside.)  Once a character is in the right place, you can "manually" drag guidelines out from the rulers surrounding the document window and leave them in the proper locations, that is, one guide at the top of the x, one guide at the bottom of the g, one guide at the top of the d, and one at the top of the capital T.  Once you've gotten the guides to the place you want them, go ahead and save the file.  In the Save As... dialog, you can select "CorelDRAW template" as the file type, which means the program will default to creating a new copy of the file whenever it is opened, which might come in handy when creating as many documents as we'll be doing.

 

(FIGURE ONE: When added in v1.0 of this document, will be a screen shot of the template opened in CorelDRAW.)

 

One thing that can be of inestimable use in all this font work is the Character Map utility that can sometimes be found under the Start Menu at Programs -> Accessories -> System Tools.  If it's not there, you may have to install it from the Add/Remove Programs Control Panel, Windows Setup tab.  Also useful is a good chart listing all the ASCII characters.  (NOTE: Such a chart will be included in v1.0 of this document.)

 

STEP TWO: Preparing your glyphs on paper

If you're not scanning in your handwriting you can skip this part.

 

Again,. This is something that seems easy, but should really be thought about carefully.  Since what we're making, if you're reading this part anyway, amounts to a handwriting font, you should pay attention to the size at which your letters are rendered and the thickness of your line.  Remember that fonts can be reproduced at all sorts of scales, and CorelDRAW doesn't allow you to provide hinting features or special glyphs for small point sizes.  Even if you're using a font program that does allow you to include things like this, you can still save yourself a lot of trouble by making sure your lines are nice and thick relative to the size of the character.  My experience has been that you should make the lines a tad thicker than you would normally, but of course not so thick that you obscure the important features of your glyphs, such as by closing the insides of capital 'A', or making the uppercase 'Q' look like an 'O' with a wart, but your mileage may vary.  So long as you’re prepared  to go back in and fix any mistakes later, you should be fine.  In any case, you should be prepared to draw each character at least twice, and probably a couple more times more, so you can pick the best version after scan time.

 

(FIGURE TWO will go here: Scan of example glyphs on paper)

 

It should go without saying that all your characters should be sized about the same.  If you use ruled paper to draw, such as from a notebook, you might be able to avoid getting the light blue ruling by scanning in grayscale, or black-and-white, but I suggest you experiment with scanning in a blank piece of ruled paper first to see how well it shows up.

 

And make sure to render at least all eighty of the characters I mentioned above!  You never know when you might be stricken with the mad posh to include a colon in your dialogue, or to have a character give out a web address!  It is better to have it and not need it than need it (or severely want it) and have to do without.

 

STEP THREE: Scanning and/or creating your artwork

For starters, if you've got CorelDRAW, you should have access to a nifty little program that comes with it called CorelTRACE.

 

(FIGURE THREE to go here: CorelTRACE, during Advanced Outline method)

 

This program can be your best friend.  Use it to scan in the sheets of paper on which you've drawn your character set, in grayscale.  (Fonts can't include colored artwork, everything will just come out as a single solid color anyway.)  After scanning, what I do is use Image -> Mode -> Black and White and set a threshold of 192, but many of you probably know what you’re doing and already have your own procedures, if so then go with what you think best, there is no special magic in this step.  After that, go under Trace -> By Advanced Outline, and within a few seconds, you'll have a vector art version of your characters.  Be sure to File -> Save Trace Result at this time.  You shouldn't have to bother saving the raw scanned image, but you might want to keep a backup just in case, especially if you've got a slow scanner.

 

CorelTRACE uses CMX as its primary file format.  It doesn't let you save directly to 'Draw's native format, which can cause some problems.  Whenever you load in a CMX, all the artwork in the document will be "grouped" together, and it can be a pain to ungroup it if you're working with many files.  So the first thing you should do after loading the traced art is to save it as a CDR.

 

STEP FOUR: Getting your glyphs ready for export

Now, you want to individually copy the best of each of the characters from your traced pages to its respective copy of the template file.  This is the most annoying part of creating a font with Corel tools.  Make sure you select the whole character: CorelTRACE reproduces holes in black shapes by overlaying a white shape in the same spot, so make sure you get that too.

 

Actually, those white shapes are doubly annoying because you can only export single objects as font glyphs.  This means you have to "join together" the bodies of lowercase 'i's and 'j's and their dots (which doesn't physically join them, just makes them the same object internally) by selecting them both, then clicking Arrange -> Combine.  But this also means the white overlaid shapes have got to go.  You can do this using the Trim tab on the Shaping pull-out, which is roughly similar to one of the options in Adobe Illustrator's wonderful Pathfinder tool.  Or, if the white shape is completely covering the black, you can just combine the two the same way you did the 'i' and 'j.'  Combining the shapes gives them both the same fill and outline (which you may have to change back to black, depending on which of the two shapes CorelDRAW decides has precedent), but it also means all the places where the "same object" overlaps with itself are reversed, which is exactly the effect you want!

 

(FIGURE FOUR: The Combine Trick)

 

 

STEP FIVE: Exporting

Once you’re finished with all the characters you want to include, it’s time to load up just the document containing the Period in 'Draw.  The period always comes first, because CorelDRAW makes the first character exported to a font the "default" character of the set, so any characters you enter that aren't in the font will look like that.  (This is a far sight better than having random letter 'M's scattered about your document.  I’m not certain, but there may also, indeed, be some magic in the TTF creation algorithm that expects period to be first.)  After opening the file, make sure there's only one object in the document.  If there's any others, even if they're colored white or have no background or foreground you'll get an error.  Then, select File -> Export, fill in a filename for your font (which is not the same as the font name that'll show up in your font-using software, you'll enter that in a moment), and select TTF – TrueType Font as the File Type.

 

The first time you do this, you'll be asked to choose a Family Name for your font.  This is the font name that will appear in your Fonts folder when the font is installed.  To help cut down on potential confusion, you might want to make the filename the same as the family name, but it's up to you.  You should also uncheck the option labeled "symbol font" unless that's really what you're creating.  (This is off the subject, but a custom symbol font can actually be an excellent way to keep odd shapes in a kind of library for later use, since most drawing programs allow you to convert type "to curves" and resize it indefinitely.)  Leave the Grid Width at 2048, but you might want to make the Space Width smaller, perhaps 512.  (This can be changed later, so don't worry about it.)  When you're done, click OK, and choose to save changes to font file when asked, too.

 

Now you'll be given a dialog box, labeled "True Type Export," that you'll be seeing every time you add a character.  You'll be shown a small "portrait" window showing what your character will look like in the font.  To the right will be a scroll box allowing you to choose from the entire standard Windows character set in the Arial font.  Here is where you decide which character in your font is to be represented by the wonderful piece of literal art you've just provided to it.  Since you always start out a new font with the period (so say the law-givers of CorelDRAW), you want to either click on the Period on this list, or to enter the period's ASCII code, 46, in the nearby input box labeled "Character number."

 

The baseline and the leading and trailing "limits" of the character are shown in the glyph portrait window as black lines.  I put the word limits in quotes because they aren't the real size of the character.  They are what a program will use in placing the character on a line, and in determining when to start the next character.  As long as the Auto Character width box on this dialog is checked, you can't change the size of the character.  For most purposes this is okay, as CorelDRAW itself decides on a reasonable trailing blank space that is proportional to the size of your glyph that looks nice when seen on a line with other characters.  However, this might cause problems with especially large or small glyphs, like the period, so for this one you might want to uncheck the Auto box, then click directly on the character portrait to add a little blank space after the period image.  For most characters, I recommend that you don't do anything about it at first and leave the Auto box checked.  Later on, when testing your font out, pay special attention to how the widest (big M and W) and thinnest (most punctuation, lowercase 'i' and 'l', '1') characters look by both normal characters and other big and small characters.  Be sure to check to see how double 'l's will look, as well as a row of periods!  If you don't like the results, you can always re-export the character, unchecking the Auto box and deciding on a new trailing width, either by entering a value in the Character width box or by clicking directly on the glyph portrait.  Nothing prevents you from having characters that are "thinner" than the actual glyph, which will give you very scrunched and maybe glitchy characters.  Programs don't tend to expect glyphs like this, so try at your own risk.

 

Our template file, created using the directions in Draw’s help,  was built around the idea that you would be creating fonts at 720 points, so don't mess at all with the Design size setting, it is perfect at the default.

 

When all this is done, click the OK button and presto!  You've not only created a new font file with the given file and family names, but you've also put in your first character.  Only 79, at a minimum, left to go!  Now open the rest of your glyph document files, one at a time, and in the Export As… box, choose to save them each individually into the same font file.  Don't worry, CorelDRAW will automatically see that you don't want to replace the file but instead add to it, and will skip the main options box that appears when creating a new font, instead jumping straight to "True Type Export.”  Notice that, if you leave the Auto Character Width box checked, wide characters will get more trailing blank space than thin ones, because it adds space proportional to the width of the character artwork.

 

Once all your characters are added, you should have a usable font, and hey, congratulations!  But while the most monotonous work is now done, you still have a bit more to do...

 

STEP SIX: Testing your font

Now you're ready to install your font and test it out!  Make a backup copy of your font, name it something like "[your font name] v0.1" and store it in a backup folder somewhere out of the way.  (It often helps to keep an archive of past versions in case you mess something up and need to revert.)  Now go under Windows Control Panel and select Fonts to open the Font folder, and drag your new font into it.  (Whether fonts made using this method will work on Macs is unknown to me, but I don’t suppose it would cause trouble.)

 

Now, open Microsoft Word, or WordPad if that's all you've got, select your font and type out a few characters at a large size, say 36 points.  It should look okay.  Then keep trying it at smaller and smaller sizes until it gets difficult to read, so you'll know just how far you can push this font before it gets too hard to see.  You might be able to push a font a little further (or not as far!) if you turn off Font Smoothing under the Effects tab of the Windows Display Control Panel.  (Sometimes this tab is labeled “Plus!,” for really stupid reasons.)

 

Be sure to beware of quotation marks.  Word, and some other programs besides, likes to slip in “reversible” quotes automatically as you type.  Chances are you've defined "ordinary" single and double quotes, but haven't bothered with their “forward“ and ”backward” siblings, so you may end up with spurious periods when entering quotes in these programs.  You can turn this off in the Tools -> AutoCorrect dialog, under the AutoFormat as you Type tab, by unchecking Replace as you type "Straight Quotes" with "Smart Quotes."  (For later revision: the precise export character codes to use to put true reversible quotes in your font.)

 

After these basic tests, go on and try:

Several consecutive periods: ........  (If you didn't put a little trailing space after the period glyph in the font, you'll probably end up with what looks like a horizontal gray line.)

Other thin punctuation symbols: :::::   ,,,,,  !!!!!  *****  /////  ;;;;;  '''''  """""  [[[[[  ]]]]]  (((((  )))))

Several 'l's and '1's in a row: llllllll   11111111

Consecutive 'M's and 'W's: MMMMMMMM   WWWWWWWW MWMWM

Repeated and mixed round characters: OCODOOGOQO

Mixed thin, wide and round characters: OICMIWQMWIG

Punctuation in reasonable context: This, that: the other; "another one," http://a.b.com/ ((1+2)*3)/4=[2.25]

The old standby: the quick brown fox jumped over the lazy dogs.  THE QUICK BROWN FOX JUMPED OVER THE LAZY DOGS!  ThE qUiCk BrOwN fOx JuMpEd OvEr ThE lAzY dOgS?

 

STEP SEVEN: Revision and finishing touches

After testing  your font. chances are good you've got a few things you'd like to change.  You can probably figure this out for yourself: just open up the CorelDRAW document with the character you'd like to fix, fix it, then re-export it into the font.  The font should not be installed when you try to do this.  So long as you specify the right character code, the new glyph will overwrite the old.

 

Once you're done with revisions, you should have a useful addition to your comic toolbox!  And you did it all by yourself.  Brings a tear to my eye, it does it does.

 

 

Caveats

 

Always export period (ASCII 46) first!

The first character you export to a font becomes the "default" character, the one that is output whenever an unsupplied glyph is requested.  (That's why sometimes, when you try to enter a weird symbol in a font that doesn't support it, you get a box or a vertical line on the screen.  The program still accepted and stored internally the ASCII code for the symbol, but the image it produces on the screen, from the font, is a default.)  But I seem to remember reading somewhere that the character was important for a couple of other things, as well.  So let’s keep the world safe for amateur typographers everywhere, and export the period first when using CorelDRAW.

 

Make your character lines nice and thick!

Some professional fonts look decent at small sizes only because they include special drawing instructions, even custom bitmaps, that are used only when the font is rendered at that scale.  For example, take Microsoft's classic font Verdana (available on practically all Windows and Mac machines), which is the best example of which I'm aware.  Open Word or Wordpad or something like that, set the font to Verdana and the size to 36 points.  Then, view the same text at 12 points.  It should look about the same, just smaller.  Now try 7, and be prepared for a shock, because the font looks much different at that size.  They did this because Verdana was created explicitly to be readable even at tiny sizes.

 

Now, the people who created Verdana had access to much better tools than we’re using, so this trick is not available to us.  As a result, if the lines in your glyphs are too thin, you'll end up with something really unreadable.  My own font, Woodsprite, is hardly legible when rendered at screen resolution in point sizes under 12.  It may take some experimenting in order to get your font to look right at all the sizes which you consider important.

 

Watch out for the reversible "special" quotes some programs use!

When I created the first versions of my own fonts, I was dismayed that whenever I entered a quotation mark, it'd show up as the plain period that indicated the font didn't support that character, despite the fact that I had made special effort to create glyphs for the font.  The reason for this turned out to be that more and more programs these days use those special “reversible” quotes.  To solve this problem, you can either make special versions of these characters in addition to the normal versions, or at least copy the  (left single quote is ASCII 145, right is 146, left double quote is 147, right is 148), or you can turn off the automatic insertion of the reversible symbols in your program's Options or Preferences settings.

 

A few other things

ASCII values before 32 (space) don't show up on screen, so don’t worry about them.

The digits in many fonts are all the same width, so that tables will line up correctly.  For our purposes this shouldn't be important, but you never know.

ASCII character 160 is the "hard space," a space that won't trigger word wrap in most programs.  Not important, just useful.

 

 

Sources & further reading

 

Microsoft Typography

This site has almost too much information on this topic:

http://www.microsoft.com/typography/

Of special note here are the Font Properties Viewer and Editor, which let you read the creator and license information on the fonts you own, and also change them on your own fonts.  A great deal of advice on creating your font can be found on this site at:

http://www.microsoft.com/typography/developers/fdsspec/default.htm

I had to stop myself from restating a lot of this advice.  I suggest you go there and soak up all you can, but remember that if the font you make is mostly for your own use you don't have to worry so much about things like the precise vertical position of the "plus" sign.  Also, be sure to ignore anything listed as "Unicode," since CorelDRAW font creation tools do not support it (as of version 9, note that the current version is 10).

 

CorelDRAW Help

A good overview of what you need to know, not too technical, and explains the basics of what to do.  This tutorial is mostly a condensation and elaboration of the stuff in the help system.

 

 

Alternatives to CorelDRAW

This tutorial covers font creation using Corel's tools, but some of the advice is common to all font work.  A web search uncovered the following programs that also allow the editing of TrueType fonts.  (None of these are cheap, but some are cheaper than Corel.)  Most of these programs provide more features than 'Draw, and also support editing pre-existing fonts.

 

TypeTool

A reduced version of FontLab Ltd.'s eponymous font editor.  $99 U.S. for Windows or Macintosh, not bad.  Has automatic kerning and hinting, but judging from the feature list doesn't allow you to adjust these things manually.

http://www.fontlab.com/html/typetool.html

Apparently, built-in scanning requires the additional purchase of ScanFont, which can be obtained bundled for an additional $99 or apart for $199.  It might be possible to avoid this purchase if you have a drawing program capable of exporting to EPS (such as Adobe Illustrator).

 

FontLab

The full version of TypeTool.  $399 (gak) for Windows or Macintosh.

http://www.fontlab.com/html/fontlab.html

 

Macromedia Fontographer

The font tool the Shockwave people make.  $349 for Windows or Macintosh.  The program, sold from Macromedia’s web site, looks to be old – the system requirements mention either 386-compatible computers and Windows 3.1 or higher or any Macintosh with 5mb of memory and a hard drive, and System 6.0.7 or better.

http://www.macromedia.com/software/fontographer/

 

 

Glossary

(Will be expanded in v1.0, currently presents only cursory definitions.)

 

Ascender

This is a portion of a lowercase letter that goes over the X-height.  Look at b, d, f, h, i, j, k, l, and t, they all have ascenders.  Ascenders must usually be the same height compared to each other, which is usually still a little less tall than a capital letter.

 

Baseline

This is the line on which all characters sit.  In a properly designed font, only a few lowercase letters and a couple of punctuation marks extend below this line -- unless you're going for some special effect, that is.  If a character does have a portion that goes beneath the baseline, that part is called a descender.

In the system we're using, the baseline is defined by a guideline we've placed on our template document, but moving the guide likely does not change the baseline.  It's just there to aid us.

 

Cap height

This is the height of a capital letter in your font.  Generally speaking, all capital characters should have the same height.

 

Descender

The part of a lowercase letter than goes under the baseline.  Examine g, p, q, and y.  It's generally important that descenders all descend below the baseline to the same extent, that is, so the bottoms of your p's and q's, g's and y's all line up.

 

X-height

Like the cap height is the distance from the baseline to the top of a capital letter, the X-height is the distance from the baseline to the top of the lowercase letter 'x.'  Lowercase x is a suitable guide because many lowercase letters are exactly its height (a, c, e, m, n, o, r, s, u, v, w, x, z), and others have some important part sized to match (all other lowercase except l and t).