Content deleted Content added
mNo edit summary |
Fixed the koreader url |
||
(39 intermediate revisions by 26 users not shown) | |||
Line 1:
{{Short description|Software help file format by Microsoft}}
{{Infobox file format
| name = Microsoft Compiled HTML Help
Line 7:
| caption =
| extension = .chm
| mime = application/vnd.ms-htmlhelp<ref>{{cite web |last=Techtonik |first=Anatoly |title=application/vnd.ms-htmlhelp |url=
| type code =
| uniform type =
Line 24:
}}
{{Infobox software
| name
| other_names = <code>hh.exe</code>
| developer
| discontinued = yes
|
|
|
| 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 engineering|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#Internet Explorer|Windows 95 OSR 2.5]]. Within the [[Windows NT family]], the CHM file support is introduced in [[Windows NT 4.0]]<ref>{{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}}</ref><ref>{{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}}</ref> and is still supported in [[Windows 11]].<ref>{{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}}</ref>
{| class="wikitable" border="1"
!Month
Line 76 ⟶ 80:
==File format==
Help is delivered as a binary file with the <code>.chm</code> extension. It contains a set of HTML files, a [[hyperlink]]ed table of contents, and an index file. The file format has been reverse-engineered and documentation of it is freely available.<ref>{{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 }}</ref><ref>{{cite web |last=Palade |first=Alexandru |title=Archive::Chm |url=https://metacpan.org/pod/Archive::Chm |year=2005 |accessdate=22 July 2014 }}</ref>
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.<ref>{{
CHM files support the following features:
* Data compression (
* Built-in search engine
* Ability to merge multiple .chm help files
* Extended character support, although it does not fully support [[Unicode]].<ref>{{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}}</ref>
The [[Microsoft Reader]]'s .lit file format is a modification of the HTML Help CHM format. CHM files are sometimes used for e-books.<ref>{{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
}}</ref>
==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 <code>hh.exe</code> on Windows
|-
|[[Calibre (software)|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}}
|
|-
|KOReader
|Android, Linux
|{{URL|https://koreader.rocks/}}
{{GitHub|koreader|url=koreader/koreader}}
|
|}
<!-- ------------------------------------------- Assorted dead links -------------------------------------
* [http://code.google.com/p/chmsee CHMsee]
* [https://sites.google.com/site/readchm/ ReadCHM] {{Webarchive|url=https://web.archive.org/web/20140323184506/https://sites.google.com/site/readchm/ |date=2014-03-23 }}
* [https://play.google.com/store/apps/details?id=com.kingreader.framework&feature=search_result KingReader]{{dead link|date=June 2017 |bot=InternetArchiveBot |fix-attempted=yes }}
* [https://web.archive.org/web/20140919063747/https://play.google.com/store/apps/details?id=org.hystudio.android.chm Chm Reader]
* [https://play.google.com/store/apps/details?id=com.chaozh.iReader&feature=search_result iReader]
* [http://code.google.com/p/archmock/ ArCHMock] (Discontinued)
* (NOT A READER) [http://www.enolsoft.com/chm-to-epub-for-mac.html CHM to EPUB] {{Webarchive|url=https://web.archive.org/web/20190329171517/https://www.enolsoft.com/chm-to-epub-for-mac.html |date=2019-03-29 }} (Discontinued)
-->
==Creators==
Microsoft's HTML Help Workshop generates CHM files by instructions stored in a HTML Help project file, which bears a <code>.HHP</code> [[file name extension]] and is a specialized form of [[INI file]].<ref>{{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 }}</ref>
[[Lazarus (IDE)|Lazarus]] and [[Free Pascal]] provide a [[doxygen]]-like tool for CHM generation and a separate [[command-line]] compiler called <code>chmcmd</code>.
==Other utilities==
The official viewer in Microsoft Windows (<code>hh.exe</code>) can decompile a CHM file. So can Microsoft HTML Help Workshop and [[7-Zip]]. [[Calibre (software)|Calibre]] and [https://github.com/dottedmag/arCHMage arCHMage] can convert CHM into another format.
==See also==
{{Wikibookspar|Windows Programming|Compiled HTML Help}}
* [[
* [[Microsoft Help 2]]
* [[Comparison of documentation generators]]
==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}}
[[Category:Internet Explorer]]
[[Category:Technical communication]]
[[Category:
|