VFTOVP(1)
okay so bestie, you just opened VFTOVP(1) from the General Commands Manual β aka the vftovp commandβs main-character moment. Letβs get into it π
β¨
π NAME π
vftovp β convert TeX virtual font (vf) files to virtual property lists (vpl). Thatβs literally the whole job, no cap. π
β¨ SYNOPSIS β¨
vftovp [options] vf_file[.vf] [tfm_file[.tfm] [vpl_file[.vpl]]]
π¦ DESCRIPTION π¦
The vftovp program translates a (binary) virtual font file and its accompanying TeX font metric file to a (plain text) property list file. So yes, bestie: binary in, plain text out, and the virtual font can then be edited. Its exact contents can also be displayed mnemonically. Iconic behavior, honestly. π«Ά
It also serves as a vf-file validating program, i.e., if no error messages are given, the input files are correct. Validation era β¨
The filenames are extended with the appropriate extension if necessary.
TeXβs virtual font format supports composing new characters from characters from any number of existing fonts, and also using rules in characters. This allows, for example, re-encoding with a mixture of characters from different fonts. π
Important vibe check: these vf fonts are entirely unrelated to the variable fonts that can be created with OpenType, which also conventionally use the .vf extension. Do not confuse them, bestie β they are not the same thing. π
π OPTIONS π
See tex(1) for details of command-line parsing.
-charcode-format=formatβ the argumentformatspecifies how character codes are output in the vpl file. By default (the historical behavior), ASCII letters and digits are output using the"C"code (i.e., as themselves), and other characters are output in octal; unless the fontβs coding scheme starts with"TeX math sy"or"TeX math ex", in which case all character codes are output in octal.- If
formatisascii, all character codes that correspond to graphic characters, besides the left and right parentheses, are output in ASCII. - Finally, if
formatisoctal, all character codes are output in octal. (This option is the same as intftopl.)
- If
-verboseβ by default, the program operates silently. With this option, some reports are written tostdout. Spill the tea, vftovp π-help,-versionβ the standard-helpand-versionoptions are also supported. π
π ENVIRONMENT π
The program looks for vf_file using the environment variable VFFONTS, and tfm_file using the environment variable TFMFONTS. If either is not set, it then checks the variable TEXFONTS. If that is not set, it uses the system default. See the Kpathsea manual at https://tug.org/kpathsea for the details of the searching. π§
π«Ά SEE ALSO π«Ά
Brief description of virtual fonts, and additional references:
- Brief description of virtual fonts, and additional references:
https://tug.org/texinfohtml/dvips.html#Virtual-fonts - Knuthβs original message introducing virtual fonts:
https://mirror.ctan.org/info/virtual-fonts.knuth - Font utility topic on CTAN:
https://ctan.org/topic/font-util - Package page on CTAN:
https://ctan.org/pkg/vftovp - Section in the Web2c manual:
https://tug.org/texinfohtml/web2c.html#vftovp-invocation - Typeset source code, including the vf file format description:
https://ctan.org/pkg/knuth-pdf
π AUTHORS π
Donald E. Knuth wrote the program, based in part on an idea of David Fuchs, starting with the code for tftopl(1). Karl Berry adapted it for compilation with web2c. Legends only π
Public discussion list and bug reports: https://lists.tug.org/tex-k
okay thatβs the whole page, bestie β source/version: Web2C 2026; date: 30 January 2026 πβ¨π
π¦ where this page comes from
- alpine 3.24: texmf-dist-fontutils-doc 2026.0-r0 Β· LPPL-1.0 AND LPPL-1.1 AND LPPL-1.2 AND LPPL-1.3a AND LPPL-1.3c AND GPL-2.0-only
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms