我希望我的Jasper报告能够动态地支持5种或6种语言。
我希望使用google noto-sans字体(www.google.com/get/noto) 和google noto,每种语言都有一个文件,(在主要字体文件旁边)
我应该创建几个字体扩展并将它们添加到我的类路径中吗?
按照我之前的问题 How to get non-english support when exporting to PDF?
答案 0 :(得分:2)
在碧玉报告中
<font fontName="google_noto"/>
与此字体相关,您可以只有1个字体扩展名与family name
google_noto
(包含普通,粗体,斜体等字体)。
您无法动态切换此字体扩展名,解决方案是:
使用包含所有相对语言的字体。
为具有不同fontName
的不同语言创建不同的jrxml (报告),并使用所有不同的family names
创建字体扩展名:
//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。使用包含所有相关语言的字体”
答案 1 :(得分:0)
有办法做到这一点......
您可以放置多个文本框字段,并在单个文本框上使用您要显示的单个字体名称。 如果某些字体没有在 google_noto 中呈现,那么这个文本框将不会显示任何内容(空白),如果该字体在 google_noto1 中呈现,则该文本框将显示该字体文本。
我希望它能正常工作(Y)