Welcome to the UK List of
TeX Frequently Asked Questions
on the Web

Searching

The index of Frequently Asked Questions about TeX is searchable.

Please enter your keyword here:   then press here: ,    or:
Google

What are virtual fonts?

Virtual fonts provide a means of collecting bits and pieces together to make the glyphs of a font: the bits and pieces may be glyphs from “other” fonts, rules and other “basic” typesetting commands, and the positioning information that specifies how everything comes together.

An early instance of something like virtual fonts for TeX was implemented by David Fuchs to use an unusual printer. However, for practical purposes for the rest of us, virtual fonts date from when Knuth specified a format and wrote some support software, in 1989 (he published an article in TUGboat at the time; a plain text copy is available on CTAN).

Virtual fonts provide a way of telling TeX about something more complicated than just a one-to-one character mapping. TeX reads a TFM file of the font, just as before, but the DVI processor will read the VF and use its content to specify how each glyph is to be processed.

The virtual font may contain commands:

In practice, the most common use of virtual fonts is to remap Adobe Type 1 fonts (see font metrics), though there has also been useful useful work building ‘fake’ maths fonts (by bundling glyphs from several fonts into a single virtual font). Virtual Computer Modern fonts, making a Cork encoded font from Knuth’s originals by using remapping and fragments of DVI for single-glyph ‘accented characters’, were the first “Type 1 format” Cork-encoded Computer Modern fonts available.

Virtual fonts are normally created in a single ASCII VPL (Virtual Property List) file, which includes two sets of information. The vptovf utility will use the VPL file to create the binary TFM and VF files.

A “how-to” document, explaining how to generate a VPL, describes the endless hours of fun that may be had, doing the job by hand. Despite the pleasures to be had, the commonest way (nowadays) of generating an VPL file is to use the fontinst package, which is described in more detail together with the discussion of PostScript font metrics. Qdtexvpl is another utility for creating ad-hoc virtual fonts (it uses TeX to parse a description of the virtual font, and qdtexvpl itself processes the resulting DVI file).

fontinst
fonts/utilities/fontinst (or browse the directory); catalogue entry
Knuth on virtual fonts
info/knuth/virtual-fonts; catalogue entry
Virtual fonts “how to”
info/virtualfontshowto/virtualfontshowto.txt; catalogue entry
qdtexvpl
fonts/utilities/qdtexvpl (or browse the directory); catalogue entry

This answer last edited: 2012-10-20


Go to previous question, or next question

Go to FAQ home.

URL for this question: http://www.tex.ac.uk/cgi-bin/texfaq2html?label=virtualfonts

Comments, suggestions, or error reports? - see “how to improve the FAQ”.

This is FAQ version 3.27, released on 2013-06-07.