docbook默认是不能够对字体进行颜色设置的。但是通过扩展可以达到对html和pdf输出的颜色设置。
(一)首先,我们来谈论一下如何对html的输出进行颜色设置。
对html的输出情况下要简单一些,只需要通过css样式控制即可,而且这个docbook是内嵌支持的。
在docbook的xml文件中,我们如下书写:
这是一个测试DocBook<emphasis role="mytestclass">颜色</emphasis>支持的样例 |
这是一个测试DocBook<span class="mytestclass">颜色</span>支持的样例 |
(二)其次,来谈论谈论如何对pdf的输出进行颜色设置。
docbook的pdf输出是采用的fop,目前推荐大家采用FOP 0.20.5版本,其最新版本还不是很稳定,对中文的支持有问题。docbook首先会对我们的xml文件通过xslt进行转换后转换成fo格式文件,然后通过fop对fo进行编译成pdf文件。
所以,我们需要对xslt文件进行一定的修改,来增加对颜色的支持转换。也如同上面的例子,我们增加如下的转换:
<xsl:template match="emphasis[@role = 'mytestclass']"> <fo:inline color="#FF0000"> <xsl:apply-templates/> </fo:inline> </xsl:template> |