用HTML Workshop 从中文UTF-8的HTML生成可见的HtmlHelp(CHM)

这个主题比较长,前几天做ICU4J的Investigation发现的,实在比较麻烦。
我们有几个包含中文的UTF-8的文档,还有HHC(就是Table of Contents), HHK(Index), HHP(Project)几个文件,用微软官方的Html Workshop(HHC)生成HtmlHelp 。假定所有的都是UTF-8格式的。
事实上,如果我们直接生成的话,文章里面的中文是可以看得见的。但是有一个问题:文档的内容不能被搜索。因为我们搜索输入的文档是ASCII的,而内容却是UTF-8的,所有搜不到。另外,索引和TOC也是乱码。
所以我们需要转换编码,从UTF-8->ASCII。如果你只转换HHK,HHC的话,代价比较小,而且可见的部分都不会出现乱码,但是你的搜索功能就不能用了~~另外,HHP里有一项Language,换成中文(可以手动改成0x804,这是微软官方的代码,就是zh-cn,也可以在HTML workshop里的图形界面里选,更方便)。要是转换了所有的文档的话,搜索也可以用了,记得要把HTML里的那些meta header里有关UTF-8的信息都去掉,不然浏览器会把这个文档 当成UTF-8的解析,所有的东东也都是乱码了。
1.3的Help里说开始支持Unicode了,完全是在扯蛋。所谓的支持仅仅是可以显示了。事实上显示也不是workshop的功劳,而是IE的解析起了作用。听说HTML workshop下一个版本会全面支持Unicode,不知道会是怎么样。

Leave a Reply

Your email address will not be published. Required fields are marked *