Font Questions


How do I convert between PFB, PFA, Mac(TM), PFM, and AFM?
Write or call Y and Y Software, listed in the fonts section as a vendor.
For NEXTSTEP(TM) systems, write or call Trilithon Software, also listed in the fonts section as a vendor.

Fonts
This section answers questions about fonts as they pertain to PostScript. See the comp.fonts FAQ for more information about fonts.

What are .PFB and .PFA files?
``PFB'' stands for Printer Font Binary, and is a STORAGE FORMAT in which Adobe Type 1 font programs are usually distributed for IBM PC and compatibles. Many application programs support fonts in PFB format, and refer to them as ``downloadable''.
Macintosh uses a radically different binary storage format than PC. See below for some details. PFB files usually appear in several sections, each section preceded by a binary header containing the type of the section (ASCII, binary, or end of file) and the length of the section. Because of the presence of the binary section headers, and the possible presence of binary data sections, PFB files cannot in general be sent directly to a PostScript printer.
Application programs like dvips(TM) which use fonts in PFB format unpack the font into ASCII format before sending it to the printer. If you would like to use a font which is in PFB format, you must unpack the font to make a PFA (Printer Font ASCII) file.
Adobe Systems supply a font downloader for PC's which turns the PFB format into PFA format on the fly as it's being downloaded. ``PFA'' stands for Printer Font ASCII, which is the unpacked version of a PFB file. In PFB, the data is stored as-is. In a PFA, any binary data present in a former PFB file is stored as ``ascii hex''--meaning each byte of binary data is turned into two ASCII characters representing the hexdecimal value. Once you have the PFA file, just send it to the printer ahead of your file, and use the font like any other.
There are several programs which can do the conversion from PFB to PFA for you. Try t1utils. Details of the PFB format can be found in Adobe Technical Note# 5040, ``Supporting Downloadable PostScript(TM) Fonts''.

How does Macintosh Store PostScript Fonts?
To start off understanding how Macintosh stores PostScript fonts, first you need to know that a Macintosh file consists of two different parts, called ``forks''. The two forks of a Macintosh file are called the ``resource fork'' and the ``data fork''.
The data fork normally contains the data of the file. In the case of a text editor, for instance, the data fork contains the text.
The resource fork contains system (resource) information about the file: who owns the file, its icon maybe, and other information.
The various bits of information in the resource fork are contained in a complex structure. One of the items is a resource map, detailing the different kinds of resources and their positions in the resource fork. The reason you need to know all this is because PostScript Type 1 fonts are stored in the resource fork of Macintosh files. Why this was done is a historical mystery now, because the information could just as easily have been stored in the data fork in a format similar to PFB, and unpacking fonts would have been a whole lot easier. PostScript Type 1 fonts are stored in resources with the name POST''.
If you aren't familiar with the layout of resource forks, study the ``Resource Manager'' chapter of the Inside Macintosh books. Details of Macintosh PostScript Type 1 storage format can be found in Adobe Technical Note# 5040, ``Supporting Downloadable PostScript Fonts''. The information in the Adobe Technical Note is incomplete in the sense that you need to understand the layout of Macintosh resource forks to make sense of the information. In the majority of cases, you can assume that the POST resources are stored contiguously in the resource fork.
Unfortunately, there are a few cases where this isn't true, and the resulting PFA file will be incorrect. POST resources occur in five types. Type 0 are comments. Type 1 are ASCII data. Type 2 are binary data. Type 3 are end of this font program. Type 4 means that the remainder of this font appears in the data fork of the file! Type 5 means end of file. Having talked about PostScript Type 1 fonts being stored in the resource fork, why is there a case where the font comes out of the data fork? Some PostScript Type 3 fonts are stored in this manner.

Why are Adobe fonts hidden?
In PostScript level 1, Adobe's fonts were hidden because they didn't want people pirating copies instead of paying for them. That's why you can't do a pathforall on a charpath. PostScript Level Two has removed the restriction, in the words of the new Red Book, ``for most fonts''. There will still be some vendors who will want to restrict access. Japanese font vendors, for example, are concerned about piracy -- given the work that goes into an 8,000-character Kanji font.

How do I get bitmap representations of Adobe fonts?
On the IBM PC, use the Font Foundry program included with the font. If you don't have it, contact Adobe for an upgrade.

