
    Here's a program I have found to be quite useful if you happen to
want to print a file on a line printer that uses carriage control
characters in column 1.  It's also useful if your printer doesn't allow
the char-backspace-char sequences to generate overstrike.  Of course,
you won't get overstrike by using this program, but the overstrike stuff
will be visible when you print it.  If you happen to have a printer that
allows you to print overstrike by sending CR without LF between lines,
this program should help, since it will separate out the
char-backspace-char into multiple lines, which then you can put a CR
between to get overstrike.  Although I am not finished with writing
this program (I haven't gotten around to writing the code that takes out
blank lines at the end of a page, or the code to take multiple blank
lines and condense it to a series of triple-space and double-space
control chars), but what I have now should still come in handy.

    For those unfamiliar with carriage control characters, they are
characters found in column 1 ( or 0 if you happen to prefer numbering
from 0 ) that are used by a printer to control spacing of lines.
Here is a list of the carriage control characters:

    1	form feed
    SP	single space
    0	double space
    -	triple space
    +	overstrike

    I should warn you about a really silly thing I've done in this
program, which I used to trick getopt into doing something that it
normally doesn't do, like accept something like -l66w80 and parse
it as - l 66 w 80, instead of - l 66w80.   What I've done will most
likely not work with all implementations of getopt.   I've marked that
part of the code with the comment /* kludgy stuff */ .  If you can
think of a better way, without writing another implementation of getopt,
please inform me.

