gpt4 book ai didi

java - iText 变音符号(例如 D̂、M̂ 等)无法在 PDF 上正确显示

转载 作者:行者123 更新时间:2023-11-29 04:43:36 24 4
gpt4 key购买 nike

当我尝试创建包含与标题中字符类似的字符的 PDF 时,我遇到了 iText 问题。发生的情况是重音符号没有正确地位于字母上方,而是紧挨着它,或者(取决于我使用的字体)有点“合并”到它里面(见下面我使用 FreeSans 的屏幕截图)。

FreeSans

我知道所有有这个问题的字符都是“复合”字符。我的意思是它们由两个 unicode 字符组成。例如,“D̂”表示为“\u0044\u0302”,而所有常用字符当然表示为“\uXXXX”。所以我很确定它与此有关。例如,具有正常 unicode 表示的“Ê”显示得很好。

这是一个小代码片段,希望包含您需要知道的一切:

String TEXT = "\u0044\u0302 \u004A\u030C \u004C\u0302 \u004D\u0302 \u004E\u0302 \u0064\u0302 \u006C\u0302 \u006D\u0302 \u006E\u0302";//D̂ J̌ L̂ M̂ N̂ d̂ l̂ m̂ n̂
BaseFont bf = BaseFont.createFont("FreeSans.ttf", BaseFont.IDENTITY_H, BaseFont.EMBEDDED);
document.add(new Paragraph(TEXT, font));

如有任何帮助,我们将不胜感激。

提前致谢!

最佳答案

您需要将 iText 7 与 pdfCalligraph 模块一起使用。这种组合需要访问 OTF 表以根据大小、高度等正确对齐字符。

有关 pdfCalligraph 的更多信息, 请参阅 chapter 2 of the "iText 7: building blocks"教程(请滚动至本章末尾)以了解其工作原理。您可以获得 pdfCalligraph 的免费试用版 here .

关于java - iText 变音符号(例如 D̂、M̂ 等)无法在 PDF 上正确显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38223093/

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