Tab is based on TeX, a word processor for math.

When you have a word processor, it needs to know how wide each character is. An m "em" is usually the widest character and an i is usually pretty narrow. In the case of a word processor like tab that doesn't display the characters itself, all it needs to know is how wide neach character is. So tab uses a tfm "TeX Font Metric" file to know how wide each character is. The program that actually formats the PostScript output file needs to have the real fonts, so that it can display them. A tab output file has the characters of the lute font that the output program (dvips, or preview, or MacGS) needs to format the display. However, the text fonts that tab uses are actually on the printer. Often if you push the buttons on your printer you can see the list of resident postScript fonts. (note that if you don't have a PostScript printer the fonts are in the print driver.) TeX has a set of tfm font width files for the postscript printer, and a way of mapping short file names to the long printer font name. Tab ships with cmr10, cmr12, cmti10, cmti12 pncbi pncb pncri pncr psyr ptmbi ptmbo ptmb ptmrc ptmri ptmro ptmrre ptmrrn ptmr pzcmi. The names that start with cm are computer modern designed for TeX by Donald Knuth. The names that start with p are PostSript. The next letter - pt is palatino, tm is times, nc is new century schoolbook. Then r for regular and b for bold. Then i for italic, or o for oblique. There are other codes that I don't know about. There are about 35 standard PostScript printer resident fonts. In the tab source files the fonts known to tab are listed in the file dvi.cc in the proceedure get_real_name(). All these tfm fonts come with TeX distrubutions, in texmf/tfm/adobe.

The only actual fonts shipped with tab are the dvi lute and blute fonts. These are in TeX format and aren't directly usable by PostScript. They are output in PostScript format in every tab output file, so you could edit the file to get them.

Wayne, April 2005