---
name: "gftodvi"
section: "1"
platform: "linux"
package: "texlive-doc"
version: "2026.1-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/gftodvi"
---

# gftodvi(1)

make proof sheets from generic font bitmap files

## NAME

gftodvi - make proof sheets from generic font bitmap files

## SYNOPSIS

**gftodvi** \[**-overflow-label-offset=*real***\] \[**-verbose**\] *gf\_file*\[gf\]

## DESCRIPTION

The **gftodvi** program converts a generic font (*gf*) bitmap file output by, typically, [**mf**(1)](/mf/1.md), to a device independent (DVI) file, which can then be typeset using the same software that has already been written for TeX. The characters in the *gf* file will appear one per page, with labels, titles, and annotations as specified in Appendix H (Hardcopy Proofs) of *The Metafontbook*.

**gftodvi** uses other fonts in addition to the main *gf* file. A \`gray' font is used to typeset the pixels that actually make up the character. (We wouldn't want all the pixels to be simply black, since then labels, key points, and other information would be lost.)  A \`title' font is used for the information at the top of the page. A \`label' font is used for the labels on key points of the figure. A \`slant' font is used to typeset diagonal lines, which otherwise have to be simulated using horizontal and vertical rules. The default gray, title, and label fonts are *gray*, *cmr8*, and *cmtt10*, respectively; there is no default slant font.

To change the default fonts, you can give **special** commands in your Metafont source file, or you can change the fonts online. An online dialog ensues if you end the *gf\_file* with a \`/'. For example,\
 gftodvi cmr10.300gf/\
 Special font substitution: grayfont black\
 OK; any more? grayfontarea /home/art/don/\
 OK; any more? slantfont /home/fonts/slantimagen6\
 OK; any more? \<RET\>\
 will use */home/art/don/black* as the \`gray' font and */home/fonts/slantimagen6* as the \`slant' font (this name indicates a font for lines with slope 1/6 at the resolution of an Imagen printer).

The *gf\_file* on the command line must include the resolution, but can omit the suffix "gf". The output dvi file has same base name as *gf\_file*, and it is placed in the current working directory with the **dvi** suffix replacing **gf**. For example, the input file */some/directory/cmr10.2602gf* would become *cmr10.dvi*.

## OPTIONS

See [**tex**(1)](/tex/1.md) for details of command-line parsing.

The argument to **-overflow-label-offset** specifies the distance from the right edge of the character bounding box at which the overflow equations (if any) are typeset. The value is given in TeX points. The default is a little over two inches.

By default, **gftodvi** operates silently. With the **-verbose** option, a banner and progress report are printed on stdout.

The standard **-help** and **-version** options are also supported.

## ENVIRONMENT

The program looks for *gf\_file* using the environment variables GFFONTS, GLYPHFONTS, and TEXFONTS, in that order. If none are set, it uses the system default. See the Kpathsea manual at https://tug.org/kpathsea for the details of the searching.

## FILES

- *{gray.tfm,slant.tfm,black.tfm,...}*

  The default fonts.

- *{gray.mf,slant.mf,black.mf,...}*

  The Metafont sources.

## SEE ALSO

[**tex**(1)](/tex/1.md), [**mf**(1)](/mf/1.md).\
 Donald E. Knuth, *The Metafontbook* (Volume C of *Computers & Typesetting*).\
 Donald E. Knuth et al., *Metafontware*.

Package page on CTAN: https://ctan.org/pkg/gftodvi\
 Section in the Web2c manual: https://tug.org/texinfohtml/web2c.html#gftodvi-invocation\
 Typeset source code, including file format descriptions: https://ctan.org/pkg/knuth-pdf

## AUTHORS

Donald E. Knuth wrote and still maintains the program. It was published as part of the *Metafontware* technical report. Paul Richards originally ported it to Unix.

Public discussion list and bug reports: https://lists.tug.org/tex-k
