CHMLIB is a library for dealing with Microsoft
ITSS/CHM format files. Right now, it is a very simple library, but
sufficient for dealing with all of the .chm files I've come across.
Due to the fairly well-designed indexing built into this particular
file format, even a small library is able to gain reasonably good
performance indexing into ITSS archives.
Version 0.40 is a minor bugfix release. It fixes a few bugs related to the example programs, including stability issues related to chm_http. It also removes the bashisms from the contributed script mozilla_helper.sh.
Version 0.40 is also the first release hosted on github: CHMLib public git repository.
Right now this library supports enumerating the contents of the archive, and reading files from the archive.
This code is now being distributed under the LGPL. It incorporates LZX decompression code from the cabextract project. Thanks to Stuart Caie for authorizing the relicensing of this code in the context of chmlib.
Thanks to Stan Tobias for bugfixes and Andrew Hodgetts for bugfixes and portability fixes!
For those interested in the CHM format, a good resource is Pabs' HtmlHelp Maker, which is a free software project for creating HTML Help files. More importantly, the author maintains a reverse engineered spec for HTML Help files, including the structure of the internal files, which maintain the "topic" structure of the help file, the full-text index, and other useful things. At the time of writing, the spec was not available for download; however, the author has plans to publish it on his site when it is more complete, and an offer to mail out the current version to anyone who expresses interest.
Another "free software" tool which fulfills approximately the same niche as this library may be downloaded from Matthew T. Russotto's CHM site. If, for some reason, my library does not meet your needs, try out the chmtools from this site. Apparently, this site also offers LZX compression code.
Download version 0.40:
Download version 0.39:
Download version 0.38:
Download version 0.37.4:
Download version 0.37:
Download version 0.36:
Download version 0.35:
Download version 0.33:
Download version 0.32:
Download version 0.31:
Download version 0.3:
Download version 0.2:
Download version 0.1:
Applications which use chmlib:
Language bindings for chmlib: