Microsoft Compiled HTML Help

This is an old revision of this page, as edited by YurikBot (talk | contribs) at 14:00, 18 March 2006 (robot Adding: de). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Microsoft Compressed HTML Help is a proprietary format for online help files. They have a set of web pages written in a subset of HTML and a hyperlinked table of contents. CHM format is optimized for reading, as files are heavily indexed. All files are compressed together with LZX compression. Most CHM browsers display a table of contents on the left.

A CHM help file has a ".chm" or ".CHM" suffix. The file starts with bytes "ITSF" (in ASCII), for "InfoTech Storage Format".

There are some open source tools which can read and explore these files (see for example xCHM or GnoCHM), but they lack various features of the Microsoft Windows tools.

HTML Help files are made with help authoring tools such as PowerCHM or HTML Help Workshop.

Microsoft Compressed HTML Help is more complex than Microsoft WinHelp, which is based on Rich Text Format.

For more information go to HTML Help Web Page on MSDN.

Advantages

  • file size smaller than plain HTML
  • range of formatting options that HTML gives for text presentation
  • ability to search the full text
  • ability to assemble several CHM files into one file with common TOC, index and search (see MSDN)

Applications

This format was originally intended only for encoding help files, but other uses have since been found. It is very handy for packing saved HTML pages in one compact and browsable archive and for creating compact ebooks. Some people use it to keep personal notes, because it can organize them in an ordered hierarchical table and allows quick text searching.

Extracting to HTML

On Windows, a CHM file can be extracted to plain HTML with the command:

hh.exe -decompile extracted filename.chm

This will decompress all files embedded in filename.chm to folder extracted.

or by using HTML Help Workshop.

On Linux, a CHM file is extracted to plain HTML with

 $ sudo apt-get install chmlib-bin
 $ extract_chmLib tero.chm tero/

NB: the "apt-get" command is specific to Debian GNU/Linux (and probably also for distributions based upon it).