HTML Help (CHM) Tools and Information

HTML Help format
An incomplete description of Microsoft's .CHM format.

ITOL/ITLS format
A description of Microsoft's ITOL/ITLS format, which is used by HTML Help 2.0 among other things.

CHM Tools package
A set of tools for working with the CHM files, consisting of a C language library 'chmlib' and a program called 'chmdump' which dumps out the files in a CHM file.

Not everything in the document is implemented here, but it is a start, and an LZX decompression engine (from Stuart Caie's "cabextract", suitably modified) is included. License is the GPL, following "cabextract".

I also have a C++ library for reading CHM and ITOL/ITLS formats, including the ability to use arbitrary transforms in the latter.

LZX compression package (lzxcomp)
An LGPLed LZX compression engine, suitable for creating compressed CHM files. Or for use in a CAB-making utility or for any other purpose LZX is useful for.

Documentation for the lzxcomp library included and on-line.

IMPORTANT

Changed May 3 2100 EST: fixed a really dumb bug introduced last minute.
Also allowed LZ compressor to look into the match buffer, for a significant compression improvement.