У меня есть следующий документ 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
поведение?