Device independent file format

from Wikipedia, the free encyclopedia

The Device Independent File Format ( DVI ) is a page description language designed by David Fuchs in 1979 .

Properties of DVI files

A text is saved in a DVI file, supplemented by sentence information (fonts, character and line spacing, character positions). The special feature of DVI compared to similar formats such as PDF , PostScript or SVG is that the fonts used are not stored in the file itself, but are only referenced from there, so they must be available on the target system. DVI files are therefore usually very small; however, in order to be able to read them, one must have installed the appropriate fonts (e.g. through a TeX base system similar to that of the creator of the file). Another advantage besides the size is that the fonts on the target device (e.g. printer) are optimized for it. This can be done with METAFONT fonts, in which an adapted set of bitmap fonts is created for each device .

Graphics can only be handled indirectly by DVI, mostly as an external reference (DVI special) to a file in a suitable graphic format. From a sentence perspective, DVI treats a graphic like a single character, e.g. B. like an ordinary letter. The only exception are rectangular, filled areas, such as B. horizontal or vertical lines. These can be written directly in DVI files.

DVI became widespread primarily through Donald Ervin Knuth's decision to use DVI as the output format for his TeX typesetting system , as there was no established standard for page description at the time TeX was programmed. There is a statement from him that he would have used PostScript back then if it had already existed. DVI can be converted to various other formats, including PostScript, PDF and SVG.

DVI is not only output by TeX, other programs such as groff can also generate DVI files.

Tools for DVI files


  • xdvi is the standard program used under Unix , Linux and OpenVMS for viewing DVI files. An extension are xdvik and xhdvi, with which hyperlinks in the DVI file can also be followed. Under certain Linux desktop environments there is further
    • the PDF viewer Evince , which can also display DVI, for Gnome (is also used with Lubuntu and Xubuntu ).
    • kdvi is a DVI viewer (standalone or KPart ) for KDE .
    • Okular is a document viewer for KDE version 4 or higher. a. can also display DVI.
  • yap is a viewer for DVI files available under Windows and is included in MiKTeX .

Printer driver

By the mid-1990s, separate printer drivers were developed for many different printers. Since many developments were free software, you can still find them in the CTAN archives and download them if necessary. Since then, however

enforced as the standard printer driver that generates a PostScript file from a DVI file. Non-PostScript-compatible printers are then addressed with the help of ghostscript .

Other printer drivers that are currently being actively developed are

  • dvipdfmx - a driver that creates PDF files directly from DVI files
  • dvisvg - a driver for SVG
  • dvisvgm - another driver for SVG


  • dvitype - outputs a DVI file in a human-readable format ( ASCII ), whereby the level of detail can be set via a parameter. The source code written in WEB contains the documentation of the DVI format.
  • dvicopy - turns DVI files with special properties into simpler DVI files, for example by resolving virtual fonts .

Individual evidence

  1. Donald E. Knuth: DVItype . December 1995
  2. KTUG
  3. Sourceforge
  4. Sourceforge