2018年11月30日 | Leave a comment 问题: 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) (1) 这里指定了正文部分选用字体的顺序。 指定完中文字体后还不够,因为你还要告诉fop去哪里找这些字体,所以我们还需要一个fop.xconf的文件: Example 2.4. fop.xconf的中文设置 1 (1) 这里指定中文字体文件所在目录。如果你使用相对路径的话这个路径就相对于你运行a2x时所在的目录。 (2) 这里的意思是当使用WenQuanYi Micro Hei这个字体时,选用字体文件./fop/fonts/wqy-microhei.ttc。 经过这一番折腾后你应该就能生成中文pdf了: Example 2.5. 中文pdf的生成 1 (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