What are some good ftp sites for fonts?
ftp.cs.umb.edu
sumex-aim.stanford.edu
archive.umich.edu
ftp.cica.indiana.edu /pub/pc/win3/fonts
colonsay.dcs.ed.ac.uk /pub/postscript/fonts
For the NeXT(TM) platform, fonts are available on the NeXT-FTP-archives,
sonata.cc.purdue.edu :/pub/next/graphics/fonts
fiasko.rz-berlin.mpg.de :/pub/next/fonts
For Macintosh, look in sumex-aim.stanford.edu, mac.archive.umich.edu, and ftp.cs.umb.edu (192.12.26.23), in pub/tex/ps-screenfonts.tar.Z.
Color PostScript samples and many other PostScript programs are available from irisa.irisa.fr.
What's the difference between a Type 1 and a Type 3 font?
The Type 1 font format is a compact way of describing a font outline using a well-defined language that can be quickly interpreted. The language contains operations to provide the rasterizer with additional information about a character, known as hints.
The hints are additional information which describes how to adjust the representation of the character to make it look good when the font size is small compared to the device resolution.
The Type 1 font format is defined in the book ``The Adobe Type 1 Font Format'', also known as the black book, for the colors on its cover. The Type 1 font format has nothing to do with TrueType, which is another font format defined by Apple. The Type 1 font format has been around quite a while, and is used on a wide variety of platforms to obtain scalable fonts.
Most clone interpreters will not have Adobe's proprietary rendering technology which interprets font hints to improve the appearance of fonts shown at small sizes on low-resolution devices. The exceptions (PowerPage and UltraScript) have their own hint interpreters.
The Type 3 font format is a way of packaging up PostScript descriptions of characters into a font, so that the PostScript interpreter can rasterize them. It is easier to create a Type 3 font program by hand than to create the corresponding Type 1 font program.
Type 3 font programs have access to the entire PostScript language to do their imaging, including the 'image' operator. They can be used for bitmapped fonts, although that is certainly not a requirement. The Type 3 font format contains no provisions for 'hinting', and as such Type 3 font programs cannot be of as high a quality at low resolutions as the corresponding Type 1 font program.
Both formats are scalable formats, and both can be run on any PostScript interpreter. However, because of the requirement that a Type 3 font program have a full PostScript interpreter around, Type 3 font programs cannot be understood by the Adobe Type Manager. Only Type 1 font programs can.
Why bother making a font that's just made up of bitmaps? Once a character from a font has been rendered, the bitmap will be saved in a cache, and another instance of the same character at the same size and orientation can be quickly drawn without recalculation. Because of Adobe Type Manager's wide availability on a large number of platforms (PC, Mac, and Unix), the Type 1 font format makes an excellent cross-platform scalable font standard.

What vendors sell fonts for PostScript printers?
PostScript font vendors are many and varied. Here is a partial list.

Adobe Systems sells a variety of fonts. With the huge number of third-party Type 1 vendors, in recent years Adobe have specialized in creating their own ``Adobe Originals'' -- high-quality fonts, some of which are their renditions of classic faces (Adobe Garamond) and some of their own devising (Stone, Utopia, ...).
Adobe Systems,
1585 Charleston Road,
Mountain View, CA 94039.
(415) 961-4400

AGFA Compugraphic,
90 Industrial Way, Wilmington,
Massachusetts 01887.
(508) 658-5600.

Bear Rock Technologies specializes in bar code fonts.
4140 Mother Lode Drive,
Suite 100, Shingle Springs California 95682.

Bitstream,
Athenaeum House,
Cambridge, MA 02142.
(617) 497-6222.

Callifonts has a really nice looking set of calligraphy typefaces.
P.O. Box 224891, Dallas, TX 75222.
(214) 504-8808.

Casady and Greene,
22734 Portola Drive,
Salinas, CA 93908.
(408) 484-9228.

Ecological Linguistics, specializes in non-Roman alphabets.
Ecological Linguistics,
P. O. Box 15156, Washington D. C. 20003.

Emigre Graphics
4475 ``D'' Street / Sacramento CA 95819
(800) 944 9021 ]
Over 70 faces, all PostScript Type 1 ATM compatible, including the omnipresent Modula and infamous Template Gothic. Almost all faces are ``must haves'' for graphic designers. Call for free catalog.

The Font Company
12629 North Tatum Boulevard,
Suite 210, Phoenix Arizona 85032.
(602) 998-9711.

Image Club,
# 5 1902 11th St Southeast,
Calgary, Alberta T2G 2G2, Canada.
(403) 262-8008.

Lanston specializes in display faces.

Letraset specializes in fancy kinds of script fonts,
Letraset,
40 Eisenhower Drive,
Paramus, New Jersey 07652.
(201) 845-6100

Linguists Software specializes in non-Roman alphabets (Farsi, Greek, Hangul, Kanji, etc.)
Linguists Software,
P. O. Box 580,
Edmonds, Washington 98020-0580.
(206) 775-1130.

Monotype,
53 West Jackson Boulevard,
Suite 504, Chicago, IL 60604.

