Microsoft Compiled HTML Help
Microsoft Compiled HTML Helpは、マイクロソフトが1997年にMicrosoft WinHelp形式の後継として開発・リリースした独自のオンラインヘルプファイル形式である。Windows 98 のリリースで最初に導入され、Windows XPやWindows Vistaでもサポートされ続けている。ファイル拡張子は CHM (".chm")。
拡張子 | .chm |
---|---|
MIMEタイプ | application/vnd.ms-htmlhelp[1] |
開発者 | マイクロソフト |
初版 | 1997 |
種別 | オンラインヘルプ |
拡張 | .lit |
HTML Helpのファイルは、ヘルプ作成ツールで作成される。マイクロソフトはWindowsのバージョンアップに合わせてHTML Help Workshopもリリースし、フリーにダウンロード可能としている。他にもサードパーティーから様々なヘルプ作成ツールがリリースされている。
電子書籍ビューワMicrosoft Reader .LITファイル形式は、基本的に HTML HelpのCHM形式から派生したものである。
2002年、マイクロソフトはCHM形式に関連したセキュリティ問題を公表し、パッチを公開した[1]。その後、マイクロソフトはCHM形式を止めて新たなヘルプ形式であるMicrosoft Assistance Markup Languageに移行する方針とし、Windows Vistaでそれを採用している。
歴史
編集- 1996年2月 - マイクロソフトが、WinHelpの開発停止と新たなHTML Help標準の開発を発表
- 1997年8月 - HTML Help 1.0 (HH 1.0) がInternet Explorer 4の一部としてリリースされた
- 1998年2月 - HTML Help 1.1aがWindows 98の一部としてリリースされた
- 2000年1月 - HTML Help 1.3がWindows 2000の一部としてリリースされた
- 2000年7月 - HTML Help 1.32がInternet Explorer 5.5とWindows MEの一部としてリリースされた
- 2001年10月 - HTML Help 1.33がInternet Explorer 6とWindows XPの一部としてリリースされた
- 2001年3月 - WritersUAにおいて、マイクロソフトが新たなプラットフォームとしてHelp 2 (HTMLベース)を発表
- 2003年1月 - マイクロソフトがHelp 2を汎用ヘルププラットフォームとしてはリリースしないことを決定
ファイル形式
編集HTMLのサブセットで書かれたページ群とハイパーリンク化された目次で構成される。CHM形式は読むことに最適化されており、検索性能が強化されている。複数のファイルをまとめてLZXで圧縮する。多くのCHMブラウザは、ヘルプファイル本体を表示すると同時に目次を表示できるようになっている。
ファイルの先頭には "ITSF" という文字列がASCIIで入っている("Info-Tech Storage Format" の略)。ファイル形式はリバースエンジニアリングによって一部が明らかになっており、container や internal files といった仕様が公開されている。
Windows上では、このヘルプファイルをhhc.exeでコンパイルできる。これは、HTML Help Workshopの一部として無料で入手可能。
オープンソースでCHMファイルを読めるツールもあるが(例えば xCHM, KchmViewer, GnoCHM, Chmox for OS X, Chamonix for OS X)、Windows自身の持つ機能を完備したものはなく、特にCHMファイルを作成する機能を持つものはない。
利点
編集- 通常のHTMLよりもファイルサイズが小さい
- HTMLのもつフォーマットオプションにより、テキスト表現が豊かである
- 全文検索が可能
- 複数の CHMファイルを共通の目次や索引を持つ1つのファイルに統合可能
- 多言語文字を含む目次やトピックフォルダを生成できる
応用
編集当初、ヘルプファイル向けに作られた形式だったが、その後他の用途にも使われている。HTMLの複数のページをコンパクトにまとめ、アーカイブ状態でブラウズ可能であることから、電子書籍に応用された。人によっては、個人的なメモをこの形式で残す場合もある。というのも、階層構造化された文書で検索も高速という利点があるためである。Firefoxの拡張でCHMファイルを見ることができるものもある[2]。
HTMLの抽出
編集Windowsでは、CHMファイルから HTML部分を以下のコマンドで抜き出すことができる。
hh.exe -decompile extracted filename.chm
これにより、filename.chm
に含まれている HTMLファイル群が extracted
というディレクトリ配下に展開される。
APTをパッケージングツールとしているLinuxの場合、CHMからHTMLを抜き出すには、以下のようにすればよい(1つ目のコマンドはDebian向け)。
# apt-get install libchm-bin $ extract_chmLib tero.chm tero/
Windows以外で使える同様のツールとして、CHM Tools Packageがある。
出典
編集- ^ Techtonik, Anatoly (11 April 2006). “application/vnd.ms-htmlhelp”. 7 August 2016閲覧。