【问题标题】:BIRT PDF UTF-8 encodingBIRT PDF UTF-8 编码
【发布时间】:2015-03-11 12:08:12
【问题描述】:

我在使用 BIRT 4.3.1 时遇到了一些问题,我想用 BIRT 创建一些 PDF。这一切正常,但我的字体编码有一些问题。

对于我的字体,我使用 Arial Narrow。这不是 BIRT 支持的标准字体。所以我知道我必须编辑 JAR org.eclipse.birt.runtime_4.3.1.v20130918-1142.jar 文件中的 fontsConfig_pdf.xml 文件。这里看看我的配置文件:

<?xml version="1.0" encoding="UTF-8"?>
<font>
    <composite-font name="all-fonts" font-family="Arial Narrow">
    </composite-font>
    <!-- define used Fonts -->
    <font-paths>
        <path path="/etc/fonts/ARIALN.TTF" />
    </font-paths>

    <!-- Encoding -->
    <font-encodings>
        <encoding font-family="Arial Narrow" encoding="UTF-8" />
    </font-encodings>     
</font>

我已将字体 TTF 文件放入该位置。一切正常,但特殊符号的编码错误。

给你一些提示,编码在我的 Windows 机器上运行良好,但在我的 Linux 系统上它不起作用。也许有人可以给我小费。

【问题讨论】:

    标签: java pdf encoding birt


    【解决方案1】:

    正如默认fontsConfig.xml 文件中的注释所说,通常您根本不需要向&lt;font-encodings&gt; 元素添加条目。 但是,对于 Linux 和 Tahoma 字体(我认为与您的情况相当),我必须添加

     <encoding font-family="Tahoma" encoding="Cp1252" />
    

    我认为,编码属性告诉 BIRT 字形如何映射到字体文件中的数字。所以 UTF-8 肯定是不正确的。 我猜在 Windows 上它仍然可以工作,因为没有考虑编码属性。

    【讨论】:

    • 我使用了您之前提供给我的相同说明。 但我没有得到我希望的正确格式,你知道如何添加 UTF-8 支持对于 linux。
    • 顺便说一句,您确定这是字体问题吗?我的意思是,它也可能是一些 NLS 问题。您可以通过生成报告为 HTML 来检查这一点。
    • 你有没有检查过你的 fontsConfig.xml 文件是否被 BIRT 处理过?
    • 给你的两个评论:我已经尝试生成一个 HTML 报告,这如我所愿。你能解释一下 NLS 的含义吗?我的 fontsConfig.xml 必须由 BIRT 处理,如果我保留默认值,我就完全不正确了。
    • 如果 HTML 正常工作,这意味着从数据库读取的数据是正常的。那我没主意了……
    猜你喜欢
    • 2021-04-04
    • 2011-10-30
    • 1970-01-01
    • 2012-11-07
    • 2015-03-04
    • 2016-07-05
    • 1970-01-01
    • 2015-11-15
    • 2011-04-27
    相关资源
    最近更新 更多