9. TeX / LaTeX

9.1. A Quick Primer on LaTeX/TeX fonts

Adding fonts to TeX and LaTeX is a somewhat complex procedure. However, like a lot of things, it's easy if you know how to do it. Some fonts are distributed in metafont format, and some in Type 1 format. Usually, the Type 1 formats are more easily available. However, metafont fonts have the distinct advantage that they can adjust their shape at different sizes, while Type 1 and TrueType fonts at different point sizes are simply magnified or reduced versions of precisely the same shape. The main reason why this feature is desirable is that ideally, fonts should be ( relatively ) wider at smaller sizes and narrower at larger sizes.

For this discussion, we focus on Type 1 fonts, since they are more widely available, and more problematic to install.

Here's a quick primer on LaTeX fonts. LaTeX uses the following types of font files for handling Type 1 fonts:

It's good to know your way around the TeX directory structure. Here are the main directories you'll need to know about:

  • $TEXMF/fonts -- the main font directory

  • $TEXMF/fonts/type1 -- the type1 font directory

  • $TEXMF/fonts/type1/foundry -- the directory for the shape files in a given foundry

  • $TEXMF/fonts/type1/foundry/fontname -- contains the font called name. The name is usually plain English, and needn't follow TeX's cryptic naming scheme for fonts.

  • $TEXMF/fonts/afm/foundry/fontname -- the directory containing the afm files corresponding to the font name belonging to foundry foundry.

  • $TEXMF/fonts/tfm/foundry/fontname -- analogous to the afm directory, but contains tfm files instead.

  • $TEXMF/fonts/vf/foundry/fontname -- similar to the above, but contains the virtual fonts.

  • $TEXMF/fonts/source/foundry/fontname -- similar to the above, but contains metafont files.

  • $TEXMF/dvips/config/psfonts.map -- fontmap file for dvips. This file is similar in both function and format to ghostscript's Fontmap file.

  • $TEXMF/tex/latex/psnfss -- this is where all the font definition files go.

9.2. Adding Type 1 fonts