Program: printPS, (C) 1991-2004,2010,2012 Miroslav Kolar (18 Nov 2012 version) Purpose: To convert ASCII files to PostScript + some extensions ======= Up to 8 logical pages on a single sheet of paper in various formats. Arbitrary font size and number of lines per page. Control character visualization, overprinting the preceding character, and multilevel subscripts and superscripts also available. Usage: printPS printPS [-]-h[elp] (to get more extensive help) printPS [options] [-] [file [[options] [-] file ... [-]]] [| lpr -Pprinter] - (if last argument) ... process standard input - (otherwise) ... next argument is a file name (may start with a '-') options: {-A4 -LTR -LGL} -sFirstpage -eLastpage {-wr -tr} {-sson -ssoff} {-port -land -2land -4port -port1 -land1 -2land1 -4port1} {-port2 -land2 -2land2 -4port2 -portT -landT -2landT -4portT} {-dh -HHeader -noH} {-bxon -bxoff} -fnFont -fhFont -linesLines {-numon -numoff} {-Ig -Sp -Sh -ShAll} -cpCopies {-y2 -yA} {-encEncoding} All options are case-insensitive, except for the Header string. Orientation: 1-sided 2-sided printing with flip about printing long edge short edge (tumble) portrait: -port1 -port[2] -portT landscape: -land1 -land[2] -landT 2-up landscape: -2land1 -2land[2] -2landT 2x2 portrait: -4port1 -4port[2] -4portT Long lines: -tr ... truncate; -wr ... wrap around (has effect for the Courier fonts only) -dh ... use default header made of file name and Last Modification Time (LMT) -y2/A ... print only the last 2/all digits of the year of the LMT Header = user supplied header string -noH ... no header line printed -bxoff/on ... (do not) draw box around each page -fn ... font for the main text -fh ... font for headers Both fonts can be one of the following: Font = # ... Courier (# is the height in points - B# ... Courier-Bold an arbitrary positive number; O# ... Courier-Oblique 72 points = 1 inch) BO# ... Courier-BoldOblique H# ... Helvetica HB# ... Helvetica-Bold HO# ... Helvetica-Oblique HBO# ... Helvetica-BoldOblique A# ... AvantGarde-Book Lines = maximum number of lines on a page -numoff/on ... (do not) print line numbers Control character rendering: -Ig ; -Sp ; -Sh ; -ShAll (see below) Sub/superscript control: -sson (enabled); -ssoff (disabled) (see below) Copies = number of copies to be printed The following two options must appear before the 1st file name: Paper size: -A4 (21 x 29.7 cm) ; -LTR (8.5" x 11") ; -LGL (8.5" x 14") Encoding: Standard ; Latin1 ; Latin2 ; Cyril (i.e., ASCII, ISO8859-1, ISO8859-2, ISO8859-5) Defaults: -dh -yA -cp1 -port2 -wr -Ig -LTR -ssoff -s1 -e0 (= print till the end of file) -lines0 (= calculate reasonable default for each font height) -bxon -numoff -fhH8 -encLatin1 -fn9 (for all -port and -land) -fn7 (for all -2land and -4port) Examples: printPS -port -e5 -fnB16.5 - -a -s3 -H -4port graph.c -HDATA fil3 (the first 5 pages of the file -a and pages 3 to 5 of graph.c and fil3) printPS -LGL -2landT -fn8 code.c (paper-saving well-readable printout of computer code) iconv -f UTF-8 -t LATIN1//TRANSLIT uni.txt | printPS -H -bxoff - | lpr iconv -f UTF-8 -t LATIN2//TRANSLIT uni.txt | printPS -encLatin2 ... - | lpr iconv -f UTF-8 -t CYRILLIC//TRANSLIT uni.txt | printPS -encCyril ... - | lpr (uni.txt is a UTF-8 encoded itext file containing a mixture of, respectively, all West-European languages, all East-European Latin-based languages, and all East-European Cyrillic languages; the last example would actually print a readable mixture of all three groups, but with all accents missing) Control characters are either ignored (option -Ig), or printed as spaces (option -Sp), or shown as capital letters with a caret (circumflex accent) above them (option -Sh), except for ^H, ^I, ^J, ^L, and when -sson is on, also ^^, ^_ and ^]. Backspace (^H), Tab (^I), Newline (^J) and Formfeed (^L) retain their natural functions in all three cases. When -sson is on, ^^ and ^_ can be used to mark the beginning of superscripts and subscripts, respectively, and ^] their end. Multiple-level sub/superscripts are allowed, e.g. A^^B^_c^^a^]d^_3^]^]^].
Backspace can be used for overprinting of two or more characters (e.g. for underlining) and Formfeed for page breaks. Tabs are expanded. If option -ShAll is specified, all control characters will be shown and only Newline will retain its function. For Courier fonts, long input lines are either truncated or printed on several output lines (wrapped around). In each case, a small double right angle bracket marks the end of an unfinished line. In case of input lines that do not fit on one output line, long sequences of consecutive Backspaces may sometime not be rendered correctly (for -Ig, -Sp or -Sh only). For the proportional Helvetica and AvantGarde-Book fonts, long lines are always clipped at the right page margin.