【发布时间】:2013-07-18 10:37:19
【问题描述】:
这是我以前用过的:
<fo:block font-family="Tahoma">Text</fo:block>
如何指定“Tahoma”是整个文档的字体系列?
我正在寻找相当于 CSS 的
body {
font-family: "Tahoma";
}
【问题讨论】:
标签: java apache pdf fonts apache-fop
这是我以前用过的:
<fo:block font-family="Tahoma">Text</fo:block>
如何指定“Tahoma”是整个文档的字体系列?
我正在寻找相当于 CSS 的
body {
font-family: "Tahoma";
}
【问题讨论】:
标签: java apache pdf fonts apache-fop
<fonts>
<referenced-fonts>
<match font-family="Tahoma"/>
</referenced-fonts>
</fonts>
或
<fo:page-sequence master-reference="A4-portrait">
<fo:flow flow-name="xsl-region-body">
<fo:block font-size="10pt" font-family="Tahoma">
Text <xsl:value-of select="name"/>
</fo:block>
</fo:flow>
</fo:page-sequence>
【讨论】:
如果您实际上没有一个元素来匹配您的特定字体,则无法像在 CSS 中那样执行此操作。
如果您想要的只是为除某些例外之外的所有内容设置字体,请将其设置在
编辑:
相当于
body { font-family: "Tahoma"; }
会
<xsl:template match="body">
<fo:block font-family="Tahoma">
Content
</fo:block>
</xsl:template>
【讨论】:
Content 是正文,即我必须将整个文档放在那里?
如果你想为整个文档设置默认字体,你可以在 fo:root 中设置它。它应该被没有指定字体系列的每个子节点继承。
<fo:root font-family="Tahoma">
<!-- rest of document -->
</fo:root>
【讨论】:
您可以使用节点 fo:wrapper 将属性继承到其内容子节点
<fo:page-sequence master-reference="A4-portrait">
<fo:flow flow-name="xsl-region-body">
<fo:wrapper font-size="10pt" font-family="Tahoma">
<fo:block>
Text <xsl:value-of select="name"/>
</fo:block>
<fo:block>
Another text
</fo:block>
</fo:wrapper>
</fo:flow>
</fo:page-sequence>
【讨论】: