gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 03:54:16 34 4
gpt4 key购买 nike

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

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

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

根据我之前的问题 How to get non-english support when exporting to PDF?

最佳答案

在 jasper 报告中,您有

<font fontName="google_noto"/>

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

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

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

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

    //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"

这个问题是关于设置属性JRProperties became deprecated, recommended way of replacing

但是,我强烈建议并选择:“1.使用包含所有相关语言的字体”

关于java - Jasper报告,加载多个字体扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35631571/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com