{
    "mode": "info",
    "parameter": "dvitype",
    "section": "",
    "url": "https://www.chedong.com/phpMan.php/info/dvitype/json",
    "generated": "2026-07-05T14:48:27Z",
    "sections": {
        "File: web2c.info,  Node: dvitype invocation,  Prev: dvicopy invocation,  Up: DVI utilities": {
            "content": "",
            "subsections": [
                {
                    "name": "10.2 DVItype: Plain text transliteration of DVI files",
                    "content": "DVItype translates a DeVice Independent (DVI) file (as output by TeX,\nfor example) to a plain text file that humans can read.  It also serves\nas a DVI-validating program, i.e., if DVItype can read a file, it's\ncorrect.  Synopsis:\n\ndvitype [OPTION]... DVIFILE[.dvi]\n\nDVItype does not read any bitmap files, but it does read TFM files for\nfonts referenced in DVIFILE.  The usual places are searched (*note\n(kpathsea)Supported file formats::).  To see all the relevant paths, set\nthe environment variable 'KPATHSEADEBUG' to '-1' before running the\nprogram.\n\nOutput goes to standard output.\n\nThe program accepts the following options, as well as the standard\n'-help' and '-version' (*note Common options::):\n'-dpi=REAL'\nDo pixel movement calculations at REAL pixels per inch; default\n300.0.\n\n'-magnification=INTEGER'\nOverride existing magnification in INDVI with INTEGER; 1000\nspecifies no magnification.  This is equivalent to setting TeX's\n'\\mag' parameter.\n\n'-max-pages=N'\nProcess N pages; default is one million.\n\n'-output-level=N'\nVerbosity level of output, from 0 to 4 (default 4):\n* 0: Global document information only.\n* 1: Most DVI commands included, and typeset characters\nsummarized.\n* 2: Character and movement commands explicitly included.\n* 3: DVI stack and current position calculations included.\n* 4: Same information as level 3, but DVItype does random\npositioning in the file, reading the DVI postamble first.\n\n'-page-start=PAGE-SPEC'\nStart at the first page matching PAGE-SPEC, which is one or more\n(signed) integers separated by periods, corresponding to TeX's\n'\\count0...9' parameters at '\\shipout' time; '*' matches anything.\nExamples: '1', '5.*.-9'.\n\n'-show-opcodes'\nShow numeric opcode values (in decimal) for DVI commands, in braces\nafter the command name.  This can help in debugging DVI utilities.\nWe use decimal because in the DVI format documentation (in\n'dvitype.web', among others) the opcodes are shown in decimal.\n\n* Menu:\n\n* dvitype output example::\n"
                }
            ]
        },
        "File: web2c.info,  Node: dvitype output example,  Up: dvitype invocation": {
            "content": "",
            "subsections": []
        },
        "As an example of the output from DVItype (see section above), here is": {
            "content": "its (abridged) translation of the 'story.dvi' resulting from running the\nexample in 'The TeXbook', with '-output-level=4' and '-show-opcodes' on.\n\n...\nOptions selected:\nStarting page = *\nMaximum number of pages = 1000000\nOutput level = 4 (the works)\nResolution = 300.00000000 pixels per inch\nnumerator/denominator=25400000/473628672\nmagnification=1000;       0.00006334 pixels per DVI unit\n' TeX output 1992.05.17:0844'\nPostamble starts at byte 564.\nmaxv=43725786, maxh=30785863, maxstackdepth=3, totalpages=1\nFont 33: cmsl10---loaded at size 655360 DVI units\nFont 23: cmbx10---loaded at size 655360 DVI units\nFont 0: cmr10---loaded at size 655360 DVI units\n\n42: beginning of page 1\n87: push {141}\nlevel 0:(h=0,v=0,w=0,x=0,y=0,z=0,hh=0,vv=0)\n88: down3 -917504 {159} v:=0-917504=-917504, vv:=-58\n92: pop {142}\n...\n104: putrule {137} height 26214, width 30785863 (2x1950 pixels)\n113: down3 5185936 {159} v:=655360+5185936=5841296, vv:=370\n117: push {141}\nlevel 1:(h=0,v=5841296,w=0,x=0,y=0,z=0,hh=0,vv=370)\n118: right4 12265425 {146} h:=0+12265425=12265425, hh:=777\n[ ]\n123: fntdef1 23 {243}: cmbx10\n145: fntnum23 {194} current font is cmbx10\n146: setchar65 h:=12265425+569796=12835221, hh:=813\n147: w3 251220 {150} h:=12835221+251220=13086441, hh:=829\n151: setchar83 h:=13086441+418700=13505141, hh:=856\n...\n164: setchar82 h:=17448202+565245=18013447, hh:=1142\n165: x0 -62805 {152} h:=18013447-62805=17950642, hh:=1138\n166: setchar89 h:=17950642+569796=18520438, hh:=1174\n[A SHORT STORY]\n167: pop {142}\nlevel 1:(h=0,v=5841296,w=0,x=0,y=0,z=0,hh=0,vv=370)\n...\n550: pop {142}\nlevel 0:(h=0,v=42152922,w=0,x=0,y=0,z=0,hh=0,vv=2670)\n551: down3 1572864 {159} v:=42152922+1572864=43725786, vv:=2770\n555: push {141}\nlevel 0:(h=0,v=43725786,w=0,x=0,y=0,z=0,hh=0,vv=2770)\n556: right4 15229091 {146} h:=0+15229091=15229091, hh:=965\n561: setchar49 h:=15229091+327681=15556772, hh:=986\n[ 1]\n562: pop {142}\nlevel 0:(h=0,v=43725786,w=0,x=0,y=0,z=0,hh=0,vv=2770)\n563: eop {140}\n\nExplanation:\n\n* The DVItype options are recorded at the beginning, followed by\nglobal information about the document, including fonts used.\n\n* Each DVI command is preceded by its byte position in the file\n('42:', '87:', ...), and (because of the '-show-opcodes') followed\nby its decimal opcode value in braces ('{141}', '{142}', ...).\n\n* The 'level' lines record information about the DVI stack; 'h' and\n'v' define the current position in DVI units, while 'hh' and 'vv'\nare the same in pixels.\n\n* Text sequences are summarized in brackets, as in '[A SHORT STORY]'\nand the '[ 1]'.\n",
            "subsections": []
        }
    },
    "flags": [],
    "examples": [],
    "see_also": []
}