Background

The figure above summarizes the process of compiling a TeX document and printing the result on a postscript printer. The TeX engine produces from the user's .tex file a .dvi file which specifies where each character is to be placed on each page. The dvips engine examines the .dvi file and produces a postscript document which realizes TeX's instructions. Of course, we could also pass the .dvi file on to a viewer for screen display, or to an engine which prints it on a non-postscript printer. It is even possible to obtain HTML and PDF from TeX. These alternative scenarios will require only minor modifications; for the sake of simplicity and concreteness, we will begin by concentrating on the production of postscript.

The vertical arrows indicate the flow of font information into TeX and dvips. When text is to be set in a particular font, TeX looks for and reads the .tfm (TeX font metric) for the font, which contains the dimensions of each character in the font, as well as a list of kerning and ligature pairs, but does not contain instructions on how to actually draw individual glyphs. TeX does not need to know what each glyph actually looks like; it merely typesets a series of bounding boxes.

dvips, on the other hand, must produce a .ps file which actually instructs the printer what to draw on the page, and therefore requires access to the font files describing the glyph shapes for all the fonts referenced in the .dvi file. These descriptions are stored in various types of glyph files, such as Metafont's .gf or packed .pk bitmaps or postscript printer font files.

metricglyph
UNIX.afm.pfa
PC.pfm.pfb
MacFONDPOST
Splitting font information into seperate metric and glyph files is not a prodecure unique to TeX. Any postscript font on any computer today consists of two files fufiling exactly these two roles. The names of these files under the most popular operating systems are summarized in the table at right. FOND and POST are Macintosh resources in the resource forks of the files know to most Mac users as screen and printer font files, respectively.

These pages will provide the gentle reader with the knowledge necessary to produce .tfm files for her or his fonts, to instruct TeX to typeset with them, and to instruct dvips and other dvi intrepreters to use the appropriate glyph files. These instruction are divided among several chapters, covering the LaTeX2e commands needed to set up and access the members of families of fonts, how to obtain TeX font metrics for fonts you wish to employ with TeX, and how to configure dvi intrepreters like dvips to render these fonts. For those who wish to delve deeper into the font-handling capeabilities of TeX systems, there is also a chapter on virtual fonts.

The information in these pages is a distilation of information provided by the very useful references

  • Knuth, the TeXBook
  • Kopka and Daly, A Guide to LaTeX 2e
  • Goosens, Mittelbach, and Samarin, The LaTeX companion
  • Rokicki, DVIPS: A TeX driver
and from my own experiences.


Back to the table of contents, or... ...on to the chapter on LateX font commands