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
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
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.