limodou的学习记录
limodou是一个程序员,他关心的焦点是Python, DocBook, Open Source ...

导航

Blog统计
  • 文章 - 927
  • 收藏 - 0
  • 评论 - 2911
  • Trackbacks - 16
公告

文章

收藏

    相册

      DocBook

      python

      Pythoner in 中国

      Python开源项目

      技术

      其它

      我的东东

      我的开源项目

      存档


      正在读取评论……
       

      chm是windows系统下的Html Help文件。今天在网上看到有一个rst2chm.py的模块可以将reStruecturedText格式的文本文件转换成chm文档,地址访问:

      http://www.rutherfurd.net/software/rst2chm/index.html

      我下载后,按说明,试着将 NewEdit 的文档(因为是用reStruecturedText格式写的)进行了转化,开始有一些问题,最后改了rst2html.py终于转换成功。

      使用rst2chm.py首先要安装微软件HTML Help Workshop软件。然后在 NewEdit 的doc目录下,我使用如下命令:

      rst2chm.py --title=NewEdit --default-topic=index.htm --stylesheet=default.css
      NewEdit.chm index.txt userguide.txt technical.txt

      命令比较长我分成了两行。title是chm文档窗口的标题。default-topic是打开chm时显示的第一页的索引。stylesheet是用到的样式表文件。newedit.chm是生成的chm文件名。再后面是要处理作为目录的文件名列表。可以使用*.txt这样的通配符。每个文件都会在目录中生成为单独的文件夹。

      在处理中文的文件时,rst2chm.py会现问题。于是我不得已仔细阅读了它的源代码,并作了修改:

      1. 解决输出GBK编码的HTML文件,原程序的输出编码写死了,我直接加上了:

      pub.settings.output_encoding='cp936'
      pub.destination = docutils.io.StringOutput(
                  encoding=settings.output_encoding)


      强制将输出编码指定为'cp936'

      2. 修改生成的hhp工程文件的语言指定。在改过了第一步之后,HTML文件已经变了GBK编码,但生成的chm目录仍然不是中文的。经过种种测试,我发现用微软的工具生成的就对,用rst2chm.py生成的就不对。结果我发现,在hhw(微软件工具名)中工程文件中有一个配置选项,其 有一个语言的选项,其值为:0x804 中文。而rst2chm.py中生成的是英文,难怪。找到生成hhp的地方将语言的选项改掉:

      settings = {
          ...
          'language': '0x0804 Chinese',
          'title': options.title,
          'files': '\n'.join(html_files),
      }

      这样就可以了。

      3. 为了将hhp显示出来,我还修改了clean的地方,将它注释掉,不然执行完rst2chm.py会将生成的东西(包括hhp)删除:

      #    if options.clean:
      #        status('cleaning up... ', options)
      #        if options.generate_html:
      #            map(os.remove, html_files)
      #        os.remove(options.hhp_file)
      #        os.remove(options.hhc_file)
      #        status('OK\n' ,options)

      等全部成功后再把注释去了就行了。

      基本上经过这些改动,rst2chm.py就可以生成正确的中文目录的chm文档了。

      原本想改得更漂亮些,但有些太麻烦,就这样吧。有兴趣的可以试试。




      Trackback: http://tb.donews.net/TrackBack.aspx?PostId=51089


      [点击此处收藏本文]  发表于2004年07月26日 6:18 PM




      正在读取评论……
      大名
      网址
      验证码
      评论