This is version 1.7 of roff.

It incorporates some new features that were contributed by other
user's of roff.

roff is a script that allows you to encode the filters that a troff
file must be passed through along with which macro packages to use
in the document file.

To use roff you simply add a roff command line as the first line of
your document file.  Then when you wish to print out the document
you can simply enter

    roff filename

roff will generate the correct command stream to print the file.

the roff command line is basically a line of text that is passed to
eval(1).  Its format is as follows:

.\" exec tbl | pic | eroff -mm

the '.\"' is a troff/nroff comment delimeter.  The 'exec' helps identify
this line as a roff command line.

the rest of the line is the filters, packages, and macros that the
document file should be passed through.  Other examples are:

.\" exec eroff

.\" exec tbl | eroff -mm -mapt

If you look at the roff script you will notice that we strip off the
first line of the document file (the roff command line) before we
pipe the document through the rest of the filters.  This is due to
a previous bout of ignorance on the part of the author, and must now
remain with us forever to maintain compatibility with older roff command
lines.

You might also notice a reference to '$F'.  This is necessary for us
to be compatible with another older roff command line format.

If you are a user of the previous version of roff the following
enhancements have been added:

1. the roff command line of the previous version relied on characters
being in particular locations.  I.E. exec had to occur as the forth
character of the roff line.  This requirement is gone, as the new
roff treats the entries as fields seperated by arbitrary amounts
of white space.

2. #!/bin/sh was added to the beginning for csh users.

3. roff now takes the '-p' argument to pass the file to other troff
processors such as psroff.

bugs:

    I sure wish roff could take input from stdin.
