【问题标题】:Jasper Reports case-sensitive font namesJasper 报告区分大小写的字体名称
【发布时间】:2016-08-04 19:50:06
【问题描述】:

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

  1. style="font-family:verdana;"
  2. style="font-family:Verdana;"

请注意,这两个选项之间的唯一区别是字体系列中的小写“v”与大写。

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

【问题讨论】:

    标签: fonts jasper-reports


    【解决方案1】:

    我在 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>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-02-17
      • 2014-07-19
      • 1970-01-01
      • 2016-11-24
      • 1970-01-01
      • 2013-11-27
      • 1970-01-01
      相关资源
      最近更新 更多