                -------- Presskit Version 1.0
                -------- May 8th - 1993
                -------- Douglas P. Webb
                -------- dwebb@binkley.cs.mcgill.ca


I have for several years had an application that required the very best
compression. The program is written in Turbo Pascal. Naturally almost
all the code I've come across is written in C, so I've ported as much as
I could.  Of the code presented here, only the DOUGPACK unit is wholely
my own original code, the rest was ported/wrapped to allow it's use in
a Turbo Pascal.  I figured others might like to try some of it out.

The code is all donated to the public domain, although some of it may
be under the patent cloud. There may be bugs in the implementations
(although I don't think so) so use them at your own risk.


If you make a notable improvement in the code, please mail me a copy.



LZH

  The LZH unit implements a fairly faithful port of an algorithm that
  was written in C by Haruyasu Yoshizaki and Haruhiko Okumura.

  The Documentation on how to use the unit is pretty goodm the source
  code is pretty much undocumented.

  Included is a simple 1 file compression program as a demonstration
  on how to use the LZH unit.


LZW  (DOUGPACK)

  The DOUGPACK unit implements my own interpretation of how the LZW
  algorithm should be implemented. I take all the credit/blame for
  the implementation and any bugs it may contain.

  The Documentation on how to use the unit is pretty good the source
  code has some documentation but is pretty convoluted.

  Included is a simple 1 file compression program as a demonstration
  on how to use this unit.

  It should be noted that the LZW algorithm is patented, so use of this
  algorithm in a commercial program might not be a good idea.


LZSS

  The LZSS program implements a turbo pascal wrapper I've placed around
  a very nice (and fast) implementation of the LZ77 algorithm submitted
  to the DR DOBBS compression contest a few years back by Andy Tam.

  The algorithm is implemented in the context of a stand-alone file
  compression utility, which can be used to compress/decompress files
  one at a time.

  It should be noted that the plain LZ77 algorithm is unpatented, so
  using this code in a commercial application should be OK.


SIXPACK

  The SIXPACK program implements a faithful port from C of a unique
  compression algorithm submitted to the DR DOBBS compression contest
  a few years back by Philip G. Gage.

  The algorithm is implemented in the context of a stand-alone file
  compression utility, which can be used to compress/decompress files
  one at a time.


VITTER

  This is a implementation of the dynamic Huffman coding algorithm
  presented by Jeffrey Scott Vitter in ACM Transactions on Mathematical
  Software, Vol, 15, June 1989, p 158, and described in Journal of the
  ACM, Vol. 34, October 1987, p 825.

  The algorithm is implemented in the context of a stand-alone file
  compression utility, which can be used to compress/decompress files
  one at a time. This program serves only to illustrate the use of
  the algorithm.


Douglas P. Webb
dwebb@binkley.cs.mcgill.ca
May 8th 1993
