CHM格式的中文问题

2 CHM格式的中文问题

前面说过:目前,Doxygen统一采用UTF-8作为输出文件的编码格式,但微软的CHM编译工具(hhc.exe)不支持UTF-8。如果直接用hhc.exe编译,中文不能正确显示。解决这个问题的思路很简单:

  • 将Doxygen输出的html文件以及CHM的项目文件(.hhp)、目录文件(.hhc)和索引文件(.hhk)全部转换到GBK编码后,再用hhc.exe编译即可。

可以用iconv对文件作编码转换。对于html文件,除了文件内容的编码转换外,还要将

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

中的“UTF-8”替换成“gb2312”。

2.1 用批处理简化操作

我写了一些批处理文件(.bat)用于简化处理过程,包括:

2.1.1 clean.bat —— 清空以前输出

@echo off
echo 清空以前输出
if exist refman.chm del /f /q refman.chm
if exist output\html del /f /q output\html\*.*
if exist output\latex del /f /q output\latex\*.*
if exist output\rtf del /f /q output\rtf\*.*
if exist output del /f /q output\*.*

2.1.2 build.bat —— 调用doxygen生成文档

@echo off
echo 生成文档
doxygen Doxyfile

2.1.3 utf82gbk.bat —— 将指定文件(支持通配符)从utf-8编码转换到gbk编码

@echo off
echo 将%1从utf-8编码转换到gbk编码
for %%f in (%1) do copy %%f %%f.utf8
for %%f in (%1) do iconv -c -f utf-8 -t gbk %%f.utf8 > %%f

这个批处理文件要求系统当前路径上有iconv.exe。执行iconv时,使用-c参数忽略无法转换的字符。否则如果输入文件包含无法转换的字符,转换会失败。输入文件被备份到加过.utf8后缀的文件。

2.1.4 html-utf82gbk.bat —— 将指定html文件(支持通配符)从utf-8编码转换到gbk编码

@echo off
call utf82gbk %1
echo 将%1中的charset从UTF-8改为gb2312
fr %1 -f:charset=UTF-8 -t:charset=gb2312

这个批处理文件要求系统当前路径上有iconv.exe和白杨的fr.exe。

2.1.5 makechm.bat —— 用Doxygen的输出制作chm文件

@echo off
echo 将Doxygen输出文件编码从utf-8转换到gbk
set path=%path%;%cd%
cd output\html

echo 处理chm输入文件
call utf82gbk.bat index.hhp
call utf82gbk.bat index.hhc
call utf82gbk.bat index.hhk
call html-utf82gbk *.html

echo 生成chm文件
"C:\Program Files\HTML Help Workshop\hhc.exe" index.hhp

if exist index.chm copy index.chm ..\..\refman.chm
del /f /q *.chm
cd ..\..

这个批处理文件假设系统在目录“C:\Program Files\HTML Help Workshop\”安装了“HTML Help Workshop”。并假设输出目录是Doxyfile所在目录的子目录output。

2.1.6 rebuild.bat —— 重新生成chm文件

@echo off
call clean.bat
call build.bat
call makechm.bat

2.2 小结

了解DOS命令的朋友应该很容易看懂这些批处理吧。将这些批处理文件放在工作目录(即Doxyfile所在目录)后,每次只要键入rebuild就可以重新生成chm文件。必要时可以单独使用clean、build、makechm命令。utf82gbk和html-utf82gbk命令也可以单独使用。读者可以从我的主页www.fmddlmyy.cn下载这些批处理文件


  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
