CHM文件是微软推出的基于HTML文件特性的帮助文件系统(压缩存储的HTML格式的帮助文件),以替代早先的WinHelp帮助系统(.hlp格式)。在Windows中把该类型文件称作“已编译的HTML帮助文件”。
CHM在不同语言的操作系统下,会自动显示对应语种的选单。浏览器(如Internet Explorer和Mozilla)支持的JavaScript、VBScript、ActiveX、JavaApplet、Flash、HTML图像文件(GIF、JPEG、PNG)和音频/视频文件(AU、MIDI、WAV、AVI)等,CHM同样支持,并可以通过URL地址与因特网联系在一起。
XCHM是Unix下的CHM文件阅读器,开放源代码(GPL),支持FreeBSD、Linux和Solaris,基于wxWindows框架和chmlib库开发。wxWindows是一个开放源代码的基于C++的GUI框架。XCHM使用的是基于Gtk+的版本,即wxGtk。chmlib是Jed Wing's开发的ITSS/CHM文件处理库。本文将介绍XCHM的安装和使用。
下载安装XCHM,需要wxWindows和chmlib库。请到它们各自项目主页下载最新的版本。
chmlib库的下载地址为http://66.93.236.84/~jedwin/projects/chmlib/,最新版本0.37,文件名是chmlib-0.37.tgz。
wxWindows的下载地址为http://wxwindows.sourceforge.net,最新版本2.6.2,文件名是wxGtk-2.6.2.tar.gz。
xCHM的下载地址为http://xchm.sourceforge.net,最新版本1.2.0,文件名是xchm-1.2.0.tar.gz。
安装首先需要在Linux上面安装chmlib库。用户将下载来的软件包先解压,命令如下:
#tar -xzvf chmlib-0.37.tgz
#cd chmlib-0.37
#./configure; make;make install
安装好chmlib库之后,接下来给出安装wxGtk的命令如下:
#tar -xzvf wxGtk-2.6.2.tar.gz
#cd wxGtk-2.6.2
#./configure;make;make install
完成以上两项的安装,还需要安装XCHM。用到下列命令:
#tar -xzvf xchm-1.2.0.tar.gz
#cd xchm-1.2.0
#./configure;make;make install
在完成以上安装后,仍然无法运行XCHM,需创建以下链接:
#ln -s /usr/local/lib/libchm.so.0 /usr/lib/libchm.so.0
#ln -s /usr/local/lib/libwx_gtk2_adv-2.6.so.0 /usr/lib/libwx_gtk2_adv-2.6.so.0
#ln -s /usr/local/lib/libwx_gtk2_core-2.6.so.0 /usr/lib/libwx_gtk2_core-2.6.so.0
#ln -s /usr/local/lib/libwx_gtk2_html-2.6.so.0 /usr/lib/libwx_gtk2_html-2.6.so.0
#ln -s /usr/local/lib/libwx_gtk2_media-2.6.so.0 /usr/lib/libwx_gtk2_media-2.6.so.0
#ln -s /usr/local/lib/libwx_gtk2_qa-2.6.so.0 /usr/lib/libwx_gtk2_qa-2.6.so.0
#ln -s /usr/local/lib/libwx_gtk2_xrc-2.6.so.0 /usr/lib/libwx_gtk2_xrc-2.6.so.0
#ln -s /usr/local/lib/libwx_base-2.6.so.0 /usr/lib/libwx_base-2.6.so.0
#ln -s /usr/local/lib/libwx_base_net-2.6.so.0 /usr/lib/libwx_base_net-2.6.so.0
#ln -s /usr/local/lib/libwx_base_xml-2.6.so.0 /usr/lib/libwx_base_xml-2.6.so.0
使用XCHM在Linux上的使用和在Windows上基本一样。运行下面的命令,打开该软件。
#xchm &
点击工具条上的“Fonts”图标,即弹出字体设置对话框。用户在这里可以把字体设置成自己喜欢的类型。
XCHM也实现了打印功能。点击“Print...”图标,出现打印界面示。它支持打印到文件,即“Print to File”,也支持纸张设置等。
经过实验,发现xchm对中文的支持极差,7/10的chm打开都不能正常显示。总得来说,非常失望。
还有一个问题就是pdf。网上比较流行的做法是把simsun.ttf拷贝到Linux下的字体文件夹。我这样做了以后有这么几个现象:
1、xpdf能正常显示一些pdf,但是Kpdf还是乱码。
2、xpdf只能正常显示一些pdf。差不多还有一半的pdf用xpdf打开没中文,只有英文。
3、xpdf的标题栏始终是乱码。
不知道这些是怎么回事。有高手路过的话希望不吝赐教。谢谢。