それではHTML Help1.x形式のヘルプを生成する手順を見ていきましょう。

HTML Help 1.x形式のヘルプを構成する要素

HTML Help 1.x形式のヘルプ(*.chm)を構成する要素は次の通りです。

HTML Help 1.x形式関連のファイル一覧

ファイルの種類 拡張子 説明
プロジェクトファイル hhp コンパイルに必要なヘルプ全体の情報
目次ファイル hhc ヘルプの目次情報
索引ファイル hhk キーワード情報
トピックファイル htm ヘルプの1ページに該当するHTML

HTML Help 1.x形式のヘルプ(*.chm)を生成するには、これらのファイルをそろえてからコンパイルします。SandcastleからHTML Help 1.x形式のヘルプを生成する流れは下図のようになります。

HTML Help 1.xのヘルプファイルを作成する手順

(1) XslTransform.exeで、クラスの型情報から目次を生成
(2) ChmBuilder.exeで、HTML Help 1.x形式に必要なファイル一式を生成
(3) DBCSFix.exeで、前の手順で生成されたhtmlにパッチを適用
(4) hhc.exeで、HTML Help1.x形式のヘルプ(*.chm)を生成

ここでは、前編で紹介したXslTransform以外のプログラムについて見ていきましょう。

ChmBuilder.exeによるコンパイルに必要なファイルの生成

ChmBuilderは、HTML Help1.x形式のヘルプに必要なファイルを生成するプログラムです。

BuildAssembler.exeの実行例

ChmBuilder.exe /project:SampleLib /html:Output\html /lcid:1041 /toc:Toc.xml /out:Chm

ここでは、Toc.xml(Table of Contents:目次情報)を引数に設定して、プロジェクトファイル(*.hhp)、目次ファイル(*.hhc)、索引ファイル(*.hhk)をChmフォルダに出力しています。

ChmBuilderには、パラメータとして次の項目を設定できます。

パラメータ 説明
/html: HTMLが格納されているフォルダを指定
/project: プロジェクトの名前
//toc:tocFile 言語IDの指定(既定値は1033、日本語は1041)
/lcid: HTMLが格納されているフォルダを指定
/out: 出力フォルダ
/metadata+|- メタデータを出力するか(既定値はfalse)
/config:configFilePath 設定ファイルを指定(未指定の場合はChmBuilder.config)

DBCSFix.exeによるHtmlパッチ

DBCSFix.exe(Double Byte Character Setの略:2バイト文字)は、アジア系言語でのChmファイル生成時に発生しうる文字コード問題を回避するパッチプログラムです。

DBCSFix.exeの実行例

DBCSFix.exe /d:Chm /l:1041

この例では、/d:パラメータで対象フォルダ(hhpファイル等があるフォルダ)を、/l:パラメータで言語コードを指定しています。このコマンドを実行するとHTMLファイルが更新されます。 ChmBuilderとDBCSFixによって、HTML Help1.x形式のヘルプのコンパイルに必要なファイルが揃います。

hhc.exeによるヘルプのコンパイル

コンパイルに必要なファイルが揃ったら、hhc.exeでコンパイル行いchmファイルを生成します。コンパイルはプロジェクトファイルを指定するだけです。

hhc.exeの実行例

hhc.exe Chm\SampleLib.hhp

以上の手順によって、SandcastleからHTML Help1.x形式のファイル(*.chm)を生成できます。