てへまぐいらんー

どうでもいいこととか書いてく雑記的なブログ。興味があることにはとりあえず手を出してみるよ

スポンサードリンク

hlp→chmファイルへの変換に四苦八苦したお話

どうも底辺ぐらまーです。

ひょんなことからhlpをchmファイルへ変換してほしいと言われ、色々調べながらやってみましたがめんどくさいの一言だったため、メモ代わりに残しておきます。

(もう2度とやりたくないけど・・)

 

hlpファイルってご存知ですか?

hlpファイルとは古い形式のヘルプファイルのことで、Windows Vista辺り(うろ覚え)から新しいヘルプフォーマットへ移行する為に、非推奨となっていたレガシーなフォーマットです。

非推奨でありながらもWindows8.1まではMicrosoftより、hlpファイルを開くためのインストーラーが配布されておりましたが、Windows10にはインストーラーが配布されておらず、非公式な方法以外で見ることが不可能になってしまっているようです。

 

8.1までのインストーラーがほしい方はこちら

 

四苦八苦した変換方法はこちら

hlpファイルから情報を抽出する

抽出にはUniversal Extractor 2というソフトを使う。DLはこちら

私はBeta4を使いました。

起動すると初回セットアップ画面がでてきますが、脳死で次へを連打しました。

  1. 対象書庫またはインストーラ の場所に抽出を行いたいhlpファイルを指定
  2. 解凍先ディレクトリはわかりやすい場所ならどこでもOKです。(1.を指定すると自動的にhlpファイルと同一ディレクトリが選択されhlp名でフォルダが作られる)

chmファイルの作成

 

ダミーファイルを用意(hhpファイル)

hhpファイルというファイルが必要らしいのですが、作り方が分からなかった為、ダミーファイルを用意した。

ダミーファイルの作成手順は、新しいテキストファイルを作り、ファイル名と拡張子をリネームする。

(例:マニュアル.hhp

HTML Help Workshopの起動

chmファイルの作成は HTML  Help Workshop を使用。DLはこちら

インストール後、HTML Help Workshopを起動する。

左上のFile → New → Projectと進みOKを押す。

 

プロジェクト作成

魔法使いのおっさんが出てくるのでConvert WinHelp Project にチェックを入れて次へ進む

 

chw変換手順

① Universal Extractor 2で抽出したファイルの中にHPJファイルがあるのでそれを指定

②先ほど作ったダミーファイル(hhpファイル)を指定

 

次へを選択するとダミーで作ったプロジェクトを上書きしてもよいかきかれるので当然はいを選択

 

しばらく待つとProjectが生成される。

chmファイルのインデックスなどの設定

hlp変換

このままではContetns欄とIndex欄が空状態なのでそれぞれのタブをクリックしてOKを押す(Create a new ~ を選択した状態で)

 

コンパイル時の設定

OPTIONSをダブルクリックしてメニューをOptionsの設定メニューを開く

 

・Filesタブ

Compiled fileコンパイル後に生成されるマニュアルのパス&ファイル名を入れる

Automatically create contents file (.hhc)When compilng チェックを入れる

Maximum head levelはデフォルトの9のまま

Include Keywords from HTML filesにチェックをいれる

・Compilerタブ

Compatibility 1.1 or later → 1.0 に変更

(私の環境だとマニュアルファイルにリンク切れが発生したため)

 

ファイルの文字コードの変更

Universal Extractor 2で抽出したディレクトリにhtmlフォルダがありその中のhtmlファイルを編集する。

<META HTTP-EQUIV="Content-Type" Content="text/html; charset=Windows-1252">

↓

<META HTTP-EQUIV="Content-Type" Content="text/html; charset=Shift_JIS">

Windows-1252 → Shift_JIS へ変更

ファイル数が多い場合は一括編集ツールなどで行うことをお勧めする。

私はGrepReplaceを使用

 

画像ファイルのエンコード

Universal Extractor 2で抽出した画像ファイルはBMPファイルな為、gifファイルに変換(エンコード)を行う。

私はSeeZを使って一括変換しました。

Universal Extractor 2で抽出したディレクトリにimagesフォルダがあるので作成したgif画像をすべて入れる。

 

Compileを実行

右上のFile → Compileを選択

Automatically display compiled help file when done にチェックをいれてCompileを実行

 

 

めんどくさいのはここからです。

ページの多いマニュアルを変換する際は覚悟してください。

目次やキーワードが文字化けしている場合がある。

その場合hhcファイルとhhkファイルをメモ帳などで開き編集する必要がある。

 

米こちらはhhcファイルを修正する際の一例

  <LI> <OBJECT type="text/sitemap">
        <param name="Name" value="文字化け">
        <param name="Local" value="html/unic2yy9.htm">
        </OBJECT>

valueに指定されているhtmを開き、文字化けしている部分を手修正を行う・・

 

ここが簡略化できればいいんだけど持ってるマニュアルによって文字化けするしないの違いが判らなかったため、何度も見込まれる依頼だったらマクロ等で一括返還できるようにするのですが、めんどくさいのは今日限りなので私はすべて手修正を行いました。

 

最後に

最後の手修正が発生しない場合はさくっと作成できますが、手修正発生した場合は地獄です。

何か方法があればいいんですけどね。情報持っている方いたら教えていただけるとありがたいです。

切実です。

 

 

スポンサードリンク