Font bitmaps

Font bitmap files require two characteristics in addition to the above to be uniquely identified: (1) the type of device (i.e., mode) for which the font was created; (2) the resolution of the bitmap.

Following common practice, the TDS segregates fonts with different device types (modes) into separate directories. Consult |modes.mf| (see Appendix D) for recommended mode names.

Some printers operate at more than one resolution (e.g., at 300 dpi and 600 dpi), but each such resolution will necessarily have a different mode name. Nothing further is needed, since implicit in the TEX system is the assumption of a single target resolution.

Two naming strategies are commonly used to identify the resolution of bitmap font files. On systems that allow long filenames (and in the original METAFONT program itself), the resolution is included in the filename (e.g., |cmr10.300pk|). On systems which do not support long filenames, fonts are generally segregated into directories by resolution (e.g., |dpi300/cmr10.pk|).

Because the TDS cannot require long filenames (see Section A.1), we must use the latter scheme for naming fonts, via two more subdirectory levels under |pk| and |gf|:
\begin{ttdisplay}
texmf/fonts/pk/\replaceable{mode}/\replaceable{supplier}/\repl...
...placeable{supplier}/\replaceable{typeface}/dpi\replaceable{nnn}/
\end{ttdisplay}

mode
is a name which identifies the device type (examples: |cx|, |gsftopk|, |ljfour|). Usually, this is the name of the METAFONT mode used to build the |PK| file.

For fonts rendered as bitmaps by a program that does not distinguish between different output devices, the mode name shall be that of the program (e.g., |ps2pk|, |gsftopk|).

|dpi|nnn
specifies the resolution of the font (examples: |dpi300|, |dpi329|). `dpi' stands for dots per inch, i.e., pixels per inch. We recognize that pixels per millimeter is used in many parts of the world, but dpi is too traditional in the TEX world to consider changing now.

The integer nnn is to be calculated using METAFONT arithmetic and then rounded; i.e., it is the integer METAFONT uses in its output |gf| filename. We recognize small differences in the resolution are a common cause of frustration among users, however, and recommend implementors follow the level 0 DVI driver standard (see Appendix D) in bitmap font searches by allowing a fuzz of ±0.2% (with a minimum of 1) in the dpi.

Implementations may provide extensions to the basic naming scheme, such as long filenames and font library files, provided that the basic scheme is also supported.