Virtual fonts for TeX were first implemented by David Fuchs in the early days of TeX, but for most people they started when Knuth redefined the format, and wrote some support software, in 1989. Virtual fonts provide a way of telling TeX about something more complicated than just a one-to-one character mapping. The entities you define in a virtual font look like characters to TeX (they appear with their sizes in a font metric file), but the DVI processor may expand them to something quite different. You can use this facility just to remap characters, to make a composite font with glyphs drawn from several sources, or to build up an effect in arbitrarily complicated ways - a virtual font may contain anything which is legal in a DVI file. In practice, the most common use of virtual fonts is to remap PostScript fonts (see font metrics) or to build `fake' maths fonts.
It is important to realise that TeX itself does not see
virtual fonts; for every virtual font read by the DVI driver there
is a corresponding TFM file read by TeX. Virtual fonts are normally
created in a single ASCII vpl
(Virtual Property List) file, which
includes both sets of information. The vptovf program is
then used to the create the binary TFM and VF files. The
commonest way (nowadays) of generating vpl
files is to use the
fontinst package, which is described in detail
together with the discussion of
PostScript font metrics.
fonts/utilities/qdtexvpl is another utility for creating ad-hoc virtual
fonts.