即使拥有良好的工具和优秀技术,应用软件开发也是困难重重。如果使用了重量级, 难于控制,不能有效控制开发周期的平台那么就让应用开发变得更为困难。Spring为 已建立的企业级应用提供了一个轻量级的解决方案,这个方案包括声明式事务管理, 通过RMI或webservices远程访问业务逻辑,mail支持工具以及数据库持久化的多种选择。 Spring还提供了一个MVC应用框架,可以透明的把AOP集成到你的软件中的途径和一个优秀的异常处理体系, 包括自动从Spring特有的异常体系中映射。 Spring有潜力成为所有企业应用的一站式(即在一个服务点可以完成所有服务,译者注)选择, 同时,Spring也是组件化的,允许你使用它的部分组件而不需牵涉其他部分。你可以使用 bean容器,在前台展现层使用Struts,你还可以只使用Hibernate集成部分或是JDBC抽象层. Spring是无侵入性的,意味着根据实际使用的范围,应用对框架的依赖几乎没有或是绝对最小化的. 该文档提供对Spring特性的参考指南,该文档的编辑目前仍在进行中,如果你有任何的要求或建议, 请把它们发表至用户邮件组或位于SourceForge项目主页上的论坛: http://www.sf.net/projects/springframework 在我们继续之前,有些许感谢的话要说:Chris Bauer(Hibernate项目组成员)准备和调整了 DocBook-XSL软件为了生成Hibernate参考指南,同时也让我们生成了该文档.
### 回答1: AutoCAD中的ActiveX是一种编程接口,它允许开发人员使用各种编程语言来与AutoCAD进行交互。ActiveX提供了一系列的对象和方法,用于控制AutoCAD的各种功能,比如创建和修改图形对象、执行编辑操作以及获取图形数据等。通过ActiveX,开发人员可以编写自定义程序来自动化和扩展AutoCAD的功能,提高工作效率。 VBA(Visual Basic for Applications)是一种基于Visual Basic的编程语言,可以通过VBA编写和执行自己的程序。AutoCAD内置了VBA编程环境,允许用户编写VBA代码来操作和控制AutoCAD。使用VBA,用户可以创建自定义命令、工具栏、对话框等,以满足自己特定的需求。 中文CHM格式是一种帮助文件格式,用于存储和显示软件的帮助文档。AutoCAD提供了中文CHM格式的帮助文档,其中包含了关于ActiveX和VBA的参考资料。用户可以通过打开CHM文件,浏览和搜索相关的文档内容,了解如何在AutoCAD中使用ActiveX和VBA编程。 总结起来,AutoCAD的ActiveX和VBA参考中文CHM格式提供了丰富的编程接口和参考资料,帮助开发人员和用户利用ActiveX和VBA来扩展和自定义AutoCAD的功能。这些工具和文档对于提高AutoCAD的使用效率和灵活性非常有帮助。 ### 回答2: AutoCAD ActiveX和VBA参考中文CHM格式是两种用于学习和使用AutoCAD的工具。 首先,AutoCAD ActiveX是一种编程接口,允许开发人员使用各种编程语言(如VB.NET、C#等)来与AutoCAD交互。通过使用ActiveX接口,开发人员可以编写自定义的程序,控制AutoCAD的各种功能,如绘图、修改属性、执行命令等。这使得AutoCAD成为了具有广泛适应性和可扩展性的CAD软件。AutoCAD ActiveX参考中文CHM格式是一种电子帮助文档,提供了对AutoCAD ActiveX的详细说明和使用示例,帮助开发人员快速上手并利用其功能。 其次,VBA(Visual Basic for Applications)是一种集成在AutoCAD中的编程语言,类似于VB.NET。VBA可以用于创建自定义的功能和自动化任务,使得用户可以通过编程方式与AutoCAD进行交互。VBA参考中文CHM格式是一种电子帮助文档,提供了对VBA的详细说明和使用示例,帮助用户学习如何使用VBA开发自定义应用程序和自动化任务。 总结来说,AutoCAD ActiveX和VBA参考中文CHM格式是两种用于学习和使用AutoCAD的工具。ActiveX接口允许开发人员使用编程语言与AutoCAD交互,而VBA是一种在AutoCAD中集成的编程语言。这两个参考文档提供了对相应工具的详细说明和使用示例,帮助用户开发自定义功能和自动化任务。 ### 回答3: 在使用AutoCAD时,我们经常需要使用ActiveX和VBA来自动化我们的工作流程。ActiveX和VBA是两种在AutoCAD中编写代码的方式。 首先,让我们来了解一下ActiveX。ActiveX是一种面向对象的技术,允许我们通过编程控制AutoCAD的各种功能。通过创建和操作AutoCAD的对象,我们可以完成各种绘图、编辑和分析操作。我们可以通过使用AutoCAD的COM接口来连接我们的程序和AutoCAD,从而实现自动化操作。 另外一种方式是使用VBA,即Visual Basic for Applications。VBA是一种针对Office应用程序的编程语言,它也被广泛应用于AutoCAD中。我们可以使用VBA来编写宏,以实现自动化的操作。通过VBA,我们可以访问AutoCAD的各种对象和方法,以及编写自定义的功能和命令。 为了更好地理解和学习ActiveX和VBA编程,我们可以参考中文版的CHM格式文档CHM格式文档提供了详细的参考和指南,包括AutoCAD的对象模型、方法和属性的说明,以及示例代码和常见问题的解答。这些文档可以帮助我们更好地了解和使用ActiveX和VBA的功能。 总之,通过使用ActiveX和VBA,我们可以实现自动化操作,并提高我们在AutoCAD中的工作效率。通过参考中文版的CHM格式文档,我们可以更好地掌握ActiveX和VBA编程的技巧和方法。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值