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. |
|
|
Ezt a szócikket egy, a témában jártas személynek vagy szakértőnek át kellene olvasnia, ellenőriznie a szövegét, tartalmát – részletek a cikk vitalapján. |
| 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 megjelentí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]
Tartalomjegyzék |
Felépítés [szerkesztés]
Fizikai felépítés [szerkeszté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 [szerkeszté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) [szerkesztés]
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]
The DVI Instruction Set |
|||
|---|---|---|---|
| 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],
|
postamble beginning |
| 249 | post_post |
q[4], i[1]; 223's |
postamble ending |
| 250...255 | undefined | ||
Alkalmazások [szerkesztés]
DVI viewerek [szerkesztés]
YAP, a MikTeX része.
xdvi
kdvi
evince
DVI konverterek [szerkesztés]
PDF-re: dvipdf, dvipdfm, dvipdfmx
Postscriptre: dvips
PNG-re: dvipng
Források [szerkesztés]
- ↑ Knuth, Donald Erwin; Fuchs, David Raymond: A DVI fájlformátum kanonikus implementációja (forráskód), 1982. (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)
- ↑ DVI Driver Implementation and Standardization Issues (angol nyelven), 1995. május. (Hozzáférés: 2009. július 1.)
- ↑ TUG DVI Driver Standards Committee: The DVI Driver Standard, Level 0 (angol nyelven) (DVI)
- ↑ The DVI File Format. (Hozzáférés: 2009. július 1.)

