Microsoft Compiled HTML Help
{{short description|Online help format by Microsoft}}
{{Infobox file format
| name = Microsoft Compiled HTML Help
| icon =
| logo =
| screenshot =
| caption =
| extension = .chm
| mime = application/vnd.ms-htmlhelp{{cite web |last=Techtonik |first=Anatoly |title=application/vnd.ms-htmlhelp |url=https://www.iana.org/assignments/media-types/application/vnd.ms-htmlhelp |date=11 April 2006 |accessdate=7 March 2012}}
| type code =
| uniform type =
| magic =
| owner = Microsoft
| released = 1997
| latest release version = 1.4{{cite web|title=Microsoft HTML Help 1.4|url=https://msdn.microsoft.com/en-us/library/windows/desktop/ms670169(v=vs.85).aspx|website=Windows Dev Center|publisher=Microsoft|accessdate=10 January 2017}}
| latest release date =
| genre =
| container for =
| contained by =
| extended from =
| extended to = .lit
| standard =
| url =
}}
{{Infobox software
| name = Microsoft HTML Help Executable
| other_names = hh.exe
| developer = Microsoft
| discontinued = yes
| included with = Microsoft Windows
| replaces = Microsoft WinHelp
| replaced_by = Microsoft Help 2
| genre = Help system
}}
Microsoft Compiled HTML Help (CHM) 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. The format was intended to succeed Microsoft WinHelp.
Although the format was designed by Microsoft, it has been successfully reverse-engineered and is now supported by many document viewers.
History
CHM was introduced as the successor to Microsoft WinHelp with the release of Windows 95 OSR 2.5. Within the Windows NT family, the CHM file support is introduced in Windows NT 4.0{{Cite web|url=https://docs.microsoft.com/en-us/security-updates/securitybulletins/2002/ms02-055|title=Microsoft Security Bulletin MS02-055 - Critical|website=docs.microsoft.com|language=en|access-date=2020-10-29}}{{Cite web|url=https://seclists.org/fulldisclosure/2004/Jul/679|title=Full Disclosure: HtmlHelp - .CHM File Heap Overflow|website=seclists.org|language=en|access-date=2020-10-29}} and is still supported in Windows 11.{{Cite web|url=https://community.spiceworks.com/topic/1961503-solved-windows-10-chm-help-files-showing-up-blank|title=[SOLVED] Windows 10 CHM Help Files showing up blank. - Spiceworks|website=community.spiceworks.com|language=en|access-date=2020-10-29}}
class="wikitable" border="1"
!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
|rowspan=2|2000 |HTML Help 1.3 ships with Windows 2000. |
July
|HTML Help 1.32 releases with Internet Explorer 5.5 and Windows Me. |
October
|rowspan=2|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.{{cite web |title=Microsoft HTML Help Downloads |url=http://msdn.microsoft.com/en-us/library/ms669985 |publisher=Microsoft |accessdate=6 March 2012}}
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.{{cite web |last=Wise |first=Paul |last2=Wing |first2=Jed |title=Unofficial (Preliminary) HTML Help Specification |url=http://www.nongnu.org/chmspec/latest/index.html |year=2005 |accessdate=15 August 2012 }}{{cite web |last=Palade |first=Alexandru |title=Archive::Chm |url=https://metacpan.org/pod/Archive::Chm |year=2005 |accessdate=22 July 2014 }}
The file starts with bytes "ITSF" (in ASCII), for "Info-Tech Storage Format", which is the internal name given by Microsoft to the generic storage file format used for CHM files.{{Cite web|title=Virus Bulletin :: Chamber of horrors|url=https://www.virusbulletin.com/virusbulletin/2006/10/chamber-horrors/|access-date=2022-01-05|website=www.virusbulletin.com}}
CHM files support the following features:
- Data compression (using LZX)
- Built-in search engine
- Ability to merge multiple .chm help files
- Extended character support, although it does not fully support Unicode.{{cite web|title=INFO: Limited Unicode Support in HTML Help|url=http://support.microsoft.com/kb/269766/|publisher=Microsoft|date=11 April 2001|accessdate=17 March 2012|archive-url=https://web.archive.org/web/20160313203857/https://support.microsoft.com/en-us/kb/269766/|archive-date=13 March 2016}}
The Microsoft Reader's .lit file format is a modification of the HTML Help CHM format. CHM files are sometimes used for e-books.{{cite book| title=Handbook of Data Compression
| first1=David |last1=Salomon |first2=Giovanni |last2=Motta |first3=David (CON) |last3=Bryant
| edition = 5th, illustrated
| publisher=Springer
| year = 2009
| isbn=978-1-84882-902-2
| url=https://archive.org/details/handbookofdataco0000salo
| url-access=registration
}}
Viewers
In addition to Microsoft Windows, the following apps support CHM:
class="wikitable"
|+ !Name !Operating system !Website ! |
Okular
|Windows, Linux, Unix-like |{{URL|https://okular.kde.org/}} {{URL|https://invent.kde.org/graphics/okular}} |Uses |
Calibre
|Windows, macOs, Linux, |{{URL|https://calibre-ebook.com/}} {{GitHub|kovidgoyal|calibre}} | |
Sumatra PDF
|Windows |{{URL|https://www.sumatrapdfreader.org/}} {{GitHub|sumatrapdfreader|sumatrapdf}} | |
GnoCHM
|Linux, BSD |{{SourceForge|gnochm|GnoCHM}} | |
CHM View
|None/Uncompiled |{{GitHub|ojuba-org|chmviewkit}} | |
kchmviewer
|Windows, Linux |{{URL|https://ulduzsoft.com/kchmviewer/}} | |
KCHM
|Linux, BSD, Solaris |{{SourceForge|kchm|KCHM}} | |
CHMPane
|Windows, macOS, Linux |{{SourceForge|chmpane|CHMPane}} | |
CHMate Neue
|iOS, iPadOS, visionOS |{{iTunes|app/chmate-neue-chm-reader-reloaded/id335157929|CHMate Neue}} | |
iChm
|iOS, macOS |{{iTunes|app/ichm-chm-reader/id1243909868|iChm}} |Discontinued |
ChmPlus
|iOS, iPadOS, macOS, visionOS |{{iTunes|app/chmplus-pro-chm-reader/id441521818|ChmPlus}} | |
Chmox
|macOS |{{URL|http://chmox.sourceforge.net}} {{SourceForge|chmox|Chmox}} | |
Clearview
|macOS |{{iTunes|app/clearview/id557090104|Clearview}} | |
DisplayCHM
|Linux |{{URL|https://linux-apps.com/p/998057}} | |
Creators
Microsoft's HTML Help Workshop generates CHM files by instructions stored in a HTML Help project file, which bears a .HHP
file name extension and is a specialized form of INI file.{{cite web |last=Wise |first=Paul |last2=Wing |first2=Jed |title=Unofficial (Preliminary) HTML Help Specification INI formats|url=http://chmspec.nongnu.org/latest/INI.html#HHP |year=2005 |accessdate=1 February 2018 }}
Lazarus and Free Pascal provide a doxygen-like tool for CHM generation and a separate command-line compiler called chmcmd
.
Other utilities
See also
{{Wikibookspar|Windows Programming|Compiled HTML Help}}
References
{{Reflist}}
External links
- [http://msdn2.microsoft.com/en-us/library/bb267846.aspx HTML Help Web Page on MSDN]{{dead link|date=February 2025}}
- [http://msdn2.microsoft.com/en-us/library/bb165722(VS.80).aspx Microsoft Help 2 Reference]{{Dead link|date=February 2025}}} (part of Visual Studio SDK for VS7.1 and VS8.0)
- [https://web.archive.org/web/20060718005033/http://www.helpware.net/htmlhelp/hh_info.htm History of HTML Help]
- [http://www.nongnu.org/chmspec/latest/index.html Unofficial (Preliminary) HTML Help Specification] (the linked ITSF specification has been moved to [http://www.russotto.net/chm/chmformat.html the Russotto.net domain])
{{Microsoft Windows components}}
{{DEFAULTSORT:Microsoft Compiled Html Help}}