0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Linux環境でDoxygenの出力形式にCHMフォーマットを使う方法

Last updated at Posted at 2023-12-07

API仕様などを Doxygen で生成している皆様、それを配布する際にどんなフォーマットを使っていますか?
LaTeX などを使ってPDFを生成するのも良いですが、Doxygen のフォーマットと親和性が高いもう一つの出力形式にCHM形式があります。

これはHTML形式を単純に一つのファイルに纏めたような形式で、昔の Windows でヘルプファイルの形式として使われていたものです。

Doxygen では、この形式がサポートされているのですが、少し問題があります。
Doxygen はCHMの生成に HTML Help Workshop という、Microsoft のツールに含まれているHTML Help Compiler (hhc.exe) というプログラムを利用するのですが、このツールはもう Microsoft は配布していないようなのです。

しかし、捨てる神あれば拾う神あり、オープンソース版の実装として chmcmd というものがあることがわかりましたので、それを使って Linux 環境で Doxygen の出力形式として CHM を使う場合の設定について共有します。

chmcmd の入手

chmcmd は Free Pascal の開発補助ツールとして配布されているので、Ubuntu の場合、fp-utils というパッケージに含まれています。これをインストールしましょう。

sudo apto install fp-utils

通常 /usr/bin/chmcmd としてインストールされます。

Doxygen の設定

Doxyfile に以下の設定をしてください。

Doxyfile
GENERATE_HTMLHELP      = YES
CHM_FILE               = Document.chm
HHC_LOCATION           = /usr/bin/chmcmd

これで、 html/Document.chm が生成されます。

補足的な設定

FAQ的な内容ですが、以下の設定をしておかないと目次に日本語がある場合に文字化けします。
本文がUTF-8でも、目次はCP932にしていないと文字化けするところが古いWindowsらしいですね。

Doxyfile
OUTPUT_LANGUAGE        = Japanese
CHM_INDEX_ENCODING     = CP932

動作確認した環境

  • Ubuntu 22.04 LTS
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?