Jasper报告,加载多个字体扩展

Jasper report, load multiple Font Extension

我希望我的 Jasper Report 能够动态支持 5 或 6 种语言。

我希望使用 google noto-sans 字体 (www.google.com/get/noto) 和 google 注意,每种语言都有一个文件,(在主字体文件旁边)

我应该创建几个字体扩展并将它们添加到我的类路径吗?

按照我之前的问题

在你的 jasper 报告中

<font fontName="google_noto"/>

与此字体相关,您可以 只有 1 个带有 family name google_noto 的字体扩展名(包含普通、粗体、斜体等字体).

您不能动态切换此字体扩展,解决方案是:

  1. 使用包含所有种相关语言的字体。

  2. 为具有不同 fontName 的不同语言创建一个 不同的 jrxml(报告),并使用所有不同的 [= 创建字体扩展名16=]:

    //report in English
    <font fontName="google_noto_en"/>
    //report in Italian        
    <font fontName="google_noto_it"/>
    

解决方法是指示假字体,禁用丢失字体的错误并在生成报告之前根据需要切换默认字体。

net.sf.jasperreports.awt.ignore.missing.font="true"
net.sf.jasperreports.default.font.name="google_en"

这个问题是关于设置属性的

不过,我强烈推荐并选择:“1. 使用包含所有相关语言的字体”

有办法做到这一点...

您可以放置​​多个文本框字段,并在单个文本框上使用您想要显示的单一字体名称。 好处是,如果某些字体未在 google_noto 中呈现,那么该文本框将不显示任何内容(空白),如果该字体在 [= 中呈现20=]1 然后该文本框将显示该文本。

希望一切顺利(Y)