gpt4 book ai didi

java - 为什么使用 Arial Unicode MS 无法正确呈现古吉拉特语-印度文本?

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:53:53 25 4
gpt4 key购买 nike

这是对这个问题的跟进 How to export fonts in Gujarati-Indian Language to pdf? , @amedee-van-gasse , iText 的 QA 工程师 asked me使用相关 mcve 发布特定于 itext 的问题。

为什么这个 unicode \u0ab9\u0abf\u0aaa\u0acd\u0ab8 序列没有正确呈现?

应该这样渲染:

હિપ્સ ,也用 unicode-converter 测试过

但是这段代码(示例改编形式iText: Chapter 11: Choosing the right font)

public class FontTest {

/** The resulting PDF file. */
public static final String RESULT = "fontTest.pdf";
/** the text to render. */
public static final String TEST = "\u0ab9\u0abf\u0aaa\u0acd\u0ab8";

public void createPdf(String filename) throws IOException, DocumentException {
Document document = new Document();
PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(filename));
document.open();
BaseFont bf = BaseFont.createFont(
"ARIALUNI.TTF", BaseFont.IDENTITY_H, BaseFont.EMBEDDED);
Font font = new Font(bf, 20);
ColumnText column = new ColumnText(writer.getDirectContent());
column.setSimpleColumn(36, 730, 569, 36);
column.addElement(new Paragraph(TEST, font));
column.go();
document.close();
System.out.println("DONE");
}

public static void main(String[] args) throws IOException, DocumentException {
new FontTest().createPdf(RESULT);
}
}

生成此结果:

pdf output

看起来不一样

હિપ્સ

我用itextpdf-5.5.4.jaritextpdf-5.5.9.jaritext-2.1.7.js3.jar 进行了测试(与 jasper-reports 一起分发)

使用它的字体与 MS Office ARIALUNI.TTF 一起分发,可以从这里下载 Arial Unicode MS *下载可能存在一些法律问题,请参阅 Mike 'Pomax' Kamermans 评论

最佳答案

无论您选择哪种字体,iText5 和 iText2(顺便说一句,这是一个非常过时的版本)都不支持呈现印度文字。

呈现印度文脚本与任何拉丁文脚本都不相似,因为需要采取一系列额外的操作才能获得正确的结果,例如有些字符需要先根据语言规则重新排序。

这是 iText 公司的已知问题。

在 iText5 中有一个名为 GujaratiLigaturizer 的 Gujaranti stub 实现,但该实现非常差,您不能指望用它获得正确的结果。

您可以尝试使用此连字器处理您的字符串,然后按以下方式输出结果字符串:

IndicLigaturizer g = new GujaratiLigaturizer();
String processed = g.process(inputString);
// proceed with the processed string

关于java - 为什么使用 Arial Unicode MS 无法正确呈现古吉拉特语-印度文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36655923/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com