Jasper Reports区分大小写的字体名称

时间:2016-08-04 19:50:07

标签: fonts jasper-reports

我有很多报告显示带有HTML标记的文本字段。某些HTML元素具有分配给它们的样式和字体系列。在浏览器中呈现HTML时,font-family不区分大小写,因此以下选项在浏览器中提供完全相同的结果:

  1. 风格="字体家庭:宋体;"
  2. 风格="字体家庭:宋体;"
  3. 请注意两个选项之间的唯一区别是小写" v"与font-family中的大写字母对比。

    当我将报告导出为PDF时Jasper Reports可以找到并使用该字体,如果font-family的第一个字母是大写字母,但如果字体全部为小写,则无法找到该字体。 我无法控制HTML文本,因为它会在其他地方生成。搜索和替换HTML中的字体名称不是一个好选择,因为它可能非常耗时,需要为大量报告和各种字体名称完成。 是否有人知道迫使Jasper Reports在搜索字体名称时忽略这种情况的解决方案? 非常感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

我在fonts.xml中添加了多个映射。不确定这是否是最佳解决方案,但它至少会生成PDF而不会夸大字体。

<fontFamily name="Verdana">
    <normal><![CDATA[fonts/VERDANA.TTF]]></normal>
    <bold><![CDATA[fonts/VERDANAB.TTF]]></bold>
    <italic><![CDATA[fonts/VERDANAI.TTF]]></italic>
    <boldItalic><![CDATA[fonts/VERDANAZ.TTF]]></boldItalic>
    <pdfEncoding><![CDATA[Identity-H]]></pdfEncoding>
</fontFamily>
<fontFamily name="verdana">
    <normal><![CDATA[fonts/VERDANA.TTF]]></normal>
    <bold><![CDATA[fonts/VERDANAB.TTF]]></bold>
    <italic><![CDATA[fonts/VERDANAI.TTF]]></italic>
    <boldItalic><![CDATA[fonts/VERDANAZ.TTF]]></boldItalic>
    <pdfEncoding><![CDATA[Identity-H]]></pdfEncoding>
</fontFamily>