**NOTE**:  PCPS is also available for DOS, OS/2 and all Windows platforms
           from any Simtel or Garbo msdos archive site under the directory
           postscrp as file pcps840.zip


A utility to print text files from UNIX onto a PostScript(tm) laser printer
/*****************************************************************************/

For Unix:

The original distribution file (pcps840.tar.Z or pcps840.tar.gz) should
contain the following:

        INSTALL         - Simple installation instructions
        README          - This file
        ibmchars.uu     - A handy chart of the IBM character set (uuencoded)
        license.doc     - PCPS Plain English license specification
        pcps.man        - Detailed documentation
        register.doc    - The registration form

        makefile        - Unix makefile
        define.h        - Various defines
        pcps.c          - The main guts
        pcps.h          - The main header file
        struct.h        - Structures used in PCPS
        unix.c          - Functions specific to the Unix version
        unix.h          - Stuff specific to the Unix version
        valargs.h       - A table of valid arguments


LICENSE
-------

PCPS is released as SHAREWARE and for full details please refer to the file
license.doc


Happy printing,

Paul Carapetis (pcps author)            Internet: Paul_Carapetis@iname.com

Address:                                Phone: +61 3 97059265

    c/- MicroSource
    10 Denise Court
    Narre Warren
    Australia   3805.



Version 8.40 over 8.32
----------------------

Enhancements in this version:

        - Added Fortran mode (-mo7) - thanks to Benjamin J. Stassart.

        - Leading zeros in Line Numbers can be replaced with spaces (-nz)

	- Added separator lines in 2up and 4up modes (-upxl)

Bug fixes in this version:

        - Fixed the gaudy output on the screen to look OK even if your
          windows has more than 80 columns

        - Fixed page flushing algorithm to handle use of -upx arguments.


Version 8.32 over 8.30
----------------------

Enhancements in this version:

        - Duplex mode has been improved to work on a wider range of
          printers.

        - Updated SOLARIS print command

Bug fixes in this version:

        - Rectified bug whereby on some UNIX platforms if ^C is entered
          whilst piping to more, the session is left with no character
          echo.

        - Bug with combination of -bx -smo and -ro rectified.


Version 8.30 over 8.20
----------------------

Enhancements in this version:

        - Ported to 32 bit for Windows 95/NT (not applicable to this version
          obviously :-)

        - Added support for the environment variable PRINTER

        - Improved enhanced print algorithm to handle more complicated
          combinations of characters.

Bug fixes in this version:

        - The filename in the non-gaudy header was being converted to
          PostScript twice - rectified.


Version 8.20 over 8.10
----------------------

Enhancements in this version:

        - Added enhanced print modes to enhance comments in C/C++ (-mo3),
          4GL (-mo4), Shell/PERL (-mo5) and Pascal (-mo6) source listings.

        - Added argument to alter enhanced print style (-es) in Mail mode
          and all comment enhancing modes (-mo3 through -mo6).

        - Added support for A0, A1, A2 and A3 paper sizes.

Bug fixes in this version:

        - Fixed bug in call to font used for the Water Mark.


Version 8.10 over 8.00
----------------------

Enhancements in this version:

        - Added support for 2-up (-up2) and 4-up (-up4) pages, which can be
          used in conjunction with 2 column (-2c) to give up to 8 logical
          pages per side per sheet of paper, though you'd want good eyes
          and a good printer for 8 :-)

        - Added full ISO-8859-1 (ISO-Latin-1) character encoding support
          (-eno) as the default for all text fonts except IBMPCFont.  The
          old style European encoding is still available (-ene).

        - Enhanced page flushing to handle 2-up and 4-up as well as duplex.

        - Enhanced mail mode to handle more unusual header lines.

        - Made the output PostScript more DSC compliant.

Bug fixes in this version:

        None.  No bugs reported/found in version 8.00 to date.


Version 8.00 over 7.92
----------------------

Enhancements in this version:

        - Added the utility cvarg for converting files containing old
          style PCPS arguments (prior to V7.90) to the new style.

        - Added support for background "SHading" of lines (-sh) with
          configurable shading level and number of lines.

        - Added support for "BoXing" the printable area (-bx)

        - Added argument to filter out DOS EOF characters (-cz)

        - Added configurable page flushing between files in duplex mode (-nf).

        - Improved the header line detection algorithm in mail mode.

        - Improved the format of the source for easier installation.

Bug fixes in this version:

        - When -g1 was used with more than 1 file, the text over-printed
          the gaudy banner on the first page of the second file onwards -
          rectified.

        - Finding the origin directory of pcps was not implemeted correctly
          for most Unix systems - rectified.

        - Some people were having trouble with the 'more' prompt -
          something screwy with CURSES.  Unix version now opens a pipe to
          a 'more' type command rather than trying to do it internally. The
          user may configure what command to use (default is "more").

        - Some printers with non-genuine Adobe interpreters were having
          trouble with Man Mode (-mo1).  The PostScript code has been
          modified to use a totally different approach which appears to
          have no compatibility problems (Thanks to Olivier Roussel in
          Lille, France for the fix).


