Microsoft Compiled HTML Help
Filename extension | .chm |
---|---|
Internet media type | application/vnd.ms-htmlhelp[1] |
Developed by | Microsoft |
Initial release | 1997 |
Extended to | .lit |
A component of Microsoft Windows | |
---|---|
Details | |
Type | Help system |
Included with | Windows 98 |
Replaces | Microsoft WinHelp |
Microsoft Compiled HTML Help is a Microsoft proprietary online help format, consisting of a collection of HTML pages, an index and other navigation tools. The files are compressed and deployed in a binary format with the extension .CHM, for Compiled HTML. The format is often used for software documentation.
It was introduced as the successor to Microsoft WinHelp with the release of Windows 98 and is still supported in Windows 7. Although the format was designed by Microsoft, it has been successfully reverse-engineered and is now supported in many document viewer applications.
Contents
History
Month | Year | Description |
---|---|---|
February | 1996 | Microsoft announces plans to stop development of WinHelp and start development on HTML Help. |
August | 1997 | HTML Help 1.0 (HH 1.0) is released with Internet Explorer 4. |
February | 1998 | HTML Help 1.1a ships with Windows 98. |
January | 2000 | HTML Help 1.3 ships with Windows 2000. |
July | HTML Help 1.32 releases with Internet Explorer 5.5 and Windows Me. | |
October | 2001 | HTML Help 1.33 releases with Internet Explorer 6 and Windows XP. |
March | At the WritersUA (formerly WinWriters) conference, Microsoft announces plans for a new help platform, Help 2, which is also HTML based. | |
January | 2003 | Microsoft decides not to release Microsoft Help 2 as a general Help platform. |
Microsoft has announced that they do not intend to add any new features to HTML Help.[2]
File format
Help is delivered as a binary file with the .chm extension. It contains a set of HTML files, a hyperlinked table of contents, and an index file. The file format has been reverse-engineered and documentation of it is freely available.[3][4]
The file starts with bytes "ITSF" (in ASCII), for "Info-Tech Storage Format".
CHM files support the following features:
- Data compression (with LZX compression)
- Built-in search engine
- Ability to merge multiple .chm help files
- Extended character support, although it does not fully support Unicode.[5]
Use in Windows applications
The Microsoft Reader's .lit file format is a modification of the HTML Help CHM format. CHM files are sometimes used for e-books.[6]
Sumatra PDF supports viewing CHM documents since version 1.9.
Various applications, such as HTML Help Workshop and 7-Zip can decompile CHM files. The hh.exe utility on Windows and the extract_chmLib utility (a component of chmlib) on Linux can also decompile CHM files.
The Free Pascal project has a compiler (chmcmd) that can create CHM files in a multiplatform way.
Use in non-Windows applications
Read support:
- GTK: GnoCHM on SourceForge.net, CHMsee, chmviewkit
- Qt: Okular, kchmviewer, KCHM on SourceForge.net
- Java: CHMPane on SourceForge.net
- iOS: CHMate Neue, iChm, ChmPlus, ReadCHM
- Android: KingReader, Chm Reader, iReader
- Mac OS X: iChm, ChmPlus, CHMox, ArCHMock, CHM to EPUB, Clearview Reader
- Other / multiple: xCHM, arCHMage on SourceForge.net, DisplayCHM,[7] ChmFox Firefox addon, CHM Reader Firefox addon, FBReader
- Amiga: libmspack on Aminet
Read/write support:
- Lazarus (IDE)/Free Pascal (for a doxygen like tool, a separate commandline compiler in 2.6.0+, and a simple viewer in Lazarus)
See also
References
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Title Handbook of Data Compression Authors David Salomon, Giovanni Motta, David (CON) Bryant Edition 5, illustrated Publisher Springer, 2009 ISBN 1-84882-902-7, ISBN 978-1-84882-902-2 Length 1359 pages
- ↑ Displaychm, KDE Service Menu
External links
- HTML Help Web Page on MSDN
- Microsoft Help 2 Reference (part of Visual Studio SDK for VS7.1 and VS8.0)
- History of HTML Help
- Unofficial (Preliminary) HTML Help Specification