我用的工具都是 Lucid 的软件源里弄的。
首先我用 sgml 版本, docbook2pdf, 结果 openjade 提示非法 sgml 字符。显然,它的 dtd 里只声明了 ascii 字符,不能支持 utf8.
然后我用 xml + xsltporc 生成 xml-fo, 这很顺利,但用 fop 生成 pdf 时就没办法了,中文一直显示不了,我按 google 到的文章配置字体,试了 文泉驿微米黑 和 文鼎明体 都不行。有没有什么可以用的方法?
附上:fop 的配置
代码: 全选
<!-- fop.xconf -->
<fonts>
<font metrics-url="file:///etc/fop/wqy-microhei.xml" kerning="yes" embed-url="file:///usr/share/fonts/wenquanyi/wqy-mcirohei.ttc">
<font-triplet name="WenQuanYiMicroHei" style="normal" weight="normal"/>
<font-triplet name="WenQuanYiMicroHei" style="normal" weight="bold"/>
<font-triplet name="WenQuanYiMicroHei" style="italic" weight="normal"/>
<font-triplet name="WenQuanYiMicroHei" style="italic" weight="bold"/>
</font>
</fonts>
代码: 全选
<!-- docbook-zh.xsl -->
<?xml version='1.0'?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:exsl="http://exslt.org/common"
xmlns:fo="http://www.w3.org/1999/XSL/Format"
xmlns:ng="http://docbook.org/docbook-ng"
xmlns:db="http://docbook.org/ns/docbook"
exclude-result-prefixes="db ng exsl"
version='1.0'>
<xsl:import href="/usr/share/xml/docbook/stylesheet/nwalsh/fo/docbook.xsl" />
<xsl:param name="body.font.family">WenQuanYiMicroHei</xsl:param>
<xsl:param name="monospace.font.family">WenQuanYiMicroHei</xsl:param>
<xsl:param name="title.font.family">WenQuanYiMicroHei</xsl:param>
</xsl:stylesheet>