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. 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). 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.

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

+ The DVI Instruction Set Opcode Instruction Name Parameters Description 0...127 set_char_i typeset a character and move right 128 set1 c typeset a character and move right 129 set2 c 130 set3 c 131 set4 c 132 set_rule a, b typeset a rule and move right 133 put1 c typeset a character 134 put2 c 135 put3 c 136 put4 c 137 put_rule a, b typeset a rule 138 nop no operation 139 bop c_0..c_9, p beginning of page 140 eop ending of page 141 push save the current positions 142 pop restore previous positions 143 right1 b move right 144 right2 b 145 right3 b 146 right4 b 147 w0 move right by w 148 w1 b move right and set w 149 w2 b 150 w3 b 151 w4 b 152 x0 move right by x 153 x1 b move right and set x 154 x2 b 155 x3 b 156 x4 b 157 down1 a move down 158 down2 a 159 down3 a 160 down4 a 161 y0 move down by y 162 y1 a move down and set y 163 y2 a 164 y3 a 165 y4 a 166 z0 move down by z 167 z1 a move down and set z 168 z2 a 169 z3 a 170 z4 a 171...234 fnt_num_i set current font to i 235 fnt1 k set current font 236 fnt2 k 237 fnt3 k 238 fnt4 k 239 xxx1 k, x[k] extension to DVI primitives 240 xxx2 k, x[k] 241 xxx3 k, x[k] 242 xxx4 k, x[k] 243 fnt_def1 k, c, s, d,a, l, n[a+l] define the meaning of a font number 244 fnt_def2 k, c, s, d,a, l, n[a+l] 245 fnt_def3 k, c, s, d,a, l, n[a+l] 246 fnt_def4 k, c, s, d,a, l, n[a+l] 247 pre i, num, den, mag,k, x[k] preamble 248 post p, num, den, mag,l, u, s, t < font definitions > postamble beginning 249 post_post q, i; 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

Kategória:Fájlformátumok Kategória:TeX