Page Studio Graphics,
Chandler, Arizona,
specialize in symbols fonts such as Mac icons, keyboards, and others,

Page Studio Graphics,
3175 North Price Road,
# 1050, Chandler, Arizona 85224.
(602) 839-2763.

Software Complement specializes in creating logo fonts.
8 Penn Avenue, Metamoras,
Pennsylvania 18366 USA.

The Font Company TreacyFaces
Trilithon Software, Portola Valley, California
can supply fonts from the Adobe Type library for NEXTSTEP. If you're working on NEXTSTEP, getting fonts in the correct form with ancillary information and downloaders and such is important. You can convert Mac fonts to NEXTSTEP (PFA) format, but NEXTSTEP demands AFM files as well, and many Mac/PC font vendors omit AFM files because Mac/PC apps don't use them. For Adobe fonts for NEXTSTEP, save yourself a lot of hassle by getting the fonts from Trilithon. If you want non-Adobe fonts for NEXTSTEP, Trilithon Software can supply font conversion tools to go from Macintosh or PC format to NEXTSTEP format. The conversion tools generate AFM files if none are supplied with the fonts, and sanity check AFM files for correctness when they are supplied.

Two Ohlone,
Portola Valley,
California 94028 USA.
Telephone: (415) 325-0767, FAX: (415) 325-0768. E-Mail: info@trilithon.com.

URW supplies high-quality fonts at low prices.
They are also the creators of the top of the line font creation and editing software called Ikarus.
URW,
4 Manchester Street,
Nashua, New Hampshire 03060.
(603) 882-7445.

Y and Y Software ,
106 Indian Hill,
Carlisle Massachusetts 10741 USA.
(508) 371-3286.
Sells a Font Metric Manipulation Package for DOS with lots of interesting utilities.
Many more font vendors exist. Look in magazines and other sources.
Check the Usenet newsgroup comp.fonts. Look in U & lc, published by ITC, for long lists of vendors.

What are ATM fonts?
There has been a rash of misunderstanding about the nature of Type 1 fonts and what people call ATM fonts. ATM fonts are Adobe Type 1 fonts. ATM stands for Adobe Type Manager -- a utility to render smooth characters on Macintosh and PC screens, from font outlines (Type 1 fonts) instead of using bitmap fonts. In one sense, there's no such thing as an ``ATM font'' -- ATM interprets Type 1 fonts, so there's no need to create a new name. A correctly constructed Type 1 font can be interpreted by ATM.

What are Multiple Master Fonts?
Multiple Master Fonts are an extension to the Adobe font format. providing the ability to interpolate smoothly between several ``design axes'' from a single font. Design axes can include weight, size, and even some whacko notions like serif to sans serif.
Adobes' first Multiple Master Font was Myriad -- a two-axis font with WEIGHT (light to black) on one axis, and WIDTH (condensed to expanded) along the other axis. In the case of Myriad, there are four ``polar'' designs at the ``corners'' of the design space. The four designs are light condensed, black condensed, light expanded, and black expanded. Given polar designs, you can set up a ``weight vector'' which interpolates to any point within the design space to produce a unique font for a specific purpose. So you can get a ``more or less condensed, somewhat black face''.

Do I need a Level Two printer to use Multiple Master Fonts?
No -- Multiple Master Fonts can be used on any PostScript printer. Multiple Master Fonts need a new PostScript operator known as makeblendedfont. The current crop of Multiple Master Fonts supply an emulation of this operator so the printer doesn't need this operator. A short tutorial on Multiple Master Fonts and makeblendedfont appears in PostScript by Example, by Henry McGilton and Mary Campione, published by Addison-Wesley.

What are Type 4 fonts?
Type 4 fonts are actually Type 3 fonts which contains a Type 1 font. They're stored on hard disk in a special way to save space when they're loaded into printer RAM by findfont. Your interpreter must have the extra PostScript operator CCrun to handle Type 4 fonts. They are usually used for Kanji (Japanese) characters.

What are Type 5 fonts?
Type 5 fonts are actually Type 1 fonts, but stored in printer ROM in a special compressed format. They're also known as CROM fonts (for Compressed ROM fonts). The contents of the CharStrings entries in Type 5 will probably be different from Type 1.

Is there an editor for Type 1 Fonts?
Fontographer for the Macintosh and MS-Windows under DOS is available from
Altsys Corporation,
269 West Renner Road,
Richardson, Texas 75080 USA.
(214) 680-2060.
Ikarus-M is availble for the Macintosh from
URW,
Harksheider Strasse 102,
2000 Hamburg 65, GERMANY. (040) 60 60 50

Or URW Software and Type,
4 Manchester Street,
Nashua, New Hampshire 03060.
(800) 229-8791 in USA. (603) 882-7445 otherwise.