Version 7.92 over 7.91
----------------------

Minor bug fix - unfix a bad bug fix in 7.91 :-)  Apologies to those people
inconvenienced.


Version 7.91 over 7.90
----------------------

Minor release with changes to the source required for distribution.

Bug fixes in this version:

        - Sometimes blank lines were still being included in output.

        - Under certain circumstances, an extra lf sequence would be
          processed.


Version 7.90 over 7.80
----------------------

Enhancements in this version:

        - All arguments are now 2 characters (apart from -P in the Unix
          version) which allows them to be more meaningful.

        - Support for Gaudy banner on the first page only (-g1)

        - Support for configurable tumble in duplex mode  (-dpt)

        - Support of Danish characters oslash and Oslash (-dk)

        - Support for line overstrike if the line is terminated by a
          <cr> only.

        - Support configurable font size for the user identification
          string (-id[n]).

        - Support for printing more than 1 copy of each page (-cp<n>)

        - The filename in the banner may be replaced by a user configurable
          string of text (-fn)

        - The text from all of the arguments -fn, -ga, -g1 and -wm may
          contain the characters ##id and these will be replaced with the
          user@host string.

        - Support for Mail Message Mode which will print mail header lines
          in bold font (-mo2), as well as Man Page Mode (-mo1).


Bug fixes in this version:

        - Fix null pointer in family mode if no valid filename specified
          on command line

        - Fix obscure font size problem

        - If x-$ was used in specifying page ranges, only pages x and x+1
          were printed

        - PCPS would spit the dummy if it found a DOS EOF character (^Z) in
          a .adm or .cfg file - this has been rectified.


Version 7.80 over 7.70
----------------------

Enhancements in this version:

        - Duplex printing supported (-dp)

        - More paper and envelope sizes and trays now supported: A4, US
          letter, Legal, Executive, and Monarch, Com10 and D1 envelopes.
          (NOTE: to select US Letter, change "-du" to "-slt")

        - More flexible paper tray selection

        - Support of two column printing in Portrait as well as Landscape.

        - Support of configurable line feed spacing (-y<n>).

        - Support of decimal font sizes to one decimal place.

        - Support of configurable date formats in the banner (-d1,-d2,-d3).

Bug fixes in this version:

        - The DOS & OS/2 version was not printing the "\" in the path of
          non-gaudy headers.

        - The last line of the file was not being printed if not terminated
          by a line feed sequence.

        - Lines that were truncated caused an extra line feed sequence to
          be issued.

        - Some Form Feed characters were being skipped.

        - Sometimes the EndPage sequence was being lost when using margin
          swapping.


Version 7.70 over 7.60
----------------------

This version was the following enhancements:

        - Support for an Administrators config file to enhance operations in
          a network environment.

        - Support for total quiet mode (-qt)

        - Support for default action to be taken when a file already in
          PostScript is encountered (-df<s|o|p>)

        - Support for identification of originator by printing [user@host]
          in the bottom corner of each sheet (-di).

        - I have had many requests to change the order of the search rules
          to find the config and printer preparation files (pcps.cfg and
          pcps.ppf) to be more usable in multi-user environments.  The
          files are now located thus:

          For each file, if the related environment variable is set (See
          ENVIRONMENT in pcps.doc), the file is sought from the directory
          specified by the variable.  If the variable is not set or the
          file is not found in this directory, the file is sought in the
          current directory and if that fails, it is sought in the
          directory that PCPS originated from.

        - The argument -o- now over-rides pcps's autosense of piped output.

