看板FreeBSD
标 题[doc].chm 怎麽在 Unix 底下观看?
发信站元智大学风之塔 (Thu Apr 17 09:32:58 2003)
转信站Ptt!news.ntu!ctu-gate!news.nctu!news.ncu!news.yzu!bbs.yzu
http://freebsd.sinica.edu.tw/zh-tut/chm2html.html
21.36. .chm 怎麽在 Unix 底下观看?
Contributed by:
[email protected]
last update: 2003年 4月16日 周三 16时35分53秒 CST
目前都是将 .chm 解压缩成 .html 後再,再用浏览器去看。
现有的 .chm 方案有两个,一个是 misc/chmlib 以及 chmtools,
不过两套都没有解压缩的工具, 或是不适合中文的处理,
因此 mison 利用 chmtools 写了一个 chm2html 的工具,如果有兴趣的人可以试试看。
outta-port/chm2html 的安装:
# cd /usr/ports/outta-port/chm2html
# make install clean
在这边以一个 braille.chm 为例子, 用 chm2html 来解压缩,
并解压缩到 braille 的目录下:
chm2html < braille.chm braille/
在 braille 的目录下会产生一个 braille.hhc 的目录档,
接着再用 hhc2html.pl 将索引档转出来:
hhc2html.pl braille/braille.hhc > braille/braille.html
也可以用 hhc2bookmark.pl 将目录档转成 mozilla 的 bookmark 来用:
hhc2bookmark.pl --lo=on --root=`pwd`/brailee brailee/braille.hhc > \
braille/bookmark.html
中文档名的部分,只是把 chm 里的 unicode 转成 big5,
这样只是让解出来的中文档名可以让人看得懂,hyper link还是会有问题。
参数 --lo=on 是指定把大写档名改为小写, 这是因为 chm2thml 是根据
chm 档头解出档案, 而 hhc 目录、chm 档头里的档名,两者可能不一致。
所以在第一步 chm 解开後、 自行判断要不要加 --lo=on。
bookmark 只是一个暂时的解决方案,可以用 hhc2bookmark.pl 转出来的档
案替换原来 ~/.mozilla 里的 bookmark, 这样可以模拟 MircoSoft IE 的
text/sitemap;其实有更好 的方法, mozilla 有提供 sidebar 和 IE
sitemap 类似,或是在 mozilla 读取到特殊的副档名或是 MIME Type 时去
自动呼叫 chm2html 并作成网页来读去。
hyper link 档名不一致的问题可能千奇百怪,转目录的程式是用 perl 写的,
若有需要,请自行修改 perl 程式里的 regular expressions
在将 hhc2html.pl 产生的目录加到 sidebar 中, 我测试的结果,使用如下
的方式可以加入 sitebar:
javascript:window.sidebar.addPanel('title','
http://','');
但是把 http:// 换成 file:// 就没办法加进去,所以还是直接执行
chm.sh braille.chm 罗。
在特殊档名或是MIME Type的处理得感谢 bv1al 提供的灵感, 使用
mozilla 也可以用类似方法开启。
mozilla pull-down toolbar:
Edit->Preferences->Navigator->HelperApplications->NewType:
Description of type: MicroSoft HTML Help
File extension: chm
MIME Type: chemical/x-chemdraw application/mshelp
Application to use: chm.sh
不过以上的方法在笔者测试下,并没有作用,如果有人成功请告诉我一下。
MicroSoft 有个程式可以 HTML 转 CHM,也可以转回来,应该是这个 HTMLHELP.EXE
,在 MicroSoft 下处理 HTML 与 CHM 互转时蛮好用的。
http://download.microsoft.com/download/OfficeXPProf/Install/4.%2071.1015.0/\
W98NT42KMe/EN-US/HTMLHELP.EXE
WWW:
http://66.93.236.84/~jedwin/projects/chmlib/
WWW:
http://www.speakeasy.org/~russotto/chm/
--
※ Origin: 元智大学 风之塔 <bbs.yzu.edu.tw>
※ From : statue.netlab.cse.yzu.edu.tw