Microsoft Compiled HTML Helpは、マイクロソフト1997年Microsoft WinHelp形式の後継として開発・リリースした独自のオンラインヘルプファイル形式である。Windows 98 のリリースで最初に導入され、Windows XPWindows Vistaでもサポートされ続けている。ファイル拡張子CHM (".chm")。

Microsoft Compiled HTML Help
拡張子.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" の略)。ファイル形式はリバースエンジニアリングによって一部が明らかになっており、containerinternal 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がある。

出典

編集
  1. ^ Techtonik, Anatoly (11 April 2006). “application/vnd.ms-htmlhelp”. 7 August 2016閲覧。

外部リンク

編集