PSPRINT 3.0 for UNIX, October 1989 ================================== Andrew Trevorrow PSPRINT is a public-domain PostScript driver that can print a DVI file, raw PostScript program, or text file on a variety of PostScript printers. Currently supported printers are the Apple LaserWriter, DEC's PrintServer 40 and the Linotronic 300. This version of PSPRINT was developed on a Pyramid running OS/x. It should be reasonably easy to port the program to any other UNIX system with a Pascal compiler. Installation ------------ 1. Use Build to create the psdvi program. You may need to change the Pascal source files to suit your compiler. 2. Make sure all the files in this directory are world readable or executable. 3. Copy psprint into something like /usr/bin, edit it and make any changes to suit your site (see in particular the values flagged by SYSDEP). The important files in this directory ------------------------------------- Executable files: psprint script that users run psdvi program run by psprint to turn DVI file into PostScript Build compiles and links psdvi Documentation and help files: userguide.tex LaTeX source for the PSPRINT User Guide piechart.ps used in userguide.tex to produce Figure 1 greybox.ps used in userguide.tex to produce Figure 2 random.ps used in userguide.tex to produce Figure 3 psfonts.tex illustrates use of PostScript fonts in a TeX document pstext.tex used in psfonts.tex; defines \PStext and \CMtext psprint.man source file for on-line help Pascal source files: psdvi.p the main module for psdvi globals.h global data and routines files.h random file i/o routines options.h/p command line interface routines dvireader.h/p DVI file access routines fontreader.h/p PK and TFM file access routines pswriter.h/p PostScript generating routines Test files: nasty.tex TeX source for nasty.dvi, a torture test for psdvi bad.ps used by nasty.tex; contains deliberate PostScript error box.ps used by nasty.tex; draws a box empty.ps used by nasty.tex; empty file test.tex TeX source for test.dvi; tests origin position These files are used by psprint: ps.ps prologue for a PostScript job tex.ps prologue for a DVI job text.ps prologue for a text job two.ps prologue for a two-page-per-sheet text job wide.ps prologue for a two-wide-page-per-sheet text job ctrld contains ^D (sent at end of each lw/lino job) lw_header.ps defines @bannerpage and error handler lw_trailer.ps calls @bannerpage lw_fonts.ps converts TFM names to LaserWriter font names lino_header.ps defines @bannerpage, @footerpage, error handler, etc. lino_trailer.ps calls @footerpage lino_fonts.ps converts TFM names to Linotronic font names ps40_header.ps defines error handler ps40_fonts.ps converts TFM names to PrintServer font names Other useful files: fontsample.tex TeX source for producing font samples fontlist.ps prints a list of the available fonts in your printer info.ps to discover various printer details lino_pages.ps tests various page setups available in Linotronic setmargins.ps permanently adjusts margin settings in LaserWriter Revision history ---------------- Version 1.0 was released in January 1988 and was based on an Apollo DOMAIN Pascal version (which in turn was based on a VAX/VMS Modula-2 version). Version 3.0 was released in October 1988 and corresponds to VAX/VMS version 3.0 of PSPRINT. Here are the changes to version 1.0: Changes to psprint: - Many new options have been added: -device lw/lino/ps40 specifies the type of PostScript printer -two will print a text file with two 60-line by 80-col "pages" per A4 sheet -wide will print a text file with two 60-line by 132-col "pages" per A4 sheet -o file saves the PostScript code in given file rather than printing it -q queue overrides the default queue -n string includes given string on the flag page -i integer allows you to print every ith page in the current page range -conserve/-noconserve control the conservation of VM -reverse/-noreverse control the order in which pages are printed -flag/-noflag control whether or not a flag page is produced -manual instructs a LaserWriter to wait for paper to be fed manually -cutmarks/-nocutmarks control whether or not cut marks appear on Lino output -size a3l/a4p/a4l/a5p/a5l/b5p/b5l specifies which Lino page setup to use -lowres switches Linotronic DVI output to "low" resolution (635dpi) -ho dimension shifts DVI output horizontally by given amount -vo dimension shifts DVI output vertically by given amount - A single .tmp file is now created and queued for printing (or renamed if "-o file" is used). - A PSPRINT User Guide has been written. Changes to psdvi: - The version number is now displayed if -s is used. - psdvi can now handle PostScript fonts. The -P (psprefix) option defines the unique font name prefix used to recognize a PostScript font and the -T (tfmdir) option defines the location of the TFM files for these fonts. - The -ho and -vo options allow horizontal and vertical margin shifting. - The -f (fontdir) option value must end with '/' (as must -t) and is now automatically prepended to the -d (dummyfont) option value. - The limitation requiring a fixed-length fontsize substring in PK file names has been removed. - The search for the end of a DVI file now allows for trailing NUL-bytes (after the terminating 223-bytes) to cope with DVI files that have been transferred to and from a VMS machine. - The copying of header and special files in PSWriter has been speeded up. - The generation of bitmap hex data in FontReader has been speeded up.