Alamo PC Organization: HOME > PC Alamode Magazine > Product Reviews

cat

FontLab 2.5 for Windows

by Pete Cassetta, Alamo PC

FontLab 2.5 for Windows is one of the most impressive and fun programs I've worked with in quite some time. It is a scalable font editor which lets you create, modify, and translate fonts between TrueType and Type 1 fonts.
 
 

Scalable Fonts

Before describing FontLab, let me back up a minute and review a few basics about scalable fonts.

 Scalable fonts are very flexible; they can be displayed at any size and on just about any output device (screen or printer) while keeping character shapes consistent. This is achieved through two steps. First, the font must be created by its designer, who describes each character as a series of straight lines or curves to form closed shapes. For example, a period consists of one small circle in most fonts, while a colon consists of two small circles, one above the other.

 In the second step, the font is readied for use at a certain size. This step is performed "behind the scenes" when you display some text using the font. It consists of looking at the character shapes and deciding which pixels to turn on and off to best approximate the shape at the given size. This step is hard to do well for small sizes or low-resolution devices (like screens or dot-matrix printers). To improve the results in these situations, the font designer can include "hints" in the font. For example, typical hints for the letter "m" might state that each of the three vertical strokes should be of equal width, that they should be equally spaced from one another, and that the two crests should be of equal height.

 There are many competing scalable font technologies, but the two most common ones are PostScript Type 1 (invented by Adobe) and TrueType (invented by Apple). TrueType fonts are supported on the Macintosh and on Windows. Type 1 fonts are supported on these platforms as well as on OS/2 and Unix.
 
 

Translating fonts

FontLab can read and write Type 1 and TrueType fonts, so it is a useful tool for translating fonts between these formats. This process is fully automatic, and takes several minutes per font. The only problem I ran into is that when importing a certain TrueType font, FontLab dropped points in several characters. This was a low-quality font, however, and I never saw this problem in fonts from more respectable manufacturers.

 As a font translator, FontLab is adequate. There are two other tools you might prefer for this job, however, both of which are much cheaper than FontLab. FontMonger, from Ares Corp, costs about $90 and can handle a much wider variety of scalable font formats than FontLab. Type Designer, from ds design, costs about $75 and has a reputation for being able to convert Type 1 fonts to TrueType without making any changes to the character shapes (FontLab makes minor, but noticeable changes).
 
 

Modifying Fonts

FontLab is a great tool for modifying scalable fonts. I'll describe two common modifications below, but keep in mind that you can modify almost anything imaginable in your fonts.

 One common need is to move characters around in a font. For example, there are about a dozen Cyrillic character sets in common use (Cyrillic is used to write Russian and other Slavic languages). Suppose you have a Cyrillic font that is set up for the standard Windows Cyrillic character set, but you need to read a document written with the Cyrillic character set used on the Internet? With FontLab, you can easily import your Cyrillic font, then create a new version of it with certain characters moved to new locations. There are actually 3 ways to do this in FontLab, the easiest of which simply uses drag and drop.

box Another common modification uses what FontLab calls stylizers. These let you create different "styles" from a given font, and they are a lot of fun to use. Suppose you have a nice font, but it didn't come with a bold or outline version? No problem, just read it into FontLab, stylize it, and save it. Figure 1 shows the results of some of FontLab's 24 stylizers.
 
 

Creating Fonts

FontLab really shines when it comes to creating fonts, or parts of fonts, from scratch. It has a wide range of drawing tools that let you draw and modify lines and curves. There are so many tools and so many ways to use each tool that it is nearly impossible to remember them all. In essence, FontLab is a specialized drawing program, and it is similar in many ways to high end drawing programs like Corel Draw.

 FontLab has a rich set of facilities for automating the drawing process. For example, there is a shape palette that lets you quickly add an ellipse, polygon, rectangle, etc. to your character, and then size and position it as needed. You can also scale and rotate characters or portions of characters as needed.

 One very impressive feature converts a bitmap to a character outline. This can be a real time saver when creating a scalable font that is based on a bitmap font, though the bitmaps need to be rather large for this feature to work well. Even then, the character outlines still need a bit of touching up.

 Once you've created a character, a feature called FontAudit can check the character and give you tips on improving or optimizing it. Another feature called Autohint will add hints to your character for you; you can modify these hints or add others manually as needed.

 Two of the more advanced features are subroutines and macros. With subroutines, you can define parts of a character once and then reuse them in many characters. For example, you might do this with the circle used in the period. It could then be reused in the colon, semi-colon, exclamation point, etc. This helps you ensure that such pieces are identical in all characters where they are used. It also helps reduce the size of the font file on disk.

 Macros are small programs that can do almost anything to a character, a range of characters, or a whole font. By writing a macro, you can automate processes that would be very tedious to do by hand. The macro language is a full-featured programming language. Although quite powerful, it is stack-based and will remind you of working with a reverse polish notation calculator. Experienced programmers shouldn't find it too difficult to learn, but others will probably find it baffling, and the documentation isn't geared toward non-programmers.
 
 

Documentation

I found FontLab's documentation pretty good overall. It touches on all features of the program, and includes quite a bit of information and tips on font design. Armed with the manual, I was able to explore all features of the program fairly successfully.

 There is, however, quite a bit of room for improvement in the documentation. It reads like a translation and was apparently written in Russian at first. This didn't really impede my understanding, but it was a bit distracting. Another problem is that the more advanced features of the program, where I needed the most help, tended to be less completely explained. Finally, I feel a program this large and complex could use both a tutorial and reference guide. The manual tries to be both, but excels at neither.
 
 

Font Management

FontLab contains a useful set of facilities for managing your fonts. A standalone program called FindFont will scan your disk drives, creating a list of all the fonts it finds. If you run this program from within FontLab, you can open the files for editing or apply stylizers to them. Another nice feature is the ability to generate print samples of your fonts. A variety of formats are supported, including character charts.
 
 

Desired Enhancements Apart from my comments on the documentation, there are a couple of features I'd like to see in a future version of FontLab.

 I'd like to see FontLab create identical versions of a font when exported in TrueType and Type 1 formats. This is very important for people who create fonts that are distributed in both formats. While character spacing tends to be identical, line spacing is not, and neither are the character shapes.

 I'd also like to have a shot at manually hinting TrueType fonts. Manual hints are ignored when you export a font in TrueType format, and automatic hints are generated instead (manual hints are only kept when exporting as Type 1). To be fair, no other program in FontLab's price range lets you manually hint TrueType fonts either.
 
 

Where to Get FontLab

FontLab was created by SoftUnion Ltd., a Russian company, and is distributed in the U.S. by Pyrus North America, Ltd. Pyrus can be reached at Box 465, Millersville, MD 21108, 410-987-5616, or via e-mail at 70220.344@compuserve.com. The program has a typical street price of about $300, and can be purchased from Pyrus or through several "specialty" resellers such as Publisher's Toolbox (800-390-0461), The Programmer's SuperShop (800-421-8006), or Provantage. You can download a demo version from the World-Wide Web (http://www.jasper.ora.com:80/comp.fonts/demos.htm). The demo is fully functional except that you can't save your work.

 Conclusions FontLab is a very impressive and feature-rich tool for working with scalable fonts. It is powerful enough for professional use, but its user interface makes this power easily accessible to the occasional user. It also requires surprisingly little disk space (about 4 MB) and is quite responsive, even on a 25 MHz 386. If you need to create or modify TrueType or Type 1 fonts, FontLab is a great choice. If you have any questions about FontLab or this review, please feel free to contact me at 210-659-2532 or ftsoft@connecti.com.