                                    Phil Callihan
                                Duck Run Electronics
                                5332 Adventure Drive
                                  Dublin, OH 43017
                                    (614)761-0724
                              CompuServe (72617, 3620)

                               Date: 17 January 1990

            OS2 IBM4019 Laser Printer Program

                 This is a printer program that we use to assist in
            developing software and to deliver source code documentation
            to our customers.  The program accepts multiple file names
            with paths to different directories and uses the command
            line wild cards '*' and '?'.  The files are sorted by name,
	    printed, and a index listing is produced for the print out.

                 This program uses the  Courier 17.1 font in the
            portrait orientation.  Each page printed contains a header,
            66 lines of text, and a footer.  The default page width is
            124 characters.  The top and bottom are 1/2 inch from the
            papers edge.  The right margin is 1 inch from the papers
            edge to allow the use of a three ring binder.  The left
            margin is 1/4 inch from the papers edge.

                 The header is printed with double strike, double
            height, and double width characters.  The header can contain
            a company name line and a project title line.  The header
            will always have the name of the file being printed on a
            line.

                 The text is printed 66 lines per page without any
            special printer characteristics.  This provides a very
            legible listing and still allow rooms to make notes or
            comments on the paper while using the print out.  Tabs are
            expanded into spaces by the program.  The tab expansion is
            based on the files extension unless a program user overrides
            this with a command line switch.  This program expects .c
            and .h files to use a tab size of 3 and all other extension
            use a tab size of 8.  This is easily changed with the source
            code or the clever use of a Norton utility.

                 The footer is printed with the double strike
            characters.  The footer will always print "n page of m
            pages" for each file being listed.  The n denotes the
            current page of the file and m denotes the last page of the
            file.  If the index command line switch is set the footer
            with print a master index page number of each page printed.
            After the files are printed and index is produced that
            allows the files to be found quickly.

                 The index is printed with a header, text, and footer as
            described above.  The text in the index contains an index
            page number for the first page of the file, the file name,
            the number of pages in each file, the file's size, the
            file's disk allocation, and the date the file was last
            written.

                 The program has several command line options.  The
            options are set using the '-' character as a switch.  The
            options are:
                 -c<arg> - Company name to be used in header,
                 -p<arg> - Project title to be used in header,
                 -i<arg> - Produce index,
                 -d<arg> - Use an Alternate output device,
                 -q      - Query for company name and project title,
                 -t      - Tab conversion size,
                 -w      - Set print width to 132,
                 -s      - Silent don't verify printing requirements
                 -u      - Usage - produce program description.
            Upper or lower case characters are accepted as switch
            arguments.  An example of this program use could be:

ibmcute -ic "Duck Run Electronics" -p"IBM4019 Printer Program Source Code" g:\ibmcute\source\*.c g:\ibmcute\include\*.h

            This command line would use "Duck Run Electronics" as the
            company name, "IBM4019 Printer Source Code" as the project
            title, and produce an index.

                 I use the program on OS2 version 1.1 and 1.2.  The
            program will work with the HPFS, but it treats the files as
            though the were from a FAT file system.  The program will
            not work in the DOS mode because threads are used to hurry
            things up.  I hope the program is as useful to you as it is
            to us.  With the IBM4019 speed it is no longer painful to
            get a good looking program listing.  Good job IBM!
