Co to jest format pliku DVI?
Plik .dvi to binarny dokument złożony wygenerowany przez systemy składu TeX i LaTeX. Nazwa oznacza „Device Independent” (niezależny od urządzenia), co odzwierciedla cel projektowy: format precyzyjnie koduje pozycję każdego glifu i linii na każdej stronie bez przypisania do konkretnego urządzenia wyjściowego - drukarki, ekranu czy naświetlarki.
Pliki DVI to sekwencyjne strumienie kodów operacji (opcodes). Pierwszy bajt to zawsze 0xF7 (kod preambuły pre), a drugi bajt to wersja formatu: 0x02 dla standardowego DVI lub 0x03 dla rozszerzonego wariantu Omega/Lambda z obsługą tekstu dwukierunkowego. Bloki stron ograniczone kodami bop i eop rejestrują bezwzględne pozycje glifów, wybór czcionek i reguły ramek. Następnie występuje postambuła zawierająca tabelę czcionek i wymiary stron, a końcowe bajty 0xDF uzupełniają plik do granicy czterech bajtów.
Kluczowa cecha: pliki DVI odwołują się do czcionek poprzez nazwę i sumę kontrolną TFM, ale nie osadzają ich. Przeglądarka lub konwerter musi mieć dostęp do tych czcionek lokalnie - zazwyczaj poprzez dystrybucję TeX. Różni się to od formatu PDF, który osadza podzbiory czcionek w celu samodzielnego renderowania.
Nowoczesne silniki TeX coraz częściej całkowicie pomijają .dvi: pdfLaTeX i LuaLaTeX generują PDF bezpośrednio; XeTeX emituje pośredni rozszerzony plik DVI o rozszerzeniu .xdv. Klasyczny łańcuch - .tex → .dvi → dvips → .ps → PDF - pozostaje w pełni funkcjonalny w TeX Live i MiKTeX. Plain TeX i standardowy LaTeX (silniki inne niż PDF) nadal emitują .dvi jako swój natywny format wyjściowy.
Bezpieczeństwo
RYZYKO: LOWPliki DVI nie zawierają osadzonych skryptów ani makr. Polecenia „xxx” (specials) osadzają ciągi znaków specyficzne dla sterownika (np. polecenia PostScript przez dvips), ale są one interpretowane wyłącznie przez sterownik DVI, a nie wykonywane jako kod. Format niskiego ryzyka używany wyłącznie w kontekstach akademickich i TeX.
Szczegóły formatu
w pigułce- Digital Video Interface (złącze sprzętowe) - DVI odnosi się również do standardu złącza wyświetlacza (DVI-D, DVI-I, DVI-A) - całkowicie niepowiązane; sprzęt, a nie format pliku.
Programy otwierające pliki DVI
Szczegóły techniczne
specyfikacja| Kodowanie | Binarny strumień kodów operacji; liczby całkowite wielobajtowe są w formacie big-endian |
| Magiczne bajty | 0xF7 na offsecie 0 (kod preambuły pre); 0x02 na offsecie 1 dla standardowej wersji formatu DVI |
| Warianty formatu | Bajt wersji 0x02 = standardowy DVI; 0x03 = rozszerzony DVI Omega/Lambda (dwukierunkowy RTL/LTR); XDV = rozszerzenie XeTeX |
| Struktura pliku | Preambuła → bloki stron (kody bop/eop) → postambuła (tabela czcionek, liczba stron, wymiary) → bajty dopełniające 0xDF |
| Obsługa czcionek | Czcionki przywoływane przez nazwę i sumę kontrolną TFM; nie są osadzone - przeglądarka wymaga lokalnej instalacji czcionek |
| Suma kontrolna czcionki | Suma kontrolna TFM osadzona w każdym rekordzie definicji czcionki; niezgodność powoduje ostrzeżenie przeglądarki |
| Zakończenie pliku | Końcowe bajty 0xDF dopełniają całkowitą długość pliku do wielokrotności 4 bajtów |
| Typowy rozmiar pliku | 10 KB - 5 MB (od artykułu naukowego do pełnej książki) |
| Układ współrzędnych | Wymiary w jednostkach DVI (1 jednostka DVI = 100 nm przy domyślnym powiększeniu 1000 jednostek); bezwzględne pozycjonowanie strony |
| Powiązany system operacyjny | Linux, Windows, macOS, Unix (wieloplatformowość poprzez TeX Live, MiKTeX, MacTeX) |
| Łańcuch przetwarzania końcowego | dvips konwertuje na PostScript; dvipdfm/dvipdfmx konwertuje na PDF; dvisvgm konwertuje na SVG |
| Kolejność bajtów | Big-endian dla wszystkich wielobajtowych liczb całkowitych w kodach operacji DVI |
| Wydano | 1979 (with TeX; first described in TUGboat 1982) |
| Najnowsza wersja | DVI format 2 (standard); format 3 = DVItype with mixed RTL/LTR (Omega/Lambda); XDV = extended DVI used by XeTeX |
| Otwarty standard | Tak · bezpłatny (royalty-free) |
| Specyfikacja | www.mn.uio.no |
Konwersje DVI
Pytania i odpowiedzi społeczności
pytania użytkownikówBrak pytań - bądź pierwszą osobą, która zapyta o pliki DVI.