Go to the first, previous, next, last section, table of contents.

Virtual fonts

A virtual font is constructed by extracting characters from one or more existing fonts and rearranging them, or synthesizing new characters in various ways. The explanation in this manual is intended to suffice for understanding enough about virtual fonts to use them with Dvips. It isn't a reference manual on virtual fonts. For more information: The primary document on virtual fonts is Donald E. Knuth, TUGboat 11(1), Apr. 1990, pp. 13--23, "Virtual Fonts: More Fun for Grand Wizards" (`CTAN:/info/virtual-fonts.knuth'; for CTAN info, see section `unixtex.ftp' in Kpathsea). (Don't be intimidated by the subtitle.)

A virtual font (`.vf') file specifies, for each character in the virtual font, a recipe for typesetting that character. A VF file, like a TFM file, is in a compressed binary format. The vftovp and vptovf programs convert a VF file to a human-readable VPL (virtual property list) format and back again. See section `vftovp invocation' in Web2c, and section `vptovf invocation' in Web2c.

In the case of a PostScript font f being used in a straightforward way, the recipe says: character i in the VF font is character j in font f. The font f is called a base font. For example, the VF file could remap the characters of the PostScript font to the positions where TeX expects to find them. See section Encodings.

Since TeX reads only TFM files, not VF's, each VF must have a corresponding TFM for use with TeX. This corresponding TFM is created when you run vptovf.

You can expand virtual fonts into their base fonts with DVIcopy (see section `dvicopy invocation' in Web2c). This is useful if you are using a DVI translator that doesn't understand vf's itself.


Go to the first, previous, next, last section, table of contents.