Microsoft Compiled HTML Help: Difference between revisions
No edit summary |
|||
Line 130: | Line 130: | ||
==Known problems== |
==Known problems== |
||
Some CHM files behave poorly under [[Internet Explorer 7|IE7]]. Printing Topics will crash the CHM viewer on malformed HTML.{{Fact|date=June 2008}} |
Some CHM files behave poorly under [[Internet Explorer 7|IE7]]. Printing Topics will crash the CHM viewer on malformed HTML.{{Fact|date=June 2008}} |
||
==Alternative competing formats== |
|||
[[MHTML]] MIME HTML |
|||
==See also== |
==See also== |
Revision as of 19:27, 12 November 2008
This article needs additional citations for verification. (November 2007) |
Filename extension |
.chm |
---|---|
Internet media type | application/vnd.ms-htmlhelp |
Developed by | Microsoft |
Initial release | 1997 |
Extended to | .lit |
Standard | No |
Microsoft Compiled HTML Help is a proprietary format for online help files, developed by Microsoft and first released in 1997 as a successor to the Microsoft WinHelp format. It was first introduced with the release of Windows 98, and is still supported and distributed through Windows XP and Vista platforms.
HTML Help files are made with help authoring tools. Microsoft ships the Help Workshop with supported versions of Microsoft Windows and makes the tool available for free download. There are also a number of third-party help authoring tools available.
The Microsoft Reader .LIT file format is basically a modification of the HTML Help CHM format.
In 2002, Microsoft announced some security risks associated with the .CHM format, as well as some security bulletins and patches.[1] They have since announced their intentions not to develop the .CHM format further, and will be moving to a new generation of Windows Help called Microsoft Assistance Markup Language in the Windows Vista operating system.
Month | Year | Description |
---|---|---|
February | 1996 | Microsoft announced plans to stop development of WinHelp and start development on HTML Help. |
August | 1997 | HTML Help 1.0 (HH 1.0) was released with Internet Explorer 4. |
February | 1998 | HTML Help 1.1a shipped with Windows 98. |
January | 2000 | HTML Help 1.3 shipped with Windows 2000. |
July | HTML Help 1.32 released with Internet Explorer 5.5 and Windows Me. | |
October | 2001 | HTML Help 1.33 released with Internet Explorer 6 and Windows XP. |
March | At the WritersUA (formerly WinWriters) conference, Microsoft announced plans for a new help platform Help 2, also HTML based. | |
January | 2003 | Microsoft decided not to release Microsoft Help 2 as a general Help platform. |
File format
A CHM help file has a ".chm" extension. It has 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 have the capability to display a table of contents outside of the body text of the help file.
The file starts with bytes "ITSF" (in ASCII), for "Info-Tech Storage Format". The format has been partially reverse engineered and there are container and internal files specifications available.
On Windows computers, this help file can be compiled using hhc.exe. There are some open source tools which can read and explore these files, but they lack various features of the Microsoft Windows tools, most importantly a write support.
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)
- Ability to Generate TOC and Topic Folders containing international characters. Standard HTML Help will not generate these correctly.
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 e-books. Some people use it to keep personal notes, because it can organize them in an ordered hierarchical table and allows quick text searching.
Reading on other platforms
GTK
- gnochm
- CHMsee
- FBReader
Qt
- kchmviewer
- Kchm
Other
- xCHM
- Archmage
- DisplayCHM
- CHM Firefox addon
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 Windows, as a hack, select the topmost Topic, right-click and select Print. On the popup dialog, select "Print this heading and all subtopics.", click OK. Before selecting a printer, look in %HOMEPATH%\Local Settings\Temp for a file named ~hh*.htm. This is the concatenated HTML. The image reference will refer back to the .chm file at the time of the "print".
On Linux systems which use apt as a packaging tool, a CHM file is extracted to plain HTML with (first command is for a Debian based OS)
$ sudo apt-get install libchm-bin $ extract_chmLib tero.chm tero/
Another useful set of tools for CHM files in non-Windows environments is the CHM Tools Package. It's available as source code, and includes a program, chmdump, which extracts the HTML from a CHM file into a separate directory.
It's also available for Mac OS X via MacPorts.
If MacPorts is installed on your system, you can type:
$ sudo port install chmdump
at a Terminal prompt to install the package. You can then extract a CHM file with:
$ chmdump chmfile.chm outdir
Known problems
Some CHM files behave poorly under IE7. Printing Topics will crash the CHM viewer on malformed HTML.[citation needed]
Alternative competing formats
MHTML MIME HTML
See also
References
External links
- GNU Savannah Unofficial HTML Help Specification
- 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
- Chmox Reader for the Mac OS X platform
- chmview
- Free Online Library Of Help Files
- xchm, cross-platform GUI front-end to chmlib
- A Qt/KDE based viewer of CHM files
- Typical solutions for problems with accessing and displaying CHM files
- A free, open CHM to PDF converter for Linux/Unix
- GnoCHM is a CHM file viewer for Gnome Linux.
- Help Explorer Viewer and Help Explorer Server for viewing of different compiled help file formats and publishing on the Web.
- Macrobject Word-2-CHM for converting existing Word document to professional CHM.