home *** CD-ROM | disk | FTP | other *** search
-
- NAME
- fineprnt --- fine printing on an hp+ or compatible laser printer
-
-
- SYNOPSIS
- fineprnt options filenames
-
-
- DESCRIPTION
- Fineprnt prints ascii or binary files in a column oriented manner on an hp+
- or compatible laser printer. It uses a small 6pt fixed or proportionally
- spaced font downloaded before printing. The printout can be tuned to any
- paper size, portrait or landscape mode. Double sided printing is supported
- with page layout adjusted to odd (right hand side) and even (left hand side)
- pages. It is typically used to print program listings, readme files and the
- like in a very compressed form.
-
- Fineprnt is a stand-alone program but supports an environment variable and
- an optional configuration file.
-
-
- OPTIONS
- Options and filenames (which can contain wildcards) can be given in any
- order, however, all options are processed before printing starts, and all
- files are printed with the same setting. Options must be separated by spaces.
- In the following list, # stands for an integer number, ? for a single
- character and * for a string of characters. Defaults, given in parentheses,
- are adjusted for standard A4 paper in portrait mode. The values for some
- length parameters are in dots, one dot being 1/300 inch, the resolution of
- the hp+ printer.
-
- Note that the area of print does not usually coincide with the physical
- size of the paper. The margin parameters, therefore, do not necessarily
- count from the borders of the sheet.
-
- Before printing all files are scanned to determine the number of columns and
- lines for each file and to search for lines that may have to be truncated.
-
-
- -c# Number of characters per line (80). This parameter controls the
- width of each column. When the proportional font is selected the
- actual number of characters printed can be more or less, depending
- on the total width being less or more of that what the fixed
- spacing font would produce.
-
- -l# Number of lines per column (132). This parameter controls the page
- length.
-
- -s# Number of columns per page (2).
-
- -o# Left margin in dots (175) on all pages in single sided mode, or on
- odd pages in 2-sided mode.
-
- -e# Left margin in dots (0) on even pages in 2-sided mode. If landscape
- mode and 2-sided printing is specified, this parameter applies to
- the upper margin on even sides.
-
- -u# Upper margin in dots (0). If landscape mode and 2-sided printing is
- specified, this parameter applies to the upper margin on odd sides
- only.
-
- -b# Baselineskip in dots (24). A value less than 24 is not recommended.
- A larger value might yield a slightly better readability, but at
- the cost of less lines fiting on the page.
-
- -a# First page to print (1).
-
- -z# Last page to print (last page of this print job).
-
- -t# Set tab stops every # characters (8).
-
- -w# Wrap option for lines longer than the column width:
- 1 Wrap lines.
- 0 Truncate lines (the default).
- -1 Continue printing beyond the column width.
-
- -f# Frame around each column:
- 0 No frame.
- 1 Vertical lines as separator between columns only.
- 2 Horizontal lines above and below each column.
- 3 A box around each column (the default).
-
- -h# Header and footer for each column:
- 0 No header or footer.
- 1 Print filename as header only.
- 2 Print column number as footer only.
- 3 Filename as header, column number as footer.
- 4 As above, plus information on file modification and the
- total number of columns for this file (the default).
-
- -n# Option for line numbering. If a positive number is specified lines
- are numbered consecutively, starting from 0 for each file,
- incremented by the given number. Note that column 2 and higher are
- shifted a further 4 character spaces each to the right to
- accommodate room for the line numbers. If a negative number is
- given, only the innermost column of each page is numbered, starting
- from 0 on each page and incremented by the absolute value of the
- given number. Column alignment is not changed in this case.
-
- The default is 0, no line numbering.
-
-
- -#[e/o] Specify one/two-sided or no printing:
- -2 2-sided printing, odd sides first, prompt to print even sides
- -2e 2-sided, even sides only (off)
- -2o 2-sided, odd sides only (off)
- -1o 1-sided, margins as for odd sides, same as -1 (default)
- -1e 1-sided, but margins as for even sides
- -0 don't actually print, find number of columns for each file
- only.
-
-
- -B?[.] Dump bytes instead of ascii interpretation. The character following
- the -B indicates: X=HEX, x=hex, o=octal or b=binary representation.
- Any other or no character defaults to ascii interpretation. An
- optional period (.) changes any zeros in the print into periods,
- which may improve readability in some circumstances.
-
- -P* direct output:
- If a single digit is given after the -P it specifies the printer
- port, the default is 1.
- For any other string following -P the output is redirected (append
- mode) into a file named by the given string.
-
- -F? Select font, f = fixed, p = proportional, default is f.
-
- -O? Page orientation, p = portrait, l = landscape (p).
-
- -N? To start a new file, advance
- l 5 lines
- h to next half column
- c to next column
- p to a new side
- s to a new sheet
- x variable: if the next file fits in the same column (including 5
- empty separation lines), it is printed there. Otherwise, the
- current column is ended, and if the new file entirely fits in one
- column, it is printed in the next one. If it exeeds one column,
- printing starts on a fresh side. If it exeeds one side printing
- starts on a new sheet (which is only different from a new side
- if 2-sided printing is active and the last file ended on an odd
- side).
-
- -D* Directory containing fineprnt.cfg (.).
-
- -E* Disregard any characters between a form-feed and the next newline
- character: -Eon switches this feature on. Any other string
- following -E means off (default is off).
-
- -Z* Recognise ctrl-Z as file terminator. -Zon activates this feature,
- any other string after -Z means off (default is off).
-
-
- USER-DEFINED OPTIONS
- When an option is not found under those listed above, a file fineprnt.cfg is
- searched (see under FILES) and scanned for a line whose first word (a string
- followed by one or more blank spaces) matches that option (stripped of the
- introducing character - or /). If a match is found, the rest of that line is
- parsed for options, just like command line options or the value of the
- environmental variable, with the only difference that nesting is not
- possible. Note that the name of a user-defined option cannot start with one
- of the 8 upper case letters B, D, E, F, N, O, P or Z. It can start with any
- lower case letter, but if it is one of a, b, c, e, f, h, l, n, o, s, t, u,
- w, or z, the second character must not be a digit, - or +.
-
- This feature is thought to provide a convenient way to abbreviate a set of
- options to customise the program to individual taste or printer set-ups. An
- example: If fineprnt.cfg exists and contains the following line
- quer -Ol -l88 -u27 -s3 -2 -o85
- typing
- fineprnt -quer myfile
- will print myfile in landscape mode, with 88 lines per column, 3 columns per
- page, etc.
-
-
- ENVIRONMENT
- FINEPRNT --- a list of options processed before (and overridden by) command
- line options. The environment variable is optional.
-
-
- FILES
- finepnrt.cfg --- an optional ascii file containing sets of user-defined
- options. If the -D option is not specified, the file is first searched in the
- current directory and than in the directory containing fineprnt.exe. The
- file need not exist.
-
-
- FYI
- In ascii mode formfeed characters act as a vertical tab of half a column
- distance: If the current column is less than half filled, printing continues
- at line 1+l/2 where l is the number of lines per column. If the current
- column is more than half filled, printing continues in the next column.
-
- Backspace characters are sometimes used to simulate bold printing on
- dot-matrix printers. This has no effect, however, on a laser printer. To
- follow the dot-matrix printer convention char-\b-char sequences are rendered
- by shifting the second printed character one dot to the right and upwards
- which gives the appearance of a bolder stroke width.
-
-
- RESTRICTIONS
- Only standard printable ascii characters can be handled. Unfortunately
- IBM and HP implemented different sets of extended characters, requiring a
- remapping. Extended characters are on the list of things to do. I might
- tackle this after my return to Europe.
-
-
- LIMITATIONS
- The maximum number of charaters per line is 511. The maximum length of a
- command line is 128 characters. The number of files to be printed is only
- limited by the amount of memory available to store their names.
-
- The total number of characters on a normal A4 page can be 20,000 or more. A
- page with little white space (as it may occur when using the -B option) can
- exhaust the printer's memory, which results in a "page too complex" error on
- the printer. Apart from adding memory to the printer, the only remedy is to
- reduce the number of total characters per page using the -c, -l, or -s
- options.
-
-
- CAVEATS
- The program has only been tested on 8086, 80286 and 80386 processors, under
- DOS 3.2 and 3.3 and with the following printers: hp3, Epson GQ-3500 and
- Dataproducts LZR-1230, the latter two emulating an hp+. It should run under
- any DOS 2.0 or higher.
-
-
- SHAREWARE
- If you use fineprnt beyond an evaluation period, send $20 to the
- Trees-For-Life people, Greenpeace or any other environment protection
- organisation of your choice. If you don't use this program to print your
- ascii files, send 1 cent for each page you print to Trees-For-Life anyway.
- Fineprnt is free if used to print on recycled paper. If you don't comply
- with this rules, you must plant one tree for each 50 pages you print.
-
-
- AUTHOR
- Jorg Hartmann
-
- FIAMS, Flinders University of South Australia, Bedford Park SA 5042.
- e-mail: mojh@research.cc.flinders.edu.au
-
- I will be leaving Australia in early March 1991, and from April 1991 I
- will be at
-
- Alfred Wegener Institut f\"ur Polar- und Meeresforschung
- Columbusstrasse, 2850 Bremerhaven, Germany.
- e-mail: postmaster@vax.awi-bremerhaven.dbp.de
-
-
- Copyright (c) 1990, 1991 Jorg Hartmann. Version 1.3
-