【问题标题】:IText Unicode Indic characters are not diplayed ProperlyIText Unicode 印度字符未正确显示
【发布时间】:2013-10-01 15:25:33
【问题描述】:

我正在使用 Itext 生成 PDF。 我有马拉地语文本。 但 Itext 是在没有字形替换的情况下生成该文本。

例如:

文字应该是:ल्ल

但 iText 以 PDF 显示:लल .

同 文字应该是:क्ष्म

但 iText 以 PDF 显示:कष

我使用 windows 系统文件作为字体 .e。 arial unicode 字体。 而代码是

BaseFont base=BaseFont.createFont("c:/windows/fonts/ARIALUNI.ttf",BaseFont.IDENTITY_H, BaseFont.EMBEDDED);

我正在使用 itext 版本 itext-5.4.3.jar。

请给我解决方案。我应该以什么方式进行。 谢谢

【问题讨论】:

    标签: java itext


    【解决方案1】:

    当您作为输入传递时,您需要在字符串中添加 unicode。孟加拉语或印地语的 unicode 是

    \u0986\u09ae\u09bf \u0995\u09cb\u09a8 \u09aa\u09a5\u09c7
          \u0995\u09cd\u09b7\u09c0\u09b0\u09c7\u09b0 \u09b7\u09a8\u09cd\u09a1
          \u09aa\u09c1\u09a4\u09c1\u09b2 \u09b0\u09c1\u09aa\u09cb
          \u0997\u0999\u09cd\u0997\u09be \u098b\u09b7\u09bf
    

    这里是Example

    【讨论】:

      【解决方案2】:

      我得到了解决方案... 解决方案是 IText 目前不支持(根据我的搜索)印度语言,如马拉地语。 它的语言解析器对于印度语来说还没有完全成熟。 因为它是开源的,所以我一直在使用它。

      现在,我已迁移到 Apache FOP 1.1。 它支持印度语言。但重要的缺点是它是资源密集型的。换句话说,它比 IText 慢。

      谢谢...

      【讨论】:

        猜你喜欢
        • 2012-08-08
        • 2015-06-24
        • 1970-01-01
        • 2019-02-28
        • 2016-10-05
        • 2018-05-09
        • 1970-01-01
        • 1970-01-01
        • 2013-06-05
        相关资源
        最近更新 更多