使用apache fop 2.3生成的pdf自定义字体的字母间距

时间:2018-06-06 13:32:51

标签: java pdf apache-fop

我试图在生成的pdf中使用自定义字体(使用apache fop 2.3生成),但我有以下问题:

在生成pdf时,使用属性'letter-spacing'不适用于此自定义字体。

字体在xmlfile中配置,如下所示:

<?xml version="1.0"?>
<fop xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:noNamespaceSchemaLocation="http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/src/foschema/fop-configuration.xsd?view=co">
  <renderers>
    <renderer mime="application/pdf">
       <fonts>
           <font kerning="yes" embed-url="file:.../CstBerlinEastOT-Medium.otf" embedding-mode="subset">
               <font-triplet name="cstberlineast" style="normal" weight="normal" />
           </font>
       </fonts>
    </renderer>
  </renderers>
</fop>

并在xsl模板中使用,如下所示:

<fo:block-container >
<fo:block font-family="cstberlineast" letter-spacing="5pt" >
    my text
</fo:block>
</fo:block-container>

使用字体呈现文本在生成的pdf文件中效果很好。问题是角色彼此非常接近。 修改字符之间的距离可以使用属性'letter-spacing'来完成,这适用于'非自定义'字体而没有问题,但是当应用于xml文件中配置的字体时它什么都不做。

所以我的问题:

我是否遗漏了一些字母间距适用于自定义字体?

还有另一种方法来增加角色之间的距离吗?

0 个答案:

没有答案