我有以下Docbook 5.1文档
<?xml version="1.0" encoding="UTF-8"?>
<book xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink"
version="5.1">
<info>
<title>Test</title>
</info>
<chapter>
<title>Switchs of <systemitem class="domainname">corp.net</systemitem></title>
<para>
Switchs: <systemitem class="fqdomainname">switch-<replaceable>id</replaceable>.corp.net</systemitem>.
</para>
</chapter>
</book>
我使用以下自定义样式表
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:import href="http://docbook.sourceforge.net/release/xsl-ns/current/fo/profile-docbook.xsl"/>
<xsl:param name="monospace.font.family">Liberation Mono</xsl:param>
<xsl:attribute-set name="monospace.properties">
<!-- XXX -->
</xsl:attribute-set>
</xsl:stylesheet>
不幸的是,我使用的等宽字体太大,所以我想缩小 缩小到衬线字体大小的85%。
我尝试的第一件事是
<xsl:attribute name="font-size">0.85em</xsl:attribute>
它工作得很好,除非有嵌套的等宽文本。在这种情况下,内在的 太小了。
然后我尝试了
<xsl:attribute name="font-size">
<xsl:value-of select="$body.font.master * 0.85"/>
<xsl:text>pt</xsl:text>
</xsl:attribute>
当等宽文本位于较大尺寸的文本(例如标题)中时,此方法将无效。
我已阅读http://docbook.sourceforge.net/release/xsl/1.78.1/doc/fo/monospace.properties.html,建议使用font-size-adjust
,但FOP 2.3不支持它。
有没有一种模拟font-size-adjust
行为的方法?