问题:

a2x –fop -f pdf 1.xml 生成的pdf 中文被 # 替换

 

解决:

https://mba811.gitbooks.io/writing/content/AsciiDoc/02.html

2.2. 中文支持

如果你用上面的方法生成中文文档,会发现所有的中文都变成了“#”号。这是因为fop后端找不到对应的中文字体,所以你需要做一些另外的设置。

AsciiDoc生成文档的方式是先转换为DocBook文档,再使用DocBook的工具链进行编译。在编写DocBook文档时,我们通常使用XSL来进行输出排版的调整,因此在编译AsciiDoc文档时同样可以使用XSL。

Example 2.3. 中文支持的XSL

(1) (1)

这里指定了正文部分选用字体的顺序。

指定完中文字体后还不够,因为你还要告诉fop去哪里找这些字体,所以我们还需要一个fop.xconf的文件:

Example 2.4. fop.xconf的中文设置

(1)

这里指定中文字体文件所在目录。如果你使用相对路径的话这个路径就相对于你运行a2x时所在的目录。

(2)

这里的意思是当使用WenQuanYi Micro Hei这个字体时,选用字体文件./fop/fonts/wqy-microhei.ttc。

经过这一番折腾后你应该就能生成中文pdf了:

Example 2.5. 中文pdf的生成

(1)

需要用–xsl-file参数给出xsl文件所在位置,用–fop-opts参数给出fop.xconf所在位置。

AsciiDoc的中文支持目前还不完善,这不是它的错,主要问题处出在FOP后端对字体的处理方式上。如果你需要生成粗体或斜体的话可以参考[fop_faq][fop_chinese]

 

参考:

a2x –fop -f pdf 1.xml 生成的pdf 中文被 # 替换

https://mba811.gitbooks.io/writing/content/AsciiDoc/02.html

 

发表评论

电子邮件地址不会被公开。