DVI (fájlformátum)
| Ezt a szócikket át kellene olvasni, ellenőrizni a szöveg helyesírását és nyelvhelyességét, a tulajdonnevek átírását. Esetleges további megjegyzések a vitalapon. |
| Ez a szócikk vagy szakasz lektorálásra, tartalmi javításokra szorul. A felmerült kifogásokat a szócikk vitalapja részletezi (vagy extrém esetben a szócikk szövegében elhelyezett, kikommentelt szövegrészek). Ha nincs indoklás a vitalapon (vagy szerkesztési módban a szövegközben), bátran távolítsd el a sablont! Csak akkor tedd a lap tetejére ezt a sablont, ha az egész cikk megszövegezése hibás. Ha nem, az adott szakaszba tedd, így segítve a lektorok munkáját! |
DeVice Independent (DVI) | |
Fájlkiterjesztés | .dvi |
MIME-típus | application/x-dvi |
Fejlesztő | David Raymond Fuchs, Donald Erwin Knuth[1] |
Formátum típusa | bináris dokumentum fájlformátum |
A DVI fájl (DeVice Independent, magyarul eszközfüggetlen) a TeX program kimeneti fájlformátuma, amit Donald Knuth, a Stanford University professzora írt, PhD hallgatói közreműködésével.[2] A fájlformátum egy dokumentum vizuális tulajdonságait írja le (például font, margók, de NEM tartalmazza az esetleges beszúrt médiafájlokat, fontokat közvetlenül) olyan módon (ahogy a neve is sugallja), hogy ne függjön semmilyen megjelenítő eszköztől. A fájl tipikusan egy másik program (DVI driver) bemenete, ami vizuálisan megjeleníthető alakra hozza (pl. egy DVI viewer alkalmazás, direkt nyomtatás).[3] DVI driver lehet egy másik fájlformátumba konvertáló program is. A DVI driverek szabványosításával a TeX Users Group's Technical Working Group on DVI Driver Implementation and Standardization Issues (röviden TWG-DVI) foglalkozik.[4][5]
Felépítés
Fizikai felépítés
A DVI fájl egy bájtstream, ami gépi kódszerű utasítások sorozatának feleltethető meg. Minden utasítás első bájtja egy műveleti kód (opcode), amelyet 0 vagy több bájt követ, ezek reprezentálják a műveleti kód paramétereit. A paraméterek maguk több bájtosak is lehetnek. A paraméterek rendszerint nemnegatív egészek, de a négy bájt hosszú, és a távolságot reprezentáló kisebb paraméterek negatív értékeket is felvehetnek, ezeket kettes komplemenssel ábrázolják. A több bájtos paraméterekhez a big-endian ábrázolást használják.
Logikai felépítés
A DVI fájl áll egy "preambulumból", amit egy vagy több "oldal" követ, majd egy "posztambulummal" záródik. A preambulum egy egyszerű pre utasítás. Minden oldal egy bop eop utasításokkal keretezett tetszőleges számú utasításból álló sorozat. Minden eop utasítást egy bop vagy egy post utasítás követ (ha eltekintünk a nop és az fnt_def utasításoktól), az utóbbi eset azt jelenti hogy nincs több oldal, a posztambulum következik.
A DVI utasítások listája (angol)
Bővebb referenciáért és az utasítások részletes leírásáért lásd a DVI fájlformátum specifikációját[6]
Opcode | Instruction Name | Parameters | Description |
---|---|---|---|
0...127 | set_char_i | typeset a character and move right | |
128 | set1 | c[1] | typeset a character and move right |
129 | set2 | c[2] | |
130 | set3 | c[3] | |
131 | set4 | c[4] | |
132 | set_rule | a[4], b[4] | typeset a rule and move right |
133 | put1 | c[1] | typeset a character |
134 | put2 | c[2] | |
135 | put3 | c[3] | |
136 | put4 | c[4] | |
137 | put_rule | a[4], b[4] | typeset a rule |
138 | nop | no operation | |
139 | bop | c_0[4]..c_9[4], p[4] | beginning of page |
140 | eop | ending of page | |
141 | push | save the current positions | |
142 | pop | restore previous positions | |
143 | right1 | b[1] | move right |
144 | right2 | b[2] | |
145 | right3 | b[3] | |
146 | right4 | b[4] | |
147 | w0 | move right by w | |
148 | w1 | b[1] | move right and set w |
149 | w2 | b[2] | |
150 | w3 | b[3] | |
151 | w4 | b[4] | |
152 | x0 | move right by x | |
153 | x1 | b[1] | move right and set x |
154 | x2 | b[2] | |
155 | x3 | b[3] | |
156 | x4 | b[4] | |
157 | down1 | a[1] | move down |
158 | down2 | a[2] | |
159 | down3 | a[3] | |
160 | down4 | a[4] | |
161 | y0 | move down by y | |
162 | y1 | a[1] | move down and set y |
163 | y2 | a[2] | |
164 | y3 | a[3] | |
165 | y4 | a[4] | |
166 | z0 | move down by z | |
167 | z1 | a[1] | move down and set z |
168 | z2 | a[2] | |
169 | z3 | a[3] | |
170 | z4 | a[4] | |
171...234 | fnt_num_i | set current font to i | |
235 | fnt1 | k[1] | set current font |
236 | fnt2 | k[2] | |
237 | fnt3 | k[3] | |
238 | fnt4 | k[4] | |
239 | xxx1 | k[1], x[k] | extension to DVI primitives |
240 | xxx2 | k[2], x[k] | |
241 | xxx3 | k[3], x[k] | |
242 | xxx4 | k[4], x[k] | |
243 | fnt_def1 | k[1], c[4], s[4], d[4], | define the meaning of a font number |
244 | fnt_def2 | k[2], c[4], s[4], d[4], | |
245 | fnt_def3 | k[3], c[4], s[4], d[4], | |
246 | fnt_def4 | k[4], c[4], s[4], d[4], | |
247 | pre | i[1], num[4], den[4], mag[4], | preamble |
248 | post | p[4], num[4], den[4], mag[4], < font definitions > | postamble beginning |
249 | post_post | q[4], i[1]; 223's | postamble ending |
250...255 | undefined |
Alkalmazások
DVI viewerek
YAP, a MiKTeX része.
xdvi
kdvi
evince
DVI konverterek
PDF-re: dvipdf, dvipdfm, dvipdfmx
Postscriptre: dvips
PNG-re: dvipng
Források
- ↑ Knuth, Donald Erwin; Fuchs, David Raymond: A DVI fájlformátum kanonikus implementációja (forráskód), 1982. [2013. december 13-i dátummal az eredetiből archiválva]. (Hozzáférés: 2009. július 1.)
- ↑ Walden, Dave: Interview of David Fuchs (angol nyelven), 2007. március. (Hozzáférés: 2009. július 1.)
- ↑ UK TeX Users’ Group: TeX Frequently Asked Questions -- question label "driver" (angol nyelven). [2009. január 2-i dátummal az eredetiből archiválva].
- ↑ DVI Driver Implementation and Standardization Issues (angol nyelven), 1995. május. [2009. szeptember 4-i dátummal az eredetiből archiválva]. (Hozzáférés: 2009. július 1.)
- ↑ TUG DVI Driver Standards Committee: The DVI Driver Standard, Level 0 (angol nyelven) (DVI). [2007. február 9-i dátummal az eredetiből archiválva].
- ↑ The DVI File Format. [2007. április 3-i dátummal az eredetiből archiválva]. (Hozzáférés: 2009. július 1.)
- Informatikai portál • összefoglaló, színes tartalomajánló lap