Bug fixes rectified in this release:

        - If the argument "-c" was used in 7.60, only the first line of the
          file was printed.

        - Under unix, the environment variable support did not work.

        - If "-v" was used, the job was rejected by the printer.

        - If lines per pages was specified (-n#), an extra line per page
          was printed.

        - If any extended characters were included in the file comment (any
          comment following the "-g" argument) and more than one input file was
          specified, these characters would not be processed correctly.


Version 7.60 over 7.50
----------------------

This version has the following improvements/bug fixes:

        - Support for printing of "man" pages (-mm)

        - Handles files already in PostScript - queries user whether to
          skip the file, output it as is or process the PostScript into
          PostScript.

        - Improved processing of pcps.cfg which handles use of double
          quotes and offers improved debugging information.

        - Many people have requested that spacing out tabs (-t) be the
          default - this has been implemented.

        - The DOS only version (PCPSD.EXE) was finding directories as well
          as files - this has been rectified.

        - Increased some of the default margins to suit the majority of
          laser printers.

        - Ported to UNIX!!!  At the time of release, PCPS was available for
          the following platforms:

                Sun386i
                Sun3
                Sun4
                IBM RS6000
                Bull DPX2
                Bull DPX20

          For more information on these versions, please contact the author.

          Look for more in the future.


Version 7.50 over 7.40
----------------------

This version has the following improvements:

        - A new font (IBMPCFont) which supports the full IBM/PC character
          set (for the patient ones out there who have been waiting soooo
          long now :-).

        - A new fast inverse algorithm when using temporary file sort
          similar to the fast memory sort.  Three "-i" modes now supported:
          Memory Sort (fastest), Fast File Sort (Fast) and the original
          Slow File Sort (sloooooowww but simple and no overheads).

        - Support of some PostScript timing routines for printer
          performance analysis (I developed this when checking the
          performance of the IBMPCFont).

        - Inclusion of a nice one-page IBM/PC character set chart.  Try
          printing this with the arguments:
                pcps -r -f8 "-gIBM/PC character set" ibmchars

          (Please note that if you print this with PCPSD.EXE, one line will
          not come out correctly due to the fact that the DOS version
          swallows up CR's)

        - Price drop: 10 or more copies now costs the same as 100 or more
          from previous releases.

Version 7.40 over 7.30
----------------------

A couple of registered users reported problems using -i in combination with
some other arguments and this combined with some "quirks" of MSC for family
mode when attempting to use huge pointers prompted a full re-design of the
algorithm for printing inverse.  Users should notice a marked improvement
in performance and should now be faced with total reliability (famous last
words :-)  Also some minor changes to the PostScript.

Version 7.30 over 7.22
----------------------

Two additional arguments have been added:
        -db to download an extended error handler to the printer
        -z  to better handle margins and banners for double sided printing

Also, the line %%EOF has been added to the end of the PostScript output for
those spoolers requiring this to indicate that the end of job has been
reached.

This version and V7.22 have now been confirmed as working on DEC LN03R
printers.

Version 7.22 over 7.21
----------------------

A couple more bug fixes that crept in during the re-write for family mode
plus the addition of the argument "-k" which allows the user to specify
text to be printed in grey in the background.

Version 7.21 over 7.20
----------------------

Just a minor bug fix - the family mode version couldn't find the origin
directory of PCPS.EXE.  Thank you to Wayne Mery for the bug report.

Version 7.20 over 7.10
----------------------

Added the following features as requested by many users:

        - Modified and compiled for family mode.  Two executables are now
          supplied:
              PCPS.EXE is family mode and will run under DOS and OS/2
              PCPSD.EXE is a DOS only version for those with memory worries
        - All margins are now fully configurable (-e)
        - Lines per page now configurable (-n)
        - Support of both A4 and US paper sizes (-s)
        - Ability to print Odd or Even pages for double sided printing (-a)
        - Support printing ranges of pages (-v)
        - Enhanced Gaudy mode
        - Support of ^D (0x04) at start and end of print job (-x)
        - Support of two paper bins (-h)
        - Support of input from stdin
        - Support of output to stdout

Apologies to those still awaiting the full PC font.  I have not had time to
fully implement this - please be patient.

Version 7.10 over 7.02
----------------------

Some small changes to the PostScript output for better compatibility and
the addition of a few more european characters including 0xe1 germandbls
for those german users.

Version 7.02 over 6.00
----------------------

The main change in this version over the previous is the addition of supporting
the european characters in the IBM/PC character set.  All text fonts will now
print out these characters.  I was going to wait until I had also created a good
PC font supporting all of the IBM/PC characters but decided that this feature
would be useful immediately to those many people in European countries who have
queried me about this feature.  For those people running in a server environment
I have enhanced the access to the two support files PCPS.CFG and PCPS.PPF -
please read PCPS.DOC for details.

Version 6.00 over 5.33
----------------------

This version has had much "behind-the-scenes" work done on re-structuring and
cleaning up to make future enhancements easier.  In addition, this version now
supports the PCPS.CFG and PCPS.PPF files, different screen sizes, and minus
arguments.  See PCPS.DOC for more info.  Also, the handling of the initial
prolog is now more efficient.

Thanks to Herb, Laurence and many others for the great suggestions.  I again
ask those of you who have made other suggestions to be patient.

Version 5.33 over 5.32
----------------------

This version simply corrects a minor bug in the handling of Form Feeds.  Thanks
to those people who have made many good suggestions for improvements - I ask
that you remain patient!

Version 5.32 over 5.31
----------------------

This version corrects a couple of bugs in handling TAB characters.  Thanks
to Laurence Nicolson of the University of Liverpool for reporting them.
- TAB characters are now passed through if the -t switch is not specified.
- TAB spacing now aligns with the DOS TYPE command and most editors such that,
  for a tab spacing of 8, the tabstops will be in columns 1,9,17 etc.

Version 5.31 over 5.30
----------------------

This version corrects a bug only apparent in "-i" mode with memory sort mode
active.  There is also a small modification to the display output.

