Wat is het DVI-bestandsformaat?
Een .dvi-bestand is het binaire gezette document geproduceerd door de TeX- en LaTeX-zetwerksystemen. De naam staat voor Device Independent (apparaatonafhankelijk), wat het ontwerpdoel weerspiegelt: het formaat codeert nauwkeurig elke glyph-positie en regel op elke pagina zonder zich te binden aan een specifiek uitvoerapparaat - printer, scherm of zetmachine.
DVI-bestanden zijn sequentiële opcode-stromen. De eerste byte is altijd 0xF7 (de pre preamble opcode) en de tweede byte is de formaatversie: 0x02 voor standaard DVI of 0x03 voor de Omega/Lambda uitgebreide variant met ondersteuning voor bidirectionele tekst. Paginablokken begrensd door bop en eop opcodes registreren absolute glyph-posities, lettertypeselecties en box-regels. Er volgt een postamble met de lettertypetabel en pagina-afmetingen, en afsluitende 0xDF bytes vullen het bestand aan tot een grens van vier bytes.
Een cruciaal kenmerk: DVI-bestanden verwijzen naar lettertypen op naam en TFM-checksum, maar sluiten deze niet in. De viewer of converter moet de gerefereerde lettertypen lokaal beschikbaar hebben - meestal via een TeX-distributie. Dit verschilt van PDF, dat lettertype-subsets insluit voor een zelfstandige weergave.
Moderne TeX-engines omzeilen .dvi steeds vaker volledig: pdfLaTeX en LuaLaTeX produceren direct PDF; XeTeX verzendt een tussenliggend .xdv uitgebreid DVI-bestand. De klassieke keten - .tex → .dvi → dvips → .ps → PDF - blijft volledig functioneel onder TeX Live en MiKTeX. Plain TeX en standaard LaTeX (niet-PDF engines) blijven .dvi uitsturen als hun eigen uitvoer.
Beveiliging & veiligheid
RISICO: LOWDVI-bestanden bevatten geen ingebedde scripts of macro's. De „xxx” (special) commando's sluiten driver-specifieke strings in (bijv. PostScript-specials via dvips), maar deze worden alleen geïnterpreteerd door de DVI-driver, niet uitgevoerd als code. Formaat met laag risico dat uitsluitend in academische en TeX-contexten wordt gebruikt.
Formaatdetails
in een notendop- Digital Video Interface (hardware-aansluiting) - DVI verwijst ook naar de standaard voor beeldschermaansluitingen (DVI-D, DVI-I, DVI-A) - volledig ongerelateerd; hardware, geen bestandsformaat.
Programma's die DVI-bestanden openen
Technische details
diepe specificaties| Codering | Binaire opcode-stroom; multi-byte integers zijn big-endian |
| Magic bytes | 0xF7 op offset 0 (pre preamble opcode); 0x02 op offset 1 voor standaard DVI-formaatversie |
| Formaatvarianten | Versie-byte 0x02 = standaard DVI; 0x03 = Omega/Lambda uitgebreide DVI (RTL/LTR bidirectioneel); XDV = XeTeX-extensie |
| Bestandsstructuur | Preamble → paginablokken (bop/eop opcodes) → postamble (lettertypetabel, aantal pagina's, afmetingen) → 0xDF opvulbytes |
| Lettertype-afhandeling | Lettertypen gerefereerd op naam en TFM-checksum; niet ingebed - viewer vereist lokale lettertype-installatie |
| Lettertype-checksum | TFM-checksum ingebed per lettertypedefinitie-record; mismatch activeert een viewer-waarschuwing |
| Bestandsafsluiting | Afsluitende 0xDF-bytes vullen de totale bestandslengte aan tot een veelvoud van 4 bytes |
| Typische bestandsgrootte | 10 KB - 5 MB (academisch artikel tot volledig boek) |
| Coördinatensysteem | Afmetingen in DVI-eenheden (1 DVI-eenheid = 100 nm bij standaard 1000-eenheid vergroting); absolute paginapositionering |
| Bijbehorend OS | Linux, Windows, macOS, Unix (cross-platform via TeX Live, MiKTeX, MacTeX) |
| Nabewerkingsketen | dvips converteert naar PostScript; dvipdfm/dvipdfmx converteert naar PDF; dvisvgm converteert naar SVG |
| Byte-volgorde | Big-endian voor alle multi-byte integers binnen DVI-opcodes |
| Uitgebracht | 1979 (with TeX; first described in TUGboat 1982) |
| Laatste versie | DVI format 2 (standard); format 3 = DVItype with mixed RTL/LTR (Omega/Lambda); XDV = extended DVI used by XeTeX |
| Open standaard | Ja · royaltyvrij |
| Specificatie | www.mn.uio.no |
DVI conversies
Community V&A
gevraagd door gebruikersNog geen vragen - wees de eerste om iets te vragen over DVI-bestanden.