Pythonの日本語版HTMLヘルプ再構築
仕事で使うツールはやっぱり何かと Python で書くのがよさげなので、ようやく勉強を始めようとしたら、日本語ドキュメントが見れずに困っていた件。
Pythonドキュメント日本語翻訳プロジェクトさんのpython-doc-2.7ja1-b.chmというファイルを開こうとしたら、 copybutton.js というスクリプトでエラーしたよというダイアログが表示されます。最初に一度だけならまだしも、サンプルコードを含むページで必ず表示されるらしく読む気になれません。既知の問題のようですが、まだ対策されてないみたい。
こちらの方のようにドキュメントソースから再構築するのがスジだと思いますが、色々揃えるのが面倒だったので小手先で対策してみたメモ。(結果、結構面倒だったような?笑)
やった手順は:
- 件のchmをデコンパイル
- 問題の
copybutton.jsを無効に - インデックスファイル(*.hhk)ファイルのリンクを修正
- chmの再コンパイル
chmファイルのデコンパイルは、Windowsに最初から(?)入っているhh.exeを使うかHTML Help Workshopを使って。hh.exeのコマンドラインは下記。HTML Help Workshop (hhw.exe)はメニューから。
hh.exe -decompile output-folder chm-file
copybutton.jsの無効化は、全てのhtmlを修正するのは骨が折れるので、copybutton.jsを空のファイルにしただけ。
インデックスファイルの修正は、ざっと眺めてテキトーに、Emacsで以下のような正規表現による置換をしてみた。置換後、問題のない英語版のchmのインデックスファイルと比べてパッと見、大丈夫ぽい(笑)。
="\(\[[0-9]+\] \)*('[^']*', [^']*'\(.+\)')" →
="\1\2"
後は、上記プロジェクトのページにあるhtmlhelp.pyのソースを参考に、HTML Help Workshopのプロジェクトファイル(*.hhp)とFull text search stop list file(*.stp)を作成して、chmファイルを再コンパイル。使用したhhpファイルの例は下記。フォントはお好みで。stpファイルの中身は、htmlhelp.pyに定義されているstopwordsの中身の単語をソートして1行毎に並べたモノ。
[OPTIONS]
Binary Index=No
Compatibility=1.1 or later
Compiled file=python-doc-2.7ja1-b.chm
Contents file=python-doc-2.7ja1-b.hhc
Default Font=VL Pゴシック,10,128
Default Window=python-doc-2.7ja1-b
Default topic=index.html
Display compile progress=No
Full text search stop list file=python-doc-2.7ja1-b.stp
Full-text search=Yes
Index file=python-doc-2.7ja1-b.hhk
Language=0x411 Japanese (Japan)
Title=Python 2.7ja1 documentation
[WINDOWS]
python-doc-2.7ja1-b="Python 2.7ja1 documentation","python-doc-2.7ja1-b.hhc","python-doc-2.7ja1-b.hhk","index.html","index.html",,,,,0x63520,220,0x10384e,[0,0,1024,768],,,,,,,0
[FILES]
index.html
[INFOTYPES]
できたchmを開くとこちらのページにあるような文字化けに悩まされて暫くハマったけど、自分の場合はIEのエンコーディング(Encoding)の設定を自動選択(Auto-Select)にしたら直りました。
これでいいのかな?(笑)。取り敢えず、今のところは問題なく使えてそう :-)
2013/03/08 追記: インデックスファイル置換の正規表現を一部修正。(まだ開けないリンクがあったので)
| 固定リンク
「パソコン・インターネット」カテゴリの記事
- AmigaOSのHDDジオメトリ (つづき)(2017.05.29)
- AmigaOSのHDDジオメトリ (つづく…)(2017.05.23)
- Firefox41 で .keysnail.js がエラーしてた件(2015.10.12)
「スクリプティング」カテゴリの記事
- Android の adb backup から一部だけリストアしちゃー(2014.08.22)
- Python の正規表現が激遅だと思ったら(2013.05.27)
- Pythonの日本語版HTMLヘルプ再構築(2013.03.07)
- migemo の ruby 1.9 対応 (NTEmacs + Cygwin)(2012.10.30)
この記事へのコメントは終了しました。


コメント