BIRT无法在生成的PDF文件中呈现印地语语言字符。相同的设计文件,当呈现为Word文档或HTML或任何其他格式时,我能够看到unicode字符。
我已将Arial Unicode MS设置为设计文件中的字体类型,并尝试使用google translate中的少量示例。如果我遗漏了任何东西,请告诉我。
谢谢。
答案 0 :(得分:0)
最可能的BIRT找不到正确的字体文件。
您必须正确配置pdf字体(请参阅.file fontsconfig.xml)。
我和西里尔字体和中文字体有类似的问题。
我在文件中修复了什么:
...
<font-paths>
<path path="fonts" />
<!--path path="C:/windows/fonts" />
<path path="d:/windows/fonts" />
...
<path path="/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType" /-->
</font-paths>
创建字体文件夹并放置所有必需的字体(有点棘手的问题是字体文件夹必须在哪里。这取决于你如何使用BIRT。)
您可以选择将正确的字体文件放在正在使用的JRE / lib / fonts文件夹中。
答案 1 :(得分:0)
如果您正在使用JavaFx Desktop App,它将可以使用。
如果您使用fontsConfig.xml
进行BIRT查看器部署,因为所有配置都捆绑在org.eclipse.birt.runtime_VERSION-XXX.jar
因此,您可以使用此方法来覆盖fontConfig_Pdf.xml
文件并在此文件中添加字体
<composite-font>
<font font-family="mangal" catalog="Western"/>
</composite-font>
,然后在您要设置RuntimeEngine的BIRTserviceImpl类中添加此行代码
EngineConfig conf = null;
conf.setFontConfig(new File("fontsConfig_pdf_win.xml").toURL());
conf.setEngineHome("{dir}/birt-runtime-4_4_1/ReportEngine");
eng = new ReportEngine(conf);
此行将有助于更改运行时字体配置和
复制印地文字体并粘贴到jre/lib/Fonts
和C:/windows/Fonts