Microsoft Compiled HTML Help
拡張子.chm
MIMEタイプapplication/vnd.ms-htmlhelp[1]
開発者マイクロソフト
初版1997
種別オンラインヘルプ
拡張.lit

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

HTML Helpのファイルは、ヘルプ作成ツールで作成される。マイクロソフトはWindowsのバージョンアップに合わせてHTML Help Workshopもリリースし、フリーにダウンロード可能としている。他にもサードパーティーから様々なヘルプ作成ツールがリリースされている。

電子書籍ビューワMicrosoft Reader .LITファイル形式は、基本的に HTML HelpのCHM形式から派生したものである。

2002年、マイクロソフトはCHM形式に関連したセキュリティ問題を公表し、パッチを公開した。その後、マイクロソフトはCHM形式を止めて新たなヘルプ形式であるMicrosoft Assistance Markup Language(英語版)に移行する方針とし、Windows Vistaでそれを採用している。

歴史

ファイル形式

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の複数のページをコンパクトにまとめ、アーカイブ状態でブラウズ可能であることから、電子書籍に応用された。人によっては、個人的なメモをこの形式で残す場合もある。というのも、階層構造化された文書で検索も高速という利点があるためである。Firefoxの拡張でCHMファイルを見ることができるものもある。

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閲覧。

外部リンク

⌬ Phoenix Mesh CID: 未登録 IPFS未登録 📡 0ピア N=1 CRITICAL PQS C41