MINIDESCRIPTION FOR DVI2XX This is a description of a dvi converter (dvi= TeX's device independent output format) that runs on PCs (XTs, ATs or compatible) under MS/DOS. DVI2XX is able to produce either device dependent code for the HP-LaserJet+ or for the IBM3812 (model 1) depending on a preproscessor switch at compile time. The documentation concerning compile switches is located in the source. DVI2XX can be called with the following options: -aXXX directory to take fonts from -b take paper for first page from alternate cassette (only 3812) -eXXX output file: either drive:path\name of outputfile or device (such as lpt1, nul etc) (default is drive:path\name of dvi file and extentsion '.lj' for laserjet and '.pmp' for 3812) -hXXX headerfile to be copied before translation of dvi-file (you can send arbitrary commands to the laserprinter) -fXXX print from begin of page xxx -tXXX print to end of page xxx -mXXX magnification -xXXX global x-offset in mm on output page -yXXX global y-offset in mm on output page -r toggle reverse/not reverse order for output (default reverse=FALSE for 3812, reverse=TRUE for LJ) -p turn off font preload -q quiet operation -w no warnings If no arguments are specifyed a short help file is displayed. Two 'special' commands are implemented for the 3812: \special{file=drive:path/name} copy specified file to the printer; either vector- or bitmap-graphics PMP commands \special{orientation=Value} set page orientation to 0, 1, 2, 3; rotate following output to landscape mode etc. Depending on print direction! With the file= special TeX command I have faked the signature of my boss with nice thick ink. It is simply the pmp command for a polygon drawing and it looks surprisingly natural. The program part for redirection of the output to the printer without intermediate spool file was relatively tricky and uses a IOCTL bios-call. The performance of the program is about 6 to 7 seconds per page on a AT with 8Mhz in the 3812 mode. It is running on our configuration via PC-NET. Currently two font formats are supported: PXL 1001 and PXL 1002. The program assumes the following pixelfile structure (the characters under quotes are mandatory): someroot ... "pxl"1500 amr10.pxl cmr10.pxl ... "pxl"1643 amr10.pxl cmr10.pxl ... ... 300dpi files can be used with an adequate magnification (-m#1250 option). The following characters (all of them occur in the program) might be translated wrongly by the ASCII-EBCDIC-ASCII conversion during uploading and downloading respectively: ! exclamation point [ left square bracket \ left slash (backslash) ] right square bracket { left curly bracket | vertical bar } right curly bracket If the characters in the first column do not correspond to their verbal description fix the C-program adequately. The program can be compiled with microsoft C Rel.3 or later using the -AL compiler option. If you have no adequate C-compiler at your site I can send also the compiled code via e-mail. If you have troubles with downloading please send me a floppy. On troubles please read first comments ot the begin of the source program. Otherwise contact me. - Gustaf Neumann Wirtschaftsuniversitaet Wien Institut fuer Informationsverabeitung und Informationswirtschaft A-1090 Vienna Augasse 2-6 Austria (Europe) EARN/BITNET: NEUMANN at AWIWUW11 ARPA: neumann%awiwuw11.bitnet@wiscvm.ARPA ========================================================================= Date: 25 August 1987, 16:58:19 WUT From: NEUMANN at AWIWUW11 Subject: New release (0.30) of dvi2xx Hi (potential) dvi2xx-user... There is a new relase (0.30) of the dvi/3812 and dvi/HPLJ+ converter. The new release features in the following points: - it accepts the new PK 89 format (Rokicki, Tugboat Vol 6, 1985, No. 3) that uses much less disk storage (about 1/4th of PXL1001 files), - it is possible to specify a 'string of paths' to be searched for the PXL- or PK-files; the paths are separated by semicolons, - it accepts as file-extension either '.pxl' or '.pk', - the formats of the pixel-files (PXL-1001, PXL-1002, PK-89) can be arbitrarily mixed; eg. CMR10 can be in PXL-1002 format, CMINCH can be in PK-89, - the amount of storage in the PC is reduced especially when PK-files are used, - an unimportant bug from the timing measurements has been removed, - verbatim mode can be set via commandline option -v, that informs the user, which fonts are loaded. We are using the driver here in the following setup. We have a print-server (IBM PC-AT) that is connected on one side with the 3812 via 19200/asynchronous port, and on the other side with a bunch of PC-ATs via IBM PC-Net. We use PC-TeX on the ATs. Historically all of the PXL-files have been on the print-server in 1002-format being accessed from the dvi-driver over the network. In the new setup, each of the PCs has a small set of the most used PK-fonts. By specifying with the commandline option of dvi2xx '-aLOCALFONTS;SERVERFONTS' where LOCALFONTS and SERVERFONTS are valid fontdirectories, each font is searched first in LOCALFONTS and if it is not found there in SERVERFONTS. Only seldomly used fonts are accessed via PC-NET. The network load was reduced in this way drastically, the speed improvement is about 30%. If you have interest to receive the new version, please send a short note .... -gustaf ========================================================================= Date: 12 November 1987, 12:11:00 WUT From: NEUMANN at AWIWUW11 Subject: New release (0.31) of dvi2xx .. supports also new dir-structure The newer versions of PCTeX (and some TeX-drivers) are distributed with fonts put into a different directory structure that uses in the directory names RESOLUTIONS rather than MAGNIFICATIONS. The old directory structure standard was: somerootA ... "pxl"1500 amr10.pxl cmr10.pxl cminch.pk ... "pxl"1643 amr10.pxl cmr10.pxl tt10.pk ... ... The new directory structure looks like: somerootB ... "DPI"300 amr10.pxl cmr10.pxl cminch.pk ... "DPI"329 amr10.pxl cmr10.pxl tt10.pk ... ... Rel 0.31 supports both structures, it is possible to specify a path ('-a' option eg '-asomerootA;somerootB'). The search order in one directory is: 1) look for DPI....\font.pk where '...' is eg 240 2) look for DPI....\font.pxl or 300 3) look for pxl....\font.pk where '...' is eg 1200 4) look for pxl....\font.pxl or 240 ========================================================================= Date: 1 Dezember 1987, 14:11:00 WUT Rel 0.32 initializes in LJ-mode the printer and resets it after run; helps when operating with the LJ2 ========================================================================= Date: 18 Dezember 1987, 18:18:00 WUT Rel 0.33 runs without any modifications under Unix V (HP/UX); improved messages for missing fonts. ======================================================================== Date: 5 January 1988, 04:04:04 WUT From: NEUMANN at AWIWUW11 Subject: New release (0.40) of dvi2xx Hi everybody! The holidays are over and there comes a new release (0.40) of DVI2XX. It has two major improvements over the previous release: a) It supports 'HUGE' pixel characters; b) it does a better positioning which is important mainly for the 3812. c) Page origin is now on the 3812 and on the LJ2 1 inch from the left and right edge of the paper. d) Smaller output files (== higher printing speed). ad a) The driver knows now about three types of characters: - Small characters are loaded into the font-storage of the printer. When a small character occurs in the text, the character is copied internally in the printer to the output page. The bitmaps of small characters are transmitted only once to the printer. - Large characters are loaded into the memory of the driver and are transmitted on each occurance in the text as a raster graphic to the printer. - Huge characters (characters which raster information has a size more than 32767 bytes) are read on each occurance from the disk and are transmitted as raster graphics. They are not loaded permanently into the memory of the driver. Why huge Characters? It is quite easy to include graphics into TeX by packing bitmap graphics into TeX fonts. I've written some programs to convert graphics generated from Drawing Gallery, Framework II, Scanning Gallery etc. into 1001 fonts and adequate TFM files (if you want to have more info on that send me a note). The graphics easily reach a size of 100 or 200K each, and so it is certainly a problem to keep these in memory. There are essentially 2 common ways to include graphics in TeX. - Using \special to include printer dependent code. - Putting the graphics into characters. Advantages of the latter are: 1) The reproduction of the graphics is not device dependent (rather resolution dependent). It is possible to see text and graphics with a good previewer together on the screen. 2) TeX sizes the graphics as it sizes characters. It is not necessary to include size infos about the graphics in the TeX file. When a graphic changes its size or shape, TeX is able to rearrange the output. I have scanned some photos and logos and included it in TeX documents. It really looks great. Please note that a standard LJ+ has not enough memory to generate big raster graphics. ad b) The driver has had some problems with positioning of rules. In heavy formula djungles very often some lines have been placed wrong by one pixel. It is not so easy to draw lines exactly where you want using the 3812 vector drawing facilities... Additionally the conversion of the internal TeX units into pixels has gotten more accurate (also for the LJ). The result is a overall better outlook of the printed pages. ad c) This is true at least for the European A4 paper trays. ad d) Output has been reduced by more intelligent positioning (for both supported printers). Additionally the driver is more clever now in sending bitmap graphics to the LJ. The 3812-code is reduced approximately by 25% on a 20 page document. Caveat: the driver is a little bit slower. I hope I have not introduced to many new bugs. ========================================================================= Date: 12 February 1988, 02:39:20 WUT From: NEUMANN at AWIWUW11 Subject: New release (0.41) of dvi2xx Hi everybody! It's time for a new release of dvi2xx. The newest version (0.41) features in the following points: - significantly better performance - a bunch of new options Performance: The following figures are measured on a reasonably standard TeX document (16 pages long, contains several formulas and tables) on a PC/AT. The last two colums are also valid on Unix machines. time to convert dvi file size of output file printing speed (times faster than 0.40) (index rel to 0.40) (index rel 0.40) 3812: 2.5 0.64 0.70 LJ: 2.7 0.53 0.90 The relative poor performance increase in printing speed for the LJ is due to the parallel (centronics) connection in the test configura- tion. It would increase to a similar value as for the 3812 if the printer is connected by a serial line and communication becomes the bottleneck. 3 reasons are responsible for the improvements: - More intelligent positioning commands for setting the characters on the page. - Parts of the floating point arithmetic are changed now to integer arithmetic. - MSC Rel. 5 is significantly faster than MSC Rel. 4 for the large memory model. New options: -c (copies): specify number of copies to print -X define X page origin in dots -Y define Y page origin in dots HINT: -X and -Y allows you to set the page origin on your printer exactly to 1in/1in from the left corner. The provided testfile TESTPAGE.TEX helps you to figure out where the page origin is currently set to. (Mostly important for LJs and clones) -g (go): print without resetting the LJ at begin of file. Changed options: -r option (reverse) on LJ: default changed to "print from first page to last" -x (set x offset relative to page origin in mm): accepts now floating point numbers -y (set y offset relative to page origin in mm): accepts now floating point numbers NOTE that options are now case sensitive! Other changes: - Warning messages are printed now to stdout instead of stderr. It is therefore easy now to redirect it. - A bug in the computation of magnifications for directory names is removed (the computed value was sometimes wrong by 1). - Several warning messages has been improved. Send me a short note if you want to receive 0.41. Please indicate your favorite flavor (source/compiled, uuencode etc). -gustaf ========================================================================= Date: 22 July 1988, 03:12:20 WUT From: NEUMANN at AWIWUW11 Subject: New release (0.42) of dvi2xx Bug fix relevant for IBM3812 AND HP LJ-family: Bug fixed that occured when last y-position of output on preceding page equals first y-position on the next page (eg: printing e 'empty' pages that have nothing but page-numbers on it). ========================================================================= Date: 26 September 1988, 22:01:12 WUT From: NEUMANN at AWIWUW11 Subject: New release (0.43) of dvi2xx Dear user of the dvi2xx driver for the ibm3812 and the lj-family: Rel 0.43 of dvi2xx introduces some enhancements for the lj-mode of the driver: * The new command line option -z causes the printer to perform a selftest at the end of a print job. As a consequence a test page is printed out that shows (among other useful information) the current value of the internal page counter of the printer (might be useful for accounting issues). * In rel 0.43 It is possible to print under certain circumstances documents with more than 16 fonts on a page: The driver treats now character glyphs of the 17th, 18th... and so on font on one page as bitmap graphics (instead of aborting as in the earlier releases of the program). The number of fonts per page is hence limited by the amount of storage the printer has. In general it is not recommended to use more than 16 fonts per page because after crossing this boundary each appearance of each character in the additional fonts causes the driver to send the bitmap of the character to the printer. As a consequence the size of the printfile grows rapidly, the print speed goes down and (worst) the printer runs fairly soon out of memory. If that happens firstly the previous loaded font definitions are overwritten in the memory of the printer and the following printout is messed up. However, it is possible now to print eg the Pictex manual on a LJ/2 with 1.5 meg. The program informs you whenever more than 16 fonts are used on a page (unless the '-q' commandline option has been used). -gustaf ========================================================================= Date: 20 Jan 1989, 16:20:12 From: NEUMANN at AWIWUW11 Subject: New release (0.44) of dvi2xx Dear user of the dvi2xx driver for the ibm3812 and the lj-family! Rel 0.44 of dvi2xx introduces some enhancements for the lj-mode of the driver: * The new command line option -D causes the printer to print in doublepage mode, that is - roughly speaking - printing first the even pagen and then the odd pages of a document. After the first half of the pages are printed the following happens: o 3812: the printer beeps, shows message U1. An operator has to refill the printed pages into the paper tray and to push the continue button on the printer. o LJ-family: the printer stops, shows message "FEED" and switches on manual feed led. The printer continues when either the printed pages are fed into the manual page feeder, or the operator pushes the continue button (after placing first the printed pages into the paper tray). The driver allows the -D option for both print-directions (front- to-back or back-to-front printing). It tries to be clever in certain cases: o when a document has an odd number of pages it inserts in the right place an empty page o when a document starts with page 0 the driver inserts an empty page after the 0-page o when a piece of a document is printed that starts with an even page-number it prints this page at the backside of the first page to ensure that the odd sides are always on the frontside. The 0-page is treated like an odd page. The doubleside option works for all LJs, not only for the new D model with does doubleside-printing (actually, i don't know whether it makes much sense on the new LJ II D at all). Caveat on the doubleside-option: When it is used frequently or on very large files, it might become necessary to clean the printer much more frequently. * The new command line option -pX can be used to abort printing after the output of X pages (can lead to strange results together with -D). I personally dislike this option. The secure way of printing a part of a document is using -f (from) and -t (to). * graphic includes files specified for the HP-LJ-family. Format is \special{file=DOSNAME}, where DOSNAME has the form drive:path/name.ext. If you want to receive the distribution please send a short note. -gustaf ========================================================================= Date: Wed, 10 May 89 22:56:30 WUT From: Gustaf Neumann Subject: New version (0.46) of the TeX-driver dvi2xx available Dear user of the dvi2xx driver for the ibm3812 and the lj-family! The new release features in the following points: General enhancements: * Environment variable TEXPXL is checked for the fontpath. LJ-features: * Driver is now able to print closer to the paper margins. * \graybox-macro for lj (LaTeX Style Option) generates \fboxes with gray-shaded background. * The driver is able to overcome the printer limit of 32 fonts per document by rastering fonts a pixle maps above that limit. * More compact output (lj-file) to speedup printing on serial lines. Unix-features: * -e- switch in the argument list redirects output to stdout. This feature is useful especially on unix systems where the output can be piped directly into the printer spooler. * Man page provided. * gf-support (thanks Joe Pacer); only tested for lj under unix. * Support for Unix TeX font naming conventions: eg /cmr12.300pk If you want to receive the new distribution please send a short note. -gustaf neumann University of Economics and Business Administration Vienna, Austria ========================================================================= Date: Wed, 15 June 89 13:12:11WUT From: Gustaf Neumann Subject: New version (0.47) of the TeX-driver dvi2xx available Dear user of the dvi2xx driver for the ibm3812 and the lj-family! The new release (0.47) features in the following points: General enhancements: * Clipping of rules for 3812 and lj-family at paper edges. In the previous releases the 3812 ... simply refused to draw lines that left the drawable area LJ ... positioned the line wrongly A new testpage.tex file shows the difference. LJ-features: * new commandline option -sX to spezify pagesize X = 1: executive (7.25in * 10.5in) X = 2: letter (8.5in * 11in) X = 3: legal (8.5in * 14in) X = 26: A4 (210mm * 297mm) X = 80: monarch (3.875in * 7.5in) X = 81: commercial-10 (4.125in * 9.5in) X = 90: international DL (110mm * 220mm) X = 91: international C5 (162mm * 229mm) All values are from the LJ2 technical reference manual. If the -s commandline option is omitted no clipping is performed at the bottom of the page. Please send a short note indicating wether you want to receive the new distribution. -gustaf neumann University of Economics and Business Administration Vienna, Austria ========================================================================= Date: 30 Oct 89 10:22:01 WUT From: Gustaf Neumann Subject: New version (0.48) of the TeX-driver dvi2xx available Dear user of the dvi2xx driver for the ibm3812 and the lj-family! The new release (0.48) features in the following points: LJ enhancements: * Bug eliminated that caused the driver to generate an output file that was much to large. The bug only showed up on dvi files using more than 32 fonts (example: pictex manual). * The new version of the driver uses a different font-id assignment heuristic that leads in 2/3 of my test files to smaller output files. Please send a short note indicating wether you want to receive the new distribution (source and/or PC-binary). -gustaf neumann University of Economics and Business Administration Vienna, Austria ========================================================================= Date: 25 Mar 91 18:21:11 WUT From: Gustaf Neumann Subject: New version (0.49) of the TeX-driver dvi2xx available Dear user of the dvi2xx driver for the ibm3812 and the lj-family! The new release (0.49) features in the following points: Enhancements: * Support of landscape printing: A new command-line option -l was added to support landscape printing on the IBM 3812 and on various LaserJet printers such as o Laserjet II P o Laserjet 2000 o LaserJet III * Small bug fixes for IBM 3812 and LaserJet mode and improved compatibility (the driver runs now under MS/DOS, HP/UX, Ultrix Risc, AIX and OS/2) * new naming: dvilj2[.exe] dvi converter for HP LaserJet+, HP LaserJet II and compatibles dvilj2p[.exe] dvi converter for HP LaserJet II P, HP LaserJet III, HP LaserJet 2000 and compatibles dvi3812[.exe] dvi converter for IBM 3812 Pageprinter * 8-bit clean (256 character font files) The new distribution may be obtained - via anonymous ftp from nestroy.wu-wien.ac.at:pub/src/Typeset/dvi2xx (source and msdos .exe-files, os2 .exe files, binaries for DecStations under ultrix 4.1, rs6000 under aix 3.1 and hp9000/835 under hpux 7.0 The ip-address of nestroy.wu-wien.ac.at is 137.208.3.4 - from Simtel20 (soon); at least pc-binaries and sources - via sending a short note indicating wether you want to receive the new distribution (source and/or PC-binaries). -gustaf neumann ----------------------------------------------------------------------------- Gustaf Neumann neumann@dec4.wu-wien.ac.at, neumann@awiwuw11.bitnet Vienna University of Economics and Business Administration Augasse 2-6, A-1090 Vienna, Austria Tel: +43 (222) 31-336 x4533 Fax 347-555 ========================================================================= Date: 5 May 91 16:11:21 WUT From: Gustaf Neumann Subject: New version (0.50) of the TeX-driver dvi2xx available Dear user of the dvi2xx driver for the ibm3812 and the lj-family! The new release (0.50) features in the following points: Enhancements: * 2 new versions: o dvilj o dviljp These versions are for older HP Laserjet clones that do NOT support 256 character fonts (type 2 fonts) * new options for double sided printing -D print double sided and try to stop printer for paper change -D1 print odd sides only (NEW) -D2 print even sides only (NEW) -D-, -D1-, -D2- like above, but suppress empty padding pages (NEW) The new distribution may be obtained - via anonymous ftp from nestroy.wu-wien.ac.at:pub/src/Typeset/dvi2xx (source and msdos .exe-files, os2 .exe files, binaries for DecStations under ultrix 4.1, rs6000 under aix 3.1 and hp9000/835 under hpux 7.0 The ip-address of nestroy.wu-wien.ac.at is 137.208.3.4 - from Simtel20 (soon); at least pc-binaries and sources - via sending a short note indicating wether you want to receive the new distribution (source and/or PC-binaries). -gustaf neumann ----------------------------------------------------------------------------- Gustaf Neumann neumann@dec4.wu-wien.ac.at, neumann@awiwuw11.bitnet Vienna University of Economics and Business Administration Augasse 2-6, A-1090 Vienna, Austria Tel: +43 (222) 31-336 4533 ~Fax 347-555