nenscript - format an ASCII file and convert to PostScript
nenscript [ -?12BGghlNnRrsVWwZ ] [ -ffont ] [
-Ftitlefont ] [ -bheader ] [
-ifiletitle ] [ -Llines ] [
-pfilename ] [ -Pprinter ] [
-Sclassification ] [ -U1st_page_classification ] [
-Tpapertype ] [ -ttabstops ] [
-#copies ] [ file... ]
Formats the specified ASCII files and produces PostScript output conforming to
the Adobe Structuring Conventions. The output pages may be in landscape or
portrait mode, with one or two columns, with or without headers.
If no input files are specified, then input is accepted from
stdin.
Tabs in the input stream are expanded (by default) to eight
character positions.
Formfeed (control-L) characters in the input stream cause a new
page or column to be started. Form feed characters must be at the start
start of a line, or preceded only by whitespace.
PostScript output is directed to a printer using lpr unless
otherwise specified using the -p option. The printer to use is set by the
PRINTER environment variable. If this is not set, then the printer
"Postscript" ("prn" for MSDOS) will be used.
Font specifications are formed from the font name and the font
size, i.e. Courier10 specifies a 10 point Courier font, and
Courier-Bold12 specifies a bold, 12 point Courier font. Sizes can also be
given with a decimal point, i.e. Courier7.5 specifies a 7.5 point
font, this might however result in a marginal error in the size
calculations, since a linear approximation of the character width is
done.
The NENSCRIPT environment variable may be used to set default
values for most configurable attributes. Values set in this way will be
overridden by any options specified on the commands line.
The current version of nenscript is 1.13.
- -?
- -h Print usage message.
- -1
- Specifies single column output (default).
- -2
- Specifies two column output.
- -B
- Turns off page titles.
- -bheader
- Print the text specified by header as the title on each page,
rather than the default header which is composed of the name of the source
file, the current time and date and the page number. If in gaudy mode, the
title is displayed in the blank area just above the file title.
- -ffont
- Use font for printing text. Only Courier in sizes 5 to 30 can be
used for printing text. The default font is Courier10, unless two column
landscape mode is specified in which case the default font is Courier7.
- -Ftitlefont
- Use titlefont for printing titles. Any font in any point size can
be used for printing titles.The default font is Courier-Bold10.
- -G
- Enable gaudy mode.
- -g
- Disable gaudy mode (default).
- -ifiletitle
- Use the specified string as the displayed filename. Useful when inputting
from stdin.
- -Llines
- Set the maximum number of lines which will be printed per page or column.
The actual number of lines which appear may be less depending upon the
font and paper size.
- -l
- Do not set a limit on on the maximum number of lines per page, i.e. the
number of lines is determined by the font size and the paper size
(default).
- -N
- Precede each line with it's line number relative to the start of the file.
- -n
- Disable line numbering (default).
- -pfilename
- Direct the PostScript to filename rather than the default printer.
If '-' is specified as the filename, then the PostScript is sent to
stdout.
- -Pprinter
- Overrides the PRINTER environment variable in determining the printer to
spool output to. Ignored if -p is used.
- -R
- Don't rotate the page, i.e. output in portrait mode (default).
- -r
- Rotate the page, i.e. output in landscape mode.
- -Sclassification
- Prints the string argument in Helvetica-Bold28 at the top and bottom of
the page in conformance to regulations for printing classified material.
- -U1st_page_classification
- Print a different classification header for the first page. Useful for
marking banner sheets that need to be marked with a higher level of
classification until the document can be reviewed and declassified.
- -s
- Disable a previous heading specified with the -S option.
- -Tpapertype
- Sets the output paper type as per the argument. At the moment, only two
paper types are supported: A4 and US. The default paper size will be A4,
unless the US_VERSION define is specified at compilation time.
- -ttabsize
- Sets the number of columns to which tabs are expanded. The default is
eight columns.
- -V
- Display information identifying the version of nenscript. Nothing will
be printed regardless of the other arguments.
- -W
- Truncate lines which are wide for the page.
- -w
- Wrap lines which are too wide for the page onto successive lines
(default). Continuation lines are marked with + character before the left
margin.
- -Z
- Check the first two characters of the input for the character string %!.
If a match is found, the input is copied directly to the output with no
processing.
- -#copies
- Print each page copies times.
- PRINTER
- Specifies the name of the printer to direct PostScript output to. If not
set, the default is a printer named "PostScript".
- NENSCRIPT
- If defined, this string is searched for valid options before the command
line supplied by the user.
As nenscript does not have access to complete PostScript font tables, it
must use some other technique for calculating the number of characters that
fit across the page. The solution was to use a fixed table for the Courier
font in a range of sizes. If this table was extended, other fonts and sizes
could be used for printing text. Alternatively, if the text processing was
done on the printer, then there would be no need to know anything about the
font sizes...
No checking is performed on font names, other than checking that
only Courier can be specified for the text font. If a font is specified that
is not available on the final printer, the result is undetermined.
No checking is performed on the input file to detect accidental
printing of garbage files. Caveat emptor!
No mapping of the input characters is performed, so output may
vary depending upon the vagaries of downstream software and hardware.
No support for manual feed, page prefeed, mail upon completion or
any of the other rarely used options of enscript.
No messages are displayed whilst processing.
Input line lengths are limited to 8192 characters after expansion
of tabs.