home *** CD-ROM | disk | FTP | other *** search
/ Mega Top 1 / os2_top1.zip / os2_top1 / APPS / TEKST / DVID15G1 / EMTEX / DOC / ENGLISH / DVIDRV.DOC next >
Text File  |  1994-10-11  |  220KB  |  6,025 lines

  1. ==============================================================================
  2. DVIDRV 1.5g  BETATEST                                     VERSION: 10-Oct-1994
  3. ==============================================================================
  4.  
  5.  
  6. Table of Contents
  7. =================
  8.  
  9. 1        Introduction
  10. 2        Running the drivers
  11. 2.1        Using the batch files
  12. 2.2        Using dvidrv.exe (DOS only)
  13. 2.3        Getting help for the calling sequence
  14. 2.4        Printing or viewing a DVI file
  15. 3        Using options
  16. 3.1        Options for message output
  17. 3.1.1        Getting a list of the options
  18. 3.1.2        Setting the verbosity level
  19. 3.2        Options for page selection
  20. 3.2.1        Selecting sides by page number
  21. 3.2.2        Double-sided printing
  22. 3.2.3        Selecting sides by side index
  23. 3.2.4        Selecting the order of the sheets
  24. 3.2.5        Printing multiple copies
  25. 3.3        Managing fonts and graphics files
  26. 3.3.1        Handling missing fonts and graphics files
  27. 3.3.2        Scaling fonts
  28. 3.3.3        Font size tolerance
  29. 3.3.4        Initial loading of fonts
  30. 3.3.5        Rounding character positions
  31. 3.3.6        Generating fonts automatically
  32. 3.4        Side layout options
  33. 3.4.1        Specifying the paper size
  34. 3.4.2        Transformation (orientation)
  35. 3.4.3        Moving the output on the sheet
  36. 3.5        Producing booklets and books, n-up printing
  37. 3.5.1        Defining the locations of the pages on a sheet
  38. 3.5.2        Arranging the pages
  39. 3.5.3        Special effects
  40. 3.5.4        Examples
  41. 3.6        Magnification and resolution
  42. 3.6.1        Setting the resolution
  43. 3.6.2        Setting the magnification
  44. 3.7        Directory and file name options
  45. 3.7.1        Search paths
  46. 3.7.2        Input files
  47. 3.7.3        Output files
  48. 3.8        Miscellaneous options
  49. 3.8.1        Meta options
  50. 3.8.2        Memory management
  51. 3.9        Additional options for dviscr and dvivik
  52. 3.9.1        Configuration
  53. 3.10       Additional options for dvipm
  54. 3.10.1       Configuration
  55. 3.11       Additional options for dvidot when printing on a dot matrix printer
  56. 3.11.1       Options for all parameter files
  57. 3.11.2       Options for all parameter files but itoh.dot and aiw.dot
  58. 3.11.3       Options for the parameter files itoh.dot and aiw.dot
  59. 3.12       Additional options for dvidot when generating graphics files
  60. 3.12.1       Controlling the bitmap file
  61. 3.13       Additional options for dvihplj
  62. 3.13.1       General options
  63. 3.13.2       Selecting the printer model
  64. 3.13.3       Using additional features of a printer
  65. 3.13.4       Solving compatibility problems
  66. 3.14       An introduction to templates
  67. 3.14.1       The simplest example of a template -- a constant template
  68. 3.14.2       A simple example of a template
  69. 3.14.3       Template parameters
  70. 3.14.4       Forming multiple expansions with a list
  71. 3.14.5       Forming multiple expansions with alternatives
  72. 3.14.6       Multiple sets of alternatives
  73. 3.14.7       Environment variables
  74. 3.14.8       The emTeX directory ($EMTEX:)
  75. 3.14.9       Template parameter modifiers
  76. 3.14.10      Default extension
  77. 3.14.11      Summary
  78. 3.14.12      Further examples
  79. 4        Managing fonts
  80. 4.1        Specifying font size (resolution)
  81. 4.2        Font substitution file format
  82. 4.2.1        Substitution with and without batch mode
  83. 4.2.2        Rule lines
  84. 4.2.3        Options in font substitution rules
  85. 4.2.4        Matching font names
  86. 4.2.5        Using built-in printer fonts
  87. 4.2.6        Example
  88. 4.3        Font search rules
  89. 4.4        Generating missing fonts automatically with MFjob and METAFONT
  90. 4.5        Using built-in printer fonts
  91. 5        Using dviscr and dvivik
  92. 5.1        Keyboard functions for dviscr and dvivik
  93. 5.2        Entering numbers
  94. 5.3        Understanding the status line
  95. 6        \special
  96. 7        Miscellaneous topics
  97. 7.1        General notes
  98. 7.2        Output with the +verbosity:4 option
  99. 7.2.1        dvihplj
  100. 7.2.2        All drivers
  101. 7.3        Return codes (ERRORLEVEL)
  102. 7.4        Known bugs
  103. 8        Installation of the printer drivers and the screen previewers
  104. 9        Explanation of warning and error messages
  105. 9.1        Warning messages
  106. 9.2        Fatal errors (2xxx)
  107. 9.3        Internal errors (3xxx)
  108. 10       History
  109.  
  110.  
  111. 1 Introduction
  112. ==============
  113.  
  114. The dvidrv drivers output DVI files to a printer or to the screen.
  115. DVI files are created by TeX, for instance.
  116.  
  117. The drivers run under OS/2 1.x, OS/2 2.x, MS-DOS and PC-DOS (2.1 or
  118. later) on IBM PC compatible computers.  At least 512 KB of memory is
  119. required under DOS.
  120.  
  121. You'll find installation instructions in section 8.
  122.  
  123. The dvidrv family includes the following drivers:
  124.  
  125. dviscr  screen previewer for CGA, EGA, VGA, HGC, 8514/A, and other
  126.         adapters
  127.  
  128. dvivik  screen previewer for Viking I, cannot be used under OS/2
  129.  
  130. dvipm   screen previewer for the Presentation Manager (OS/2 1.2 or
  131.         later)
  132.  
  133. dvihplj
  134.         printer driver for PCL printers such as HP LaserJet+, HP
  135.         DeskJet, HP PaintJet, HP QuietJet, HP ThinkJet, and Kyocera
  136.         F-1010.  The HP LaserJet classic is not supported.
  137.  
  138. dvidot  printer driver for dot matrix printers and for creating
  139.         graphics files.  This driver can be configured for many dot
  140.         matrix printers (including dot impact printers, laser printers
  141.         and ink jet printers).  Moreover, it can create graphics files
  142.         in various formats.
  143.  
  144. The following dvidot parameter files for printing on dot matrix
  145. printers are supplied:
  146.  
  147.     Parameter │ Printers                   │Resolution │ Environ. │+font-files
  148.     file      │ (incomplete list)          │ h x v DPI │ variable │default (*)
  149.     ──────────┼────────────────────────────┼───────────┼──────────┼───────────
  150.     fx80      │ EPSON FX and RX series     │ 240x216   │ DVIFX    │ fx
  151.     fx80l     │ EPSON FX and RX series     │ 120x72    │ DVIFX    │ fx
  152.     fx100     │ EPSON FX and RX series     │ 240x216   │ DVIFX    │ fx
  153.     fx100l    │ EPSON FX and RX series     │ 120x72    │ DVIFX    │ fx
  154.     lql       │ EPSON LQ series            │ 180x180   │ DVILQL   │ p6l
  155.     lqm       │ EPSON LQ series            │ 360x180   │ DVILQM   │ p6m
  156.     lqh       │ EPSON LQ series            │ 360x360   │ DVILQH   │ p6h
  157.     lqwl      │ EPSON LQ series (wide)     │ 180x180   │ DVILQL   │ p6l
  158.     lqwm      │ EPSON LQ series (wide)     │ 360x180   │ DVILQM   │ p6m
  159.     lqwh      │ EPSON LQ series (wide)     │ 360x360   │ DVILQH   │ p6h
  160.     sty800    │ EPSON Stylus 800           │ 360x360   │ DVISTY   │ p6h
  161.     p6l       │ NEC P6, Panasonic KX-P1124 │ 180x180   │ DVIP6L   │ p6l
  162.     p6m       │ NEC P6, Panasonic KX-P1124 │ 360x180   │ DVIP6M   │ p6m
  163.     p6h       │ NEC P6, Panasonic KX-P1124 │ 360x360   │ DVIP6H   │ p6h
  164.     p7l       │ NEC P7                     │ 180x180   │ DVIP6L   │ p6l
  165.     p7m       │ NEC P7                     │ 360x180   │ DVIP6M   │ p6m
  166.     p7h       │ NEC P7                     │ 360x360   │ DVIP6H   │ p6h
  167.     itoh      │ C.ITOH 8510A               │ 160x144   │ DVIITOH  │ ito
  168.     aiw       │ Apple Imagewriter          │ 160x144   │ DVIAIW   │ aiw
  169.     dmp130    │ Tandy DMP-130              │ 240x216   │ DVIDMP   │ fx
  170.     ibm4201   │ IBM Proprinter 4201        │ 240x216   │ DVI4201  │ fx
  171.     ibm4202   │ IBM Proprinter 4202        │ 240x216   │ DVI4202  │ fx
  172.     ibm4207l  │ IBM Proprinter 4207        │ 180x180   │ DVI4207L │ p6l
  173.     ibm4207m  │ IBM Proprinter 4207        │ 360x180   │ DVI4207M │ p6m
  174.     ibm4208l  │ IBM Proprinter 4208        │ 180x180   │ DVI4208L │ p6l
  175.     ibm4208m  │ IBM Proprinter 4208        │ 360x180   │ DVI4208M │ p6m
  176.     bj10eh    │ Canon Bubble Jet BJ-10e    │ 360x360   │ DVIBJH   │ bj
  177.     bj300h    │ Canon Bubble Jet BJ300     │ 360x360   │ DVIBJH   │ bj
  178.  
  179. (*)     Due to space restrictions, this column shows only
  180.         part of the +font-files default setting.  If this
  181.         column contains *, the complete default setting is
  182.         \texfonts\pixel.*\@Rrdpi\@f{.pk,.pxl}.
  183.  
  184. The IBM Proprinter type 4207 and 4208 must be set to AGM (see the
  185. printer user's manual).
  186.  
  187. Not all printers of the EPSON LQ series support 360x360 DPI (lqh.dot
  188. and lqwh.dot).  For instance, there are two variants of the LQ-850,
  189. only one of which supports 360x360 DPI.
  190.  
  191. The following dvidot parameter files for creating graphics files are
  192. supplied:
  193.  
  194.     Parameter │                                                    │ Default
  195.     file      │ Graphics file format                               │ extension
  196.     ──────────┼────────────────────────────────────────────────────┼──────────
  197.     msp1      │ Old MSP format (Microsoft Paint of Windows 1.x)    │ msp
  198.     msp2      │ Newer MSP format (Microsoft Paint of Windows 2.x)  │ msp
  199.     pcx       │ PCX format (Paintbrush)                            │ pcx
  200.     bmpos2    │ BMP format (OS/2 1.1)                              │ bmp
  201.     bmpwin    │ BMP format (Windows 3.x)                           │ bmp
  202.  
  203. The default resolution is 300x300 DPI, the default name of the envi-
  204. ronment variable is DVIBMP, the default value for the +font-files op-
  205. tion is \texfonts\pixel.lj\@Rrdpi\@f{.pk,.pxl}.  The default extension
  206. given in the table applies to the output file.
  207.  
  208. Additional parameter files can be easily constructed -- see
  209. makedot.doc.
  210.  
  211. If memory in real mode (DOS) is short, dviscrs.exe should be used
  212. instead of dviscr.exe -- you can rename dviscrs.exe only if it is run
  213. under DOS 3.0 or later.  This version runs in real mode only, needs
  214. less memory and is somewhat slower.  Otherwise it behaves exactly
  215. like dviscr -- for instance, @d in templates will be replaced with
  216. `dviscr'.
  217.  
  218. When using OS/2 1.x, you must run dvipm16.exe (or dvipm167.exe to
  219. take advantage of the numeric coprocessor if you have one) instead of
  220. dvipm.exe.
  221.  
  222.  
  223. 2 Running the drivers
  224. =====================
  225.  
  226. Usually, you run a DVI driver by invoking one of the batch files
  227. supplied with the drivers.
  228.  
  229.  
  230. 2.1 Using the batch files
  231. -------------------------
  232.  
  233. The following batch files for running the drivers are provided:
  234.  
  235.     v      prtlql     prtp6l     prthplj      prtfx      pcxfx      pcxp6l
  236.     vs     prtlqm     prtp6m     prthpljh     prtfxl     pcxito     pcxp6m
  237.     vp     prtlqh     prtp6h     prtitoh      prtsty     pcxlj      pcxp6h
  238.  
  239. Below, the commands used by those batch files are explained.  The
  240. batch files v, vs and vp are called with on argument: the name of the
  241. DVI file.  The other batch files are called with two arguments: the
  242. name of the DVI file and the name of the output file.  The name of the
  243. output file can be omitted, the drivers will then use the default out-
  244. put file name set with the +default-output-file option, for instance
  245. the printer port LPT1.  Additionally, you can enter command line op-
  246. tions as arguments.
  247.  
  248. The batch files use the following environment variables:
  249.  
  250. DVIDRVINPUT
  251.         Search path for DVI files.
  252.  
  253. DVIDRVFONTS
  254.         Search path for FLI files.
  255.  
  256. DVIDRVGRAPH
  257.         Search path for graphics files.
  258.  
  259. For instance, you can set the environment variables like this:
  260.  
  261.     set dvidrvinput=c:\mytex;c:\emtex\doc;c:\emtex\doc\english
  262.     set dvidrvfonts=c:\texfonts
  263.     set dvidrvgraph=c:\mytex;c:\emtex\doc
  264.  
  265. In this example, DVI files and graphics files will be sought in \mytex
  266. in addition to the emTeX directories.  Font files and font library
  267. files will be sought in c:\texfonts.
  268.  
  269. Note that the environment variables should not contain whitespace.
  270. When using `Cut & Paste' blanks may sneak in at the end of the lines.
  271.  
  272. If you don't want to set these environment variables, you should in-
  273. sert the path names into the configuration files (or preferably into
  274. copies of the configuration files).
  275.  
  276. The batch files use configuration files for setting the options.
  277. You can also use those configuration files on the command line of a
  278. driver to use different fonts.  The following configuration files are
  279. available for selecting fonts:
  280.  
  281.     File name    │ Resolution │ Fonts │ Font resolution
  282.     ─────────────┼────────────┼───────┼────────────────
  283.     bj.cnf       │   360      │  BJ   │      360
  284.     fax.cnf      │ 204x196    │  FAX  │    204x196
  285.     fx.cnf       │ 240x216    │  FX   │    240x216
  286.     ito.cnf      │ 160x144    │  ITO  │    160x144
  287.     lj.cnf       │   300      │  LJ   │      300
  288.     ljh.cnf      │   600      │  LJH  │      600
  289.     mxl_fx.cnf   │ 120x72     │  FX   │    240x216
  290.     p6h.cnf      │   360      │  P6H  │      360
  291.     p6l.cnf      │   180      │  P6L  │      180
  292.     p6l_p6h.cnf *│   180      │  P6H  │      360
  293.     p6l_p6m.cnf *│   180      │  P6M  │    360x180
  294.     p6m.cnf      │ 360x180    │  P6M  │    360x180
  295.     p6m_p6h.cnf *│ 360x180    │  P6H  │      360
  296.  
  297. The configuration files marked with * use scaled fonts, see
  298. +font-scaling.
  299.  
  300. To call dviscr with P6L fonts, type
  301.  
  302.     v @p6l.cnf <filename>
  303.  
  304. or replace @lj.cnf with @p6l.cnf in v.bat (OS/2: v.cmd).
  305.  
  306.  
  307. 2.2 Using dvidrv.exe (DOS only)
  308. -------------------------------
  309.  
  310. The dvidrv program calls the driver program and -- if required --
  311. MFjob to generate missing fonts:
  312.  
  313.     dvidrv <driver> <driver-arguments>
  314.  
  315. The dvidrv program creates a temporary file for the MFjob commands and
  316. runs the driver program given on the command line.  If missing fonts
  317. are to be generated, MFjob will be called, then again the driver.
  318. Finally, the temporary file will be deleted.  The dvidrv program is
  319. required under DOS only.  Under OS/2, the drivers directly call MFjob
  320. (unless +call-mfjob:off is set).
  321.  
  322. See +metafont-mode and +mfjob-file and section 4.4, `Generating
  323. missing fonts automatically with MFjob and METAFONT' for details.
  324.  
  325.  
  326. 2.3 Getting help for the calling sequence
  327. -----------------------------------------
  328.  
  329. To get a list of the more common options, type ? on the command line,
  330. for example:
  331.  
  332.     dvihplj ?
  333.  
  334. To get a list of all the options, type ??  instead of ?.
  335.  
  336.  
  337. 2.4 Printing or viewing a DVI file
  338. ----------------------------------
  339.  
  340. On the command line, you can enter the input file name, options and --
  341. for the printer drivers -- the output file name:
  342.  
  343.     dviscr  [options] input-file [options]
  344.     dvivik  [options] input-file [options]
  345.     dvipm   [options] input-file [options]
  346.     dvihplj [options] input-file [options] output-file [options]
  347.     dvidot  parameter-file [options] input-file [options] output-file [options]
  348.  
  349. If arguments are omitted the program will prompt for them (cf. the
  350. +options option.) except that dvidot must always have the parameter
  351. file name on the command line.  More than one argument may be entered
  352. at each prompt, these arguments will be interpreted as if they had
  353. been entered on the command line.
  354.  
  355. When using dvipm, you can enter the name of the input file and the op-
  356. tions in dialog boxes if you don't give a file name on the command
  357. line.  In this case, you can change the options.  After changing the
  358. options, you can open the DVI file.  After opening the DVI file, you
  359. can't change the options until you choose File->New.  Moreover, you
  360. can use drag & drop under OS/2 1.3 and later to open a DVI file.
  361. You'll find further information about dvipm in the on-line help
  362. (select the Help menu or press F1).  The language used for the on-line
  363. help can be changed with the Language selection of the Help menu.  You
  364. can choose English or German help.
  365.  
  366. dvidot expects to find the dvidot parameter files (the default exten-
  367. sion is DOT) in the `data' subdirectory of the emTeX directory, which
  368. defined is by the EMTEXDIR environment variable.  If EMTEXDIR is not
  369. set, dvidot will use `\emtex\data' for the parameter file.  The name
  370. of the parameter file MUST be given on the command line and must be
  371. the first argument.
  372.  
  373. For dvidot with a parameter file for creating graphics files, the de-
  374. fault extension for output files is MSP, PCX or BMP, depending on the
  375. parameter file.  dvidot with a parameter file for a dot matrix printer
  376. and all the other drivers have no default.  The output filename can be
  377. a DOS device name like PRN, LPT2, COM2 if required -- though not when
  378. creating a graphics file, of course.  See also the +xon-xoff option.
  379.  
  380. If the output is sent to a file then the file can be printed with
  381.  
  382.     COPY /B file PRN
  383.  
  384. The `/b' option is important as otherwise the copy will terminate at
  385. the first Control-Z byte encountered.
  386.  
  387. Under OS/2 a hyphen can be used as the output file name, output will
  388. be sent to stdout and can be piped into another program.  Output to
  389. stdout does not work when creating a graphics file with dvidot.
  390.  
  391. Usually, dvidot with a parameter file for creating graphics files
  392. creates only one graphics file, containing the first selected side.
  393. Multiple graphics files (one for each side) can be created with one
  394. dvidot run by using one or more (consecutive) `?' in the output file
  395. name.  The question marks will be replaced by a number (with leading
  396. zeros): 1 for the first side, 2 for the second, and so on.  If there's
  397. one `?', up to 9 graphics files will be created, if there are two `?',
  398. up to 99 graphics files will be created, and so on.  Example:
  399.  
  400.     dvidrv dvidot pcx @lj.cnf mytext page??
  401.  
  402. creates the graphics files page01.pcx to (at most) page99.pcx.
  403.  
  404. When entering the options in response to a driver prompt the `-' or
  405. `/', which is required on the command line, need not be entered; `+',
  406. however, must be entered.
  407.  
  408. An input filename, output filename or option can be replaced by
  409. @response-file.  This will cause the lines in the response file to be
  410. read and interpreted at this point after which interpretation of the
  411. command line will continue.  The response file line length may not
  412. exceed 127 characters.  An example:
  413.  
  414.     dvidrv dvidot fx80 @fx.cnf test prn
  415.  
  416. The arguments in fx.cnf will be processed first and then the file
  417. test.dvi will be printed with the output going to the device PRN.
  418. @response-file can be entered at a program prompt as well as on the
  419. command line.  The directories to be searched for response files can
  420. be set with the +response-files option; the normal searching sequence
  421. starts with the current directory and finally searches the `data'
  422. subdirectory of the emTeX directory.
  423.  
  424. Arguments can also be passed to the program through environment vari-
  425. ables which are processed before arguments on the command line or
  426. entered at a prompt.  It is recommended, however, that only options,
  427. or response files containing only options, are put into environ-
  428. ment variables; if a file name is entered then only this file can be
  429. processed.
  430.  
  431. The first environment variable looked for is DVIDRV and the next is
  432. one with the same name as the driver.  dvidot uses a further environ-
  433. ment variable with a name set in the parameter file.  For example,
  434. to set +dvi-file:{,c:\mydvi\}@i as a default option for dviscr, the
  435. operating system command:
  436.  
  437.     set dviscr=+dvi-file:{,c:\mydvi\}@i
  438.  
  439. can be given.  Note: Environment variables cannot contain `='.
  440.  
  441. Options which are common to all the drivers should appear in the
  442. DVIDRV environment variable.  If, for instance, units should all be in
  443. mm then the system command
  444.  
  445.     set dvidrv=+unit:mm
  446.  
  447. can be entered.  This will affect all the drivers.
  448.  
  449. In a response file a single `%' starts a comment: all characters to
  450. the end of the line will be ignored.  The `%' can be placed at the
  451. beginning of a line or after an option, but in the latter case it must
  452. be preceded by at least one space.
  453.  
  454. A `@' at the beginning of a line (column 1) causes the rest of the
  455. file to be ignored -- this allows a driver log file to be used as a
  456. response file.
  457.  
  458.  
  459. 3 Using options
  460. ===============
  461.  
  462. Most options have two forms: A long form and a short form (more or
  463. less compatible with earlier releases of the drivers).  The long form
  464. consists of a `+' character followed by the long name of the option,
  465. possibly abbreviated.  The short form consists of a `/' or `-' charac-
  466. ter followed by one, two or three cryptic letters.  There are options
  467. for which only the long form is available and there are options for
  468. which only the short form is available (long forms for the options of
  469. the latter variety will be added in a later version of the drivers).
  470.  
  471. Options may be separated by spaces or another option may follow immedi-
  472. ately: in this case the following option must start with `/' (and thus
  473. must be given in the short form).  If your operating system is set up
  474. to use `-' for options instead of `/', you must precede the short form
  475. of options by `-' and you must separate options by spaces.  In this
  476. case, you can use `/' in path names, for example
  477.  
  478.     dviscr @lj.cnf /mytex/mytext -o:3 -pt:/mylog/mytext.ddl
  479.  
  480. With a standard setup (using `/' for options), you should enter
  481.  
  482.     dviscr @lj.cnf \mytex\mytext /o:3/pt:\mylog\mytext.ddl
  483.  
  484. instead.  The examples in this manual use `/'.
  485.  
  486. The operating system switch character can be overridden by setting the
  487. EMTEXSWCHAR environment variable to a non-empty value.  If EMTEXSWCHAR
  488. is set to `-', this character will be used for options.  For all other
  489. settings of EMTEXSWCHAR, the drivers use `/' for options.
  490.  
  491. The long names of the options can be abbreviated as follows, as long
  492. as the abbreviation is unambiguous (otherwise a warning message will
  493. be displayed, along with all matching options):
  494.  
  495. - If you enter a period, the characters in the name of an option are
  496.   skipped until a `-' or the end of the name is reached.  This way,
  497.   you can abbreviate words contained in the name of an option.
  498.  
  499. - You can omit characters at the end of the name.
  500.  
  501. The following list shows some valid (unambiguous) abbreviations for
  502. +font-size-tolerance:
  503.  
  504.     +font-size-tol
  505.     +font-size-tol.
  506.     +f.s.t.
  507.     +fo.size-t.
  508.     +font..tol
  509.     +..tol
  510.  
  511. Note that you can append `-x' or `-y' to some of the options.  Only
  512. if the input ends with `x' or `y', the driver appends `-x' or `-y',
  513. respectively, to the internal names of the options when looking for
  514. a match.  This is to allow for abbreviating the name of the option
  515. without making ambiguous the name without `-x' or `-y'.  (For in-
  516. stance, if `-x' and `-y' were appended unconditionally to all names in
  517. the list of known options, `+resolution' would match the three options
  518. `+resolution', `+resolution-x' and `+resolution-y'.)
  519.  
  520. Letter case is not significant in the names of the options.  However,
  521. letter case is significant in the arguments of some options.
  522.  
  523. Options may take arguments.  For the long form of an option, there
  524. must be `:', `=' or `:=' between an option and its argument, for exam-
  525. ple
  526.  
  527.     +width:210mm
  528.     +width=210mm
  529.     +width:=210mm
  530.  
  531. are all acceptable forms.  For the short form, there may be `:', `='
  532. or `:=' between an option and its argument, for example
  533.  
  534.     /w210mm
  535.     /w:210mm
  536.     /w=210mm
  537.     /w:=210mm
  538.  
  539. are all acceptable forms.
  540.  
  541. Note: `=' may not appear in an environment variable and cannot be
  542. given in an argument to a batch file.  Semicolon and comma can also
  543. not appear in an argument to a batch file (dangerous in connection
  544. with templates).
  545.  
  546. If an option may take an argument, both forms of the option can take
  547. an argument.  Note that for some options, the syntax for arguments is
  548. different for the long and short forms.  The type of the argument is
  549. shown below only for the short form.  Possible types are:
  550.  
  551. #       stands for a number which will sometimes be followed by a
  552.         dimension (the dimension must be in lowercase).  Some op-
  553.         tions can be used to specify a value referring to the X co-
  554.         ordinate or a value referring to the Y coordinate, for in-
  555.         stance /r#.  With /r:300 both values are set.  To set only
  556.         one of the two values, append `x' or `y' to the short name
  557.         of the option: /rx:240 and /ry:216.  When using the long
  558.         form, append `-x' or `-y' when setting the X or Y coordinate.
  559.         Example (+resolution): Use +reso:300 to set both values, use
  560.         +res.x:240 and +res.y:216 to set the values independently.
  561.  
  562. +       stands for `+' or `-' for the short form.  + turns the option
  563.         on, - turns it off.  When using the long form, `on' and `y'
  564.         turn the option on, `off' and `n' turn the option off.  If no
  565.         argument is given, the option is turned on.
  566.  
  567. *       stands for any other type of argument.
  568.  
  569. The long form is always listed without an indication of the type of
  570. the argument.
  571.  
  572.  
  573. 3.1 Options for message output
  574. ------------------------------
  575.  
  576. These options are used for listing the available options and for
  577. controlling the amount of messages shown on the screen.
  578.  
  579.  
  580. 3.1.1 Getting a list of the options
  581. -----------------------------------
  582.  
  583. These options list some or all options, including the current
  584. settings.
  585.  
  586. +short-help  /?
  587.  
  588.     List the most frequently used options with their current settings.
  589.  
  590. +help  /??
  591.  
  592.     List all the options with their current settings.  Included are op-
  593.     tions which are usually set only once: in the configuration file.
  594.  
  595.  
  596. 3.1.2 Setting the verbosity level
  597. ---------------------------------
  598.  
  599. The verbosity level controls what messages are displayed on the
  600. screen.  Independent of the verbosity level, all messages are written
  601. to the log file.
  602.  
  603. +verbosity  /v#
  604.  
  605.     Set the verbosity level:
  606.  
  607.     0       display only fatal error messages
  608.  
  609.     1       display all messages of level 0, plus page numbers and
  610.             font substitutions in batch mode
  611.  
  612.     2       display all messages of level 1, plus serious warnings,
  613.             `Loading ...' and the DVI file comment
  614.  
  615.     3       display all messages of level 2, plus all warnings and
  616.             \special's
  617.  
  618.     4       display all messages of level 3, plus statistics and the
  619.             names of font files
  620.  
  621.     5       display all messages of level 4, plus comments in the font
  622.             files
  623.  
  624.     The default setting is +verbosity:2.
  625.  
  626.     Note that +font-load-limit:-1 suppresses font comments and
  627.     warnings of font problems.
  628.  
  629.  
  630. 3.2 Options for page selection
  631. ------------------------------
  632.  
  633. These options select the pages to be printed.  In the following the
  634. difference between `pages', `sides' and `sheets' should be noted: A
  635. page is a page from TeX's point of view, i.e., the DVI file contains
  636. multiple pages with a TeX page number assigned to each of them.  There
  637. may be multiple pages on one side (n-up printing, see below), the
  638. sides are numbered sequentially, the pages are numbered according
  639. to the TeX page number assigned to them.  A sheet contains either
  640. one side (if printing single sided or if using two passes for print-
  641. ing double sided) or two sides (if using +double-sided:long or
  642. +double-sided:short).
  643.  
  644. The terms `side' and `sheet' are equivalent unless +double-sided:long
  645. or +double-sided:short is used.
  646.  
  647. The terms `page' and `side' are equivalent if +rows:1 +columns:1 is
  648. used.
  649.  
  650. The options are applied in the order they are shown below: Initially,
  651. all sides are to be printed.  The first option removes certain sides
  652. from consideration, the second then restricts the remaining sides and
  653. so on.
  654.  
  655.  
  656. 3.2.1 Selecting sides by page number
  657. ------------------------------------
  658.  
  659. You can select a range of sides by giving the TeX page number of the
  660. first page and/or the TeX page number of the last page.
  661.  
  662. +first-page  /b*
  663.  
  664.     Select the first side to be printed.  The DVI file will then be
  665.     read from the beginning until a matching page is encountered.
  666.     Further page selection will now begin, starting at the side
  667.     containing this page.  An asterisk stands for any page number: at
  668.     most 10 numbers can be given which will be compared with \count0
  669.     to \count9 -- omitted numbers will be replaced with *.  The de-
  670.     fault is * which means begin at the first page in the file.
  671.  
  672.     In the following example, selection begins with the page having
  673.     \count0=-3 and \count2=4:
  674.  
  675.         +fi.p:-3.*.4
  676.  
  677. +last-page  /e*
  678.  
  679.     Select the last side.  After finding a suitable first side, the
  680.     DVI file search will continue until a page matching this option's
  681.     specification is encountered.  The side containing this page
  682.     will be the last one.  The sides encompassing the range of pages
  683.     selected by +first-page and +last-page will remain selected.  The
  684.     default is *: this is an exception, it means that no matching for
  685.     the last page will take place.
  686.  
  687.     In the following example, the last side is the one containing the
  688.     page with the page number 10.5:
  689.  
  690.         +la.p:10.5
  691.  
  692.  
  693. 3.2.2 Double-sided printing
  694. ---------------------------
  695.  
  696. There are two ways of producing double-sided output: Use a printer
  697. which automatically prints on both sides of the paper (duplex print-
  698. ing) or print in two passes.
  699.  
  700. +double-sided  /d:e /d:o /d:-
  701.  
  702.     Double-sided printing: every other side is selected.
  703.     +double-sided:odd selects sides 1., 3., ..., +double-sided:even
  704.     selects the sides 2., 4., ...  The default is +double-sided:off,
  705.     all sides are selected.  Additionally, you can use
  706.     +double-sided:long and +double-sided:short with dvihplj (and
  707.     dvidot for some parameter files) to automatically print
  708.     double-sided on a suitable printer.  See the lists of dvihplj's
  709.     and dvidot's options for details.  Use +backside-offset-x and
  710.     +backside-offset-y to align frontside and backside.
  711.  
  712.     The arguments `e', `o' and `-' can be used instead of `even',
  713.     `odd' and `off'.  When using the short form of this option, you
  714.     have to use `e', `o' or `-'.
  715.  
  716.     The following example prints the first part of a double-sided
  717.     document:
  718.  
  719.         +doub:odd
  720.  
  721.     The following example prints the second part of a double-sided
  722.     document:
  723.  
  724.         +doub:even
  725.  
  726.     You might have to toggle the +backward option on the second pass.
  727.  
  728.  
  729. 3.2.3 Selecting sides by side index
  730. -----------------------------------
  731.  
  732. The sides selected by the options above will be numbered sequentially.
  733. Use the following options to select sides by side index.
  734.  
  735. +skip-sides  /k#
  736.  
  737.     The number of sides to skip: the first # of the sides in the
  738.     chosen range will be skipped.  The default is 0.
  739.  
  740.     The following example will skip one side, the selection will begin
  741.     with the second side:
  742.  
  743.         +skip:1
  744.  
  745. +number-of-sides  /n#
  746.  
  747.     The number of sides to print: at most # sides will be printed.
  748.     Default: 65535, the maximum value.
  749.  
  750.     The following example will print at most 10 sides:
  751.  
  752.         +num:10
  753.  
  754.  
  755. 3.2.4 Selecting the order of the sheets
  756. ---------------------------------------
  757.  
  758. Some printers stack the output sheets face-up.  On those printers, the
  759. last sheet should be printed first.
  760.  
  761. +backward  /z+
  762.  
  763.     Print the sheets in reverse order, starting with the last sheet
  764.     selected.  The default is +backward:off, print the first sheet
  765.     first.
  766.  
  767.  
  768. 3.2.5 Printing multiple copies
  769. ------------------------------
  770.  
  771. There are two methods for printing multiple copies of a document.
  772.  
  773. +copy-sheets  /ns#
  774.  
  775.     Print # copies of each sheet (uncollated copies): each sheet will
  776.     be printed # times before going on to the next sheet.  The default
  777.     setting is +copy-sheets:1 -- print each sheet only once.  This op-
  778.     tion is not supported by dviscr, dvivik and dvipm (and dvidot when
  779.     creating graphics files).
  780.  
  781. +copy-file  /nf#
  782.  
  783.     Print the whole file # times (collated copies).  The default
  784.     setting is +copy-file:1 -- print the file only once.  For exam-
  785.     ple, if four sides are to be printed, +copy-file:2 will cause them
  786.     to be printed in the order 1 2 3 4 1 2 3 4.  When +copy-sheets
  787.     and +copy-file are combined, +copy-sheets will be applied first,
  788.     then +copy-file.  For example, printing two sides with the option
  789.     setting +copy-sheets:2 +copy-file:3 will result in the following
  790.     order: 1 1 2 2 1 1 2 2 1 1 2 2.  This option is not supported
  791.     by dviscr, dvivik and dvipm (and dvidot when creating graphics
  792.     files).  If +double-sided:long or +double-sided:short is used,
  793.     empty sides are inserted as necessary to avoid printing the first
  794.     side of the next copy on the backside of the last sheet of the
  795.     previous copy.
  796.  
  797.  
  798. 3.3 Managing fonts and graphics files
  799. -------------------------------------
  800.  
  801. Most of these options are set only once, during installation (in a
  802. response file).  Some of these options are set in the configuration
  803. files that come with the drivers.
  804.  
  805.  
  806. 3.3.1 Handling missing fonts and graphics files
  807. -----------------------------------------------
  808.  
  809. There are three modes of handling missing font and graphics files.
  810. Note that you can change the mode interactively when the driver asks
  811. for a replacement for a missing font.
  812.  
  813. +batch-mode  /fb
  814.  
  815.     Automatic replacement of missing fonts.  If a font is not found
  816.     then it is sought first in magnification 1000.  If it is still
  817.     not found then cmr10 in the required magnification is sought,
  818.     then cmr10 at magnification 1000.  If this fails, a TFM file will
  819.     be sought (characters will be replaced by rectangles if a TFM
  820.     file is found).  If all this fails, characters from this font
  821.     will be omitted resulting in wrong positions of rules, characters
  822.     from other fonts, etc.  This font search method can be altered
  823.     with a font substitution file.  If a graphics file is not found
  824.     and +batch-mode has been selected then the picture will be
  825.     omitted.  +batch-mode is switched off by either +change-mode or
  826.     +interactive-mode.  If MFjob and METAFONT shall be called for gen-
  827.     erating missing fonts, usage of +batch-mode is recommended unless
  828.     you want to select which of the missing fonts should be generated.
  829.  
  830. +change-mode  /fc
  831.  
  832.     Before a font or graphics file is loaded, the name of the file can
  833.     be changed if +change-mode is active.  +change-mode is switched
  834.     off by either +batch-mode or +interactive-mode.
  835.  
  836. +interactive-mode  /fi
  837.  
  838.     This is the default.  If a font or graphics file cannot be found,
  839.     you can change the magnification or the name if +interactive-mode
  840.     is active.  +interactive-mode is switched off by either
  841.     +batch-mode or +change-mode.
  842.  
  843. +omit-graphics  /fo+
  844.  
  845.     All \special{em:graph} commands will be ignored (without issuing
  846.     warnings) if +omit-graphics:on is used.  That is, no graphics
  847.     files will be inserted.
  848.  
  849.  
  850. 3.3.2 Scaling fonts
  851. -------------------
  852.  
  853. +font-scaling  /fs#
  854.  
  855.     Font scaling.  These options are used to reduce the size of the
  856.     font allowing a font generated for a higher resolution device to
  857.     be used at a lower resolution (disk space!).  The reduction is
  858.     accomplished by replacing the points in the rectangle of width
  859.     +font-scaling-x and height +font-scaling-y by a single point.  If
  860.     the rectangle is a square, +font-scaling:# can be used to set the
  861.     width and height to the same value.  The values may lie in the
  862.     range 1 to 8.  Printing with fonts reduced by this method gives
  863.     results which are of noticeably poorer quality than fonts gener-
  864.     ated by METAFONT directly.  The desired resolution must be set
  865.     with the +font-resolution option.  The configuration files that
  866.     come with the drivers set +font-scaling appropriately.
  867.  
  868.     The following example replaces the P6L fonts with scaled P6M
  869.     fonts:
  870.  
  871.         +resolution:180 +font-scaling-x:2 +font-resolution-x:360
  872.  
  873.  
  874. 3.3.3 Font size tolerance
  875. -------------------------
  876.  
  877. +font-size-tolerance  /ft#
  878.  
  879.     Allow for size tolerance when searching for fonts.  Before seeking
  880.     a font, its size will be replaced by the closest size available,
  881.     unless the relative deviation is greater than 0.2%.  Then, the
  882.     driver tries to find the font by trying the available sizes
  883.     starting with the closest size and proceeding with less close
  884.     sizes until the relative deviation from the size exceeds the value
  885.     set by +font-size-tolerance.  Sizes with a greater deviation are
  886.     not tried.  If a font is found and the deviation exceeds 0.2%,
  887.     warning message 1208 will be displayed.  The tolerance is entered
  888.     as percentage, the valid range is 0 to 20, that is, 0 to 20% of
  889.     deviation.  Default value: 0.2 (that is, 0.2%).  Values less than
  890.     0.2 are not recommended.  The available sizes of fonts are set
  891.     with the +font-sizes option, additionally the sizes found in the
  892.     font library files will be used.
  893.  
  894. +font-sizes  /fz*
  895.  
  896.     Available font sizes.  To be able to find fonts close (with
  897.     respect to size) to the fonts requested, the drivers must be
  898.     informed with +font-sizes about the available font sizes.  The
  899.     sizes are given in DPI, you can use magnifications by typing :0 to
  900.     :9 (see below).  To enter more than one value, separate the values
  901.     by commas (note: commas cannot be passed to batch files).  You can
  902.     either replace the previous set of sizes or -- by preceding the
  903.     first value by `+' -- add sizes to the previous set of sizes.  The
  904.     default value is :0,:h,:1,:2,:3,:4,:5,:6,:7,:8,:9, that is, the
  905.     resolution set with +font-resolution, multiplied by 1, sqrt(1.2),
  906.     1.2, 1.44, and so on, up to 1.2^9.  If the list starts with a
  907.     colon (`:1', for instance), you must use `:', `=' or `:=' to
  908.     separate the value from `/fz', otherwise the colon would be read
  909.     as delimiter (and ignored).
  910.  
  911.     The following example adds sizes 200 and 240:
  912.  
  913.         +font-sizes:+200,200:1
  914.  
  915.     In the following example only magstep1 is available:
  916.  
  917.         /fz::1
  918.  
  919.  
  920. 3.3.4 Initial loading of fonts
  921. ------------------------------
  922.  
  923. +font-load-limit  /fl#
  924.  
  925.     Font load limit.  When the driver first loads the font
  926.     parameters from a font file (`Loading font ...') all those
  927.     characters are loaded that need no more than # bytes of memory.
  928.     +font-load-limit:-1 is a special case: the font parameters are
  929.     loaded only when needed; initially, only the existence of the
  930.     font file is checked.  +font-load-limit:-1, however, also stops
  931.     warnings about problems with the font files and should only be
  932.     used when you are sure that the fonts are alright.  The default
  933.     is 300, that is, all characters which need 300 or fewer bytes
  934.     of memory are immediately loaded.  If later a (larger) charac-
  935.     ter is required which has not yet been loaded, the font file will
  936.     have to be opened again.  If dviscr, dvivik or dvipm is used with
  937.     fonts on a fixed disk, it is better to use +font-load-limit:0 or
  938.     +font-load-limit:-1 as the first side appears on the screen more
  939.     quickly (initial font load takes a little time.)  If the driver
  940.     complains about lack of memory, it may help (but not necessarily)
  941.     to use +font-load-limit:0 or +font-load-limit:-1; this doesn't
  942.     reduce the memory required by the driver but may improve the way
  943.     the available memory is used.
  944.  
  945.     The following example disables initial loading of characters:
  946.  
  947.         +f.l.l:0
  948.  
  949.     The following example causes characters to be loaded on demand:
  950.  
  951.         +f.l.l:-1
  952.  
  953.     In the following example, all characters smaller than 1000 bytes
  954.     are initially loaded:
  955.  
  956.         +f.l.l:1000
  957.  
  958.  
  959. 3.3.5 Rounding character positions
  960. ----------------------------------
  961.  
  962. +max-drift  /fd#
  963.  
  964.     This sets the internal variable max_drift.  If the character or
  965.     line spacing is uneven, a different value can be tried: the usual
  966.     values range from 0 to 2, the default value is 1 if no configura-
  967.     tion file is used.  You can set the horizontal and vertical values
  968.     separately with +max-drift-x and +max-drift-y, respectively.  The
  969.     DVI drivers standard recommends the following values:
  970.  
  971.         Resolution r (DPI) │ max_drift
  972.         ───────────────────┼──────────
  973.                  r < 100   │    0
  974.           100 <= r < 200   │    1
  975.           200 <= r         │    2
  976.  
  977.     The values from this table are set by the configuration files that
  978.     come with the drivers.
  979.  
  980. +use-tfm-files  /fu+
  981.  
  982.     This option is used for telling the driver whether TFM files shall
  983.     be used for all fonts.  The pixel rounding algorithm requires the
  984.     word space (and other parameters) defined for a font for rounding
  985.     the positions of characters from that font.  The word space param-
  986.     eter will be taken from TFM files if +use-tfm-files:on has been
  987.     set.  To use TFM files, you have to set +tfm-files correctly.  If
  988.     a TFM file is not found, warning message 1212 will be displayed
  989.     and the font is treated as if +use-tfm-files:off were set.  If
  990.     +use-tfm-files:off is set, the word space will be estimated by the
  991.     driver.  The default setting is +use-tfm-files:off because in most
  992.     cases there is no a visible difference.
  993.  
  994.  
  995. 3.3.6 Generating fonts automatically
  996. ------------------------------------
  997.  
  998. +call-mfjob  /fr+
  999.  
  1000.     If the default value +call-mfjob:on is active, the drivers
  1001.     directly call MFjob under OS/2, without terminating the
  1002.     driver.  If you want to get the same behaviour as under DOS,
  1003.     use +call-mfjob:off.  In this case, the driver is terminated
  1004.     with return code 8 to indicate that MFjob should be invoked.
  1005.     +call-mfjob is ignored under DOS.
  1006.  
  1007. +metafont-mode  /fm*
  1008.  
  1009.     This option -- together with +mfjob-file -- is required for gener-
  1010.     ating missing fonts automatically by calling MFjob.  The METAFONT
  1011.     mode used for generating missing fonts is set by this option.  The
  1012.     default value is empty, if no configuration files are used: MFjob
  1013.     will not be called automatically.  The configuration files that
  1014.     come with the drivers set +metafont-mode appropriately.
  1015.  
  1016.     The following example uses mode hplaser for the HP LaserJet family
  1017.     at 300 DPI:
  1018.  
  1019.         +m.m:hplaser
  1020.  
  1021.  
  1022. 3.4 Side layout options
  1023. -----------------------
  1024.  
  1025. The options described here are used for specifying the paper size, the
  1026. offsets for achieving correct margins and the transformation (printing
  1027. orientation).
  1028.  
  1029.  
  1030. 3.4.1 Specifying the paper size
  1031. -------------------------------
  1032.  
  1033. See also the +paper option of dvihplj.
  1034.  
  1035. +height  /h#
  1036.  
  1037.     Set the paper height.  This value is used by dviscr and dvivik to
  1038.     display the sheet edges as a border.  dvipm uses this value for
  1039.     the size of the sheet.  dvidot with parameter file for creating
  1040.     graphics files uses this value to set the size of the graphics
  1041.     files unless +minimize:on is selected.  dvidot with parameter file
  1042.     for printing on a dot matrix printer uses this value to decide
  1043.     how much of the side can be printed; however, as a form feed is
  1044.     used to eject a page the physical page length must be set on the
  1045.     printer.  `dvidot itoh' and `dvidot aiw' are an exception, they
  1046.     use the value set by +form-length for page ejects.  You should set
  1047.     +height to the height of the paper you are printing on.
  1048.  
  1049.     The following example sets the paper format to A4:
  1050.  
  1051.         +height:297mm +width:210mm
  1052.  
  1053. +width  /w#
  1054.  
  1055.     Set the paper width.  dviscr and dvivik use this value for
  1056.     displaying the edges of the sheet.  dvipm uses this value for
  1057.     the size of the sheet.  dvidot with parameter file for creating
  1058.     graphics files uses this value to determine the size of the
  1059.     graphics files unless +minimize:on is given.  The dvidot driver
  1060.     with parameter file for dot matrix printers reduces this value
  1061.     by 1px if the value given is exactly the maximum paper width.
  1062.     `dvidot fx80', for example, reduces this width by 1px if, when
  1063.     converted, it is exactly 1920px.  You should set +width to the
  1064.     width of the paper you are printing on.
  1065.  
  1066.  
  1067. 3.4.2 Transformation (orientation)
  1068. ----------------------------------
  1069.  
  1070. +transformation  +portrait-mode  +landscape-mode  /tr#
  1071.  
  1072.     Output transformation.  The following values are available:
  1073.  
  1074.     0       normal output (portrait mode)
  1075.  
  1076.     1       rotate 90 degrees anticlockwise (landscape mode)
  1077.  
  1078.     2       rotate 180 degrees
  1079.  
  1080.     3       rotate 270 degrees anticlockwise
  1081.  
  1082.     4       reflect about the \ diagonal
  1083.  
  1084.     5       reflect vertically
  1085.  
  1086.     6       reflect about the / diagonal
  1087.  
  1088.     7       reflect horizontally
  1089.  
  1090.     In practice +transformation:0 (+portrait-mode) and
  1091.     +transformation:1 (+landscape-mode) are most often used.
  1092.  
  1093.     The transformations when applied to the pattern
  1094.  
  1095.         A B
  1096.         C D
  1097.         E F
  1098.  
  1099.     are
  1100.  
  1101.          0  │   1   │  2  │   3   │   4   │  5  │   6   │  7
  1102.         ────┼───────┼─────┼───────┼───────┼─────┼───────┼────
  1103.         A B │ B D F │ F E │ E C A │ A C E │ E F │ F D B │ B A
  1104.         C D │ A C E │ D C │ F D B │ B D F │ C D │ E C A │ D C
  1105.         E F │       │ B A │       │       │ A B │       │ F E
  1106.  
  1107.     It is important to set the paper height and width correctly with
  1108.     +height and +width (for coordinate transformations).
  1109.  
  1110.     The same paper dimensions and offsets can be used for all
  1111.     transformations, that is, +height, +width, +top-margin and
  1112.     +left-margin need not be changed.  The margins set with
  1113.     +page-top-margin and +page-left-margin are `above' or `left' of
  1114.     the text and will be transformed.
  1115.  
  1116.     If +resolution-x and +resolution-y differ then different fonts
  1117.     will be needed when rotating by 90 or 270 degrees or reflecting
  1118.     about a diagonal -- this applies to the EPSON FX-80/100, NEC P6/P7
  1119.     (360x180DPI) C.Itoh 8510A and Apple Imagewriter printers.
  1120.  
  1121.     For key assignments for dviscr and dvivik, see <K> and <T>.
  1122.  
  1123.     When using transformations 1 through 7, some restrictions apply:
  1124.  
  1125.     - \special{em:graph} doesn't work and will be ignored
  1126.  
  1127.     - dvihplj cannot use built-in fonts (see the description of font
  1128.       substitution files for details) unless using an HP LaserJet III
  1129.       or later.
  1130.  
  1131.     When using transformations 4 through 7, dvihplj cannot use
  1132.     built-in fonts (see the description of font substitution files for
  1133.     details).
  1134.  
  1135.  
  1136. 3.4.3 Moving the output on the sheet
  1137. ------------------------------------
  1138.  
  1139. +left-margin  /l#
  1140.  
  1141.     Left margin: The output will be moved # to the right.  The de-
  1142.     fault value is 0in.  This option is intended to be set in a con-
  1143.     figuration file or environment variable to adjust the margins for
  1144.     your particular printer.  To find the correct value of this option
  1145.     for your printer, print adjust.dvi with the option +left-margin:0
  1146.     and measure the distance from the left margin to the printed
  1147.     square.  Take an inch (25.4 mm) off this, change the sign, and
  1148.     set +left-margin to the resulting value.  The offset specified by
  1149.     +left-margin is always measured from the left of the sheet and is
  1150.     not affected by +transformation.  See also +page-left-margin.
  1151.  
  1152.     The following example moves output right by 1 cm:
  1153.  
  1154.         +left:1cm
  1155.  
  1156. +top-margin  /t#
  1157.  
  1158.     Top margin.  The output will be moved down the sheet by #.  The de-
  1159.     fault value is 0in.  This option is intended to be set in a con-
  1160.     figuration file or environment variable to adjust the margins for
  1161.     your particular printer.  To find the correct value of this option
  1162.     for your printer, print adjust.dvi with the option +top-margin:0
  1163.     and measure the distance from the top edge of the paper to the
  1164.     square.  Take 1 inch (25.4mm) from this, change the sign, and
  1165.     set +top-margin to the resulting value.  The offset specified by
  1166.     +top-margin is always measured from the top of the sheet and is
  1167.     not affected by +transformation.  See also +page-top-margin.
  1168.  
  1169. +page-left-margin  /al#
  1170.  
  1171.     This option specifies the (logical) left margin of a page.
  1172.     This left margin is always to the left of the page, subject to
  1173.     +transformation.  The default value is 1in, as assumed by most TeX
  1174.     formats.
  1175.  
  1176. +page-top-margin  /at#
  1177.  
  1178.     This option specifies the (logical) top margin of a page.  This
  1179.     top margin is always above the page, subject to +transformation.
  1180.     The default value is 1in, as assumed by most TeX formats.
  1181.  
  1182. +backside-offset-x  +backside-offset-y  /ax#  /ay#
  1183.  
  1184.     Shift backsides to make them align with the frontsides.  The
  1185.     output on backsides is moved to the right by the value
  1186.     of +backside-offset-x and is moved down by the value of
  1187.     +backside-offset-y.  On frontsides, these options are ignored.
  1188.  
  1189.     With +double-sided:off and +double-sided:odd, the values
  1190.     of +backside-offset-x and +backside-offset-y are ignored.
  1191.     With +double-sided:even, the values of +backside-offset-x
  1192.     and +backside-offset-y are applied to all sides.  With
  1193.     +double-sided:long and +double-sided:short, the side first printed
  1194.     is considered a frontside.
  1195.  
  1196.     Both values may be negative to move in the opposite direction.
  1197.     The default value of both options is 0in.
  1198.  
  1199.  
  1200. 3.5 Producing booklets and books, n-up printing
  1201. -----------------------------------------------
  1202.  
  1203. The options described here are used for printing multiple pages on
  1204. a side, optionally suitable for folding and saddle-stitching in the
  1205. middle.  Basically, there are two applications of printing multiple
  1206. pages on a side:
  1207.  
  1208. 1.  Making a booklet or book.  See +section-count and +section-size
  1209.     for details.
  1210.  
  1211. 2.  Printing multiple pages on a sheet to save paper.  In this case,
  1212.     the pages are arranged on the sheets in the order they are
  1213.     read from the DVI file, left to right, top to bottom.  See the
  1214.     description of +page-list-file for figures.
  1215.  
  1216. Additionally, you can assign each page to one of the locations defined
  1217. by +rows, +columns, +page-width and +page-height by supplying a file
  1218. containing a list of pages.  See +page-list-file for details.
  1219.  
  1220.  
  1221. 3.5.1 Defining the locations of the pages on a sheet
  1222. ----------------------------------------------------
  1223.  
  1224. +columns  +rows  /ac#  /ar#
  1225.  
  1226.     Use these options to specify the number of columns and rows of
  1227.     pages on a side.  The default value is 1 for both options, telling
  1228.     the driver to put one page on each side.  The number of pages to
  1229.     be printed side by side is set by +columns.  The number of pages
  1230.     to be printed above one another is set by +rows.
  1231.  
  1232.     The meaning of `side by side' depends on the +transformation and
  1233.     +fold-other options.  For +portrait-mode and +fold-other:off
  1234.     (the default values), the meaning is the usual one.  Choosing
  1235.     +fold-other:on reverses the meaning of `rows' and `columns'.
  1236.     Choosing a transformation which flips the X and Y axes
  1237.     (+landscape-mode, for instance) reverses the meaning of `rows' and
  1238.     `columns'.
  1239.  
  1240.     The number of pages per side is the product of the values of +rows
  1241.     and +columns.
  1242.  
  1243. +page-height  +page-width   /ah#  /aw#
  1244.  
  1245.     These options set the height and width, respectively, of
  1246.     the pages.  These values define the vertical and horizontal
  1247.     distance of the pages arranged in the grid defined by +columns
  1248.     and +rows.  The default value of +page-height is 11in, the de-
  1249.     fault value of +page-width is 8.5in.  These options are ignored
  1250.     unless +columns or +rows is set to a value greater than 1.  The
  1251.     location of a page within the grid is defined by +page-left-margin
  1252.     and +page-top-margin.  As for those options, the meaning of
  1253.     +page-height and +page-width is also affected by +transformation.
  1254.  
  1255.  
  1256. 3.5.2 Arranging the pages
  1257. -------------------------
  1258.  
  1259. +page-list-file  /pp*
  1260.  
  1261.     Set the path name of the page list file (the value is a tem-
  1262.     plate, see below for details).  If the value is empty (which is
  1263.     the default), no page list file is used.  If a page list file is
  1264.     specified with +page-list-file, the pages are distributed to sides
  1265.     according to the contents of this file.
  1266.  
  1267.     For each side to be printed, there is one line in the file.  Each
  1268.     line contains one entry for each page per side (see +columns and
  1269.     +rows).  If there are R rows, the first R entries are for the
  1270.     first row, the next R entries are for the second row, and so on:
  1271.  
  1272.         +portrait-mode
  1273.         
  1274.         ┌───┐  ┌───┐  ┌───┐
  1275.         │1 2│  │1 2│  │1 2│
  1276.         └───┘  │3 4│  │3 4│
  1277.                └───┘  │5 6│
  1278.                       └───┘
  1279.         
  1280.         +landscape-mode
  1281.         
  1282.         ┌─┐  ┌───┐  ┌─────┐
  1283.         │2│  │2 4│  │2 4 6│
  1284.         │1│  │1 3│  │1 3 5│
  1285.         └─┘  └───┘  └─────┘
  1286.  
  1287.     Note that this is subject to +fold-other.
  1288.  
  1289.     An entry is either `-' to leave that position empty or a page
  1290.     index (the pages of the DVI file are assigned page indices
  1291.     sequentially, starting with 1 for the first page) to select this
  1292.     page into the row and column associated with the entry.  Entries
  1293.     are separated by spaces.
  1294.  
  1295.     Lines starting with `%' and empty lines are ignored.  You can put
  1296.     a comment after the last entry of a line by preceding the comment
  1297.     with at least one space and a `%' character.
  1298.  
  1299.     If a page list file is used, the +blank-pages and +page-shift op-
  1300.     tions are ignored.
  1301.  
  1302.     Here's an example of a page list file:
  1303.  
  1304.         % Sample page list file
  1305.         % For use with +columns:2 +rows:1
  1306.         
  1307.         1 8             % Side 1
  1308.         2 7             % Side 2
  1309.         3 6             % Side 3
  1310.         4 5             % Side 4
  1311.  
  1312. +section-count  +section-size   /an#  /az#
  1313.  
  1314.     To produce a book or a booklet, use one of these options, together
  1315.     with the options for defining the locations of pages on sides
  1316.     (+rows, +columns, etc.).
  1317.  
  1318.     If +section-count or +section-size is set to a non-zero value,
  1319.     the pages are rearranged to make sheets which can be made into
  1320.     a booklet or a book consisting of several sections by cutting,
  1321.     folding and saddle-stitching in the middle.  To make a booklet,
  1322.     take the stack of sheets of one section, cut and sort it (if there
  1323.     are more than 2 pages per side), then fold it once.  Now you can
  1324.     saddle-stitch the stack in the middle.  To make a book, make a
  1325.     booklet from each section and bind the booklets into a book.
  1326.  
  1327.     The number of sections (booklets) is either set by +section-count
  1328.     (which defines the number of sections) or computed from the value
  1329.     of +section-size (which defines the number of booklet sheets per
  1330.     section, that is the number of pages per section divided by 4).
  1331.     If both +section-count and +section-size are set to a non-zero
  1332.     value, +section-count supersedes +section-size.  A warning message
  1333.     is displayed if the values of +section-count and +section-size
  1334.     disagree.
  1335.  
  1336.     If +section-count or +section-size is set to a non-zero value,
  1337.     the driver assumes that you want to make a book or booklet.
  1338.     Therefore, it aborts with an error message if one of the following
  1339.     conditions is false:
  1340.  
  1341.     - A page list file must not be used (+page-list-file should have
  1342.       an empty value).
  1343.  
  1344.     - The number of columns of pages (+columns) must be even (and
  1345.       greater than one).
  1346.  
  1347.     The default value for +section-count and +section-size is 0.  If
  1348.     both +section-count and +section-size are set to 0, no book is
  1349.     produced.
  1350.  
  1351.     The last section can be smaller than the preceding sections of a
  1352.     book.  See +full-last-section for details.
  1353.  
  1354. +full-last-section  /ae+
  1355.  
  1356.     If the number of pages of a book isn't an integral multiple of the
  1357.     number of pages per section, there will be some empty pages in the
  1358.     last section.  By default (+full-last-section:off), the driver
  1359.     reduces the size of the last section to minimize the number of
  1360.     blank pages at the end of the section.  Use +full-last-section:on
  1361.     to make the last section the same size as the other sections,
  1362.     i.e., output blank pages as necessary.
  1363.  
  1364.  
  1365. 3.5.3 Special effects
  1366. ---------------------
  1367.  
  1368. +blank-pages  /ab#
  1369.  
  1370.     Insert blank pages at the beginning, shifting all selected pages.
  1371.     The default value is 0, which means not to insert blank pages.
  1372.     This option can be used for leaving room for a title page, without
  1373.     having to put a blank page into the DVI file (which can be quite
  1374.     difficult).  Note that +blank-pages modifies the way pages are
  1375.     arranged on sheets and therefore affects the page selection.
  1376.     +blank-pages is ignored if +page-list-file is used.
  1377.  
  1378. +fold-other  /af+
  1379.  
  1380.     Use +fold-other:on to arrange the pages for folding the other
  1381.     way.  By default (+fold-other:off), the driver assumes that you
  1382.     want to get `left' and `right' pages.  However, a calendar, for in-
  1383.     stance, has `top' and `bottom' pages.  To achieve this effect, use
  1384.     +fold-other:on.
  1385.  
  1386. +page-shift  /as#
  1387.  
  1388.     Shift the pages to compensate for the paper thickness.  When
  1389.     making a booklet, `outer' pages are shifted away from the fold by
  1390.     the value of +page-shift, multiplied by the number of layers.  The
  1391.     innermost pair of pages is not shifted.  To find the correct value
  1392.     of +page-shift, start at about 1.5 times (pi/2) the thickness of
  1393.     the paper.
  1394.  
  1395.  
  1396. 3.5.4 Examples
  1397. --------------
  1398.  
  1399. To make a portrait-mode booklet by printing in landscape mode, putting
  1400. two A5 pages on an A4 side (no cutting is required), use the following
  1401. options:
  1402.  
  1403.     +columns:2 +rows:1 +section-count:1
  1404.     +page-width:149mm +page-height:210mm
  1405.     +landscape-mode +double-sided:short
  1406.  
  1407. If your printer does not support +double-sided:short, you have to
  1408. use +double-sided:odd, then reinsert the paper (turning around the
  1409. short edge, that is, upside down) and use +double-sided:even.  Use
  1410. +backside-offset-y to align the frontside and the backside.
  1411.  
  1412. To make a portrait-mode booklet by printing in portrait mode, putting
  1413. four A6 pages on an A4 side (requiring cutting all the sheets into
  1414. two), use the following options:
  1415.  
  1416.     +columns:2 +rows:2 +section-count:1
  1417.     +page-width:105mm +page-height:149mm
  1418.     +portrait-mode +double-sided:long
  1419.  
  1420. If your printer does not support +double-sided:long, you have to use
  1421. +double-sided:odd, then reinsert the paper (turn around the long edge)
  1422. and use +double-sided:even.  Use +backside-offset-x to align the
  1423. frontside and the backside.
  1424.  
  1425. Additionally, you should set +page-shift in all cases.  Adjust the
  1426. +page-width and +page-height values to control the distance between
  1427. the pages.
  1428.  
  1429.  
  1430. 3.6 Magnification and resolution
  1431. --------------------------------
  1432.  
  1433. Some of the options described here are set in the configuration files
  1434. that come with the drivers.
  1435.  
  1436.  
  1437. 3.6.1 Setting the resolution
  1438. ----------------------------
  1439.  
  1440. +resolution  /r#
  1441.  
  1442.     Set the resolution.  +resolution-x sets the horizontal resolution,
  1443.     +resolution-y the vertical and +resolution:# both at once.  The
  1444.     default value is 300, dvidot uses the value set in the parame-
  1445.     ter file.  These values are in dots per inch (DPI).  Make sure
  1446.     that the appropriate fonts are available!  A number of parameters
  1447.     can only be calculated when the resolution is known: the driver
  1448.     will only convert the values when all the options have been read,
  1449.     therefore the +resolution option doesn't have be the first one.
  1450.     See also +font-resolution.  The configuration files that come with
  1451.     the drivers set +resolution appropriately.
  1452.  
  1453.     The following example sets the resolution to 180 DPI:
  1454.  
  1455.         +resol:180
  1456.  
  1457. +font-resolution  /rf#
  1458.  
  1459.     Set the font resolution, the argument is in DPI.  This option
  1460.     will usually be used together with +font-scaling.  The hori-
  1461.     zontal and vertical resolution can be set individually with
  1462.     +font-resolution-x and +font-resolution-y.  If +font-resolution
  1463.     is omitted, the value used for the font will be that set by
  1464.     +resolution.  The configuration files that come with the drivers
  1465.     set +font-resolution appropriately.
  1466.  
  1467. +graphics-resolution  /rg#
  1468.  
  1469.     Set the resolution for the graphics files, the argument is in
  1470.     DPI.  This option merely sets the values which will be used for
  1471.     @r in +graphics-files.  The horizontal and vertical resolution
  1472.     can be set individually with +graphics-resolution-x and
  1473.     +graphics-resolution-y.  If +graphics-resolution is omitted, the
  1474.     value used will be that set by +resolution.
  1475.  
  1476.  
  1477. 3.6.2 Setting the magnification
  1478. -------------------------------
  1479.  
  1480. +magnification  /m#
  1481.  
  1482.     the magnification in the DVI file is replaced by # which can take
  1483.     any value from 100 to 16000.  The values are the same as those
  1484.     used for \mag, that is, the magnification multiplied by 1000
  1485.     (+magnification:1000 gives the normal size) or as h, 0 to 5, they
  1486.     represent \magstephalf, \magstep0 to \magstep5.  The values 6 to 9
  1487.     will be interpreted similarly.
  1488.  
  1489.     To multiply the magnification in the DVI file with a value,
  1490.     precede the value with a `*' character.
  1491.  
  1492.     If this option is used without an argument, the magnification of
  1493.     the DVI file will be used (this is equivalent to an argument of
  1494.     `*1000' or `*0').  Using the magnification of the DVI file is the
  1495.     default setting.
  1496.  
  1497.     Note that fonts in appropriate sizes are required.
  1498.  
  1499.     The following example replaces the magnification with sqrt(2):
  1500.  
  1501.         +mag:1414.21356
  1502.  
  1503.     The following example multiplies the magnification with sqrt(1.2):
  1504.  
  1505.         +mag:*h
  1506.  
  1507.  
  1508. 3.7 Directory and file name options
  1509. -----------------------------------
  1510.  
  1511. The following options accept templates to specify a number of
  1512. different search paths for files.  See section 3.14 for details about
  1513. templates.  Some of the options described here are set in the configu-
  1514. ration files that come with the drivers.
  1515.  
  1516.  
  1517. 3.7.1 Search paths
  1518. ------------------
  1519.  
  1520. When using a search path for finding a file, the first successful
  1521. expansion of the template will be used.
  1522.  
  1523. +dvi-file  /pd*
  1524.  
  1525.     the template used when searching for the DVI file (input file).
  1526.     @i will be replaced with the name of the DVI file (the default ex-
  1527.     tension DVI has been already attached if necessary).  The default
  1528.     value is @i, telling the driver just to look for the specified
  1529.     file.  The configuration files change the setting of +dvi-file
  1530.     to seek DVI files in the current working directory and in the
  1531.     directories listed in the DVIDRVINPUT environment variable.
  1532.  
  1533.     The following example tells the driver to search the specified di-
  1534.     rectory, d:\dvi, and d:\mytex:
  1535.  
  1536.         +dvi-f:{,d:\dvi\,d:\mytex\}@i
  1537.  
  1538. +font-files  /pf*
  1539.  
  1540.     the template used when locating font files (PK, PXL and VF files).
  1541.     @f will be replaced with the name of the font.  dvidot reads the
  1542.     default value from the parameter file, the default value for all
  1543.     other drivers is
  1544.  
  1545.         \texfonts\pixel.lj\@Rrdpi\@f.{pk,pxl}
  1546.  
  1547.     which -- when used for finding the font `cmr10 scaled 1200' with
  1548.     +font-resolution:300 -- tries to open the files
  1549.  
  1550.         \texfonts\pixel.lj\360dpi\cmr10.pk
  1551.  
  1552.     and
  1553.  
  1554.         \texfonts\pixel.lj\360dpi\cmr10.pxl
  1555.  
  1556.     in this sequence.  However, the configuration files that come with
  1557.     the drivers change +font-files to use the DVIDRVFONTS environment
  1558.     variable.  fx.cnf, for instance, uses the template
  1559.  
  1560.         $DVIDRVFONTS:pixel.fx\@Rrdpi\@f{.pk,.pxl}
  1561.  
  1562.     To use VF files, specify the path of the VF files with +font-files
  1563.     or with +virtual-fonts.  Example:
  1564.  
  1565.         +font-files:$DVIDRVFONTS:{pixel.fx\@Rrdpi\@f{.pk,.pxl},vf\@f.vf}
  1566.  
  1567. +graphics-files  /pg*
  1568.  
  1569.     the template used when locating graphics files (MSP, PCX and BMP
  1570.     files).  @f will be replaced with the name of the picture.  The de-
  1571.     fault value
  1572.  
  1573.         @PBf{@Ef,.msp,.pcx,.bmp}
  1574.  
  1575.     makes the driver look for the following files:
  1576.  
  1577.         name (@f)    │ files
  1578.         ─────────────┼──────────────────────────────────────────────────
  1579.         test         │ test.       test.msp    test.pcx    test.bmp
  1580.         test.ext     │ test.ext    test.msp    test.pcx    test.bmp
  1581.         \g\test      │ \g\test.ext \g\test.msp \g\test.pcx \g\test.bmp
  1582.  
  1583.     However, the configuration files that come with the drivers change
  1584.     +graphics-files to use the DVIDRVGRAPH environment variable:
  1585.  
  1586.         {,$DVIDRVGRAPH:}{@Rrdpi\,}@PBf{@Ef,.msp,.pcx,.bmp}
  1587.  
  1588.     The following example works like the default value, but also
  1589.     searches the directories given in the DVIDRVGRAPH environment vari-
  1590.     able:
  1591.  
  1592.         +graph.f:{,$DVIDRVGRAPH:}@PBf{@Ef,.msp,.pcx}
  1593.  
  1594. +response-files  /pr*
  1595.  
  1596.     the template used when searching for response files (@name).  @f
  1597.     will be replaced with the name of the response file.  The default
  1598.     value is {,$EMTEX:data\}@f, which makes the driver search the
  1599.     specified directory (or the current working directory, if the name
  1600.     of the response file doesn't specify a directory) and then the
  1601.     `data' subdirectory of the emTeX directory.
  1602.  
  1603.     The following example searches the specified directory, c:\emtex,
  1604.     and d:\mytex for response files.  The specified extension is tried
  1605.     first, then CNF:
  1606.  
  1607.         +response-files:{,c:\emtex\,d:\mytex\}@PBf{@Ef,.cnf}
  1608.  
  1609. +tfm-files  /pm*
  1610.  
  1611.     the template for TFM files.  Character width information is
  1612.     required for invisible fonts, fonts whose characters should be
  1613.     turned into rectangles (/b, /r, and /w in font substitution files
  1614.     or /b, /r, and /w user input while searching for fonts) and for
  1615.     built-in printer fonts.  If no font could be found, TFM files
  1616.     can be used for those fonts, but then, the sizes of the black
  1617.     rectangles must be estimated.  Use +tfm-files to tell the drivers
  1618.     how to transform font names into TFM file names.  The default
  1619.     is {$TEXTFM:,$EMTEX:tfm\}@f.  The default extension is TFM.  If
  1620.     +use-tfm-files:on is active, TFM files will also be read for fonts
  1621.     whose characters should be printed.
  1622.  
  1623.     In the following example, TFM files are located in the directory
  1624.     d:\fonts\tfm:
  1625.  
  1626.         +tfm-f:d:\fonts\tfm\@f
  1627.  
  1628. +virtual-fonts  /pv*
  1629.  
  1630.     the template for VF files (virtual fonts), in addition to
  1631.     +font-files.  @f will be replaced with the name of the font.
  1632.     If the template is non-empty, the driver will search for
  1633.     virtual fonts before searching a font in the font libraries
  1634.     (+font-libraries) and in single files (+font-files).  If you don't
  1635.     want to replace existing fonts with virtual fonts, you should use
  1636.     +virtual-fonts: (with an empty template), which is the default
  1637.     value, to speed up font search.
  1638.  
  1639.     In the following example, VF files are located in directory
  1640.     c:\fonts\vf, the file name extension is VF:
  1641.  
  1642.         +virt:c:\fonts\vf\@f.vf
  1643.  
  1644.  
  1645. 3.7.2 Input files
  1646. -----------------
  1647.  
  1648. For input files, all expansions of the template will be used
  1649. successively.
  1650.  
  1651. +init-files  /pi*
  1652.  
  1653.     printer initialization files.  The files given by +init-files will
  1654.     be sent to the printer immediately after it has been reset.  You
  1655.     may use a template for giving more than one file.
  1656.  
  1657.     The following example sends the files unidir.p6 and init.p6 to the
  1658.     printer:
  1659.  
  1660.         +init-f:unidir.p6,init.p6
  1661.  
  1662. +font-libraries  /pl*
  1663.  
  1664.     the template for the fonts libraries to be used.  Fonts are sought
  1665.     first in these libraries and then as single files.  Font libraries
  1666.     can be created with fontlib.  The default extension is FLI.  The
  1667.     configuration files that come with the drivers set +font-libraries
  1668.     appropriately, using the DVIDRVFONTS environment variable.
  1669.  
  1670.     The following example lets the driver look for the font libraries
  1671.     lj_0.fli, lj_h.fli, ..., lj_sli.fli in the directories given in
  1672.     the DVIDRVFONTS environment variable.  If this environment vari-
  1673.     able lists more than one directory, you'll probably get some
  1674.     warning messages about missing files:
  1675.  
  1676.         +font-lib:$DVIDRVFONTS:lj_{0,h,1,2,3,4,5a,5b,sli}
  1677.  
  1678. +font-subst-files  /ps*
  1679.  
  1680.     the names of the font substitution files.  The default is no font
  1681.     substitution file.  You can use a template.  The driver searches
  1682.     font substitution files in the specified directory (or the current
  1683.     working directory, if the name doesn't specify a directory) and
  1684.     then in the `data' subdirectory of the emTeX directory.  The de-
  1685.     fault extension is SUB.
  1686.  
  1687.     The following example reads the three files circle.sub, sub1.sub,
  1688.     and sub2.sub:
  1689.  
  1690.         +f.subst:circle,sub1,sub2
  1691.  
  1692.  
  1693. 3.7.3 Output files
  1694. ------------------
  1695.  
  1696. For output files, only the first expansion of the template will be
  1697. used.
  1698.  
  1699. +mfjob-file  /pj*
  1700.  
  1701.     Name of the file created when missing fonts are to be gener-
  1702.     ated by calling MFjob.  See also +metafont-mode.  When calling
  1703.     a driver via the dvidrv.exe program, this option will be set
  1704.     automatically to the name of a temporary file.  The default value
  1705.     is {$TMP:,}dv@u.mfj, that is, a file named dv#.mfj is created
  1706.     under OS/2, where # is a number that is chosen by the driver to
  1707.     not overwrite an existing file.  The file will be created in the
  1708.     directory specified by the TMP environment variable.  If TMP is
  1709.     not set, the file will be created in the current working direc-
  1710.     tory.  Under DOS, the default value causes MFjob not to be called,
  1711.     as @u is used.  The file will be created only if there are missing
  1712.     fonts, a METAFONT mode has been set with +metafont-mode and a file
  1713.     name has been set with +mfjob-file.
  1714.  
  1715. +default-output-file  /po*
  1716.  
  1717.     this option sets the default name of the output file.  If the
  1718.     driver is called without an output file name, this name will be
  1719.     used.  Default value: no default output file.  You can use a tem-
  1720.     plate, but only the first expansion will be used.  This option is
  1721.     used only to set the default; to specify the output file name when
  1722.     running a driver, enter the file name directly without using this
  1723.     option.
  1724.  
  1725.     With the following example, output goes to LPT1 unless an output
  1726.     file name is given on the command line:
  1727.  
  1728.         +def.out:lpt1
  1729.  
  1730. +transcript-file  /pt*
  1731.  
  1732.     the name of the log file (transcript file).  The default is `@d',
  1733.     ie, the name of the driver with extension DLG (for instance,
  1734.     dviscr.dlg).  All output that follows the input of the files and
  1735.     options is written to this file.  It also contains the current
  1736.     settings of all the options for the run.  The +transcript-file: op-
  1737.     tion suppresses the creation of a log file.  A log file can later
  1738.     be used as a response file to set up the same conditions again.
  1739.     You can use a template, but only the first expansion will be used.
  1740.  
  1741.     In the following example, the name of the DVI file with file name
  1742.     extension DLO in the current working directory will be used for
  1743.     the log file:
  1744.  
  1745.         +tr.file:@Bi.dlo
  1746.  
  1747. +fontlib-file  /pw*
  1748.  
  1749.     Write a fontlib response file.  A text file containing the fontlib
  1750.     commands to insert the fonts used in the run into a font library
  1751.     will be generated.  To generate only this response file use the
  1752.     option +number-of-sides:0.  You can use a template, but only the
  1753.     first expansion will be used.
  1754.  
  1755.     For example, the fontlib call for
  1756.  
  1757.         +fontlib-file:new.cmd
  1758.  
  1759.     is
  1760.  
  1761.         fontlib new /k @new.cmd
  1762.  
  1763.  
  1764. 3.8 Miscellaneous options
  1765. -------------------------
  1766.  
  1767. Options which don't fit any of the categories above are described
  1768. here.
  1769.  
  1770.  
  1771. 3.8.1 Meta options
  1772. ------------------
  1773.  
  1774. These options deal with options.
  1775.  
  1776. +options  //
  1777.  
  1778.     Prompt for options.  When +options is used the driver will prompt
  1779.     for further options, this can be useful when the options required
  1780.     exceed the permitted length of the command line.  This option is
  1781.     not supported by dvipm.
  1782.  
  1783. +unit  /u*
  1784.  
  1785.     This option sets the default dimension unit to be used when none
  1786.     is given.  The default is inch.  The following dimension units can
  1787.     be used (cf. The TeXbook p. 57)
  1788.  
  1789.     pt      point (1/72.27in)
  1790.  
  1791.     pc      pica (12pt)
  1792.  
  1793.     in      inch (default)
  1794.  
  1795.     bp      big point (1/72in)
  1796.  
  1797.     cm      centimeter
  1798.  
  1799.     mm      millimeter
  1800.  
  1801.     dd      didot point (1238/1157pt)
  1802.  
  1803.     cc      cicero (12dd)
  1804.  
  1805.     sp      scaled point (1/65536pt)
  1806.  
  1807.     px      Pixel (resolution independent)
  1808.  
  1809.     All these units must be entered in lowercase.  The +unit option
  1810.     affects all following options.
  1811.  
  1812.     The following example is INVALID, megameters are somewhat
  1813.     impractical:
  1814.  
  1815.         +unit:Mm
  1816.  
  1817.  
  1818. 3.8.2 Memory management
  1819. -----------------------
  1820.  
  1821. +use-ems  /xe+
  1822.  
  1823.     Use expanded memory (EMS) under DOS.  The default setting is
  1824.     +use-ems:on, which enables usage of EMS.  +use-ems:off disables
  1825.     usage of EMS, data will be swapped to disk if there isn't enough
  1826.     main memory.  EMS 4.0 or later is required.
  1827.  
  1828. +use-xms  /xx+
  1829.  
  1830.     Use extended memory (EMS) under DOS.  The default setting is
  1831.     +use-xms:on, which enables usage of XMS.  +use-xms:off disables
  1832.     usage of XMS, data will be swapped to disk if there isn't enough
  1833.     main memory.
  1834.  
  1835.  
  1836. 3.9 Additional options for dviscr and dvivik
  1837. --------------------------------------------
  1838.  
  1839. Unless otherwise noted, these options are available for both dviscr
  1840. and dvivik.
  1841.  
  1842.  
  1843. 3.9.1 Configuration
  1844. -------------------
  1845.  
  1846. +adapter  /oa#
  1847.  
  1848.     Adapter setting for dviscr, the possible values are:
  1849.  
  1850.     0       automatic selection (default)
  1851.  
  1852.     1       CGA 640x200
  1853.  
  1854.     2       EGA 640x350 or 640x200
  1855.  
  1856.     3       VGA 640x480
  1857.  
  1858.     4       Hercules Graphics Card 720x348, not under OS/2
  1859.  
  1860.     5       GENOA SuperEGA 800x600, not under OS/2
  1861.  
  1862.     6       Paradise VGA 800x600, not under OS/2
  1863.  
  1864.     7       Video Seven VGA 800x600, not under OS/2
  1865.  
  1866.     8       Tseng Labs EVA 800x600, not under OS/2
  1867.  
  1868.     9       HP Vectra 640x400, not under OS/2
  1869.  
  1870.     10      MDS Genius (PRIMUS II) 728x1008, not under OS/2
  1871.  
  1872.     11      EGA 640x200, 16 colors
  1873.  
  1874.     12      EGA 640x350, 16 colors
  1875.  
  1876.     13      EGA 640x350, 16/64 colors
  1877.  
  1878.     14      VGA 640x480, 16 colors
  1879.  
  1880.     15      VGA 640x480, 16/64 colors
  1881.  
  1882.     16      VGA 640x480, 16/262144 colors
  1883.  
  1884.     17      EGA 640x350, black and white
  1885.  
  1886.     18      VGA 640x480, black and white
  1887.  
  1888.     19      Olivetti M24 640x400, not under OS/2
  1889.  
  1890.     20      Adapter Interface 1024x768 (8514/A), not under OS/2.
  1891.             HDILOAD or another program providing the Adapter Interface
  1892.             must be loaded.
  1893.  
  1894.     Further adapter-specific modes may be used with the following ex-
  1895.     tension of this option:
  1896.  
  1897.         +adapter:M;W;H;AX;BX
  1898.  
  1899.     where M is a number which describes the adapter and display
  1900.     combination:
  1901.  
  1902.     100     EGA with monochrome display
  1903.  
  1904.     101     EGA with 16 color display
  1905.  
  1906.     102     EGA with 64 color display
  1907.  
  1908.     103     VGA with analogue color display,
  1909.  
  1910.     W is the screen width in pixels (320 to 1024), and H is the screen
  1911.     height in pixels (200 to 1024).
  1912.  
  1913.     The graphics mode is set by loading registers AX and BX with the
  1914.     arguments AX and BX before calling interrupt 10H.  AX and BX must
  1915.     be given in hexadecimal.  `;BX' can be omitted if BX is to be set
  1916.     to zero.  The semicolons may be replaced with colons if desired.
  1917.     If (W/8)*H exceeds 65536 then H will be reduced to 65536/(W/8).
  1918.     In consequence, 1024x768 is not supported.  You are responsible
  1919.     for entering the correct values, the manual for your adapter can
  1920.     sometimes give further help.  Example: the graphics mode selected
  1921.     by +adapter:13 can be represented as
  1922.  
  1923.         +adapter:102:640:350:0010
  1924.  
  1925.     and mode +adapter:7 is the same as
  1926.  
  1927.         +adapter:103:800:600:6f05:62
  1928.  
  1929.     Here's a list of values (without warranty) for some graphics
  1930.     adapters:
  1931.  
  1932.     Acumos AVGA2, AVGA3                         /oa103:800:600:58
  1933.     Advance Logic AL2101                        /oa103:800:600:2B
  1934.     Ahead V5000                                 /oa103:800:600:71
  1935.     ATI VGAWONDER, Graphics Ultra etc.          /oa103:800:600:54
  1936.     Chips and Technologies                      /oa103:800:600:6A
  1937.     Cirrus Logic CL-GD 500/600                  /oa103:800:600:64
  1938.     Cirrus Logic GD 5422                        /oa103:800:600:58
  1939.     Compaq VGA                                  /oa103:800:600:59
  1940.     CTI                                         /oa103:800:600:6A
  1941.     Diamond Stealth                             /oa103:800:600:4F02:0102
  1942.     Everex                                      /oa103:800:600:70:02
  1943.     Genoa 5xxx, Sigma VGA                       /oa103:800:600:29
  1944.     Genoa 6xxx                                  /oa103:800:600:6A
  1945.     MXIC MX 68010                               /oa103:800:600:55
  1946.     NCR 77C22                                   /oa103:800:600:58
  1947.     OAK Technologies OTI-067, OTI-077, OTI037C  /oa103:800:600:52
  1948.     OAK Technologies OTI037C w/ NEL BIOS        /oa103:800:600:5B
  1949.     Orchid Prodesigner                          /oa103:800:600:29
  1950.     Paradise                                    /oa103:800:600:58
  1951.     Poach                                       /oa103:800:600:6A
  1952.     Primus                                      /oa103:800:600:2A
  1953.     Realtek RT 3106                             /oa103:800:600:1F
  1954.     S3                                          /oa103:800:600:4F02:0102
  1955.     Tecmar                                      /oa103:800:600:16
  1956.     Trident 8900                                /oa103:800:600:5B
  1957.     Tseng ET-3000, ET-4000                      /oa103:800:600:29
  1958.     VEGA                                        /oa103:800:600:29
  1959.     VESA compatible adapters                    /oa103:800:600:4F02:0102
  1960.     Video 7 SVGA                                /oa103:800:600:62
  1961.     WD90C11                                     /oa103:800:600:5C
  1962.     Western Digital                             /oa103:800:600:58
  1963.  
  1964.     If you spot something wrong in this table, please send the correct
  1965.     values to the author.
  1966.  
  1967. +color  /oc#
  1968.  
  1969.     Set the colors to be used by dviscr (only with EGA or VGA).  The
  1970.     possible values are 0 to 15, the default is /oc:2 (green).  You
  1971.     can set different colors for the various screen elements:
  1972.  
  1973.     /ocp:#  paper border
  1974.  
  1975.     /ocr:#  ruler
  1976.  
  1977.     /ocs:#  status line
  1978.  
  1979. +home-x  +home-y  /hx#  /hy#
  1980.  
  1981.     Set the initial position on the side to be displayed in the top
  1982.     left corner of the screen.  A new page will be displayed in this
  1983.     position and pressing the <Home> key will cause the current side
  1984.     to be displayed in this position.  +home-x:0 +home-y:0 is the top
  1985.     left-hand corner of the sheet.  +home-x:1in +home-y:1in is the de-
  1986.     fault setting.
  1987.  
  1988. +inverse  /oi+
  1989.  
  1990.     Inverse display.  Use +inverse:off (default) to display black on
  1991.     a white background, use +inverse:on to display white on black
  1992.     background.
  1993.  
  1994. +zoom  /o#
  1995.  
  1996.     Reduce the size of the displayed side by using gray scales
  1997.     (dviscr).  A rectangle of X x Y pixels will be displayed as one
  1998.     pixel on the screen.  +zoom:# sets both X and Y, +zoom-x sets X
  1999.     alone and +zoom-y sets Y alone.  An EGA (with 16 color display)
  2000.     or a VGA adapter is required.  If both X and Y are 1, there is no
  2001.     gray scale display.  X and Y can take values from 1 to 8.  The
  2002.     implementation is optimized for +zoom-x values of 1, 2, 3, 4 and
  2003.     8.  Setting +zoom-x to 5 or 7 makes the driver almost unusably
  2004.     slow.  If +scaling:1 is set (no scaling) and gray scale is enabled
  2005.     with +zoom but the adapter does not support gray scales, the +zoom
  2006.     values are used for scaling instead, that is, +zoom:3 is the same
  2007.     as +zoom:1 +scaling:3.
  2008.  
  2009.     Example:
  2010.  
  2011.         +z.x:4 +z.y:2
  2012.  
  2013. +ruler  /or+
  2014.  
  2015.     Enable the ruler (default is no ruler).
  2016.  
  2017. +status-line  /os+
  2018.  
  2019.     Enable status line (default).  If the status line is disabled,
  2020.     there will be a beep at the beginning and end of text or numeric
  2021.     input.
  2022.  
  2023. +ruler-unit  /ou*
  2024.  
  2025.     Select the dimension for the ruler and the status line (default is
  2026.     pt).
  2027.  
  2028. +scaling  /s#
  2029.  
  2030.     Reduce the size of the output page; this allows more of the
  2031.     side to be seen on the screen.  The pixels in a rectangle of
  2032.     width +scaling-x pixels and height +scaling-y pixels will be dis-
  2033.     played as a single pixel.  +scaling:# sets both X and Y to the
  2034.     same value.  Possible values range from 1 to 8.  If fonts in
  2035.     suitable resolutions are available then it is better to change
  2036.     the resolution with +resolution (by using a different configura-
  2037.     tion file) as reduced characters are not pretty.  Even better, use
  2038.     gray scaling -- see +zoom, but only with an EGA or VGA card and a
  2039.     16 (or 64) color display.  If gray scaling is not possible, then
  2040.     scaling can be set with +zoom, too.
  2041.  
  2042.     The following example halves the resolution (both X and Y):
  2043.  
  2044.         +scaling:2
  2045.  
  2046.     The following example reduces the width to 1/4 and halves the
  2047.     height:
  2048.  
  2049.         +s.x:4 +s.y:2   
  2050.  
  2051.  
  2052. 3.10 Additional options for dvipm
  2053. ---------------------------------
  2054.  
  2055. Note that some settings can be changed only by using the menus and
  2056. dialog boxes.
  2057.  
  2058.  
  2059. 3.10.1 Configuration
  2060. --------------------
  2061.  
  2062. +bitmap-memory-limit  /om#
  2063.  
  2064.     Maximum size in Kbytes of the temporary bitmaps.  The default
  2065.     value is 512, that is, at most 512 Kbytes will be used for tempo-
  2066.     rary bitmaps.  Values between 0 and 65535 can be set.  If your
  2067.     machine has much memory, you can improve the speed by increasing
  2068.     this value.  If your machine has little memory, you can improve
  2069.     the speed by decreasing this value.
  2070.  
  2071. +home-x  +home-y  /hx#  /hy#
  2072.  
  2073.     Set the initial position on the side to be displayed in the top
  2074.     left corner of the screen.  A new side will be displayed in this
  2075.     position and pressing the <Home> key will cause the current side
  2076.     to be displayed in this position.  +home-x:0 +home-y:0 is the top
  2077.     left corner of the sheet.  +home-x:1in +home-y:1in is the default
  2078.     setting.
  2079.  
  2080. +ruler-unit  /ou*
  2081.  
  2082.     Select the dimension for the ruler and for displaying the cursor
  2083.     position (default is pt).
  2084.  
  2085. +scaling  /s#
  2086.  
  2087.     Reduce the size of the displayed page, this allows more of the
  2088.     side to be seen in the window.  The pixels in a rectangle of
  2089.     width +scaling-x pixels and height +scaling-y pixels will be dis-
  2090.     played as a single pixel.  +scaling:# sets both X and Y to the
  2091.     same value.  Possible values range from 1 to 8.  If fonts in
  2092.     suitable resolutions are available then it is better to change the
  2093.     resolution with +resolution (by using a different configuration
  2094.     file) as reduced characters are not pretty.
  2095.  
  2096. +zoom  /o#
  2097.  
  2098.     Reduce the size of the displayed side by using gray scales.  A
  2099.     rectangle of X x Y pixels will be displayed as one pixel on
  2100.     the screen.  +zoom:# sets both X and Y, +zoom-x sets X alone
  2101.     and +zoom-y sets Y alone.  If both X and Y are 1, there is no
  2102.     gray scale display.  X and Y can take values from 1 to 8.  The
  2103.     implementation is optimized for +zoom-x values of 1, 2, 4, 6 and
  2104.     8.  Setting +zoom-x to 5 or 7 makes the driver almost unusably
  2105.     slow.
  2106.  
  2107.     Example:
  2108.  
  2109.         +z.x:4 +z.y:2
  2110.  
  2111.  
  2112. 3.11 Additional options for dvidot when printing on a dot matrix printer
  2113. ------------------------------------------------------------------------
  2114.  
  2115. dvidot has two principal modes of operation: printing on a dot matrix
  2116. printer and creating bitmap files.  The mode is selected by the parame-
  2117. ter file.  This section describes the options applying to printing on
  2118. a dot matrix printer.
  2119.  
  2120.  
  2121. 3.11.1 Options for all parameter files
  2122. --------------------------------------
  2123.  
  2124. +close  /os#
  2125.  
  2126.     Close and reopen the output file after printing # sheets at
  2127.     a time.  For instance, this is useful for use with printer
  2128.     spoolers.  +close:0 (the default setting) disables this feature,
  2129.     that is, the output file will be closed once at the end of the
  2130.     print job.  Prior to closing the output file, the printer will
  2131.     be reset.  After reopening the output file, the printer will be
  2132.     reinitialized.  This effectively splits the output of dvidot into
  2133.     several print jobs, allowing printing to start while more pages
  2134.     are being output.
  2135.  
  2136. +double-sided:long  +double-sided:short  /d:l  /d:s
  2137.  
  2138.     Double-sided printing, the printer automatically prints on both
  2139.     sides of the paper.  +double-sided:long is used for long-edge
  2140.     binding (the sheets are bound along the length of the sheet),
  2141.     +double-sided:short is used for short-edge binding (the sheets
  2142.     are bound along the width of the sheet).  The +copy-file and
  2143.     +copy-sheets options work as expected with +double-sided:long and
  2144.     +double-sided:short.  This option cannot be used with all param-
  2145.     eter files (in fact, there is currently no parameter file which
  2146.     enables +double-sided:long or +double-sided:short).
  2147.  
  2148. +final-formfeed
  2149.  
  2150.     If +final-formfeed:on is active, a formfeed will be sent to the
  2151.     printer after printing the last sheet.  This is the default.
  2152.     +final-formfeed:off suppresses the final formfeed.  That may be
  2153.     desired if the operating system automatically appends a formfeed.
  2154.  
  2155. +final-reset  /oe+
  2156.  
  2157.     Reset printer after each print job.  This is the default.  You can
  2158.     suppress resetting the printer by using +final-reset:off.
  2159.  
  2160. +initial-formfeed
  2161.  
  2162.     If +initial-formfeed is active, a formfeed will be sent to the
  2163.     printer before printing the first sheet.  +initial-formfeed:off
  2164.     suppresses the initial formfeed.  This is the default.
  2165.  
  2166. +pause  /oa+
  2167.  
  2168.     Pause between printing sheets and wait for keyboard input to
  2169.     allow for changing paper.  The page number of the side to be
  2170.     printed will be displayed in brackets preceding the prompt.  When
  2171.     you type <Return>, the next sheet will be printed.  If you type
  2172.     <A><Return>, all following sheets will be printed without pausing.
  2173.     If you type <Q><Return>, printing will be stopped.
  2174.  
  2175. +xon-xoff  /ox+
  2176.  
  2177.     Use XON/XOFF flow control for COM1 to COM4 or use the BIOS for
  2178.     LPT1 to LPT4.  Output to COM1 to COM4 will be sent directly
  2179.     to the port.  If XON/XOFF protocol is to be used then the out-
  2180.     put file must be given as COM1, COM2, COM3, or COM4.  Output to
  2181.     LPT1 to LPT4 will be done via the BIOS, not via DOS.  To use the
  2182.     BIOS to output to the parallel port, the output file must be
  2183.     given as LPT1, LPT2, LPT3, or LPT4.  +xon-xoff will be ignored
  2184.     for any other output file (for example, AUX, PRN, file.prn).  If
  2185.     +xon-xoff:off is entered or the output is not to COM1 to COM4 or
  2186.     LPT1 to LPT4, then output will performed using DOS functions.
  2187.     This option is unnecessary under OS/2 and is not supported.
  2188.  
  2189.  
  2190. 3.11.2 Options for all parameter files but itoh.dot and aiw.dot
  2191. ---------------------------------------------------------------
  2192.  
  2193. +slow  /s+
  2194.  
  2195.     Printer slower, but with better quality.  Depending on the param-
  2196.     eter file, +slow:on causes dvidot to make two passes per line of
  2197.     output (fx80.dot, for instance), to use unidirectional print mode
  2198.     (fx80l.dot, for instance), or to tell the printer to use more ink
  2199.     (bj300h.dot, for instance).
  2200.  
  2201.     When making two passes per line of output, every line will be
  2202.     printed twice, the first time printing dots 1, 3, 5, and so on and
  2203.     the second time printing dots 2, 4, 6, and so on.  The default
  2204.     setting (+slow:off) prints about twice as fast but with poorer
  2205.     quality on some antique printers (FX-80, for instance) that find
  2206.     it difficult to fire a needle on two consecutive positions.
  2207.  
  2208.  
  2209. 3.11.3 Options for the parameter files itoh.dot and aiw.dot
  2210. -----------------------------------------------------------
  2211.  
  2212. +form-length  /hf#
  2213.  
  2214.     Set the page length.  For page ejects to work properly the page
  2215.     length must be set.  If the page length is set to 0 (0in, for ex-
  2216.     ample, the default) the length defined by +height is taken as the
  2217.     page length.
  2218.  
  2219. +slow  /s+
  2220.  
  2221.     Slow mode.  By selecting +slow:on printing will be unidirectional
  2222.     (itoh.dot sets also incremental print mode); the default,
  2223.     +slow:off, sets bidirectional printing (itoh.dot sets also logic
  2224.     seek mode).
  2225.  
  2226.  
  2227. 3.12 Additional options for dvidot when generating graphics files
  2228. -----------------------------------------------------------------
  2229.  
  2230. dvidot has two principal modes of operations: printing on a dot matrix
  2231. printer and creating bitmap files.  The mode is selected by the param-
  2232. eter file.  This section describes the options applying to generating
  2233. graphics files.
  2234.  
  2235.  
  2236. 3.12.1 Controlling the bitmap file
  2237. ----------------------------------
  2238.  
  2239. +inverse  /oi+
  2240.  
  2241.     Inverse output.  Use +inverse:off (default) to display black on
  2242.     a white background, use +inverse:on to display white on black
  2243.     background.
  2244.  
  2245. +minimize  /om+
  2246.  
  2247.     Create the smallest picture possible.  The size of the rectangular
  2248.     clipping region around the picture will be reduced to eliminate
  2249.     (almost) all white space:  the clipping rectangle will always be
  2250.     set so that the picture touches the top, bottom and left-hand
  2251.     edges but there may be some blank pixels between the rightmost
  2252.     point of the picture and the right-hand edge of the rectangle
  2253.     to make the width an integral multiple of 8, 16 or 32 pixels
  2254.     (see parameter file).  Zero and positive values of +left-margin
  2255.     and +top-margin are ignored; by setting these values negative,
  2256.     however, you can bring the left-hand or top edge (or both) of the
  2257.     clipping rectangle inwards to cut off unwanted parts of the pic-
  2258.     ture.  The default is +minimize:off: the file will contain a pic-
  2259.     ture of height set by +height and width set by +width.
  2260.  
  2261.  
  2262. 3.13 Additional options for dvihplj
  2263. -----------------------------------
  2264.  
  2265.  
  2266. 3.13.1 General options
  2267. ----------------------
  2268.  
  2269. +close  /os#
  2270.  
  2271.     Close and reopen the output file after printing # sheets at
  2272.     a time.  For instance, this is useful for use with printer
  2273.     spoolers.  +close:0 (the default setting) disables this feature,
  2274.     that is, the output file will be closed once at the end of the
  2275.     print job.  Note: # is given as number of sheets to ensure that
  2276.     both the frontside and the backside are printed on the same
  2277.     sheet if double-sided printing is in effect (+double-sided:long
  2278.     or +double-sided:short).  Prior to closing the output file, the
  2279.     printer will be reset.  After reopening the output file, the
  2280.     printer will be reinitialized.  This effectively splits the out-
  2281.     put of dvihplj into several print jobs, allowing printing to start
  2282.     while more pages are being output.  See also +clear-fonts.
  2283.  
  2284. +delete-fonts  /oz+
  2285.  
  2286.     Delete temporary printer fonts.  The default is +delete-fonts:on.
  2287.     Use +delete-fonts:off to suppress deletion of temporary fonts;
  2288.     don't forget to adjust +memory to reflect the memory used by the
  2289.     temporary fonts.
  2290.  
  2291. +double-sided:long  +double-sided:short  /d:l  /d:s
  2292.  
  2293.     Double-sided printing, the printer (HP LaserJet III D, for in-
  2294.     stance) automatically prints on both sides of the paper.
  2295.     +double-sided:long is used for long-edge binding (the sheets are
  2296.     bound along the length of the sheet), +double-sided:short is used
  2297.     for short-edge binding (the sheets are bound along the width of
  2298.     the sheet).  The +copy-file and +copy-sheets options work as
  2299.     expected with +double-sided:long and +double-sided:short.
  2300.  
  2301. +final-formfeed
  2302.  
  2303.     If +final-formfeed:on is active, a formfeed will be sent to the
  2304.     printer after printing the last sheet.  This is the default.
  2305.     +final-formfeed:off suppresses the final formfeed.  That may be
  2306.     resired if the operating system automatically appends a formfeed.
  2307.  
  2308. +final-reset  /oe+
  2309.  
  2310.     Reset printer after each print job.  This is the default.  You can
  2311.     suppress resetting the printer by using +final-reset:off.
  2312.  
  2313. +font-offset  /of#
  2314.  
  2315.     Set the initial value for font ID numbers.  The default is 0,
  2316.     acceptable values are 0 to 32736.  The fonts downloaded by dvihplj
  2317.     to the printer will be given numbers from # to #+31.  This option
  2318.     allows the user to avoid overwriting fonts which have already been
  2319.     downloaded which the user does not want deleted.  However, dvihplj
  2320.     will delete all temporary fonts unless +delete-fonts:off is given.
  2321.  
  2322. +initial-formfeed
  2323.  
  2324.     If +initial-formfeed is active, a formfeed will be sent to the
  2325.     printer before printing the first sheet.  +initial-formfeed:off
  2326.     suppresses the initial formfeed.  This is the default.
  2327.  
  2328. +initial-reset  /oi+
  2329.  
  2330.     Reset printer before starting the print job.  This is the de-
  2331.     fault.  You can suppress resetting the printer by using
  2332.     +initial-reset:off.
  2333.  
  2334. +manual-feed
  2335.  
  2336.     Feed paper from manual input.  +manual-feed is a shorthand for
  2337.     +source:2.
  2338.  
  2339. +source
  2340.  
  2341.     Select the paper source.  With +source:0, which is the default
  2342.     setting, the selection of the paper source is left to the printer,
  2343.     depending on +paper.  Other settings are 1 through 6.  The meaning
  2344.     of those numbers depend on the printer model; see the user's
  2345.     manual of the printer for details.  See also +manual-feed.
  2346.  
  2347. +paper
  2348.  
  2349.     Select the paper size.  Valid arguments are:
  2350.  
  2351.     A3      A3 (297mm x 420mm)
  2352.  
  2353.     A4      A4 (210mm x 297mm)
  2354.  
  2355.     B5      B5 envelopes (176mm x 250mm)
  2356.  
  2357.     C5      C5 envelopes (162mm x 229mm)
  2358.  
  2359.     Com-10  Com-10 business envelopes (4.125in x 9.5in)
  2360.  
  2361.     DL      DL envelopes (110mm x 220mm)
  2362.  
  2363.     Exec    Executive (7.25in x 10.5in)
  2364.  
  2365.     Ledger  Ledger (11in x 17in)
  2366.  
  2367.     Legal   Legal (8.5in x 14in)
  2368.  
  2369.     Letter  Letter (8.5in x 11in)
  2370.  
  2371.     Monarch
  2372.             Monarch letter envelopes (3.875in x 7.5in)
  2373.  
  2374.     The argument is case-independent.  If this option is used without
  2375.     argument (+paper -- this is the default), the +width and +height
  2376.     options are used for setting the size of the paper.  If this op-
  2377.     tion is used with one of the above arguments, the +width and
  2378.     +height options are ignored by dvihplj.  Moreover, on the HP
  2379.     LaserJet series II and later, this option selects the paper tray
  2380.     -- the printer asks you to insert another paper supply if the
  2381.     selected paper size is not available.
  2382.  
  2383. +pause  /oa+
  2384.  
  2385.     Pause between printing sheets and wait for keyboard input to
  2386.     allow for changing paper.  The page number of the page to be
  2387.     printed will be displayed in brackets preceding the prompt.  When
  2388.     you type <Return>, the next sheet will be printed.  If you type
  2389.     <A><Return>, all following sheets will be printed without pausing.
  2390.     If you type <Q><Return>, printing will be stopped.
  2391.  
  2392. +printer-resolution  /og#
  2393.  
  2394.     Set printing resolution of printer.  The default setting is 0,
  2395.     which causes the printing resolution to be chosen according to the
  2396.     printer model:
  2397.  
  2398.         +printer-model │ Resolution
  2399.         ───────────────┼───────────
  2400.         deskjet        │ 300
  2401.         deskjet500j    │ 300
  2402.         kyocera        │ 300
  2403.         laserjet       │ 300
  2404.         paintjet       │ 180
  2405.         quietjet       │ 192
  2406.         thinkjet       │ 192
  2407.  
  2408.     You can use +printer-resolution to choose a different resolution.
  2409.     You should also set +resolution when setting +printer-resolution.
  2410.  
  2411. +xon-xoff  /ox+
  2412.  
  2413.     Use XON/XOFF flow control for COM1 to COM4, use the BIOS for out-
  2414.     put to LPT1 to LPT4.  See dvidot's +xon-xoff option for details.
  2415.  
  2416.  
  2417. 3.13.2 Selecting the printer model
  2418. ----------------------------------
  2419.  
  2420. +printer-model  /op*
  2421.  
  2422.     Select the printer model.  This option tells dvihplj for which
  2423.     printer model to generate output.  The following settings are
  2424.     available (additional options are required for settings marked
  2425.     (*)):
  2426.  
  2427.         +printer-model │ Printer model
  2428.         ───────────────┼───────────────────────────────────
  2429.         deskjet        │ HP DeskJet (500, 550)
  2430.         deskjet500j    │ HP DeskJet 500J (Japanese version)
  2431.         kyocera        │ Kyocera F-1010
  2432.         laserjet       │ HP LaserJet+ (and later models)
  2433.         paintjet       │ HP PaintJet (*)
  2434.         quietjet       │ HP QuietJet (*)
  2435.         thinkjet       │ HP ThinkJet (*)
  2436.  
  2437.     The default is +printer-model:laserjet.  The argument is
  2438.     case-independent.
  2439.  
  2440.     For +printer-model:paintjet, you have to set the resolution to 180
  2441.     DPI and to use correct fonts, for instance, by using the p6l.cnf
  2442.     configuration file.
  2443.  
  2444.     For +printer-model:quietjet and +printer-model:thinkjet, you have
  2445.     to set the resolution to 192 DPI and to use correct fonts.
  2446.  
  2447.  
  2448. 3.13.3 Using additional features of a printer
  2449. ---------------------------------------------
  2450.  
  2451. +compression  /or#
  2452.  
  2453.     Set graphics compression mode.  You can set values in the range -1
  2454.     to 2.  The value 0 causes graphics data to be sent uncompressed.
  2455.     The value 1 causes graphics data to be sent either uncompressed
  2456.     or run-length encoded, depending on what method yields less data.
  2457.     The value 2 causes graphics data to be sent uncompressed or TIFF
  2458.     4.0 compressed, depending on what method yields less data.  The
  2459.     value -1 (default) lets dvihplj choose the compression mode
  2460.     automatically based on the printer model:
  2461.  
  2462.         +printer-model │ compression mode
  2463.         ───────────────┼─────────────────
  2464.         deskjet        │ 2
  2465.         deskjet500j    │ 2
  2466.         kyocera        │ 0
  2467.         laserjet       │ 0
  2468.         paintjet       │ 1
  2469.         quietjet       │ 0
  2470.         thinkjet       │ 0
  2471.  
  2472.     If your printer model supports compression, you can decrease the
  2473.     amount of output data by using +compression:1 or +compression:2.
  2474.     The HP LaserJet III, for instance, supports +compression:2.
  2475.  
  2476. +download-limit
  2477.  
  2478.     Limit the size of download characters.  Character bigger than this
  2479.     many bytes of memory (8 pixels are packed in one byte) are not
  2480.     downloaded to the printer.  dvihplj uses graphics mode for print-
  2481.     ing big characters.  You might want to use this option to save
  2482.     printer memory when printing big characters which are used once or
  2483.     rarely.  The default is +download-limit:32767.  You can use values
  2484.     between 0 (don't download any character) and 32767.
  2485.  
  2486. +draft
  2487.  
  2488.     Use +draft:on to print in draft mode (EconoMode) to save toner.
  2489.     This option does not affect the resolution.  Currently, only the
  2490.     HP LaserJet 4L, 4ML, 4P and 4MP printers support draft mode.  The
  2491.     default is +draft:off.
  2492.  
  2493. +fonts-per-side  /ow#
  2494.  
  2495.     Maximum number of fonts per output page.  If more than this
  2496.     many fonts are required per output page, error message 2502
  2497.     will be issued and the run aborted.  The default is 16.  Newer
  2498.     printers support more than 16 fonts per output page; if you
  2499.     are using such a printer, you can use set a bigger value for
  2500.     +fonts-per-side to avoid error 2502.  You should enter this option
  2501.     when using built-in printer fonts.  The maximum value is 32767.
  2502.     +fonts-per-side:0 disables both checking the number of fonts per
  2503.     page and checking the number of fonts per job.
  2504.  
  2505. +job-offset  /oj+
  2506.  
  2507.     Job offset.  Some printers can offset sheets sideways in the out-
  2508.     put tray.  +job-offset:on will cause the output position to be
  2509.     switched to the alternate offset so that the results of a sequence
  2510.     of print jobs can be separated more easily.
  2511.  
  2512. +memory  /om#
  2513.  
  2514.     Printer memory size.  This sets the available memory on the
  2515.     printer in Kbytes: the default is 394.  When dvihplj needs
  2516.     more printer memory than specified with the +memory option,
  2517.     the print job is aborted with fatal error 2501.  If this value
  2518.     is set to 0 then there will be no test for memory overflow.
  2519.     If fonts are permanently downloaded then this value must be
  2520.     appropriately reduced.  +memory does not affect optimization or
  2521.     any other property of the output.  This option will be ignored if
  2522.     +printer-model:deskjet or +printer-model:deskjet500j is set.
  2523.  
  2524.     The following example tells dvihplj that there are 1500 Kbytes of
  2525.     printer memory available:
  2526.  
  2527.           Example:    +mem:1500
  2528.  
  2529.  
  2530. 3.13.4 Solving compatibility problems
  2531. -------------------------------------
  2532.  
  2533. +full-page-bitmap  /ob+
  2534.  
  2535.     If +full-page-bitmap:on is active, the sides will be printed using
  2536.     a full-page bitmap.  If +full-page-bitmap:off is set, download
  2537.     fonts will be used.  +full-page-bitmap:on may be required if your
  2538.     printer is not sufficiently compatible to the LaserJet+.  The op-
  2539.     tions +printer-model:deskjet and +printer-model:deskjet500j set
  2540.     +full-page-bitmap:on.
  2541.  
  2542. +clear-fonts  /oc#
  2543.  
  2544.     Delete all temporary fonts after every # pages.  This may help
  2545.     when there is not enough printer memory for holding all required
  2546.     fonts, but requires more time.  Default is 0: don't delete
  2547.     fonts.  +clear-fonts:0 may be required if your printer is not
  2548.     sufficientlycompatible to the LaserJet+.
  2549.  
  2550. +optimize-graphics  /oo+
  2551.  
  2552.     Optimize graphics output.  If +optimize-graphics:on is active
  2553.     (default), bytes of zeros at the start and end of graphics
  2554.     rows and -- if +compression:0 and +printer-model:laserjet or
  2555.     +printer-model:kyocera is set -- wide gaps in graphics rows will
  2556.     be not transferred.  If +optimize-graphics:off is set, only
  2557.     bytes of zeros at the end of graphics rows will be omitted.
  2558.     +optimize-graphics:off may be required if your printer is not
  2559.     sufficiently compatible to the HP LaserJet+.
  2560.  
  2561. +negative-top-offset  /ov+
  2562.  
  2563.     Setting +negative-top-offset:off may fix vertical placement
  2564.     of characters which don't extend above the base line with
  2565.     some printers (Toshiba PageLaser6, for instance).  If
  2566.     +negative-top-offset:on (default) is used, the Top Offset parame-
  2567.     ter of down load characters whose pixels are entirely below the
  2568.     base line is negative.  With +negative-top-offset:off, dvihplj
  2569.     will fill the character to the base line to make Top Offset 0.
  2570.     This requires more memory.
  2571.  
  2572.  
  2573. 3.14 An introduction to templates
  2574. ---------------------------------
  2575.  
  2576. The earlier versions of the drivers used $s and $r to insert the
  2577. values of the font resolution and the PXL magnification into font
  2578. filenames; this facility has now been extended and the drivers use
  2579. templates to construct filenames from the parameters they are given,
  2580. such as the name and the resolution of a font.  Note that the earlier
  2581. $s and $r are no longer valid and must be replaced by @RVr and @Rr
  2582. respectively.  The template can be a constant, i.e., the file name
  2583. does not depend on any of the parameters, or it can evaluate to more
  2584. than one filename which will then be used in sequence.  The evaluation
  2585. of a template is called its expansion.
  2586.  
  2587. A template which is not constant contains one or more template
  2588. characters which are comma (,), dollar sign ($), at sign (@) and
  2589. left and right braces ({}).  A template which contains a dollar sign
  2590. or a comma may expand to more than one filename.  If these template
  2591. characters are to appear as literal characters then they must be
  2592. preceded by the at sign (@) -- a literal dollar sign must be written
  2593. `@$'.
  2594.  
  2595. Multiple expansions are necessary when a font, or other file, can be
  2596. in one of several different directories; each expansion is evaluated
  2597. and the result is used to search for the file required, if the search
  2598. fails, the next part of the template is expanded and the process
  2599. continues until the file is found or there are no further expansions.
  2600.  
  2601.  
  2602. 3.14.1 The simplest example of a template -- a constant template
  2603. ----------------------------------------------------------------
  2604.  
  2605. The template
  2606.  
  2607.     dviscr.dlg
  2608.  
  2609. which is intended for the +transcript-file option, simply contains the
  2610. filename: the expansion does not depend on any parameters and is just
  2611. this filename.
  2612.  
  2613.  
  2614. 3.14.2 A simple example of a template
  2615. -------------------------------------
  2616.  
  2617. In the template
  2618.  
  2619.     @d.dlg
  2620.  
  2621. `@d' is replaced by the name of the driver; if this is dvihplj then
  2622. this template will expand into `dvihplj.dlg'.  Every driver has this
  2623. template as its default setting for the +transcript-file option as the
  2624. driver name is known by the time the template is expanded.
  2625.  
  2626.  
  2627. 3.14.3 Template parameters
  2628. --------------------------
  2629.  
  2630. These are the template parameters, any of these parameters in a tem-
  2631. plate will be replaced by the value given in the table below.
  2632.  
  2633. @d      replaced by one of the following driver names: dvihplj,
  2634.         dviscr, dvivik, dvipm, dvidot.
  2635.  
  2636. @f      replaced by the font name or the graphics filename; this pa-
  2637.         rameter is to be used in conjunction with the +font-files and
  2638.         +graphics-files options.
  2639.  
  2640. @i      replaced by the name of the DVI file.
  2641.  
  2642. @p      magstep: 0 to 9, h for magstephalf or u for unknown -- for use
  2643.         with the +font-files option.
  2644.  
  2645. @m      METAFONT mode -- see the description of the +metafont-mode op-
  2646.         tion.
  2647.  
  2648. @b      base resolution of the fonts in DPI -- see the description of
  2649.         the +font-resolution option.
  2650.  
  2651. @r      font resolution in DPI, a decimal fraction -- for use with the
  2652.         +font-files option.
  2653.  
  2654. @g      magnification, a decimal fraction -- for use with the
  2655.         +font-files option, for example, 1.2
  2656.  
  2657. @u      a number to make the file name unique -- for use with the
  2658.         +mfjob-file option only
  2659.  
  2660. These parameters can be modified by inserting one or more letters
  2661. between the `@' and the parameter letter.  For instance, the earlier
  2662. $s, which was replaced by the PXL magnification of a font, must now be
  2663. written @RVr.  The modifiers for the various parameters are described
  2664. below.
  2665.  
  2666.  
  2667. 3.14.4 Forming multiple expansions with a list
  2668. ----------------------------------------------
  2669.  
  2670. Many of the driver options require a list of files, for instance, the
  2671. +font-libraries option takes a list of font library filenames.  The
  2672. simplest way to do this is by entering a list of names separated by
  2673. commas but this is not always very convenient as it requires a lot of
  2674. typing and the length of a template is limited to 127 characters.
  2675.  
  2676. Because of this limitation, this example does not contain the usual
  2677. set of font libraries:
  2678.  
  2679.     +font-lib:c:\texfonts\fx_0.fli,c:\texfonts\fx_1.fli,c:\texfonts\fx_2.fli
  2680.  
  2681. Note that earlier version of the drivers used semicolons as
  2682. separators, in this version the names are separated by commas.  Spaces
  2683. are not allowed in templates as they are used to separate options in
  2684. the command line.
  2685.  
  2686.  
  2687. 3.14.5 Forming multiple expansions with alternatives
  2688. ----------------------------------------------------
  2689.  
  2690. It is clear from the preceding example that the expansions have quite
  2691. a lot of text in common, only differing, in this example, by one
  2692. digit.  Templates therefore allow common text to be factored out with
  2693. the differing parts presented as a series of alternatives enclosed in
  2694. braces.  The example above may be expressed in this way as follows:
  2695.  
  2696.     +font-libraries:c:\texfonts\fx_{0,1,2}.fli
  2697.  
  2698. In expanding this template, the alternatives are selected in order
  2699. starting with the first after the opening brace.  The template is
  2700. evaluated with this choice and the result used by the driver; if the
  2701. driver requests another candidate, the template is evaluated a second
  2702. time using the second alternative which (in this example) lies between
  2703. the first and second commas.  A third expansion would be constructed
  2704. using the third alternative which appears after the second comma and
  2705. before the closing brace.
  2706.  
  2707. Any number of alternatives may appear between the opening and
  2708. closing braces.  The text of an alternative may also be null as in
  2709. `{}' or `{,a}': in the first case the expansion is empty, in the
  2710. second case the first choice is empty, the second consisting only of
  2711. `a'.  It it also possible to have only one choice as in {abc} which
  2712. always evaluates as `abc' -- the braces in this case are not needed.
  2713. Naturally the choices need not have the same length as, for example,
  2714. in:
  2715.  
  2716.     +font-libraries:c:\texfonts\lj_{0,1,2,3,4,5a,5b,sli}.fli
  2717.  
  2718. A simple list of filenames separated by commas is a special case
  2719. of a set of alternatives.  The driver automatically encloses a tem-
  2720. plate in opening and closing braces so the list appears as a list of
  2721. alternatives.  If only one filename appears then it is a constant
  2722. choice as shown above in `{abc}'.
  2723.  
  2724.  
  2725. 3.14.6 Multiple sets of alternatives
  2726. ------------------------------------
  2727.  
  2728. When searching for font files it is useful to be able to construct a
  2729. pattern with more than one set of alternatives in it.  With templates
  2730. you can not only do this but you can also nest alternatives.  The
  2731. expansion of such a template consists of all possible combinations in
  2732. lexicographical order, that is, with the rightmost alternative in the
  2733. template changing most rapidly.
  2734.  
  2735. An example will best clarify this:  the template
  2736.  
  2737.     {1,2}{1,a{1,2}}
  2738.  
  2739. will give the following sequence of expansions
  2740.  
  2741.     11
  2742.     1a1
  2743.     1a2
  2744.     21
  2745.     2a1
  2746.     2a2
  2747.  
  2748. The template
  2749.  
  2750.     {0,1,2,3,4,5,6,7,8,9}{0,1,2,3,4,5,6,7,8,9}{0,1,2,3,4,5,6,7,8,9}
  2751.  
  2752. will expand into all the three digit numbers from 000 to 999 in in-
  2753. creasing numerical order.
  2754.  
  2755. An example of this facility in use:
  2756.  
  2757.     +font-files:{c:\texfonts\,d:\myfonts\,}@f{.pk,.pxl}
  2758.  
  2759. Note the empty alternative in the first pair of braces, this will have
  2760. the effect of searching the current directory for the fonts if they
  2761. are not found in either c:\texfonts or d:\myfonts.  This may also be
  2762. written
  2763.  
  2764.     +font-files:{c:\texfonts\,d:\myfonts\,.}@f{.pk,.pxl}
  2765.  
  2766. This is not the best way of handling alternative directories, in the
  2767. next section the advantages of keeping directory names in environment
  2768. variables rather than explicitly in options will be pointed out.
  2769.  
  2770.  
  2771. 3.14.7 Environment variables
  2772. ----------------------------
  2773.  
  2774. The names of directories are more conveniently kept in environment
  2775. variables so that, when the disk is reorganized it is not necessary to
  2776. edit all the configuration files.  To further support this use of en-
  2777. vironment variables, they may also appear in templates.  The name of
  2778. the variable is sandwiched between a dollar sign ($) and a colon (:)
  2779. as in $DVIDRVFONTS: for instance.  The name of an environment vari-
  2780. able to be used in a template may not contain any of the special tem-
  2781. plate characters, that is, @ { , or } (at sign, comma and opening
  2782. and closing braces) -- this may be changed in a future release as
  2783. @d would be very useful in this regard, $@d: would expand into the
  2784. driver's special environment variable (DVIFX, DVILQL etc).  The envi-
  2785. ronment variable is treated as if it was an alternative enclosed in
  2786. braces, the list of directories the variable contains (here separated
  2787. by semicolons, not commas) are entered into the expansion one at a
  2788. time in the order they appear in the variable.  If a directory name in
  2789. the environment variable does not end in `:', `/' or `\' then a `\' is
  2790. automatically appended.  Empty directory positions in the list, for in-
  2791. stance the two in
  2792.  
  2793.     SET PATH=C:\DOS;;\D:\BIN;
  2794.  
  2795. will be ignored -- a template containing $PATH: set as above would
  2796. expand in exactly the same way if the SET command was
  2797.  
  2798.     SET PATH=C:\DOS;\D:\BIN
  2799.  
  2800. The contents of the environment variable may include template
  2801. parameters (@b and @r are likely candidates) but alternatives are not
  2802. allowed.
  2803.  
  2804. Please note that $EMTEX: is a special case, to be described below.
  2805.  
  2806. An example of the use of an environment variable in a template:
  2807.  
  2808.     +response-files:$PATH:@f
  2809.  
  2810. The response file @f will be searched for in all the directories
  2811. in the PATH variable -- note that `\' will be appended wherever
  2812. necessary.  If the file should be sought first in the current direc-
  2813. tory, the template should be extended to
  2814.  
  2815.     +response-files:{,$PATH:}@f
  2816.  
  2817. which is the default setting.  If PATH has the value `c:\dos;;\;f:'
  2818. and the response file name (@f) is `test.res' then the template will
  2819. expand to the following sequence of pathnames:
  2820.  
  2821.     test.res
  2822.     c:\dos\test.res
  2823.     \test.res
  2824.     f:test.res
  2825.  
  2826. that is, {,$PATH:}@f is evaluated in the same way as
  2827. {,c:\dos,,\,f:}@f, the construction $PATH: being replaced by the value
  2828. of PATH.
  2829.  
  2830. Appending ! or !! to a directory name in the environment variable
  2831. enables subdirectory search.  If ! is appended, that directory and one
  2832. level of subdirectories are searched; if !! is appended, that direc-
  2833. tory and all levels of subdirectories are searched.  Directories are
  2834. visited before their subdirectories; no other search order is defined.
  2835.  
  2836.  
  2837. 3.14.8 The emTeX directory ($EMTEX:)
  2838. ------------------------------------
  2839.  
  2840. EMTEX is a pseudo environment variable, expanding to the path name of
  2841. the emTeX directory.  As with real environment variables, a backslash
  2842. is added if required.  If the EMTEXDIR environment variable is set,
  2843. $EMTEX: is treated like $EMTEXDIR:.  Otherwise, the default value
  2844. `\emtex' is used.  That is, $EMTEX: can be used even if EMTEXDIR is
  2845. not set.  Therefore, it is recommended to use $EMTEX: instead of
  2846. $EMTEXDIR: in templates.
  2847.  
  2848.  
  2849. 3.14.9 Template parameter modifiers
  2850. -----------------------------------
  2851.  
  2852. Template parameters may have their expansion modified by inserting one
  2853. or more characters from the set shown below between the @ and the pa-
  2854. rameter letter.  The modifiers are:
  2855.  
  2856. 0-99 _
  2857.  
  2858.     Padding a parameter out to a given width with `0' or `_'.  A
  2859.     number from 0 to 99 will cause the parameter to be filled from the
  2860.     left with `0' or `_' -- the number of positions to be filled is
  2861.     given by the number's value.  A number appearing with a numeric pa-
  2862.     rameter will fill with zeros but appearing with a non-numeric pa-
  2863.     rameter will fill with underscores.  Use the underscore modifier
  2864.     to fill a numeric parameter with underscores instead of zeros.
  2865.  
  2866.     Examples:
  2867.  
  2868.         @r    │ @4r   │ @4_r      @f       │ @5f
  2869.         ──────┼───────┼───────    ─────────┼─────────
  2870.         1     │ 0001  │ ___1      a        │ ____a
  2871.         300   │ 0300  │ _300      abc      │ __abc
  2872.         20000 │ 20000 │ 20000     abcdefgh │ abcdefgh
  2873.  
  2874. F R T
  2875.  
  2876.     rounding and truncating real numbers
  2877.  
  2878.     F       taking the fractional part of the number (may be empty)
  2879.  
  2880.     R       rounding the number to get the integer part
  2881.  
  2882.     T       truncating the number to get the integer part
  2883.  
  2884. .0-99
  2885.  
  2886.     Decimals.  The number will be rounded to this many decimals.
  2887.     Note: The period must not be used immediately following the @, as
  2888.     `@.' has a special meaning.  Specify a field width instead, for in-
  2889.     stance `@0.2r'.
  2890.  
  2891.     Examples:
  2892.  
  2893.         @r     │ @0.3r   │ @0.2r  │ @0.1r │ @0.0r │ @7.1r   │ @R.3r
  2894.         ───────┼─────────┼────────┼───────┼───────┼─────────┼────────
  2895.         300.75 │ 300.750 │ 300.75 │ 300.8 │ 301   │ 00300.8 │ 301.000
  2896.         300.74 │ 300.740 │ 300.74 │ 300.7 │ 301   │ 00300.7 │ 301.000
  2897.         300    │ 300.000 │ 300.00 │ 300.0 │ 300   │ 00300.0 │ 300.000
  2898.  
  2899. P B E N
  2900.  
  2901.     splitting path and file names A pathname consists of three parts:
  2902.     the directory (including drive), the base name and the extension;
  2903.     the base name and the extension are separated by a dot.  For exam-
  2904.     ple:
  2905.  
  2906.         Pathname      │ Directory │ Basename │ Extension
  2907.         ──────────────┼───────────┼──────────┼──────────
  2908.         d:\test\a.dvi │ d:\test\  │ a        │ dvi
  2909.         xxx           │           │ xxx      │
  2910.         xxx.zzz       │           │ xxx      │ zzz
  2911.         c:xxx         │  c:       │ xxx      │
  2912.         a.b.c         │           │ a.b      │ c
  2913.  
  2914.     Without a modifier, @f and @i will be replaced by the full
  2915.     pathname of the file; using a modifier allows you to replace or
  2916.     omit parts of the name.  The modifiers below will cause the full
  2917.     pathname to be replaced by:
  2918.  
  2919.     P       the directory portion of the pathname
  2920.  
  2921.     B       the basename
  2922.  
  2923.     E       a dot followed by the extension
  2924.  
  2925.     N       the basename, a dot (only if there is an extension) and
  2926.             the extension.
  2927.  
  2928.     More than one of these modifiers can be used with a single param-
  2929.     eter, in which case they will be applied in the order P, B, E --
  2930.     @BEf will be expanded as if written @Bf@Ef.  If none of these
  2931.     modifiers appear, the parameter will be replaced by the unchanged
  2932.     pathname (PBE will end with a dot if there is no extension).
  2933.  
  2934.     If an @f or @Pf parameter has a non-empty a directory part when
  2935.     evaluated and it is not at the start of the expansion, that
  2936.     is, preceded by at least one character, then that expansion
  2937.     is silently ignored.  This is done to avoid undesirable or
  2938.     nonsensical expansions which would otherwise arise from templates
  2939.     such as
  2940.  
  2941.         {c:\fonts\,}@f
  2942.  
  2943.     In this example, if @f expands to \ec\emr10 (non-empty directory
  2944.     part) then the expansion
  2945.  
  2946.         c:\fonts\\ec\emr10
  2947.  
  2948.     will be discarded and only the expansion
  2949.  
  2950.         \ec\emr10
  2951.  
  2952.     will be used.  If, however, @f expands to emr10 (filename only)
  2953.     then the two expansions
  2954.  
  2955.         c:\fonts\emr10
  2956.         emr10
  2957.  
  2958.     will be used.  Examples:
  2959.  
  2960.         @f    │ @Pf │ @Bf │ @Ef │ @BEf │ @Nf
  2961.         ──────┼─────┼─────┼─────┼──────┼────
  2962.         b     │     │ b   │ .   │ b.   │ b
  2963.         b.e   │     │ b   │ .e  │ b.e  │ b.e
  2964.         p\b   │ p\  │ b   │ .   │ b.   │ b
  2965.         p\b.e │ p\  │ b   │ .e  │ b.e  │ b.e
  2966.  
  2967. M V
  2968.  
  2969.     Multiplication by a constant.  M multiplies a numeric parameter by
  2970.     1000 and V multiplies by 5.  This allows the generation of direc-
  2971.     tory or file names which depend on the font magnification as PXL
  2972.     font names do, for instance
  2973.  
  2974.         @r  │ pxl@RVr
  2975.         ────┼────────
  2976.         300 │ pxl1500
  2977.  
  2978.     or names which depend in the magnification:
  2979.  
  2980.         @g   │ @Mg
  2981.         ─────┼─────
  2982.         1.44 │ 1440
  2983.  
  2984.     If more than one M or V modifier appears on the same parameter,
  2985.     all but the rightmost one will be ignored.
  2986.  
  2987.     The result is undefined on overflow (product greater than
  2988.     65535.99998).
  2989.  
  2990. X Y
  2991.  
  2992.     horizontal or vertical value.  The resolution can be different
  2993.     on the horizontal and vertical axes, these modifiers allow the
  2994.     correct value to be selected with the @b or @r parameters.  @Xb or
  2995.     just @b will select the value set by the +font-resolution-x option
  2996.     while @Yb will select that set by +font-resolution-y.  If more
  2997.     than one X or Y modifier it used with the same parameter, all but
  2998.     the rightmost one will be ignored.
  2999.  
  3000.  
  3001. 3.14.10 Default extension
  3002. -------------------------
  3003.  
  3004. To add an extension to a file name, unless the file name already has
  3005. an extension, you can use `@.'.  For instance,
  3006.  
  3007.     @f@.{msp,pcx,bmp}
  3008.  
  3009. creates the following file names:
  3010.  
  3011.     filename     │ filename.grf
  3012.     ─────────────┼─────────────
  3013.     filename.msp │ filename.grf
  3014.     filename.pcx │
  3015.     filename.bmp │
  3016.  
  3017. `@.' works this way:
  3018.  
  3019. - If the expansion produced so far doesn't contain a `.' following the
  3020.   last `:', `\' or `/' (or if the expansion contains a `.' but not
  3021.   any of those characters), the file name doesn't have an extension.
  3022.   In this case, `@.'  will be replaced by a period and expansion
  3023.   continues (with the extension).
  3024.  
  3025. - If the file name has an extension (each `.' (if any) is followed by
  3026.   `:', `\' or `/'), expansion stops at `@.' (omitting the default ex-
  3027.   tension).
  3028.  
  3029. Currently, `@.' does not work inside {...}.
  3030.  
  3031.  
  3032. 3.14.11 Summary
  3033. ---------------
  3034.  
  3035. @[0-99][_][FRT][PBEN][MV][XY](dfipmbrsg)
  3036.  
  3037.  
  3038.     0-99    pad out with 0 (numbers) or _ (other parameters)
  3039.  
  3040.     _       pad out with _
  3041.  
  3042.     .0-99   decimals (@g and @r)
  3043.  
  3044.     F       fractional part
  3045.  
  3046.     R       integer part (round)
  3047.  
  3048.     T       integer part (truncate)
  3049.  
  3050.     P       path: directory part
  3051.  
  3052.     B       base name
  3053.  
  3054.     E       extension
  3055.  
  3056.     N       as BE but no dot if there is no extension
  3057.  
  3058.     M       multiply by 1000
  3059.  
  3060.     V       multiply by 5
  3061.  
  3062.     X       select horizontal value (default, if Y does not appear)
  3063.  
  3064.     Y       select vertical value
  3065.  
  3066.     d       driver name (string)
  3067.  
  3068.     f       font or picture name (string)
  3069.  
  3070.     i       DVI filename (string)
  3071.  
  3072.     p       magstep (0..9, h, u=unknown) (string)
  3073.  
  3074.     m       METAFONT mode (string)
  3075.  
  3076.     b       basic font resolution (fraction)
  3077.  
  3078.     r       font resolution in DPI (fraction)
  3079.  
  3080.     g       magnification (fraction)
  3081.  
  3082.     u       number to make file name unique, for +mfjob-file (integer)
  3083.  
  3084. {a1,a2,a3}
  3085.  
  3086.     alternatives
  3087.  
  3088. $env:
  3089.  
  3090.     environment variables
  3091.  
  3092. @@ @, @{ @} @$
  3093.  
  3094.     special characters in templates
  3095.  
  3096. @.
  3097.  
  3098.     default extension
  3099.  
  3100.  
  3101. 3.14.12 Further examples
  3102. ------------------------
  3103.  
  3104. The examples show some uses of @g.
  3105.  
  3106.     @g  │ mag@RMg │ mag@9.3_g
  3107.     ────┼─────────┼─────────────
  3108.     1.2 │ mag1200 │ mag____1.200
  3109.  
  3110.  
  3111. 4 Managing fonts
  3112. ================
  3113.  
  3114. The dvidrv drivers will work with the following font file types:
  3115.  
  3116.     Extension  │  ID  │ Description
  3117.     ───────────┼──────┼───────────────
  3118.     PXL        │ 1001 │ (32-bit words)
  3119.     PXL        │ 1002 │ (8-bit words)
  3120.     PK         │   89 │ (packed)
  3121.  
  3122. The font files do not have to have one of these extensions as their
  3123. format is determined by their contents.  PK font files with an ID of
  3124. 87 can NOT be used!
  3125.  
  3126. The PXL file formats are obsolescent, you should use PK files instead
  3127. of PXL files.
  3128.  
  3129. In addition font libraries -- a dvidrv feature -- can be used.  These
  3130. contain several font files saving disk space and processing time.  By
  3131. gathering font files into libraries the number of files in directories
  3132. is reduced.  Disadvantages are the size of the resulting libraries and
  3133. the amount of time spent in updating fonts.  For more information see
  3134. the fontlib documentation.
  3135.  
  3136.  
  3137. 4.1 Specifying font size (resolution)
  3138. -------------------------------------
  3139.  
  3140. You may need to specify a font size when the driver can't find a font
  3141. or when you are creating a font substitution file.  The font size
  3142. is given in dots per inch (DPI) and, for TeX magsteps, will have
  3143. decimals after the point.  To avoid the calculation and entry of long
  3144. decimal numbers, there is a more convenient method of specifying
  3145. magnifications: just append a colon and the magnification step (0
  3146. to 9, or h for 0.5) to the font size.  For instance, 100:3 is an
  3147. abbreviation for 172.8 (100 * 1.2 ^ 3) and 300:h will be converted
  3148. to 328.63353.  You can also write only the colon followed by the
  3149. magnification step without an explicit font size.  In this case,
  3150. the font resolution set with the +font-resolution option will be
  3151. magnified.  This is especially convenient in font substitution files
  3152. to specify a font size independent of the device (and its resolution).
  3153.  
  3154.  
  3155. 4.2 Font substitution file format
  3156. ---------------------------------
  3157.  
  3158. A font substitution file gives a list of fonts which can be used
  3159. to replace those called for in a DVI file: the names of the font
  3160. substitution files can be set with the +font-subst-files option though
  3161. the drivers will run without one.  A font substitution file can
  3162. contain comments which are lines starting with `%'.
  3163.  
  3164.  
  3165. 4.2.1 Substitution with and without batch mode
  3166. ----------------------------------------------
  3167.  
  3168. A font substitution file has two parts only one of which is required.
  3169. The first replaces ALL matching fonts while the second describes what
  3170. is to be done when a font file cannot be found while +batch-mode is
  3171. active.  The two parts are separated by the line
  3172.  
  3173.     $b
  3174.  
  3175. If the font substitution file contains the first part only, `$b' can
  3176. be omitted.
  3177.  
  3178. ALL the rules in the first part are applied one after the other with
  3179. the result of one rule being passed on to the next one.  Rules which
  3180. do not match remain unused.
  3181.  
  3182. The second part only has effect if +batch-mode is active and then
  3183. only when a font cannot be found.  The substitutions in this part are
  3184. applied in turn to the original font name and size with the result
  3185. of one substitution not being carried forward to the next.  After
  3186. each trial substitution the resulting font name and size are searched
  3187. for and the process ends when the search succeeds.  If the search is
  3188. unsuccessful then the next rule is tried; if all rules fail then the
  3189. program ends with an error message.
  3190.  
  3191.  
  3192. 4.2.2 Rule lines
  3193. ----------------
  3194.  
  3195. Each line of a font substitution file contain one substitution rule if
  3196. it isn't a comment line or the line `$b': The font file name or the
  3197. size (or both) appear to the left of `->' while the name or the size
  3198. to be substituted appears on the right; this may be further followed
  3199. by an option.  To use built-in printer fonts, `=>' is used instead of
  3200. `->', see below for details.  You can choose from one of the following
  3201. formats:
  3202.  
  3203.     font -> font [option] [comment]
  3204.     size -> size [option] [comment]
  3205.     font size -> font size [option] [comment]
  3206.  
  3207. Font names may contain special characters, see below.  The size is
  3208. specified in dots per inch (DPI); you can use a magnification step
  3209. using preceded by a colon, for instance, `:2' or `300:1'.  The charac-
  3210. ter `*' stands for an arbitrary size if used to the left of `->'.  To
  3211. the right of `->', `*' stands for the size of the original font.
  3212.  
  3213.  
  3214. 4.2.3 Options in font substitution rules
  3215. ----------------------------------------
  3216.  
  3217. At most one of the following options can be used for each substitution
  3218. rule:
  3219.  
  3220. /b      All characters of the font will be replaced by black
  3221.         filled rectangles.  If there's no font file, a TFM file is
  3222.         sufficient.
  3223.  
  3224. /r      All characters of the font will be replaced by black rectangle
  3225.         outlines.  If there's no font file, a TFM file is sufficient.
  3226.         dvidot and dvihplj treat /r like /b and print black filled
  3227.         rectangles instead.
  3228.  
  3229. /w      The font is made invisible, i.e., a font file is still
  3230.         required (a TFM file is sufficient) but the characters of the
  3231.         font will be replaced by white space.  This feature can be
  3232.         used for the invisible SliTeX fonts.
  3233.  
  3234. /d      All characters from the font are discarded entirely, there
  3235.         won't be white space for the characters.  This results in
  3236.         wrong positions of other objects.  Therefore, warning message
  3237.         1211 will be displayed.  No font file is required.
  3238.  
  3239. Rules which don't include an option don't change the mode set by op-
  3240. tions of rules which matched previously.  That is, you cannot put a
  3241. font back into the default mode (printing characters) after applying
  3242. an option.
  3243.  
  3244.  
  3245. 4.2.4 Matching font names
  3246. -------------------------
  3247.  
  3248. Three special characters can be used in font names: `*' must be given
  3249. at the end of a font name and causes the remaining characters of the
  3250. name to be ignored.  `*' in the replacement name is replaced with the
  3251. characters that were matched by `*' in the original font name.  `@'
  3252. matches (in the original font name) any single character.  You cannot
  3253. use `@' in the replacement name.  `?' also matches (in the original
  3254. font name) any single character.  In the replacement font name, `?'
  3255. is replaced by the character matched by the corresponding `?' in the
  3256. original font name (the replacement name must contain the same number
  3257. of question marks as the original name).  Note that while `@' and `?'
  3258. may have name characters following them, `*' may only appear as the
  3259. last character.  Here is a concocted example which shows the effect of
  3260. each character:
  3261.  
  3262.     aaa?bb@cc?dd* -> x?y?z*
  3263.  
  3264. This rule will replace the font name `aaa1bb2cc3dd456' by `x1y3z456'.
  3265. This does NOT match the font name `aaabb2cc3dd456'.
  3266.  
  3267.  
  3268. 4.2.5 Using built-in printer fonts
  3269. ----------------------------------
  3270.  
  3271. dvihplj supports using built-in printer fonts.  A font substitution
  3272. file is used for mapping TeX fonts to built-in fonts.  To map a TeX
  3273. font to a built-in font, a different type of rule line is used:
  3274.  
  3275.     font [size] => pcl: <selection>
  3276.  
  3277. Following the `pcl:' keyword, the PCL commands to select the built-in
  3278. font are listed, separated by blanks.  The `Esc (' or `Esc )' prefix
  3279. used in font selection commands must be omitted.
  3280.  
  3281. You can use `*' in place of a specific size on the left hand side of
  3282. the `=> pcl:' part of the rule.  If `*' is used for the size, it can
  3283. also be used in a selection value.  In this case, the numeric part of
  3284. the selection value will be multiplied by the magnification of the
  3285. font.  Example:
  3286.  
  3287.     trr10u * => pcl: 10U s1P s*10V s0S s0B s5T
  3288.  
  3289. This rule causes dvihplj to replace all occurrences of the
  3290. font `trr10u' with the built-in font that is selected with
  3291. `<ESC>(10U<ESC>(s1p??v0s0b5T'.  The height of the font (shown as ??)
  3292. is replaced by 10 times the magnification of `trr10u' in the DVI file.
  3293. This makes sense for scalable fonts only.
  3294.  
  3295. Note that a TFM file is required for each built-in font.  Built-in
  3296. printer fonts can be used with +transformation:0 only.  For
  3297. the HP LaserJet III and later models (such as the HP LaserJet
  3298. 4), +transformation:0 through +transformation:3 are supported.
  3299. +full-page-bitmap:on also disables built-in printer fonts.
  3300.  
  3301. If the TFM file contains parameters for selection of a PCL font, those
  3302. parameters are used first.  Then, the font selection commands from the
  3303. font substitution file are used.
  3304.  
  3305. dvihplj can use built-in fonts without a font substitution file if the
  3306. TFM files contain PCL font selection information.
  3307.  
  3308.  
  3309. 4.2.6 Example
  3310. -------------
  3311.  
  3312. This example file shows some applications of font substitution files:
  3313.  
  3314.     %
  3315.     % Example font substitution file
  3316.     %
  3317.     am* -> cm*               % replace am fonts by cm fonts
  3318.     longfontname -> lfn      % change name
  3319.     305 -> 300               % change size
  3320.     600 -> 300:4             % change size
  3321.     cmr12 :0 -> cmr10 :1     % cmr12 scaled 1000 -> cmr10 scaled 1200
  3322.     i* -> * /w               % invisible SliTeX fonts
  3323.     fancy -> fancy /b        % replace characters by rectangles
  3324.     dummy -> dummy /d        % discard characters
  3325.     
  3326.     $b                       % rules for +batch-mode are following
  3327.     
  3328.     * * -> * :0              % keep name, size  := +font-resolution
  3329.     * * -> cmr10 :0          % name := cmr10, size := +font-resolution
  3330.     * * -> * * /r            % replace by rectangles, call MFjob
  3331.  
  3332.  
  3333. 4.3 Font search rules
  3334. ---------------------
  3335.  
  3336. 1.  The font size is replaced by the closest available size, according
  3337.     to +font-size-tolerance and +font-sizes.  The font name and size
  3338.     are converted according to the rules in the first part of the
  3339.     font substitution file -- ALL rules are applied one after the
  3340.     other.  If the font size has been changed by the font substitution
  3341.     process, it will again be replaced by the closest available size.
  3342.  
  3343. 2.  If +change-mode is active, you have a chance to change the name
  3344.     or size of the font, to enter a different font name or to enter a
  3345.     file name.
  3346.  
  3347. 3.  If the /d option is set for the font, no font will be sought; all
  3348.     characters of the font will be omitted.
  3349.  
  3350. 4.  The font is sought according to the values set by the
  3351.     +virtual-fonts, +font-libraries and +font-files options.  If a
  3352.     font is not found and the /b, /r or /w option is set for the
  3353.     font, then a TFM file is sought according to the value set by
  3354.     the +tfm-files option.  If a font is not found, dvihplj tries to
  3355.     load a TFM file for a built-in font.  The TFM file must include
  3356.     information for PCL font selection.
  3357.  
  3358. 5.  If +batch-mode is active and a font substitution file has a second
  3359.     part (after `$b'), the name/size resulting from (1) above is
  3360.     converted using one of the rules, the size replaced by the closest
  3361.     size according to +font-size-tolerance and +font-sizes and this
  3362.     name and size used for a search according to the values set by
  3363.     the +virtual-fonts, +font-libraries and +font-files options.  If
  3364.     /b, /r or /w is set for the font, additionally a TFM file will be
  3365.     sought according to the value set by the +tfm-files option.  All
  3366.     this is done for each rule in turn.
  3367.  
  3368. 6.  The font is marked for generation by MFjob and METAFONT.
  3369.  
  3370. 7.  If batch mode is active (+batch-mode option) and there is no font
  3371.     substitution file with a second part, the following rules will be
  3372.     used instead following the procedure in (5) above:
  3373.  
  3374.         * * -> * :0
  3375.         * * -> cmr10 *
  3376.         * * -> cmr10 :0
  3377.         * * -> * * /r
  3378.         * * -> * * /d
  3379.  
  3380. 8.  If batch mode is active and the font is still not found, the
  3381.     driver stops with a fatal error message.  This can only happen if
  3382.     you have changed the rules for +batch-mode, as the last default
  3383.     rule uses /d.
  3384.  
  3385. 9.  If the font is not found, the user is asked for another font name,
  3386.     size or file name -- see below.
  3387.  
  3388. If the search fails and batch mode is not active (+interactive-mode is
  3389. the default), the user is asked for help, displaying the font name and
  3390. the size of the form
  3391.  
  3392.     font<xxxx>
  3393.  
  3394. where xxxx is the font size (DPI).  Replacing the size with
  3395. the closest available font size according to the settings of
  3396. +font-size-tolerance and +font-sizes has already taken place.
  3397.  
  3398. You should then enter a font name, a font size or a file name.  More-
  3399. over, you can use one of the options for replacing characters with
  3400. rectangles or white space or for omitting characters.  Moreover, you
  3401. can activate +batch-mode, +change-mode and +interactive-mode.  You can
  3402. enter multiple values in one line, the values must be separated by
  3403. blanks.  After reading the values given in a line of input, the font
  3404. will be searched again using the changed values.  If the line ends
  3405. with `&', the search after reading this line will be suppressed.
  3406.  
  3407. The following values can be entered:
  3408.  
  3409. name
  3410.  
  3411.     choose a new font name.  `name' must not contain the characters
  3412.     `\', `/', `.', and `:'
  3413.  
  3414. size
  3415.  
  3416.     choose a new size, (new xxxx value of `font<xxxx>').  The new size
  3417.     will not be replaced with the closest available size.  Examples:
  3418.  
  3419.     300     300 DPI
  3420.  
  3421.     :2      scaled 1440  (1.44 * +font-resolution)
  3422.  
  3423.     204:h   204 DPI magnified 1.2^0.5 (= 233.47081)
  3424.  
  3425.     See `Specifying font size (resolution)'
  3426.  
  3427. file_name
  3428.  
  3429.     choose a complete file name (the input contains one of the
  3430.     characters `\', `/', `.', or `:').  The driver will try to
  3431.     read this file (ignoring +virtual-fonts, +font-libraries and
  3432.     +font-files).  Therefore, you should enter the complete path name,
  3433.     including the extension
  3434.  
  3435. empty_line
  3436.  
  3437.     search.  If you don't want to change a value when using
  3438.     +change-mode, just hit the return key
  3439.  
  3440. +
  3441.  
  3442.     multiply the size by 1.2
  3443.  
  3444. -
  3445.  
  3446.     divide the size by 1.2
  3447.  
  3448. /b
  3449.  
  3450.     replace all the characters in the font by a black block.  A font
  3451.     file is still required, a TFM file is sufficient
  3452.  
  3453. /r
  3454.  
  3455.     replace all the characters in the font by a rectangle outline.  A
  3456.     font file is still required, a TFM file is sufficient.  dvihplj
  3457.     and dvidot cannot print rectangle outlines, these drivers will
  3458.     treat /r like /b
  3459.  
  3460. /w
  3461.  
  3462.     make all the characters in the font invisible.  A font file is
  3463.     still needed but the characters therein are not printed.  A TFM
  3464.     file is sufficient.  This is useful in analyzing unusual effects
  3465.  
  3466. /d
  3467.  
  3468.     all characters from the font are discarded entirely, there
  3469.     won't be white space for the characters.  This results in wrong
  3470.     positions of other objects.  Therefore, warning message 1211 will
  3471.     be displayed.  No font file is required
  3472.  
  3473. $a
  3474.  
  3475.     apply +batch-mode to the current font.  If you have changed the
  3476.     name or size of the font, the changes will be ignored.  The re-
  3477.     maining values on the input line are ignored.  +batch-mode or
  3478.     +interactive-mode will be used for the next font, depending on the
  3479.     current mode.  If you want to apply +batch-mode to all remaining
  3480.     fonts, use `$b'
  3481.  
  3482. $b
  3483.  
  3484.     activate +batch-mode for this and all remaining fonts.  If you
  3485.     have changed the name or size of the font, the changes will be
  3486.     ignored.  As no further questions will be asked, you won't be able
  3487.     to turn off +batch-mode
  3488.  
  3489. $c
  3490.  
  3491.     activate +change-mode for the next and all remaining fonts
  3492.  
  3493. $i
  3494.  
  3495.     activate +interactive-mode.  If +change-mode was active, you won't
  3496.     be asked before the next (and all remaining fonts) will be sought
  3497.  
  3498. Examples:
  3499.  
  3500. cmr10 :1
  3501.  
  3502.     use cmr10 scaled 1200
  3503.  
  3504. - -
  3505.  
  3506.     decrease size by factor 1.44
  3507.  
  3508. d:\myfonts\xyzzy.pk
  3509.  
  3510.     use this font file
  3511.  
  3512. cmr10 300 /r
  3513.  
  3514.     use rectangles for cmr10.tfm at 300 DPI
  3515.  
  3516. $b
  3517.  
  3518.     activate +batch-mode
  3519.  
  3520. + &
  3521.  
  3522.     Increase size by factor 1.2, ask again
  3523.  
  3524. If +interactive-mode is active, all missing fonts are marked for gen-
  3525. erating with MFjob and METAFONT, even if you have entered a replace-
  3526. ment font.  The original, missing font will be generated.  Your input
  3527. doesn't influence which fonts will generated in which sizes.
  3528.  
  3529. If +change-mode is active, missing fonts will not be marked for gener-
  3530. ating with MFjob and METAFONT.
  3531.  
  3532.  
  3533. 4.4 Generating missing fonts automatically with MFjob and METAFONT
  3534. ------------------------------------------------------------------
  3535.  
  3536. Missing fonts can be generated in the required magnifications from
  3537. their METAFONT sources.  The following command line options are
  3538. required:
  3539.  
  3540. +batch-mode
  3541.  
  3542.     Automatically replace missing fonts.  You can use
  3543.     +interactive-mode but then you will be prompted for a replacement
  3544.     font for each missing font.  If +change-mode is active, missing
  3545.     fonts will not be generated automatically
  3546.  
  3547. +metafont-mode
  3548.  
  3549.     METAFONT mode for the output device.  This option is set in the
  3550.     configuration files that come with the drivers
  3551.  
  3552. +mfjob-file
  3553.  
  3554.     Name of the MFjob file.  Under DOS, this option is set by the
  3555.     dvidrv.exe program.  Under OS/2, the default value can be used
  3556.  
  3557. If these options are correctly set -- and if there are fonts missing
  3558. -- the driver will create a file (with the name specified by
  3559. +mfjob-file) which will contain commands for MFjob (version 1.1m or
  3560. later) which are required for generating the missing fonts.  Then, the
  3561. driver will ask the following question:
  3562.  
  3563.     Warning 1209: do you want to call MFjob to generate # missing fonts now?
  3564.     Type Y, N or ?:
  3565.  
  3566. If you type N, computing (printing or output to a file or to the
  3567. screen) will continue -- but with replaced fonts.  If the MFjob job
  3568. file isn't deleted by dvidrv (or your batch file), you can generate
  3569. the missing fonts by calling MFjob after printing (not recommended) or
  3570. viewing the DVI file.
  3571.  
  3572. If you type Y, the action taken by the driver depends on the operating
  3573. system and on the +call-mfjob option: Under DOS (or if +call-mfjob:off
  3574. is set under OS/2), the driver will stop with return code 8 (which
  3575. can be checked with IF ERRORLEVEL).  If the driver was started by
  3576. dvidrv, MFjob will be called by dvidrv, then the driver again.  If
  3577. +call-mfjob:on (the default value) is set under OS/2, the driver di-
  3578. rectly calls MFjob, deletes the MFjob file and reloads the DVI file.
  3579.  
  3580. If you type ?, the driver displays a list of the fonts to be gener-
  3581. ated.  The list includes names and magnifications of the fonts.
  3582.  
  3583. The MFjob job file will look like this:
  3584.  
  3585.     input [dvidrv];
  3586.     {
  3587.     driver=dvidot;
  3588.     mode=lqlores[180 180];
  3589.     output=pk[$DVIDRVFONTS:pixel.p6l\@Rrdpi\@f{.pk,.pxl}];
  3590.     {font=cmr10; mag=0.5;}
  3591.     {font=cmbx10; mag=0.5;}
  3592.     }
  3593.  
  3594. Here's a short explanation:
  3595.  
  3596. input [dvidrv]
  3597.  
  3598.     insert declarations from dvidrv.mfj
  3599.  
  3600. driver=
  3601.  
  3602.     name of the driver, used for replacing @d
  3603.  
  3604. mode=
  3605.  
  3606.     mode and resolution (set with +metafont-mode and +font-resolution)
  3607.  
  3608. output=
  3609.  
  3610.     path for output files (set with +font-files)
  3611.  
  3612. font=
  3613.  
  3614.     name of the font
  3615.  
  3616. mag=
  3617.  
  3618.     magnification of the font
  3619.  
  3620. Keep in mind that MFjob will use only the FIRST expansion of the tem-
  3621. plate given in the output= declaration.  In the example above, the
  3622. font files cmr10.pk and cmbx10.pk will be created in the FIRST direc-
  3623. tory listed in the DVIDRVFONTS environment variable, under directory
  3624. pixel.p6l\#dpi (# will be replaced by 90).  The FIRST extension from
  3625. the list of alternatives will be used.
  3626.  
  3627. You should ensure that the first directory set by +font-files is
  3628. writable.  You can create an separate directory for automatically gen-
  3629. erated fonts -- this directory should be listed first.
  3630.  
  3631. Under DOS, it is recommended to use the program `dvidrv', which takes
  3632. care of setting +mfjob-file to a unique file name (of a non-existent
  3633. file) to prevent problems with multiple users (network!)  working in
  3634. the same directory.  dvidrv will also call MFjob and -- after generat-
  3635. ing the fonts -- the driver again.
  3636.  
  3637. dvidrv will create the temporary MFjob file in the directory given by
  3638. the TMP environment variable (use SET TMP=F:\, for instance).  If TMP
  3639. isn't set, the root directory of the current drive will be used, which
  3640. must be writable.
  3641.  
  3642. As an alternative to dvidrv, you can use the following batch file, but
  3643. it doesn't work when running multiple drivers concurrently in the same
  3644. directory:
  3645.  
  3646.     @echo off
  3647.     :loop
  3648.     dviscr @lj.cnf /fl:-1 %1 %2 %3 %4 %5 %6 %7 %8 %9 /pj:dvihplj.mfj
  3649.     if errorlevel 9 goto end
  3650.     if not errorlevel 8 goto end
  3651.     mfjob dvihplj.mfj
  3652.     if not errorlevel 1 goto loop
  3653.     :end
  3654.  
  3655.  
  3656. 4.5 Using built-in printer fonts
  3657. --------------------------------
  3658.  
  3659. dvihplj can use built-in fonts unless the entire page is printed as
  3660. bitmap (+full-page-bitmap).  The simplest way to use built-in fonts
  3661. is to use TFM files which include information for selecting PCL
  3662. fonts.  When the +tfm-files option is correctly set, dvihplj will
  3663. automatically use these fonts.
  3664.  
  3665. Moreover, you can select built-in fonts by adding special rules to the
  3666. font substitution file.
  3667.  
  3668.  
  3669. 5 Using dviscr and dvivik
  3670. =========================
  3671.  
  3672.  
  3673. 5.1 Keyboard functions for dviscr and dvivik
  3674. --------------------------------------------
  3675.  
  3676. Note that it is impossible to go outside the `sheet' defined by +width
  3677. and +height.  You can use the following keys, upper case and lower
  3678. case isn't distinguished:
  3679.  
  3680. <Ctrl>+<C>  <Q>
  3681.  
  3682.     exit from the program
  3683.  
  3684. <left arrow>
  3685.  
  3686.     move the window half the screen width to the left (for smaller
  3687.     movements, see <F> and <C>)
  3688.  
  3689. <right arrow>
  3690.  
  3691.     move the window half the screen width to the right (for smaller
  3692.     movements, see <F> and <C>)
  3693.  
  3694. <up arrow>
  3695.  
  3696.     move the window half the screen height upwards (for smaller
  3697.     movements, see <F> and <C>)
  3698.  
  3699. <down arrow>
  3700.  
  3701.     move the window half the screen height downwards (for smaller
  3702.     movements, see <F> and <C>)
  3703.  
  3704. <4>
  3705.  
  3706.     move the window to the left by the screen width
  3707.  
  3708. <6>
  3709.  
  3710.     move the window to the right by the screen width
  3711.  
  3712. <8>
  3713.  
  3714.     move the window upwards by the screen height
  3715.  
  3716. <2>   <spacebar>
  3717.  
  3718.     move the window downwards by the screen height
  3719.  
  3720. <Home>
  3721.  
  3722.     move the window to the initial position (chosen with +home-x and
  3723.     +home-y options or <H>)
  3724.  
  3725. <7>
  3726.  
  3727.     move the window to the top left-hand corner of the page
  3728.  
  3729. <End>
  3730.  
  3731.     move the window to the bottom left-hand corner of the page
  3732.     (+home-x option or <H>)
  3733.  
  3734. <1>
  3735.  
  3736.     move the window to the bottom left-hand corner of the page
  3737.  
  3738. <Ctrl>+<left arrow>
  3739.  
  3740.     move the window to the left margin
  3741.  
  3742. <Ctrl>+<right arrow>
  3743.  
  3744.     move the window to the right margin
  3745.  
  3746. <PageUp>   <9>   <F7>
  3747.  
  3748.     to the previous page
  3749.  
  3750. <PageDn>   <3>   <F8>
  3751.  
  3752.     to the next page
  3753.  
  3754. <Ctrl>+<PageUp>
  3755.  
  3756.     to the first page
  3757.  
  3758. <Ctrl>+<PageDn>
  3759.  
  3760.     to the last page
  3761.  
  3762. <I>
  3763.  
  3764.     reversed image toggle
  3765.  
  3766. <D>
  3767.  
  3768.     refresh the screen image
  3769.  
  3770. <H>
  3771.  
  3772.     make the current position the home position (see +home-x, +home-y,
  3773.     <Home> and <End>)
  3774.  
  3775. <F>
  3776.  
  3777.     this reduces the window movement caused by the arrow keys; it has
  3778.     6 steps
  3779.  
  3780. <C>
  3781.  
  3782.     this increases the window movement caused by the arrow keys; it
  3783.     has 6 steps
  3784.  
  3785. <G>
  3786.  
  3787.     go to one of the pages selected for display.  Enter a number from
  3788.     1 to the number of selected pages -- this page will then be dis-
  3789.     played.
  3790.  
  3791. <O>
  3792.  
  3793.     return to the previously displayed page -- to be used after a <G>,
  3794.     <P>, <S>, <Ctrl>+<PageUp> or <Ctrl>+<PageDn> command.  The driver
  3795.     holds up to the last 20 pages displayed.  The page is displayed
  3796.     so that the point marked by the ruler or the middle of the page
  3797.     appears in the same position on the screen.
  3798.  
  3799. <P>
  3800.  
  3801.     display a page with a given page number, the page number must be
  3802.     entered.  The page with this page number is first sought starting
  3803.     from the current page going towards the end of the file, if it
  3804.     isn't found then the search restarts at the beginning of the file.
  3805.     Page numbers can contain *, for example, 1.*.5
  3806.  
  3807. <R>
  3808.  
  3809.     toggle the ruler display
  3810.  
  3811. <Ctrl>+<R>
  3812.  
  3813.     toggle the scale on the ruler
  3814.  
  3815. <S>
  3816.  
  3817.     search for text: the search starts at the beginning of the current
  3818.     page (or the point at which the search last stopped).  Pages are
  3819.     then sought starting at the current page and moving towards the
  3820.     end of file.  If this fails then the search starts again at the
  3821.     beginning of the file.  The search can be terminated by pressing
  3822.     the Esc key.  If no text is entered, the text from the last search
  3823.     is used again.  The search is case sensitive, hyphens and spaces
  3824.     are ignored.  The text can also include accented characters.  If
  3825.     the text contains an illegal character, for instance, `\' can't
  3826.     appear in it, the driver beeps.  The ruler is placed on the refer-
  3827.     ence point of the first character of the text.
  3828.  
  3829. <W>
  3830.  
  3831.     toggle the effect of the arrow keys -- either the window or the
  3832.     ruler (if present) is moved.  After enabling the ruler with <R>,
  3833.     the arrow keys move the ruler.  This function affects the four
  3834.     arrow keys, <Ctrl>+<left arrow>, <Ctrl>+<right arrow>, <Home> and
  3835.     <End>.  The other keys continue to move the window.  The effect
  3836.     of <F> and <C> is also changed, altering the rate at which the
  3837.     ruler is moved around independently of the setting for the window
  3838.     movement.
  3839.  
  3840. <U>   <Ctrl>+<U>
  3841.  
  3842.     change the dimension unit: <U> moves forward through the usual
  3843.     list of 10, <Ctrl>+<U> moves backward.  These dimension units
  3844.     are used in the status line and the ruler display.  See also
  3845.     +ruler-unit.
  3846.  
  3847. <+>   <->
  3848.  
  3849.     change the gray scale display or scaling (zoom).  If possible,
  3850.     a gray scale is used, otherwise scaling.  The relation between
  3851.     the values set by +zoom-x, +zoom-y or +scaling-x, +scaling-y is
  3852.     preserved.  This means that a scaling of +scaling-x:7 +scaling-y:8
  3853.     cannot be changed.  <+> increases the size of the picture, <->
  3854.     reduces it.
  3855.  
  3856. <Alt>+<G>   <Alt>+<S>
  3857.  
  3858.     change the gray scale setting or scaling (zoom).  One or two
  3859.     digits in the range 1 to 8 can be entered; these are taken to
  3860.     be the new factors for the gray scale (<Alt>+<G>) or scaling
  3861.     (<Alt>+<S>).  If only one digit is given then it is taken as both
  3862.     the X and Y value (like +zoom and +scaling).  If two digits are
  3863.     entered then these are used as the X and Y factors (like +zoom-x
  3864.     and +zoom-y or +scaling-x and +scaling-y).
  3865.  
  3866. <T>
  3867.  
  3868.     dviscr and dvivik can change the transformation dynamically by
  3869.     following <T> by a digit from 0 to 7 and <Enter>.  This is,
  3870.     however, not possible if +font-resolution-x and +font-resolution-y
  3871.     were used to set different values and you wish to switch between
  3872.     transformations 0, 2, 5 or 7 and 1, 3, 4 or 6.  Moreover, you can-
  3873.     not change the transformation when making a book, that is, when
  3874.     +section-count or +section-size has a non-zero value.
  3875.  
  3876. <K>
  3877.  
  3878.     this toggles the coordinates used for the arrow keys between
  3879.     screen coordinates and transformed coordinates (if the display
  3880.     is rotated (do this on your own risk)).  When <K> is pressed the
  3881.     arrow keys are transformed, pressing it again returns to the
  3882.     initial state.
  3883.  
  3884. For functions <+>, <->, <Alt>+<G>, <Alt>+<S>, and <T> the midpoint
  3885. of the screen (or, if the ruler is enabled, the point marked by the
  3886. ruler) is kept in the same position on the screen.
  3887.  
  3888. Rotations are also made around this point, reflections put this point
  3889. on the reflection axis and the size is changed with this point at the
  3890. centre.  If this causes the window to fall outside the page then the
  3891. window is moved as necessary so that it lies wholly within the page
  3892. (if possible).
  3893.  
  3894.  
  3895. 5.2 Entering numbers
  3896. --------------------
  3897.  
  3898. Numbers are displayed in the status line, if it is enabled.  Errors
  3899. can be corrected with the backspace key or left arrow key, Esc ends an
  3900. incorrect entry, Enter accepts the number.
  3901.  
  3902. If no status line (see +status-line:off) is displayed, numbers must be
  3903. entered blind.  An initial beep shows that entry may begin (an initial
  3904. (optional) sign followed by digits only), backspace, left arrow, Esc
  3905. and Enter have the same effect.  An illegal input causes a deeper
  3906. beep.  After pressing Enter, a higher tone is sounded.
  3907.  
  3908.  
  3909. 5.3 Understanding the status line
  3910. ---------------------------------
  3911.  
  3912. The status line displays the following information:
  3913.  
  3914. 1.  At the left-hand end the step selected by <F> and <C> is dis-
  3915.     played.
  3916.  
  3917. 2.  To the right of this is either `R' (ruler moves), `W' (window
  3918.     moves) or, if there is no ruler, nothing.
  3919.  
  3920. 3.  A little bit further right if gray scaling is possible, `Gxy'
  3921.     appears otherwise `Sxy'.  These are the values set by +zoom-x,
  3922.     +zoom-y, +scaling-x and +scaling-y -- and altered by <+>, <->,
  3923.     <Alt>+<G> and <Alt>+<S>.
  3924.  
  3925. 4.  The side number (the first side selected is side 1) appears in the
  3926.     middle of the line together with the page number.  For example,
  3927.  
  3928.         5:      10.7
  3929.  
  3930.     shows side 5.  The first page on side 5 has page number 10.7.
  3931.  
  3932. 5.  To the right of this the coordinates of the top left-hand corner
  3933.     of the window are shown (if transformed, this is not necessarily
  3934.     the top left-hand corner of the screen: for example, in
  3935.     transformation 1 the coordinates are those of the bottom left-hand
  3936.     corner of the screen).  The position display
  3937.  
  3938.         x=0pt y=0pt
  3939.  
  3940.     is the top left-hand corner of the sheet.  If the ruler is
  3941.     graduated then the distance between two (short) gradations is
  3942.     displayed as well.  The gradation is chosen to make this a read-
  3943.     able distance.  Every tenth gradation is somewhat longer than the
  3944.     others.
  3945.  
  3946. 6.  A `W' is displayed near the right-hand end of the line if warnings
  3947.     messages have occurred while dviscr or dvivik was in graphics
  3948.     mode.
  3949.  
  3950. 7.  A `*' is displayed at the right-hand end of the line while the pic-
  3951.     ture is being built up or while a text search is in progress.
  3952.  
  3953. The status line can be removed by the option +status-line:off.
  3954.  
  3955.  
  3956. 6 \special
  3957. ==========
  3958.  
  3959. The drivers take note of all \special's beginning with `em:'; blanks
  3960. may appear between `em:' and the following keyword (`graph', `point',
  3961. `line', `linewidth', `pcl' or `pclfile').
  3962.  
  3963. Any \special's which do not start with `em:' are silently ignored.
  3964.  
  3965. The drivers can understand the following \special's:
  3966.  
  3967. \special{em:graph xxx}
  3968.  
  3969. Insert the graphics file xxx at this place.  The upper left corner of
  3970. the picture is located at the reference point of a character were it
  3971. to appear here.  You can use MSP (MS Paint under Windows 1.x and 2.x),
  3972. PCX (Paintbrush) and black and white BMP files.  4 color CGA mode PCX
  3973. files cannot be used.  Run length encoded BMP files cannot be used.
  3974. All non-white pixels of a PCX file are printed (assuming the standard
  3975. palette).  For efficiency reasons, usage of MSP files (Windows 2.x) is
  3976. recommended.  The width of the picture must not exceed 32760 pixels,
  3977. the height must not exceed 32766 pixels.  Example (the size of the pic-
  3978. ture is 21pt by 23pt):
  3979.  
  3980.     \begin{center}
  3981.     \begin{picture}(21,23)
  3982.       \put(0,23){\special{em:graph dvitrans.2}}
  3983.     \end{picture}
  3984.     \end{center}
  3985.  
  3986. If a graphics file is not found while +batch-mode is active, the pic-
  3987. ture will be omitted and warning message 1303 will be displayed.  If
  3988. a graphics file is not found while +batch-mode is not active, you
  3989. will be prompted for the name of the graphics file.  If you enter /d,
  3990. the picture will be omitted.  If +change-mode is active, you will be
  3991. prompted for a file name for each \special{em:graph} command before
  3992. the driver tries to open the graphics file.  If +omit-graphics:on is
  3993. in effect, \special{em:graph} is ignored.
  3994.  
  3995. \special{em:point n[,[x],[y]]}
  3996. \special{em:line a[h|v|p],b[h|v|p][,width]}
  3997. \special{em:linewidth width}
  3998. \special{em:moveto}
  3999. \special{em:lineto}
  4000.  
  4001. With these commands lines can be drawn at any desired angle.  A point
  4002. n (1 to 32767) is defined with \special{em:point n} and gets the co-
  4003. ordinates of the reference point.  If x or y or both are specified,
  4004. these values override the coordinates of the reference point.  For in-
  4005. stance,
  4006.  
  4007.     \special{em:point 1,10pt}
  4008.  
  4009. defines point 1 10pt to the right of the left margin and with the Y co-
  4010. ordinate of the reference point.
  4011.  
  4012. \special{em:point n} commands can be positioned using the LaTeX pic-
  4013. ture environment.  For plain TeX, see page 389 of The TeXbook.  Two
  4014. such points can be joined by a line: \special{em:line a,b,width} joins
  4015. the points numbered a and b with a line `width' thick -- the width can
  4016. be given in any unit acceptable to the +unit option except px.  The
  4017. point numbers can have `h', `v' or `p' appended showing how the end of
  4018. the line should be cut.  `p' causes the line to be cut perpendicular
  4019. to its direction, `h' make a horizontal cut and `v' a vertical cut.
  4020. `p' is used as default if no cut mode is specified.  Note that a hori-
  4021. zontal line cannot have a horizontal cut nor vertical line a vertical
  4022. one!
  4023.  
  4024. Example:
  4025.  
  4026.     \special{em:line 1,2v,4pt}
  4027.  
  4028. Points need not be defined before the lines which refer to them.
  4029. Point and line definitions are local to the current page.
  4030.  
  4031. If a number of lines with the same width are to be drawn,
  4032. \special{em:linewidth width} can be used to set the default
  4033. width for all subsequent lines without a `width' argument --
  4034. \special{em:line a,b}.  The initial setting of the default width
  4035. is 0.4pt; any \special{em:line a,b} appearing BEFORE a `linewidth'
  4036. special will have this width.  To avoid errors, the required line
  4037. width should be set before each picture composed of lines.
  4038.  
  4039. There are other commands for line drawing.  \special{em:moveto}
  4040. sets the current (drawing) point to the coordinates of the refer-
  4041. ence point without drawing a line: \special{em:lineto} draws a
  4042. line between the current point and the reference point, the ref-
  4043. erence point then becomes the current point.  A polygon can be
  4044. drawn with one \special{em:moveto} and a number of subsequent
  4045. \special{em:lineto} commands.  The width of the line will be that set
  4046. by \special{em:linewidth width}.
  4047.  
  4048. \special{em:pcl string}
  4049.  
  4050. This command is ignored (without warning message) by all drivers
  4051. except dvihplj.  All blanks directly following em:pcl are skipped.
  4052. The remaining characters are copied unmodified into the output after
  4053. moving the cursor to the reference point.  The following example
  4054. prints a gray rectangle of height and width 0.5in:
  4055.  
  4056.     \special{em:pcl ^^1b*c15g360h360v2P}
  4057.  
  4058. \special{em:pclfile name}
  4059.  
  4060. This command is ignored (without warning message) by all drivers
  4061. except dvihplj.  The file `name' is copied unmodified into the out-
  4062. put after moving the cursor to the reference point.  dvihplj seeks the
  4063. file with the specified name only, that is, in the current working di-
  4064. rectory if no absolute path name is given.  Example:
  4065.  
  4066.     \special{em:pclfile myfile.pcl}
  4067.  
  4068.  
  4069. 7 Miscellaneous topics
  4070. ======================
  4071.  
  4072.  
  4073. 7.1 General notes
  4074. -----------------
  4075.  
  4076. If the DOS versions of the drivers run out of memory, expanded memory
  4077. (EMS 4.0) and extended memory will be used.  If there is no or not
  4078. enough expanded memory or if usage of EMS and XMS has been disabled
  4079. (see +use-ems:off and +use-xms:off), a temporary file will be created.
  4080. You can select the directory used for the temporary file by setting
  4081. the TMP environment variable.  If TMP isn't set, the temporary file
  4082. will be created in the root directory of the current drive.  Normally,
  4083. the temporary file will be deleted automatically.  The name of the tem-
  4084. porary file starts with `dv' followed by a number.
  4085.  
  4086. The driver dvidot (as well as dviscr and dvivik if +zoom is used) will
  4087. not print characters which have a pixel row falling above the top
  4088. paper edge.
  4089.  
  4090. Fonts may only contain characters with codes in the range 0 to 255.
  4091.  
  4092. The width of a character may not exceed 32760 points and the height
  4093. 32766.  If a character needs more than 32000 bytes of memory (say,
  4094. 504x507 points) the driver slows down noticeably.
  4095.  
  4096. If MS-DOS or PC-DOS issues a printer timeout error in the middle of
  4097. printing then you should this command to remove timeout checks:
  4098.  
  4099.     mode lpt1,,p                                    (DOS 2.x and 3.x)
  4100.     mode lpt1 retry=r                               (DOS 4.0 or later)
  4101.  
  4102. where lpt1 is to be replaced by the correct printer port designation.
  4103. You may want to use the +xon-xoff:on option when printing to the ports
  4104. LPT1 to LPT4.
  4105.  
  4106. The text of error messages is read from the file dvidrv.err.  This
  4107. file must be in the `data' subdirectory of the emTeX directory.  This
  4108. file has been created to save memory, not so that the user can change
  4109. the messages.
  4110.  
  4111.  
  4112. 7.2 Output with the +verbosity:4 option
  4113. ---------------------------------------
  4114.  
  4115.  
  4116. 7.2.1 dvihplj
  4117. -------------
  4118.  
  4119. At the end of each page: <a+b,c,d>
  4120.  
  4121. a       is the memory used for fonts
  4122.  
  4123. b       is the memory used for this page
  4124.  
  4125. c       is the number of fonts defined so far
  4126.  
  4127. d       is the number of fonts used on this page
  4128.  
  4129.  
  4130. 7.2.2 All drivers
  4131. -----------------
  4132.  
  4133. At the end of the program the memory usage, for example
  4134.  
  4135.     page buffers            4       40024
  4136.  
  4137. This means that 4 page buffers using a total of 40024 bytes were used.
  4138. This memory usage table will also be printed (without +verbosity:4) if
  4139. there is not enough memory.
  4140.  
  4141.  
  4142. 7.3 Return codes (ERRORLEVEL)
  4143. -----------------------------
  4144.  
  4145. The following return codes are passed to the parent process:
  4146.  
  4147. 0       No errors
  4148.  
  4149. 1       Bad argument
  4150.  
  4151. 2       Bad \special command
  4152.  
  4153. 8       Fonts are to be generated
  4154.  
  4155. 9       Error (dvidrv.exe program)
  4156.  
  4157. 100     Not enough memory
  4158.  
  4159. 101     Not enough memory or disk space
  4160.  
  4161. 200     Bad DVI file
  4162.  
  4163. 201     Bad font file or font not found
  4164.  
  4165. 202     Bad graphics file or graphics file not found
  4166.  
  4167. 203     Bad VF file
  4168.  
  4169. 204     Other error
  4170.  
  4171. 254     Internal error
  4172.  
  4173. You can use IF ERRORLEVEL in batch files to check the return code.
  4174.  
  4175.  
  4176. 7.4 Known bugs
  4177. --------------
  4178.  
  4179. Old versions of DR-DOS 5.0 will not allow output directly to a paral-
  4180. lel port (for example, PRN) -- you must use option +xon-xoff:on (use
  4181. the BIOS for output) together with LPT1 to LPT4, or COM1 to COM4.
  4182.  
  4183. There seems to be a bug in the Video 7 PM driver which causes dvipm to
  4184. abort.
  4185.  
  4186. Virtual fonts currently cannot reference themselves directly or indi-
  4187. rectly at a different size.
  4188.  
  4189. dvipm doesn't reclaim all memory when opening a new DVI file.  If
  4190. dvipm runs out of memory after opening several DVI files, restart
  4191. dvipm.
  4192.  
  4193.  
  4194. 8 Installation of the printer drivers and the screen previewers
  4195. ===============================================================
  4196.     Unpack the betatest package as follows:
  4197.  
  4198.         c:
  4199.         cd \
  4200.         unzip -o a:dvid15g1
  4201.         unzip -o a:dvid15g2
  4202.  
  4203.     or
  4204.  
  4205.         pkunzip -d -o a:dvid15g1 c:\
  4206.         pkunzip -d -o a:dvid15g2 c:\
  4207.  
  4208.     This example assumes that dvid15g1.zip and dvid15g2.zip are on the
  4209.     diskette in drive A: and that emTeX is installed on drive C:.
  4210.  
  4211. 1.  As dvimsp has been replaced with dvidot, you should delete
  4212.     \emtex\dvimsp.exe, \emtex\msp*.bat and \emtex\msp*.cmd.
  4213.  
  4214.     Some files have been moved from the \emtex directory to
  4215.     \emtex\data.  Therefore, you should delete the following files in
  4216.     \emtex: *.cnf, *.dot, *.sub, dvidrv.err, fontlist.
  4217.  
  4218.     If you are using non-standard DOT files, you have to use
  4219.  
  4220.         makedot -c filename.ext
  4221.  
  4222.     to recreate them from the text files.
  4223.  
  4224.     If you are using your own batch files, please note that dvidrv.exe
  4225.     is no longer used under OS/2.
  4226.  
  4227. 2.  If you have got font diskettes, copy the fonts to the disk.  For
  4228.     example, to install them on drive c: do as follows:
  4229.  
  4230.         md c:\texfonts
  4231.         copy a:*.fli c:\texfonts
  4232.  
  4233.     The last line has to be repeated for all suitable font diskettes.
  4234.     The fonts should if possible not be put into a directory under
  4235.     \emtex, in order to simplify the installation of a new version
  4236.     of emTeX (that is, without having to copy the fonts again to the
  4237.     disk).
  4238.  
  4239. 3.  If you don't have fonts or if you don't have all required fonts,
  4240.     install METAFONT and MFjob, i.e., packages MF and MFWARE.  Missing
  4241.     fonts will be generated automatically when required.  MFjob 1.1m
  4242.     or later is required.  See section 4.4, `Generating missing fonts
  4243.     automatically with MFjob and METAFONT'.
  4244.  
  4245. 4.  The following environment variables should be set:
  4246.  
  4247.     DVIDRVINPUT
  4248.             search path for dvi files
  4249.  
  4250.     DVIDRVFONTS
  4251.             search path for fli files
  4252.  
  4253.     DVIDRVGRAPH
  4254.             search path for graphics files
  4255.  
  4256.     EMTEXDIR
  4257.             the emTeX directory
  4258.  
  4259.     For example, this can be done by
  4260.  
  4261.         set dvidrvinput=c:\mytex;c:\emtex\doc;c:\emtex\doc\english
  4262.         set dvidrvfonts=c:\texfonts
  4263.         set dvidrvgraph=c:\mytex;c:\emtex\doc
  4264.         set emtexdir=c:\emtex
  4265.  
  4266.     Note that the environment variables should not contain whitespace.
  4267.     When using `Cut & Paste' blanks may sneak in at the end of the
  4268.     lines.
  4269.  
  4270.     The directories c:\emtex\doc\english (DVIDRVINPUT) and
  4271.     c:\emtex\doc (DVIDRVGRAPH) are used for printing the dvidrv
  4272.     manual.
  4273.  
  4274.     All these lines should be put in the file autoexec.bat (config.sys
  4275.     for OS/2).  \emtex\set-tex.bat or \emtex\set-tex.cmd can be used
  4276.     as models, or modified and called by autoexec.bat.  If you don't
  4277.     want to set the environment variables (or if you cannot), you have
  4278.     to insert the desired directories into the configuration files
  4279.     (*.cnf) after renaming.
  4280.  
  4281. 5.  To use dviscr under OS/2 or if you use dvipm and want the VGA or
  4282.     8514/A palette to be modified for better gray scaling, you should
  4283.     insert the line
  4284.  
  4285.         IOPL=YES
  4286.  
  4287.     into config.sys (unless already done).  If you don't need the
  4288.     spooler of OS/2 1.x, you should disable it.  Under OS/2 2.x,
  4289.     you can tell the spooler to print while receiving data from an
  4290.     application program.  This setting is recommended.
  4291.  
  4292.     Several OS/2 environment variables (and the value of LIBPATH)
  4293.     should be supplemented in config.sys.  This is done by appending
  4294.     the additional pathname to the end of the appropriate line of
  4295.     config.sys, separated with a semicolon from the previous value.  A
  4296.     semicolon at the end of the line is optional.
  4297.  
  4298.     The HELP environment variable should be supplemented with
  4299.     \emtex\help for dvipm on-line help.  The HELP environment variable
  4300.     must be set in config.sys.  Example:
  4301.  
  4302.         SET HELP=C:\OS2\HELP;C:\EMTEX\HELP
  4303.  
  4304.     Moreover, you should supplement the BOOKSHELF environment variable
  4305.     with \emtex\book\english to be able to view the dvidrv on-line
  4306.     documentation by typing
  4307.  
  4308.         view dvidrv
  4309.  
  4310.     Example:
  4311.  
  4312.         SET BOOKSHELF=C:\OS2\BOOK;C:\EMTEX\BOOK\ENGLISH
  4313.  
  4314.     To use dvipm, the files dvipmres.dll, emdll1x.dll, emdll1x2.dll,
  4315.     emdll2x.dll and emx.dll must be in a directory specified by the
  4316.     LIBPATH entry in config.sys.  Add c:\emtex\dll (insert the correct
  4317.     drive letter) to LIBPATH.  Example:
  4318.  
  4319.         LIBPATH=.;C:\OS2\DLL;C:\OS2\MDOS;C:\;C:\OS2\APPS\DLL;C:\EMTEX\DLL
  4320.  
  4321.     When using OS/2 1.x, you should modify vp.cmd to run dvipm16.exe
  4322.     (or dvipm167.exe to take advantage of the numeric coprocessor if
  4323.     you have one) instead of dvipm.exe.
  4324.  
  4325.     Reboot to make the changes to config.sys take effect.
  4326.  
  4327. 6.  Now the following batch files can be used:
  4328.  
  4329.     v       screen previewer (dviscr)
  4330.  
  4331.     vs      screen previewer (dviscrs)
  4332.  
  4333.     vp      screen previewer for Presentation Manager (dvipm)
  4334.  
  4335.     prthplj
  4336.             printer driver (dvihplj: HP LaserJet+, 300 DPI)
  4337.  
  4338.     prthpljh
  4339.             printer driver (dvihplj: HP LaserJet IV, 600 DPI)
  4340.  
  4341.     prtp6l  printer driver (dvidot p6l: P6 with 180 DPI)
  4342.  
  4343.     prtp6m  printer driver (dvidot p6m: P6 with 360x180 DPI)
  4344.  
  4345.     prtp6h  printer driver (dvidot p6h: P6 with 360 DPI)
  4346.  
  4347.     prtfx   printer driver (dvidot fx80: EPSON FX-80)
  4348.  
  4349.     prtfxl  printer driver (dvidot fx80l: EPSON FX-80, draft)
  4350.  
  4351.     prtlql  printer driver (dvidot lql: EPSON LQ, 180 DPI)
  4352.  
  4353.     prtlqm  printer driver (dvidot lqm: EPSON LQ, 360x180 DPI)
  4354.  
  4355.     prtlqh  printer driver (dvidot lqh: EPSON LQ, 360 DPI).  Note: not
  4356.             all LQ printers support 360 DPI
  4357.  
  4358.     prtsty  printer driver (dvidot sty800: EPSON Stylus 800)
  4359.  
  4360.     prtitoh
  4361.             printer driver (dvidot itoh: C.ITOH 8510A)
  4362.  
  4363.     prtaiw  printer driver (dvidot aiw: Apple Imagewriter)
  4364.  
  4365.     pcxlj   create graphics files (parameters: lj.cnf)
  4366.  
  4367.     pcxp6l  create graphics files (parameters: p6l.cnf)
  4368.  
  4369.     pcxp6m  create graphics files (parameters: p6m.cnf)
  4370.  
  4371.     pcxp6h  create graphics files (parameters: p6h.cnf)
  4372.  
  4373.     pcxfx   create graphics files (parameters: fx.cnf)
  4374.  
  4375.     pcxito  create graphics files (parameters: ito.cnf)
  4376.  
  4377.     If you have a version of DOS prior to 3.3, then you should change
  4378.     the first line of these batch files from
  4379.  
  4380.         @echo off
  4381.  
  4382.     to
  4383.  
  4384.         echo off
  4385.  
  4386.     The batch files v.cmd, v.bat and vs.bat are preconfigured to use
  4387.     the configuration file lj.cnf (LJ fonts).  vp.cmd is preconfigured
  4388.     to use the configuration file p6l.cnf (P6L fonts).  To use a
  4389.     different configuration file, change the batch files or give the
  4390.     name of the configuration file on the command line, for instance:
  4391.  
  4392.         v @p6l.cnf mytext
  4393.  
  4394.     If you don't have the correct fonts for a printer driver, you can
  4395.     in some cases (marked * in the following table) use other fonts by
  4396.     scaling these.  This results in some loss of quality.  When using
  4397.     dviscr or dvipm, better enable gray scaling.  Example: Use
  4398.  
  4399.         @p6m.cnf +zoom-x:2
  4400.  
  4401.     instead of
  4402.  
  4403.         @p6l_p6m.cnf
  4404.  
  4405.     for dviscr and dvipm.  The following configuration files are
  4406.     available:
  4407.  
  4408.         File name    │ Resolution │ Fonts │ Font resolution
  4409.         ─────────────┼────────────┼───────┼────────────────
  4410.         bj.cnf       │    360     │  BJ   │      360
  4411.         fax.cnf      │  204x196   │  FAX  │    204x196
  4412.         fx.cnf       │  240x216   │  FX   │    240x216
  4413.         ito.cnf      │  160x144   │  ITO  │    160x144
  4414.         lj.cnf       │    300     │  LJ   │      300
  4415.         ljh.cnf      │    600     │  LJH  │      600
  4416.         mxl_fx.cnf   │  120x72    │  FX   │    240x216
  4417.         p6h.cnf      │    360     │  P6H  │      360
  4418.         p6l.cnf      │    180     │  P6L  │      180
  4419.         p6l_p6h.cnf *│    180     │  P6H  │      360
  4420.         p6l_p6m.cnf *│    180     │  P6M  │    360x180
  4421.         p6m.cnf      │  360x180   │  P6M  │    360x180
  4422.         p6m_p6h.cnf *│  360x180   │  P6H  │      360
  4423.  
  4424.     The configuration files marked * use scaled fonts, see
  4425.     +font-scaling.
  4426.  
  4427.     To use the executables which exploit the numeric coprocessor, add
  4428.     the character `7' to the program name used in the batch files.
  4429.     To use the coprocessor version of dviscr, for instance, replace
  4430.     dviscr with dviscr7 in v.bat (or v.cmd).  Of course that won't
  4431.     work unless there is in fact a coprocessor (such as 8087 and
  4432.     80387) installed in your computer.
  4433.  
  4434. 7.  Adjust the margins.  Refer to the description of the +left-margin
  4435.     and +top-margin options for the method for adjusting margins.  You
  4436.     should insert the settings into the appropriate batch files, not
  4437.     into the configuration files as the margins depend on the printer
  4438.     not on the fonts.
  4439.  
  4440. 8.  If you are using a NEC P7, EPSON FX-100 or another wide printer,
  4441.     change the batch files prt*.cmd and prt*.bat for the bigger paper
  4442.     width.  Replace fx80 with fx100, replace p6l, p6m and p6h with
  4443.     p7l, p7m and p7h, respectively, replace lql, lqm and lqh with
  4444.     lqwl, lqwm and lqwh, respectively.
  4445.  
  4446. 9.  To print the dvidrv manual, install the DVIDRVMA package and read
  4447.     the instructions in dvidrvma.doc.  Warning: Do not print the
  4448.     manual, it's entirely out of date.
  4449.  
  4450. 10. After moving and resizing the dvipm windows, save the settings.
  4451.  
  4452.  
  4453. 9 Explanation of warning and error messages
  4454. ===========================================
  4455.  
  4456. When you get the error message `[cannot open dvidrv.err]', the file
  4457. dvidrv.err (which contains the messages) couldn't be found.  You'll
  4458. find the text of the message in this list using the message number
  4459. produced by the driver.
  4460.  
  4461.  
  4462. 9.1 Warning messages
  4463. --------------------
  4464.  
  4465. If the verbosity, see +verbosity, is set to a lower number than that
  4466. given in brackets, then that warning message will be suppressed.
  4467.  
  4468. If the warning message is marked with [F] then the warning is sup-
  4469. pressed when the option +font-load-limit:-1 is chosen.
  4470.  
  4471. If the warning message has a driver name in brackets then it applies
  4472. only to that driver.
  4473.  
  4474. #1 and #2 stand for variable fields in the message.
  4475.  
  4476. All warning messages have the format
  4477.  
  4478.     Warning 1xxx: ...
  4479.  
  4480. In the following only the number and the message are given.
  4481.  
  4482. 1000: argument `#1' of option `#2' is not a valid number
  4483.  
  4484.     The numeric argument #1 of the option #2 is not valid for the op-
  4485.     tion or an unacceptable size is given in response to a prompt for
  4486.     a font file name.
  4487.  
  4488. 1001: invalid number or unit of measure in argument `#1' of option `#2'
  4489.  
  4490.     The argument #1 of the option #2 is an illegal number or the unit
  4491.     is not acceptable.  Note that you have to enter units using lower
  4492.     case letters.
  4493.  
  4494. 1002: argument `#1' of option `#2' is too long
  4495.  
  4496. The argument #1 of the option #2 is too long.
  4497.  
  4498. 1005: argument `#1' of option `#2' is not a valid page number
  4499.  
  4500. The argument of +first-page or +last-page isn't acceptable.
  4501.  
  4502. 1008: ambiguous option: #1. Matching options are:
  4503.  
  4504.     The input #1 is ambiguous: there is more than one option matching
  4505.     your input #1.  A list of all matching options is displayed.
  4506.  
  4507. 1009: unknown option: #1
  4508.  
  4509. The option #1 does not exist.
  4510.  
  4511. 1010: argument `#1' of option `#2' is not a valid unit of measure
  4512.  
  4513.     The option +unit or +ruler-unit is given with an unacceptable or
  4514.     misspelt unit, #1.  Acceptable units are pt, pc, in, bp, cm, mm,
  4515.     dd, cc, sp and px.  You have to use lower case letters.
  4516.  
  4517. 1016: output file name ignored due to error in input file name
  4518.  
  4519.     The input file was not found.  To avoid the output file name to be
  4520.     taken as input file name, the output file name has been ignored.
  4521.  
  4522. 1017: too many file names: `#1'
  4523.  
  4524.     There are too many arguments which do not begin with `-', `+' or
  4525.     `/' and are therefore taken to be file names.  Depending on the
  4526.     driver, only 1 or 2 file names can be given.  You can give 1 file
  4527.     name for the previewers (dviscr, dvivik and dvipm).  You can give
  4528.     1 or 2 file names for the printer drivers dvidot and dvihplj.
  4529.     Note that you must not insert blank spaces between the name of an
  4530.     option and the argument of that option.
  4531.  
  4532. 1018: input file `#1' not found: #2
  4533.  
  4534.     The DVI file #1 cannot be found.  DVI files are sought using the
  4535.     template set with the +dvi-file option.  The default (without
  4536.     using a configuration file) is to search the current working di-
  4537.     rectory.  The configuration files that come with dvidrv cause DVI
  4538.     files to be sought in the current working directory and in all
  4539.     directories listed in the DVIDRVINPUT environment variable.  #2
  4540.     gives the reason for the failure to open the file.
  4541.  
  4542. 1019: cannot create output file `#1'
  4543.  
  4544.     The output file cannot be opened: the file name is invalid, the di-
  4545.     rectory doesn't exist or you don't have write access to the direc-
  4546.     tory or the output file already exists and has read-only mode.
  4547.  
  4548. 1020: template too long
  4549.  
  4550.     The template argument to an option is too long.  Templates may
  4551.     contain up to 127 characters.
  4552.  
  4553. 1021: missing template
  4554.  
  4555.     A template must be given to some options.  Note that you must not
  4556.     insert blanks between an option and its argument.
  4557.  
  4558. 1022 environment variable `#1' contains whitespace
  4559.  
  4560.     The value of the environment variable #1 contains space or tab
  4561.     characters.  To avoid problems, you should edit the SET statement
  4562.     used for setting that environment variable.
  4563.  
  4564. 1023: cannot nest response files
  4565.  
  4566.     A response file cannot contain calls to other response files.
  4567.  
  4568. 1024: response file `#1' not found
  4569.  
  4570.     The @responsefile cannot be found.  Response files are sought
  4571.     using the template set with the +response-files option.  The de-
  4572.     fault is to search the current working directory and the `data'
  4573.     subdirectory of the emTeX directory.  Set the EMTEXDIR environment
  4574.     variable to define the emTeX directory, which is `\emtex' by de-
  4575.     fault.  There is no default extension for response files.  Note
  4576.     that the configuration files that come with the drivers have names
  4577.     ending in `.cfg'.
  4578.  
  4579. 1025: argument `#1' of option `#2' is invalid
  4580.  
  4581.     The argument #1 of option #2 is not valid.
  4582.  
  4583. 1026: +section-count overrides +section-size
  4584.  
  4585.     If both +section-count and +section-size are used with a non-zero
  4586.     value and the values don't match, +section-count takes precedence
  4587.     over +section-size.
  4588.  
  4589. 1100: preamble data doesn't match postamble data:                          [2]
  4590.       pre.#1=#2, post.#1=#3
  4591.  
  4592.     The value #1 in the preamble differs from the value in the
  4593.     postamble.  Has somebody been meddling with this DVI file? The
  4594.     value given in the preamble will be used.
  4595.  
  4596. 1200: checksum does not match                                            [2,F]
  4597.       font file #1: #2
  4598.       input file #3: #4
  4599.  
  4600.     The font file #1 does not match the TFM file.
  4601.  
  4602. 1201: wrong design size                                                  [2,F]
  4603.       font file #1: #2
  4604.       input file #3: #4
  4605.  
  4606.     The font file #1 does not match the TFM file.
  4607.  
  4608. 1202: wrong magnification                                                [2,F]
  4609.       font file #1: #2
  4610.       input file #3: #4
  4611.  
  4612.     The font file #1 does not match the TFM file.
  4613.  
  4614. 1203: character #1: pixel width off by #2                                [3,F]
  4615.  
  4616.     The width of the character #1 (decimal) differs from the width
  4617.     calculated from the TFM file by more than 3, namely by #2 (always
  4618.     a signed number).  If #2 is positive then the pixel width is the
  4619.     larger, if #2 is negative then the TFM width is the larger.  This
  4620.     warning appears usually when the font file does not match the TFM
  4621.     file used by TeX, in particular, when the font is loaded with the
  4622.     wrong magnification.
  4623.  
  4624. 1204: `#1' is not a usable font file                                       [3]
  4625.  
  4626.     In searching for a font file, the file #1 has been found.  This
  4627.     file, however, does not look like a font file.  After issuing the
  4628.     warning, the next step in the search, described above, is taken.
  4629.  
  4630. 1205: font #1 [#2] not found
  4631.  
  4632.     No suitable file for font #1 can be found.  For further
  4633.     explanation see `Font search rules'.  See also the installation
  4634.     instructions.
  4635.  
  4636. 1206: +batch-mode: font #1 replaced by #2                                  [1]
  4637.  
  4638.     While +batch-mode was active, font file #2 has been used for font
  4639.     #1 as a suitable file cannot be found.
  4640.  
  4641. 1207: cannot open font library file `#1'
  4642.  
  4643.     A font library file (see +font-libraries option) could not be
  4644.     found.  Maybe you have given too many names (be careful with
  4645.     $env:!).
  4646.  
  4647. 1208: font #1 replaced by #2 (deviation: #3%)                               [1]
  4648.  
  4649.     The size of font #1 has been replaced by the closest available
  4650.     font size by applying +font-size-tolerance and +font-sizes.  The
  4651.     deviation of size is #3%.
  4652.  
  4653. 1209: do you want to call MFjob to generate #1 missing fonts now?
  4654.  
  4655.     #1 have been marked to be generated.  You can choose to call MFjob
  4656.     and METAFONT to generate those fonts, but that can take some time.
  4657.     To generate the fonts, type Y.  To view or print the document
  4658.     using replaced fonts, type N.  To get a list of the fonts to be
  4659.     generated, type ?.
  4660.  
  4661. 1210: #1 is not a usable TFM file
  4662.  
  4663.     The file #1 is not a TFM file.
  4664.  
  4665. 1211: font #1 not loaded -- output will be distorted
  4666.  
  4667.     Font #1 was not loaded as /d has been given for that font in a
  4668.     font substitution file or as you have entered /d.  The positions
  4669.     of other objects are wrong because characters from this font are
  4670.     omitted entirely.
  4671.  
  4672. 1212: TFM file for font `#1' not found
  4673.  
  4674.     You have told the driver to use TFM files and the driver could
  4675.     not find a TFM file for font #1.  The word space parameter, which
  4676.     is used for rounding pixel positions, will be estimated by the
  4677.     driver.  See +tfm-files and +use-tfm-files.
  4678.  
  4679. 1213: font file `#1': PXL file formats are obsolete, use PK instead
  4680.  
  4681.     As the PXL file formats are obsolescent, you should use PK files
  4682.     instead of PXL files.  If you have the METAFONT sources for the
  4683.     font or can otherwise recreate the font with GFtoPK, you should do
  4684.     so.  Use PXtoPK only if there is no other way for creating a PK
  4685.     file for the font.
  4686.  
  4687. 1300: `#1' is not a usable graphics file
  4688.  
  4689.     When searching for a graphics file, the file #1 has been found.
  4690.     This file is, however, not a valid graphics file.  After this
  4691.     warning has been issued, the search will continue according to the
  4692.     rules described above.
  4693.  
  4694. 1301: graphics file #1 (graph #2; #3 DPI) not found
  4695.  
  4696.     The graphics file #1 cannot be found -- the command is
  4697.     \special{em:graph #2}.
  4698.  
  4699. 1302: graph #1 omitted                                                     [1]
  4700.  
  4701.     The picture #1 is not printed because you have entered /d.
  4702.  
  4703. 1303: +batch-mode: graphics file #1 (#2 DPI) not found                     [1]
  4704.  
  4705.     The graphics file #1 with a resolution of #2 DPI was not found and
  4706.     -- due to +batch-mode -- omitted.
  4707.  
  4708. 1400: undefined point: #1
  4709.  
  4710.     The point #1 is not defined though it is used in
  4711.     \special{em:line}.  Define all points used in \special{em:line}
  4712.     commands.
  4713.  
  4714. 1401: duplicate point number: #1
  4715.  
  4716.     The point #1 has been declared more than once in a
  4717.     \special{em:point #1}.  Point numbers have to be unique for each
  4718.     page.
  4719.  
  4720. 1402: bad line omitted: #1,#2
  4721.  
  4722.     The line with the endpoints #1 and #2 cannot be drawn.  For in-
  4723.     stance, horizontal lines cut horizontally cannot be drawn.
  4724.  
  4725. 1403: missing moveto
  4726.  
  4727.     A \special{em:lineto} has appeared without a preceding
  4728.     \special{em:moveto}.
  4729.  
  4730. 1500: printer not ready. R)etry or A)bort?
  4731.  
  4732.     The printer is not ready.  Type an `A' to abort the run, `R' to
  4733.     try again after fixing the problem (for instance, lack of paper).
  4734.     (Used only with +xon-xoff:on and LPT1 to LPT4.)
  4735.  
  4736. 1501: 1 warning message was not displayed in graphics mode     [dviscr,dvivik]
  4737. 1502: 1 warning message was not displayed in graphics mode, see #2
  4738. 1503: #1 warning messages were not displayed in graphics mode
  4739. 1504: #1 warning messages were not displayed in graphics mode, see #2
  4740.  
  4741.     There were #1 warning messages while the display was in graphics
  4742.     mode.  Please check the transcript file #2 for warning messages.
  4743.  
  4744.  
  4745. 9.2 Fatal errors (2xxx)
  4746. -----------------------
  4747.  
  4748. All fatal errors have the format
  4749.  
  4750.     *** Fatal error 2xxx: ...
  4751.  
  4752. In the following only the number and ... will be shown.
  4753.  
  4754. 2000: out of memory
  4755.  
  4756. There is not enough memory to run.  Further information is given
  4757. showing how much memory was used by what.  In some cases, this error
  4758. can be prevented by using +font-load-limit:-1.
  4759.  
  4760. 2001: cannot open #1 file `#2'
  4761.  
  4762.     File #2 not found.
  4763.  
  4764. 2002: cannot create file `#1'
  4765.  
  4766.     The file cannot be opened: the file name is invalid, the directory
  4767.     doesn't exist or you don't have write access to the directory or
  4768.     the output file already exists and has read-only mode.
  4769.  
  4770. 2003: cannot write to file `#1'
  4771.  
  4772.     While writing to #1 an error was noted; a possible reason for this
  4773.     error is that the disk is full.  If #1 is a device such as PRN,
  4774.     see help.eng for help.
  4775.  
  4776. 2004: invalid scale factor
  4777.  
  4778.     A font or virtual font is bad.
  4779.  
  4780. 2005: cannot use XON/XOFF flow control
  4781.  
  4782.     XON/XOFF flow control cannot be used as the port does not exist.
  4783.  
  4784. 2006: serial interface time-out
  4785.  
  4786.     When using the XON/XOFF flow control, 60 seconds has elapsed since
  4787.     an XOFF was received without an XON.
  4788.  
  4789. 2007: out of string space
  4790.  
  4791.     Internal table overflow, no remedy possible (besides trying to
  4792.     print the text in smaller chunks).
  4793.  
  4794. 2008: cannot open temporary file `#1'
  4795.  
  4796.     The drivers use (due to lack of memory) a temporary file, which
  4797.     couldn't be opened.  Change the TMP environment variable.
  4798.  
  4799. 2009: temporary file write error (disk full?)
  4800.  
  4801.     Out of disk space for temporary file or some other problem.  By
  4802.     setting the TMP environment variable move the temporary file to a
  4803.     drive with enough storage space.
  4804.  
  4805. 2010: printer not ready, aborted by user
  4806.  
  4807.     You entered `A' after receiving warning 1500.
  4808.  
  4809. 2011: cannot read from console
  4810.  
  4811.     You have started the driver (under OS/2) using detach or you have
  4812.     entered Ctrl-Z or the driver cannot read from standard input for
  4813.     another reason.
  4814.  
  4815. 2012: out of virtual memory
  4816.  
  4817.     More virtual memory is required than the driver can manage.
  4818.  
  4819. 2013: cannot read file `#1'
  4820.  
  4821.     An error occurred while reading file #1.
  4822.  
  4823. 2014: cannot make book due to missing or wrong parameters
  4824.  
  4825.     If +page-list-file is used, +section-count and +section-size
  4826.     must not be used.  If +section-count or +section-size are used,
  4827.     +columns must have an even value.
  4828.  
  4829. 2015: recursive search: too many directories
  4830.  
  4831.     The number of directories which can be handled by the drivers for
  4832.     the ! and !! suffixes in environment variables used by $ENV: in
  4833.     templates is limited.  That limit has been exceeded.
  4834.  
  4835. 2100: corrupt DVI file (undefined font)
  4836. 2101: corrupt DVI file (no font selected)
  4837. 2102: corrupt DVI file (DVI file ended prematurely)
  4838. 2103: corrupt DVI file (position stack overflow)
  4839. 2104: corrupt DVI file (position stack underflow)
  4840. 2105: corrupt DVI file (bad postamble)
  4841. 2106: corrupt DVI file (postamble not found)
  4842. 2107: corrupt DVI file (illegal command in postamble)
  4843. 2108: input file is not a DVI file
  4844. 2109: corrupt DVI file (unexpected set_char command)
  4845. 2110: corrupt DVI file (unexpected fnt_num command)
  4846. 2111: corrupt DVI file (unexpected bop command)
  4847. 2112: corrupt DVI file (unexpected eop command)
  4848. 2113: corrupt DVI file (unexpected rule command)
  4849. 2114: corrupt DVI file (unexpected motion command)
  4850. 2116: corrupt DVI file (unexpected post_post command)
  4851. 2117: corrupt DVI file (unexpected pre command)
  4852. 2118: corrupt DVI file (invalid command)
  4853. 2119: corrupt DVI file (back pointer does not point to bop)
  4854. 2120: corrupt DVI file (more pages than claimed in postamble)
  4855.  
  4856.     Bad DVI file.
  4857.  
  4858. 2121: character number #1 out of range
  4859.  
  4860.     An attempt is being made to set a character with a code outside
  4861.     the acceptable range (0-255).
  4862.  
  4863. 2122: page too complex
  4864.  
  4865.     A side may contain up to 65536 objects (characters, rules, lines,
  4866.     pictures).  You have succeeded in exceeding this limit.
  4867.  
  4868. 2124: too many points
  4869.  
  4870.     You have exceeded the maximum number of \special{em:point},
  4871.     \special{em:moveto}, or \special{em:lineto} commands per page.
  4872.  
  4873. 2125: too many lines
  4874.  
  4875.     You have exceeded the maximum number of \special{em:line},
  4876.     \special{em:moveto}, or \special{em:lineto} commands per page.
  4877.  
  4878. 2126: IVD files not supported yet
  4879.  
  4880.     The current version of the drivers cannot handle IVD files.  Use
  4881.     ivd2dvi to convert the IVD file into a DVI file.  Alternatively,
  4882.     use TeX--XeT instead of TeX-XeT.
  4883.  
  4884. 2131: erroneous \special{#1}: undefined keyword
  4885.  
  4886.     After `em:' there is a unknown keyword in \special argument #1.
  4887.  
  4888. 2132: erroneous \special{#1}: bad parameter
  4889.  
  4890.     The \special declaration #1 an unacceptable parameter (for in-
  4891.     stance, \special{em:point 0}).
  4892.  
  4893. 2200: +batch-mode: font #1 not found
  4894.  
  4895.     If +batch-mode is active and when a font cannot be found after all
  4896.     the search rules have been tried, the program terminates with this
  4897.     message.
  4898.  
  4899. 2201: font file error PK01
  4900. 2202: font file error PK02
  4901. 2203: font file error PK03
  4902. 2204: font file error PK04
  4903.  
  4904.     Bad PK font file.
  4905.  
  4906. 2205: font #1 too big (#2 characters)
  4907.  
  4908.     This font has too many characters.
  4909.  
  4910. 2206: character number #1 not supported
  4911.  
  4912.     This version of the driver can only handle character codes from
  4913.     0 to 255; a character with a code outside this range has been
  4914.     encountered.
  4915.  
  4916. 2207: font file `#1' ended prematurely
  4917.  
  4918.     Bad font file: too short!
  4919.  
  4920. 2208: font file `#1' disappeared
  4921.  
  4922.     The font file #1 cannot be opened although it was there initially.
  4923.     Perhaps the diskette has been swapped.
  4924.  
  4925. 2209: undefined character #1 in font #2
  4926.  
  4927.     Trying to use a character which is not in the font file.
  4928.  
  4929. 2210: character too big
  4930.  
  4931.     A character is too big.
  4932.  
  4933. 2211: character too big for scaling
  4934.  
  4935.     A character is too big to scale (!)
  4936.  
  4937. 2213: `#1' is not a font library file
  4938.  
  4939.     The file selected by the option +font-libraries is not a font li-
  4940.     brary file.
  4941.  
  4942. 2214: use `fontlib /2 /b#1 #2' to convert font library
  4943.  
  4944.     The font library file #2 must be converted to the new font
  4945.     library format by using fontlib.  You should also use the
  4946.     /f\emtex\data\fontlist option when running fontlib.  The batch
  4947.     file newfonts.bat and newfonts.cmd can be used for converting all
  4948.     the font libraries.
  4949.  
  4950. 2215: cannot run MFjob, error code=#1
  4951.  
  4952.     The driver cannot run mfjob.exe.
  4953.  
  4954. 2216: MFjob failed
  4955.  
  4956.     MFjob reported an error.
  4957.  
  4958. 2217: cannot handle more than 255 fonts
  4959.  
  4960.     The number of fonts is limited to 255.
  4961.  
  4962. 2220: TFM file `#1' corrupted
  4963.  
  4964.     The TFM file #1 is bad.
  4965.  
  4966. 2301: graphics file `#1' ended prematurely
  4967.  
  4968.     Bad graphics file: too short!
  4969.  
  4970. 2302: graphics image too big
  4971.  
  4972.     The picture is too wide.
  4973.  
  4974. 2303: graphics image too big for scaling
  4975.  
  4976.     The picture is too big to scale (!)
  4977.  
  4978. 2400: syntax error in font substitution file `#1', line #2
  4979.  
  4980.     Line #2 in the font substitution file #1 has an error.
  4981.  
  4982. 2401: missing parameter file name                                     [dvidot]
  4983.  
  4984.     dvidot expects the name of a parameter file as its first argument.
  4985.  
  4986. 2402: parameter file `#1' not found                                   [dvidot]
  4987.  
  4988.     dvidot cannot find the parameter file #1.  The first argument on
  4989.     the command line must be the name of a parameter file.
  4990.  
  4991. 2403: invalid parameter file (#1)                                     [dvidot]
  4992.  
  4993.     #1 is a number showing the type of error found.
  4994.  
  4995. 2404: incompatible parameter file, use makedot to convert             [dvidot]
  4996.  
  4997.     The parameter file cannot be used with this version of dvidot.
  4998.     Use makedot for converting the parameter file.  See makedot.doc
  4999.     for details.
  5000.  
  5001. 2405: expression evaluation stack overflow                            [dvidot]
  5002.  
  5003.     Bad parameter file: there's too complex an arithmetic expression.
  5004.  
  5005. 2406: cannot compute checksum beyond end of header                    [dvidot]
  5006.  
  5007.     Bad parameter file: the checksum has to be computed for bytes
  5008.     outside the header.
  5009.  
  5010. 2407: output file doesn't allow random access                         [dvidot]
  5011.  
  5012.     Computing the checksum requires reading the output file.
  5013.     Therefore you cannot send output to a device.
  5014.  
  5015. 2408: cannot read output file                                         [dvidot]
  5016.  
  5017.     There was an error while reading the output file for computing the
  5018.     checksum.
  5019.  
  5020. 2409 cannot perform vertical motion (#1 dots)                         [dvidot]
  5021.  
  5022.     An attempt was made to perform a finer vertical motion than
  5023.     allowed by the parameter file's value of VMU=.  This should not
  5024.     happen because makedot rejects invalid settings of VMU=.
  5025.  
  5026. 2410: invalid page dimensions
  5027.  
  5028.     The values of +width or +height are too small or too big.
  5029.  
  5030. 2501: printer memory overflow                                        [dvihplj]
  5031.  
  5032.     Calculation shows that the printer's memory is now full.  Set the
  5033.     +memory option to the correct value or split the text into smaller
  5034.     pieces.  (+clear-fonts:1 may help.)
  5035.  
  5036. 2502: too many fonts per side                                        [dvihplj]
  5037.  
  5038.     There are more fonts required on this page than the printer can
  5039.     handle -- split up the text or use +clear-fonts:1.  You can use
  5040.     the +fonts-per-side option to set the number of fonts per side
  5041.     supported by your printer or to disable checking the number of
  5042.     fonts per side.
  5043.  
  5044. 2503: too many fonts                                                 [dvihplj]
  5045.  
  5046.     There are more fonts required in the text than the printer can
  5047.     handle -- split up the text or use +clear-fonts:1.  You can turn
  5048.     off checking the number of fonts by using the +fonts-per-side:0 op-
  5049.     tion.
  5050.  
  5051. 2504: value field in pcl: specification too long
  5052.  
  5053.     The maximum length for a PCL font selection string in a font
  5054.     substitution file has been exceeded.
  5055.  
  5056. 2511: page width exceeds #1px
  5057.  
  5058.     The width of the page set by the +width option may not exceed
  5059.     (converted) #1 px.
  5060.  
  5061. 2520: graphics mode not supported                                     [dviscr]
  5062.  
  5063.     There is no graphics adapter card or the card present is not
  5064.     supported by this driver.  Perhaps the graphics adapter card is
  5065.     supported by dviscr but dviscr doesn't correctly identify the
  5066.     card.  Please try to tell dviscr about the adapter type by using
  5067.     the +adapter option (for instance, +adapter:16 for a VGA with a
  5068.     color display).
  5069.  
  5070. 2602: corrupt VF file (premature end of DVI commands)
  5071. 2604: corrupt VF file (stack underflow)
  5072. 2608: corrupt VF file (bad preamble)
  5073. 2611: corrupt VF file (unexpected bop command)
  5074. 2612: corrupt VF file (unexpected bop command)
  5075. 2616: corrupt VF file (unexpected post_post command)
  5076. 2617: corrupt VF file (unexpected pre command)
  5077. 2618: corrupt VF file (invalid command)
  5078. 2621: corrupt VF file (unexpected fnt_def command)
  5079. 2622: corrupt VF file (unexpected post command)
  5080. 2643: corrupt VF file (invalid command)
  5081.  
  5082.     Bad VF file.
  5083.  
  5084. 2603: VF file too complex: stack overflow
  5085.  
  5086.     A virtual font can use a further virtual font which can, in its
  5087.     turn, use a further virtual font, and so on.  This error message
  5088.     is issued when this nesting is excessive or is in an endless loop.
  5089.  
  5090. 2640: input stack overflow
  5091.  
  5092.     A virtual font can use a further virtual font which can, in its
  5093.     turn, use a further virtual font, and so on.  This error message
  5094.     is issued when this nesting is excessive or is in an endless loop.
  5095.  
  5096. 2641: input stack underflow
  5097.  
  5098.     Bad VF file.
  5099.  
  5100. 2644: character number #1 out of range
  5101.  
  5102.     A character code in a VF file is unacceptable.
  5103.  
  5104. 2645: virtual font #1 too big (#2 characters)
  5105.  
  5106.     The virtual font #1 contains too many characters.
  5107.  
  5108. 2701: #1(#2): syntax error in page list file
  5109.  
  5110.     There's a syntax error in line #2 of file #1 given by
  5111.     +page-list-file.
  5112.  
  5113. 2702: #1(#2): page index out of range
  5114.  
  5115.     A page index given in line #2 of file #1 given by +page-list-file
  5116.     is too small or too big.
  5117.  
  5118.  
  5119. 9.3 Internal errors (3xxx)
  5120. --------------------------
  5121.  
  5122. All internal errors have the format
  5123.  
  5124.     *** Internal error 3xxx
  5125.  
  5126. or
  5127.  
  5128.     *** Internal error 3xxx: ...
  5129.  
  5130. If an internal error occurs, please tell the author.  Please make
  5131. copies of all files in use (DVI, MSP, PXL, PK, FLI, VF, SUB, log
  5132. files) and make a copy of the error message.  Please also make a note
  5133. of the arguments used.
  5134.  
  5135.  
  5136. 10 History
  5137. ==========
  5138.  
  5139. Items marked with `***' are VERY IMPORTANT!
  5140.  
  5141.  
  5142. Version 1.4e (internal)
  5143. -----------------------
  5144.  
  5145. -   The number of objects on a page now limited to 65536 (this reduces the
  5146.     number available under OS/2 but increases the number under DOS).
  5147.  
  5148. *** Temporary file, environment variable TMP.
  5149.  
  5150. -   New warnings and error messages (dvidrv.err changed).
  5151.  
  5152. -   Error message when there are too many lines corrected (\special).
  5153.  
  5154. -   Warning 1203 now appears only when there is a difference of at least
  5155.     4.
  5156.  
  5157. -   dvivik repaired.
  5158.  
  5159. -   %r, %s and width (1..8) as well as $r and $s:
  5160.       {%$}[<width>]<item>         (but see 1.4f)
  5161.  
  5162. -   dvihplj: /pi* truncated Esc sequence (corrected).
  5163.  
  5164. -   dvihplj: /2p double sided (on LaserJet IIID), also with /nf# and /np#.
  5165.  
  5166. -   dvivik: scrolling (if it doesn't work: /!400).
  5167.  
  5168. -   dviscr: EGA monochrome mode now works with 64KB EGA.
  5169.  
  5170. -   /n#, /k#, /nf#, /np#: range extended to 65535.
  5171.  
  5172. -   Up to 65535 input pages (was 1364).
  5173.  
  5174. -   Ends in line input if Ctrl-z is input or the process is detached.
  5175.  
  5176.  
  5177. Version 1.4f (internal)
  5178. -----------------------
  5179.  
  5180. *** Options /pf, /pl, /pi, /p@, /pg and /pv now use templates instead of
  5181.     lists of directories.
  5182.  
  5183. *** @r and @Vr replace $r and $s, possibilities extended.
  5184.  
  5185. *** Argument evaluation can no longer accept environment variables in the
  5186.     form %env%, so templates now include $env:
  5187.  
  5188. -   Comments beginning with % can now only appear at the beginning of an
  5189.     argument, that is, at the beginning of a line or after a space
  5190.     character.
  5191.  
  5192. -   dvidot can now handle more than one VF directory (was an error)
  5193.  
  5194. *** Default value for /pf* changed: now \texfonts instead of \emtex.
  5195.  
  5196. *** Font searching completely rewritten.
  5197.  
  5198. -   Missing font libraries now cause a warning message rather than a fatal
  5199.     error with program termination.
  5200.  
  5201. *** DOT files brought into line with the new /pf* syntax.
  5202.  
  5203. *** CNF files brought into line with the new /pf*, /pd*, /pg* and /pl*
  5204.     syntax.
  5205.  
  5206. -   The page numbers on /b* and /e* were somewhat limited, limit removed.
  5207.  
  5208. -   ':' and ':=' can now be used with /b* and /e*.
  5209.  
  5210. -   /fdx# and /fdy# for different vertical and horizontal max_drift
  5211.     depending on the transformation.
  5212.  
  5213. -   /rf0 and /rg0 now possible, enabling /r# take over.
  5214.  
  5215. -   dviscr/dvivik: /fd1 is now the default instead of /fd2.
  5216.  
  5217. -   /mh is now the same as /m1095.445115, not /m1095
  5218.  
  5219. *** Templates for /po*, /pt* and /pw* (only the first expansion used).
  5220.  
  5221. *** Templates for /pi* and /ps*, more than one file now possible.
  5222.  
  5223. -   Minor small errors (with unknown effects) removed.
  5224.  
  5225.  
  5226. Version 1.4g (internal)
  5227. -----------------------
  5228.  
  5229. -   Problem (introduced in version 1.4f) with input longer than default
  5230.     value for +height, /w#, /la# and /ta# fixed.
  5231.  
  5232. -   Note: definition of @s changed.
  5233.  
  5234. -   Date in transcript file fixed (defective since version 1.4f).
  5235.  
  5236. -   LOG_NAME= in all DOT files changed from `dvidot' to `dvidot.dlg'
  5237.     (defective since version 1.4f).
  5238.  
  5239.  
  5240. Version 1.4h (internal)
  5241. -----------------------
  5242.  
  5243. -   DVI files using font numbers greater than 127 could not be processed
  5244.     (message 2100).  Fixed.
  5245.  
  5246. *** Support for DOS switch character.
  5247.  
  5248. -   dviscr: gray scaling with /oa5 now possible.
  5249.  
  5250. -   CNF files: /pg* changed.
  5251.  
  5252.  
  5253. Version 1.4i (internal)
  5254. -----------------------
  5255.  
  5256. -   /pg* default setting fixed.
  5257.  
  5258. -   The checksum in the header of a MSP file will be ignored.
  5259.  
  5260. -   `I' in templates replaced by `T'.
  5261.  
  5262.  
  5263. Version 1.4j (internal)
  5264. -----------------------
  5265.  
  5266. -   dviscr: relative sheet number with <G>.
  5267.  
  5268. -   EMTEXSWCHAR environment variable.
  5269.  
  5270. -   dvihplj: problem with PCX files fixed.
  5271.  
  5272. -   \special{em:point} syntax extended.
  5273.  
  5274. -   New previewer: dvipm for OS/2 Presentation Manager.
  5275.  
  5276.  
  5277. Version 1.4k (internal)
  5278. -----------------------
  5279.  
  5280. -   dvipm: closing the message window stopped dvipm.  Fixed.
  5281.  
  5282. -   dvipm: Zoom dialog.
  5283.  
  5284. -   dvipm: menus improved.
  5285.  
  5286. -   dvipm: Edit menu: Reverse.
  5287.  
  5288. -   dvipm: Search menu: Find text.
  5289.  
  5290. -   dvipm: Search menu: Again.
  5291.  
  5292. -   Bug in options parser fixed.
  5293.  
  5294. -   New option: /ft# (font size tolerance).
  5295.  
  5296. *** Options renamed:
  5297.  
  5298.         /2* -> /d*    double-sided printing
  5299.         /+  -> /oi-   black on white
  5300.         /-  -> /oi+   white on black
  5301.         /p@ -> /pr*   template for response files
  5302.  
  5303.  
  5304. Version 1.4l (internal)
  5305. -----------------------
  5306.  
  5307. -   \special{em:graph} can insert BMP files.
  5308.  
  5309. -   Several bugs (of version 1.4k) in options parser fixed.
  5310.  
  5311. *** `:', `=' or `:=' must be used between an option and its value.
  5312.  
  5313. *** /oc# option of dviscr temporarily disabled.
  5314.  
  5315.  
  5316. Version 1.4m (internal)
  5317. -----------------------
  5318.  
  5319. -   /oc# option of dviscr enabled (see 1.4l).
  5320.  
  5321. -   `:', `=' or `:=' not required between an option and its value (see 1.4l).
  5322.  
  5323. -   Further bugs in options parser fixed.
  5324.  
  5325. -   Long names for options (not documented yet).
  5326.  
  5327. -   Error messages fixed (bug introduced in version 1.4j).
  5328.  
  5329. -   dvihplj: problem with PCX files fixed.
  5330.  
  5331. -   dviscr: <F5> and <F6> for selecting previous / next page.
  5332.  
  5333. -   Searching fonts in FLI files fixed (bug introduced in version 1.4k).
  5334.  
  5335. -   dviscr speeded up for /ox:1 and /ox:6.
  5336.  
  5337. *** New rounding algorithms, please thoroughly check positioning of
  5338.     characters and rules, report problems as soon as possible.
  5339.  
  5340. -   dvidot/dvihplj: pause for changing paper (/op+).
  5341.  
  5342. -   dvidot/dvihplj: close output file after n sheets (/os#).
  5343.  
  5344. -   dvipm: File menu: Print page (not tested).
  5345.  
  5346. -   dvipm: File menu: Change printer.
  5347.  
  5348. -   dvipm: window titles fixed.
  5349.  
  5350. -   dvipm: unavailable transformations are grayed (View menu).
  5351.  
  5352. -   dvipm: choosing View->Select now correctly deselects the previous
  5353.     selection.
  5354.  
  5355. -   dvipm: Cancel buttons in (almost) all dialogs.
  5356.  
  5357. -   dvipm: action bar in Message window.
  5358.  
  5359. -   dvipm: only one entry in task list.
  5360.  
  5361. -   dvipm: hourglass mouse pointer while building a page or searching
  5362.     for text.
  5363.  
  5364. -   dvipm: Find page by number fixed.
  5365.  
  5366. -   dvipm: when starting dvipm, the View window will be selected.
  5367.  
  5368. -   dvipm: Ctrl+PageUp and Ctrl+PageDn fixed.
  5369.  
  5370. -   dvipm: Ctrl+Arrow keys to move by 8 units.
  5371.  
  5372. -   dvipm: two icons in the title bar: previous page, next page.
  5373.  
  5374. -   dvipm: scroll bar problems fixed.
  5375.  
  5376. -   dvipm: Status window.
  5377.  
  5378. -   dvipm: gray scaling.
  5379.  
  5380. -   dvipm: window positions saved by dvipm 1.4k or older will be ignored.
  5381.  
  5382. -   dvipm: restore position of Input window.
  5383.  
  5384. -   dvipm: save and restore settings of `track' choices.
  5385.  
  5386. -   dvipm: menus restructured.
  5387.  
  5388. -   dvipm: View menu: Home.
  5389.  
  5390. -   dvipm: /hx#, /hy#.
  5391.  
  5392.  
  5393. Version 1.4n (internal)
  5394. -----------------------
  5395.  
  5396. *** @r in templates now inserts a decimal fraction; use @Rr to round to an
  5397.     integer.
  5398.  
  5399. *** dvimsp has been replaced by dvidot.
  5400.  
  5401. *** Old DOT files must be converted by calling `makedot -r <filename>'.  The
  5402.     DOT files coming in the DVIDRV package can be used without conversion.
  5403.     See makedot.doc.
  5404.  
  5405. *** The new option /cs# must be used for `changing margins'.
  5406.  
  5407. *** New /ft# default value: 0.2.
  5408.  
  5409. *** The format of the text format of dvidot parameter files has changed.  See
  5410.     makedot.doc
  5411.  
  5412. *** New emdll1x.dll, don't forget to replace old version!
  5413.  
  5414. -   Long names for options.  The names are preliminary.
  5415.  
  5416. -   /ft# for PK and PXL files.
  5417.  
  5418. -   /fz* (available font sizes).
  5419.  
  5420. -   Check version number in dvidrv.err.
  5421.  
  5422. -   Templates implemented completely.
  5423.  
  5424. -   dvimsp (that is dvidot now): bug fixed (empty sheets with /om+ didn't
  5425.     work).
  5426.  
  5427. -   dvipm: Minimize/Restore problems fixed.
  5428.  
  5429. -   dvipm: Quit pushbutton in Input dialog.
  5430.  
  5431. -   dvipm: Font dialog.
  5432.  
  5433. -   dvipm: Image dialog.
  5434.  
  5435. -   dvipm: Open dialog.
  5436.  
  5437. -   dvipm: Options menu.
  5438.  
  5439. -   dvipm: /oi+, /og#.
  5440.  
  5441. -   dvipm: bugs fixed (View->Home with scaling, changing scale while
  5442.     computing).
  5443.  
  5444. -   dvipm: the page will be centered in the View window if the page is
  5445.     smaller than the View window.
  5446.  
  5447. -   dvipm: background color settable.
  5448.  
  5449. -   dviscr & dvipm: <F7> and <F8> for selecting previous / next page
  5450.     (instead of <F5> and <F6>).
  5451.  
  5452. -   Bug fixed: file names were not truncated to 8.3 (since what version?).
  5453.  
  5454. -   Missing fonts can be generated automatically with MFjob 1.1i or later.
  5455.  
  5456. -   \special{em:graph} does no longer ignore the directory part of the
  5457.     file name (I think since 1.4f).
  5458.  
  5459. -   dvidot: double-sided printing with /d:p.
  5460.  
  5461.  
  5462. Version 1.4o (internal)
  5463. -----------------------
  5464.  
  5465. *** dvihplj: /od+ and /ok+ replaced with +deskjet, +kyocera and +laserjet.
  5466.  
  5467. *** Short form of +pause renamed /oa+.
  5468.  
  5469. *** New emdll1x.dll, don't forget to replace old version!
  5470.  
  5471. *** Additional DLL: emdll1x2.dll
  5472.  
  5473. -   dvidrv.exe fixed.
  5474.  
  5475. -   TFM files can now be read, see +tfm-files.
  5476.  
  5477. -   Replacing characters with black rectangles (scaling active) fixed.
  5478.  
  5479. -   dviscr/dvivik: display W in the status line when there are warnings
  5480.     while in graphics mode.
  5481.  
  5482. -   Use EMS under DOS, see +use-ems.
  5483.  
  5484. -   Slightly more lines per sheet possible.
  5485.  
  5486. -   dvihplj: new options: +full-page-bitmap, +optimize-graphics,
  5487.     +compression, +negative-top-offset.
  5488.  
  5489. -   Bug fixed: -x and -y was ignored with long form of options.
  5490.  
  5491. -   dviscr: VGA monochrome now works under DOS.
  5492.  
  5493. -   dvipm: the next/prev page icons in the title bar have been
  5494.     improved (for VGA).
  5495.  
  5496. -   dvipm: accelerators in dialog boxes.
  5497.  
  5498. -   dvipm: modify VGA palette.
  5499.  
  5500. -   dvipm: Minimizing problem with Workplace Shell fixed.
  5501.  
  5502. -   dvipm: in rare cases, some pixels at the right hand side of rules
  5503.     were wrong.
  5504.  
  5505. -   dvipm: collapse subsequent requests for page recomputing.
  5506.  
  5507. -   dvipm: Select/Copy problems fixed.
  5508.  
  5509.  
  5510. Version 1.4p (internal)
  5511. -----------------------
  5512.  
  5513. -   Screen output of dviscr with color EGA/VGA without gray scales was
  5514.     defective since version 1.4o.  Fixed.
  5515.  
  5516. -   Use XMS under DOS, see +use-xms.
  5517.  
  5518. -   When aborting a driver by pressing Ctrl-C or typing A)bort in response to
  5519.     an error message, the temporary file will be deleted and EMS and XMS
  5520.     memory will be deallocated.
  5521.  
  5522. -   dvihplj: new option: +fonts-per-page.
  5523.  
  5524. -   New dvidot parameter file: bmpos2 for creating OS/2 1.1 BMP files.
  5525.  
  5526. -   You can use OS/2 1.1 BMP files with \special{em:graph}.
  5527.  
  5528. -   dviscr: VGA monochrome may work now under OS/2.
  5529.  
  5530. -   dvidot: parameter files lq* fixed (INIT1, INIT2).
  5531.  
  5532. -   dvipm: save open/close state of Message and Status windows with
  5533.     settings.
  5534.  
  5535. -   dvipm: the position and size of the windows saved by dvipm 1.4o or
  5536.     older will not be restored by dvipm 1.4p or later.  Move and
  5537.     resize the windows and save the settings again.
  5538.  
  5539. -   dvipm: printing only possible with gray scaling and reduction disabled.
  5540.  
  5541. -   dvipm: font and Image dialog boxes fixed (bug introduced in
  5542.     version 1.4o).
  5543.  
  5544. -   dvipm: another minimizing problem with Workplace Shell fixed.
  5545.  
  5546.  
  5547. Version 1.4q (internal)
  5548. -----------------------
  5549.  
  5550. *** When prompted for a font name, you have to enter `/b' and `/w' instead
  5551.     of `b' and `w'.
  5552.  
  5553. *** When prompted for a font name, you can give multiple values in one
  5554.     line of input.  The font will be sought after parsing the line of
  5555.     input.
  5556.  
  5557. *** emdll1x.dll and emdll1x2.dll have been moved from \emtex to \emtex\dll.
  5558.     Please change the LIBPATH statement in your config.sys file.  emdll1x.dll
  5559.     has been changed, don't forget to replace the old version!
  5560. -   dvihplj: +reset renamed +initial-reset.  New: +final-reset.
  5561.  
  5562. -   The drivers should be faster now, however inserting graphics files and
  5563.     using big characters is slower.
  5564.  
  5565. -   Memory management bug fixed.
  5566.  
  5567. -   Rounding problem in MFjob call fixed.
  5568.  
  5569. -   dvidrv.exe didn't append \ to the value of TMP if required.
  5570.  
  5571. -   dvihplj: +paintjet, +quietjet and +thinkjet (not tested).
  5572.  
  5573. -   dvihplj: +delete-fonts (not tested).
  5574.  
  5575. -   Omit characters (/d).
  5576.  
  5577. -   Replace characters by rectangle outlines (/r).
  5578.  
  5579. -   Omit graphics files (+omit-graphics and /d when prompted for name).
  5580.  
  5581. -   Font search sequence for +batch-mode changed.
  5582.  
  5583. -   dvidot and dvihplj: +initial-formfeed and +final-formfeed.
  5584.  
  5585. -   Replacing a font size by the closest available font size now takes
  5586.     place before seeking the font (see +font-size-tolerance).  The
  5587.     replacement is done immediately before and after applying the rules
  5588.     from the font substitution files.
  5589.  
  5590. -   +max-drift is set in the configuration files.
  5591.  
  5592. -   Option +use-tfm-files for using TFM files.
  5593.  
  5594. -   dvihplj: +compression fixed.
  5595.  
  5596. -   dvipm: please delete \emtex\help\dvipm.hlp.
  5597.  
  5598. -   dvipm: help is now also available partly in German.
  5599.  
  5600. -   dvipm: display page number and index in Status window while
  5601.     searching for text.
  5602.  
  5603. -   dvipm: Page index optional in Status window.
  5604.  
  5605. -   dvipm: default window positions and sizes.
  5606.  
  5607. -   dvipm: tried to fix a palette problem.
  5608.  
  5609. -   dvipm: display cursor position in Status window, +ruler-unit
  5610.     command line option.
  5611.  
  5612. -   dvipm: to make restoring the dvipm windows behave correctly after
  5613.     minimizing under OS/2 2.0 6.177 (LA) it was necessary to make
  5614.     restoring windows behave incorrectly under older revisions of OS/2
  5615.     2.0.
  5616.  
  5617. -   dvipm: preliminary implementation of the ruler.
  5618.  
  5619. -   dvipm: the page icons in the title bar can be disabled with a
  5620.     command line option.
  5621.  
  5622. -   21-Feb-1992 (still 1.4q): parsing of font substitution files fixed.
  5623.  
  5624. -   25-Feb-1992 (still 1.4q): Options->Other of dvipm fixed (error message for
  5625.     Ruler unit).
  5626.  
  5627.  
  5628. Version 1.4r (11-Apr-1992)
  5629. --------------------------
  5630.  
  5631. *** Options renamed:
  5632.  
  5633.     +first-sheet         -> +first-page
  5634.     +last-sheet          -> +last-page
  5635.     +skip-sheets         -> +skip-sides
  5636.     +number-of-sheets    -> +number-of-sides
  5637.     +sub-pages-per-sheet -> +sub-pages-per-side
  5638.  
  5639. *** New terms: `page', `side', `sheet'.
  5640.  
  5641. -   dvipm now works under OS/2 1.2.
  5642.  
  5643. -   You can now use TFM files with less than 6 font parameters, as they
  5644.     are generates, for instance, by bm2font.
  5645.  
  5646. -   `input [dvidrv];' is now inserted into the MFjob job file.
  5647.  
  5648. -   dvipm: icons in the view.transform menu.
  5649.  
  5650.  
  5651. Version 1.4s (04-Nov-1992)
  5652. --------------------------
  5653.  
  5654. *** New version of emdll1x.dll and emdll1x2.dll.  If you have copied
  5655.     these files from \emtex\dll to another directory, you should copy
  5656.     the new versions now.
  5657.  
  5658. *** dvidrv.exe is no longer used under OS/2.  If you are using your own
  5659.     *.cmd files, please remove `dvidrv' from those batch files.
  5660.  
  5661. -   \emtex\doc\dvipm.doc no longer exists -- please delete old copies.
  5662.  
  5663. -   dvihplj: +font-scaling fixed.
  5664.  
  5665. -   dviscr, dvipm, dvivik: searching for page number fixed (for
  5666.     non-trivial page selection).
  5667.  
  5668. -   dvipm: Options->Files dialog fixed.
  5669.  
  5670. -   dvipm: Page->First, Page->Last.
  5671.  
  5672. -   dvipm: display page number in title bar.
  5673.  
  5674. -   dvipm: stack overflow message fixed.
  5675.  
  5676. -   dvipm: View menu changed.
  5677.  
  5678. -   dvipm: Status window optionally on top of other dvipm windows.
  5679.  
  5680. -   dvipm: zoom problems fixed.
  5681.  
  5682. -   dvipm: File->New.
  5683.  
  5684. -   dvipm: Drag & drop.
  5685.  
  5686. -   dvipm: move ruler to text after finding text.
  5687.  
  5688. -   \special{em:graph xxx}: ignore everything after comma.
  5689.  
  5690. -   MFjob call with +font-resolution:0 fixed.
  5691.  
  5692. -   New template parameter: @u.
  5693.  
  5694. -   Rounding problems in MFjob call fixed.
  5695.  
  5696. -   New dvidot parameter file: bj10eh.dot.
  5697.  
  5698. -   +pause fixed.
  5699.  
  5700. -   dvihplj: +printer-resolution.
  5701.  
  5702.  
  5703. Version 1.5a (09-Apr-1994)
  5704. --------------------------
  5705.  
  5706. *** File names which are too long are truncated according to the 5+3.3 rule,
  5707.     that is, the first 5 characters and the last 3 characters of the base name
  5708.     and the first 3 characters of the extension are taken.  lcirclew10.pk, for
  5709.     instance, is transformed into lcircw10.pk.  Under OS/2, the drivers
  5710.     attempt to open a file using the long file name, first.  Then, the
  5711.     truncated file name is used.  Under DOS, only the truncated file name is
  5712.     tried.  If the file is not found, the 8.3 rule is applied after the 5+3.3
  5713.     rule, that is, the first 8 characters of the base name and the first 3
  5714.     characters of the extension are taken.
  5715.  
  5716. *** $ENV: in templates now supports ! and !! for recursive search of
  5717.     subdirectories.
  5718.  
  5719. *** New version of emdll1x.dll and emdll1x2.dll.  If you have copied these
  5720.     files from \emtex\dll to another directory, you should copy the new
  5721.     versions now.  There are three new dynamic link libraries: emdll2x.dll,
  5722.     dvipmres.dll and emx.dll.
  5723.  
  5724. *** dvipm.exe is now a 32-bit program; the 16-bit version has been renamed to
  5725.     dvipm16.exe.  Please delete \emtex\dvipm32.exe.
  5726.  
  5727. *** The settings saved by previous dvipm versions are not loaded.  To delete
  5728.     the old settings, do the following:
  5729.  
  5730.         Files->Settings->Save
  5731.         Files->Settings->Remove
  5732.         Files->Settings->Save
  5733.  
  5734. *** +font-files can now be used to read VF files.  +virtual-fonts is needed
  5735.     only if you want to replace existing fonts with VF files.
  5736.  
  5737. *** The +double-sided:printer option (/dp) has been renamed +double-sided:long
  5738.     (/dl).  +double-sided:short (/ds) has been added.
  5739.  
  5740. *** The /np# option has been renamed /ns#.
  5741.  
  5742. *** New method for arranging pages on a sheet.  The following options have
  5743.     been removed:
  5744.  
  5745.         +first-sub-page
  5746.         +show-sub-pages
  5747.         +sub-page-index
  5748.         +sub-page-slots
  5749.         +sub-page-x
  5750.         +sub-page-y
  5751.         +sub-pages-per-side
  5752.  
  5753.     The following options have been added:
  5754.  
  5755.         +backside-offset-x
  5756.         +backside-offset-y
  5757.         +blank-pages
  5758.         +columns
  5759.         +fold-other
  5760.         +full-last-section
  5761.         +page-height
  5762.         +page-list-file
  5763.         +page-shift
  5764.         +page-width
  5765.         +rows
  5766.         +section-count
  5767.         +section-size
  5768.  
  5769. *** The meaning of the +left-margin and +top-margin options has been changed.
  5770.     The +adjust-left-margin and +adjust-top-margin options no longer exist.
  5771.     The +page-left-margin and +page-top-margin options have been added.
  5772.  
  5773. *** Option +graphic-files renamed to +graphics-files.
  5774.  
  5775. *** The .DOT files of previous beta test versions can no longer be used with
  5776.     dvidot 1.5a.  makedot cannot directly convert between the format used by
  5777.     previous beta test versions and the new format: You have to recreate your
  5778.     own .DOT files from the text files.
  5779.  
  5780. *** New directory structure: *.cnf, *.dot, *.sub files, dvidrv.err and
  5781.     fontlist have been moved to \emtex\data.  The environment variable
  5782.     EMTEXDIR can be used to tell the drivers where to find that directory.
  5783.     $EMTEX: is used in templates to specify the emTeX directory.  $PATH: is no
  5784.     longer used.
  5785.  
  5786. *** dvihplj: Replace +deskjet, +kyocera, +laserjet, +paintjet, +quietjet and
  5787.     +thinkjet with +printer-model.
  5788.  
  5789. *** dvipm: The +inverse option is no longer available; the setting of the
  5790.     Reverse menu option is saved with the settings, instead.
  5791.  
  5792. *** Font substitution files are now also sought in the `data' subdirectory of
  5793.     the emTeX directory; the default extension is .sub.
  5794.  
  5795. -   When seeking a font, the drivers try all known sizes which are within the
  5796.     font size.
  5797.  
  5798. -   Support long file and blanks in file names under OS/2.  To enter a file
  5799.     name which contains blanks, enclose it in double quotes: `test file.dvi'.
  5800.  
  5801. -   dvipm: File->New closes the DVI file.  Really.
  5802.  
  5803. -   dvipm: `What dialog' renamed `Status Window Options'.
  5804.  
  5805. -   dvipm: Display information on an object in the View window double
  5806.     clicking on the object.
  5807.  
  5808. -   dvipm: +titlebar-icons (/ot+) option removed.
  5809.  
  5810. -   dvipm: Internal error 3028 when switching DVI files removed.
  5811.  
  5812. -   dvipm: Several palette problems fixed.  8514/A palette can now be changed.
  5813.  
  5814. -   dvipm: Fonts are reused when opening a new DVI file.
  5815.  
  5816. -   dvipm: File->Reload tries to keep the selected page.
  5817.  
  5818. -   dvipm: Automatic reloading of the DVI file if it is changed by another
  5819.     program.
  5820.  
  5821. -   dvipm: Additional pushbuttons in the Font dialog.
  5822.  
  5823. -   dvipm: Print all the pages.
  5824.  
  5825. -   dvipm: Support display modes with more than 16383 colors (65536 colors,
  5826.     for instance).
  5827.  
  5828. -   dvipm: +gray-bitmap-size (/og#) replaced with +bitmap-memory-limit (/om#).
  5829.     The default value is 512, that is, 512 Kbytes will be used for temporary
  5830.     bitmaps.  Therefore, much less memory is used now.
  5831.  
  5832. -   dvipm: The meaning of the Ctrl key has been reversed for the arrow keys:
  5833.     move by 8 pixels without Ctrl, by 1 pixel with Ctrl.
  5834.  
  5835. -   dvipm: Obey +magnification when loading another DVI file.
  5836.  
  5837. -   dvipm: New Information window which shows information about the DVI file.
  5838.     (Quite preliminary.)
  5839.  
  5840. -   dvipm: The background colors are now set in the View Options dialog box.
  5841.  
  5842. -   dvipm.exe is now a 32-bit program; the 16-bit version has been renamed to
  5843.     dvipm16.exe.
  5844.  
  5845. -   dvihplj: The +printer-resolution:600 option now switches the printer to
  5846.     600 DPI mode and selects 1/600in as unit of measure.
  5847.  
  5848. -   dvihplj: Characters at the left margin are no longer omitted.
  5849.  
  5850. -   dvihplj: +fonts-per-page option renamed +fonts-per-side.
  5851.  
  5852. -   dvihplj: Disable checking of number of fonts per page and number of fonts
  5853.     per job if +fonts-per-side:0 is used.
  5854.  
  5855. -   dvihplj: Support built-in fonts.
  5856.  
  5857. -   dvihplj: `=> pcl:' in font substitution files.
  5858.  
  5859. -   dvihplj: \special{em:pclfile ...}
  5860.  
  5861. -   dvihplj: New options: +download-limit and +paper.
  5862.  
  5863. -   dvihplj: Clip graphics and rules to avoid omission by the printer.
  5864.  
  5865. -   dvihplj: New +draft option for saving toner.
  5866.  
  5867. -   dvihplj: Support the HP DeskJet 500J.
  5868.  
  5869. -   dvidot: New option: +final-reset.
  5870.  
  5871. -   dvidot: New parameter files: fx80l, fx100l, sty800 and bj300h.
  5872.  
  5873. -   dvidot now supports printers where the graphics resolution exceeds the
  5874.     resolution of paper motion.
  5875.  
  5876. -   dviscr: Under OS/2, dviscr now automatically treat an SVGA as VGA.
  5877.  
  5878. -   dviscr: +adapter:20 added (Adapter Interface, 8514/A).
  5879.  
  5880. -   New configuration files: ljh.cnf (600 DPI with LJH fonts), bj.cnf (360 DPI
  5881.     for Canon BubbleJet printers).
  5882.  
  5883. -   New batch files: prthpljh.cmd and prthpljh.bat for the HP LaserJet
  5884.     IV at 600 DPI.
  5885.  
  5886. -   New METAFONT mode in local.mf and modes.mfj: canonbj.
  5887.  
  5888. -   Internal error 3028 while reading VF files fixed.
  5889.  
  5890. -   New options: +page-list-file, +section-count and +section-size.
  5891.  
  5892. -   Don't display warning message 1201 for DVI files created by groff.
  5893.  
  5894. -   Big characters can now be transformed (rotated).
  5895.  
  5896. -   Add +call-mfjob option (/fj+).  Under OS/2, this option is used to
  5897.     disable the automatic call of MFjob.
  5898.  
  5899. -   texput.dvi is no longer used if the answer to the question for an input
  5900.     file is empty.
  5901.  
  5902. -   \special{em:message} has been removed.
  5903.  
  5904. -   The dvidrv documentation is now available as OS/2 on-line book.
  5905.  
  5906.  
  5907. Version 1.5b (21-Jun-1994)
  5908. --------------------------
  5909.  
  5910. -   Executables which exploit the numeric coprocessor are now included.
  5911.  
  5912. -   For +font-load-limit:-1, dvihplj 1.5a used TFM files for missing fonts
  5913.     even if the TFM files were not for built-in printer fonts.
  5914.  
  5915. -   dvihplj has new options for selecting the paper source: +source and
  5916.     +manual-feed.
  5917.  
  5918. -   Transformation of big characters with +transformation:3 or
  5919.     +transformation:6 caused internal errors or crashes.
  5920.  
  5921. -   dviscr did not accept the +ruler option.
  5922.  
  5923. -   dviscr did not completely suppress the status line for +status-line:off
  5924.  
  5925. -   Input and output now works even if running a driver under Emacs under
  5926.     OS/2.
  5927.  
  5928. -   Rules protruding over the top edge of the paper are no longer omitted in
  5929.     gray scaling mode; other objects, however, are still omitted.  This also
  5930.     applies to dvidot and dvihplj.
  5931.  
  5932. -   dvidot: TRAILER is now written at the end of the file.
  5933.  
  5934. -   dvipm: Pictures were sometimes mirrored.
  5935.  
  5936.  
  5937. Version 1.5c (22-Jul-1994)
  5938. --------------------------
  5939.  
  5940. -   Several bugs have been fixed.
  5941.  
  5942. -   Due to a bug, the directory ".." was not allowed in path names.
  5943.  
  5944. -   Files with names that contain two or more dots can no longer be read and
  5945.     written under DOS.
  5946.  
  5947. -   dvipm: Optionally reload all fonts when loading a DVI file; doing this is
  5948.     recommended after creating new font files with bm2font.
  5949.  
  5950. -   dvipm: File->Print_all_pages works now.
  5951.  
  5952. -   dvidrv.exe: Pass -pj:filename instead of -pj=filename to the program; this
  5953.     enables usage of batch files.
  5954.  
  5955.  
  5956. Version 1.5d (30-Aug-1994)
  5957. --------------------------
  5958.  
  5959. -   Warn about usage of PXL files.  The PXL file formats are obsolete.
  5960.  
  5961. -   Warn about whitespace in environment variables used by templates.
  5962.  
  5963. -   +backside-offset-x and +backside-offset-y are now also defined for
  5964.     +double-sided:even and +double-sided:odd.
  5965.  
  5966. -   dvipm: Ask for confirmation before printing when the printer resolution
  5967.     does not match the resolution used by dvipm.
  5968.  
  5969. -   dvipm: You can now copy from the Messages window to the clipboard.
  5970.  
  5971. -   dvipm: `Change printer' has been renamed to `Print options'.  There are
  5972.     new settings available.
  5973.  
  5974. -   dvipm: Several printing problems solved.
  5975.  
  5976. -   dvipm now checks whether the correct version of dvipmres.dll is installed.
  5977.  
  5978.  
  5979. Version 1.5e (01-Sep-1994)
  5980. --------------------------
  5981.  
  5982. -   dvidot 1.5d could not use old DOT files (created by makedot 1.2b or
  5983.     lower).
  5984.  
  5985. -   Gray scaling did not work in dvipm 1.5d.
  5986.  
  5987.  
  5988. Version 1.5f (14-Sep-1994)
  5989. --------------------------
  5990.  
  5991. -   The drivers no longer crash for `EMM386 FRAME=NONE'.
  5992.  
  5993. -   dvipm now switches to the original size and turns off reverse display for
  5994.     printing.
  5995.  
  5996. -   In dvipm, the Page Down and Page Up keys optionally display the next or
  5997.     previous, respectively, page when invoked at the end or beginning,
  5998.     respectively, of a page.
  5999.  
  6000. -   The Options menu of dvipm is now also available while a DVI file is
  6001.     loaded.
  6002.  
  6003. -   More printing problems of dvipm have been resolved.
  6004.  
  6005.  
  6006. Version 1.5g (10-Oct-1994)
  6007. --------------------------
  6008.  
  6009. -   Spacing was wrong for magnified documents (that is, +magnification or \mag
  6010.     unequal 1000).
  6011.  
  6012. -   Improve memory management for virtual fonts.
  6013.  
  6014. -   +magnification without argument disables overriding the magnification in
  6015.     the DVI file, +magnification:*x multiplies the magnification in the DVI
  6016.     file with x.
  6017.  
  6018. -   Fix several problems related to changing options in dvipm while a DVI file
  6019.     is loaded.
  6020.  
  6021. -   Fix and speed up text search of dvipm and dviscr.
  6022.  
  6023.  
  6024.                   -------- End of DVIDRV.DOC -------------
  6025.