Введение
Формат файла набора текста (англ. device independent file format, DVI) — это формат выходного файла программы набора текста TeX, разработанный Дэвидом Р. Фуксом и реализованный Дональдом Э. Кнутом в 1982 году. В отличие от файлов разметки TeX, используемых для их генерации, файлы DVI не предназначены для чтения человеком; они состоят из бинарных данных, описывающих визуальное оформление документа способом, не зависящим от какого-либо конкретного формата изображения, оборудования отображения или принтера. Файлы DVI обычно используются в качестве входных данных для второй программы (называемой драйвером DVI), которая преобразует файлы DVI в графические данные. Например, большинство пакетов программного обеспечения TeX включают программу для предварительного просмотра файлов DVI на экране компьютера пользователя; эта программа и является драйвером. Драйверы также используются для преобразования из DVI в популярные языки описания страниц (например, PostScript, PDF) и для печати. Разметку TeX можно, по крайней мере частично, восстановить из файлов DVI, хотя этот процесс вряд ли позволит получить конструкции высокого уровня, идентичные тем, что присутствуют в исходной разметке, особенно если исходная разметка использовала расширения TeX высокого уровня (например, LaTeX). DVI отличается от PostScript и PDF тем, что не поддерживает встраивание шрифтов, а лишь ссылается на внешние имена шрифтов. (Как форматы PostScript, так и PDF могут встраивать шрифты непосредственно в документы.) Для того чтобы файл DVI был напечатан или даже правильно отображен, шрифты, на которые он ссылается, должны быть предварительно установлены. Как и PDF, DVI использует ограниченный тип машинного языка с гарантией завершения, который не является полноценным языком программирования Тьюринга, подобно PostScript. С 2004 года существует сборник спецификаций, которым должен соответствовать драйвер DVI, подготовленный "Комитетом по стандартам драйверов TUG DVI". Он, по-видимому, основан на статье TUGboat с тем же названием, опубликованной в 1992 году, но значительно короче. В этих документах не указан порядок байтов (endianness), однако, как видно из структуры самого файла DVI, он имеет старший порядок байтов (big endian).
The device independent file format (DVI) is the output file format of the TeX typesetting program, designed by David R. Fuchs and implemented by Donald E. Knuth in 1982. Unlike the TeX markup files used to generate them, DVI files are not intended to be human readable; they consist of binary data describing the visual layout of a document in a manner not reliant on any specific image format, display hardware or printer. DVI files are typically used as input to a second program (called a DVI driver) which translates DVI files to graphical data. For example, most TeX software packages include a program for previewing DVI files on a user's computer display; this program is a driver. Drivers are also used to convert from DVI to popular page description languages (e. g. PostScript, PDF) and for printing. TeX markup may be at least partially reverse engineered from DVI files, although this process is unlikely to produce high level constructs identical to those present in the original markup, especially if the original markup used high level TeX extensions (e. g. LaTeX). DVI differs from PostScript and PDF in that it does not support any form of font embedding, instead merely referencing external font names. (Both PostScript and PDF formats can embed their fonts inside the documents.) For a DVI file to be printed or even properly previewed, the fonts it references must be already installed. Like PDF, DVI uses a limited sort of machine language with termination guarantees that is not a full, Turing complete programming language like PostScript. As of 2004 there is a compilation of the specifications a DVI driver must implement by the "TUG DVI Driver Standards Committee". It seems to be based on a TUGboat article of the same name from 1992, but which is much shorter. These documents do not specify the endianness, which is however big endian, as can be seen looking into a DVI file itself.
Спецификация
Формат DVI был разработан, чтобы быть компактным и легко читаемым машиной. С этой целью файл DVI представляет собой последовательность команд, образующих, по словам Кнута, "язык, похожий на машинный".