0

BIRT 无法在生成的 PDF 文件中呈现印地语字符。相同的设计文件,当呈现为 Word 文档或 HTML 或任何其他格式时,我能够看到 unicode 字符。

我已将 Arial Unicode MS 设置为设计文件中的字体类型,并尝试使用谷歌翻译的几个示例。如果我遗漏了什么,请告诉我。

谢谢你。

4

2 回答 2

0

最有可能的 BIRT 找不到正确的字体文件。

您必须正确配置 pdf 字体(请参阅文件 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 文件夹中。

于 2013-03-13T16:51:21.587 回答
0

如果您正在使用 JavaFx 桌面应用程序。它将工作。如果您使用 BIRT 查看器部署,fontsConfig.xml因为所有配置都捆绑在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/FontsC:/windows/Fonts

于 2019-05-04T11:53:47.423 回答