iText7:如何指定 PdfFont 使用的 OpenType 功能?
iText7: how can I specify OpenType features to be used by a PdfFont?
对于复杂的脚本(在我的例子中是 Tibt),我需要能够指定 PdfFont 应该使用的一些 OpenType 功能(有关与 Tibt 一起使用的功能,请参阅 here)。我找不到任何方法将其指定给 iText,并且使用默认功能,结果不正确。
示例:
public static void main(String args[]) throws IOException {
final String notoPath = "/usr/share/fonts/truetype/noto/NotoSansTibetan-Regular.ttf";
final PdfWriter writer = new PdfWriter("tibttest.pdf");
final PdfDocument pdfDoc = new PdfDocument(writer);
final Document doc = new Document(pdfDoc);
PdfFont f = PdfFontFactory.createFont(notoPath, PdfEncodings.IDENTITY_H, true);
doc.add(new Paragraph("༄༅། །སྒྲུབ།").setFont(f));
doc.close();
}
生成如下所示的 PDF:
虽然它应该看起来像:
有没有办法指定要使用的 OpenType 功能列表?
您在使用 add-on pdfCalligraph 吗? https://itextpdf.com/itext7/pdfcalligraph
如果是,那么您是具有支持合同的 iText 客户,我建议您直接联系 iText Software。
如果不是:您需要 pdfCalligraph 才能使用 Tibt 等复杂书写系统的 OpenType 功能。请参阅链接网站上的扩展示例。
因为我没有看到您在代码中加载许可证密钥,所以我假设是这种情况。
如果 pdfCalligraph 尚不支持您的特定语言,我们将确保尽快添加。但从我的想法来看,我认为大多数印度语言都受到支持。您可以在 https://pages.itextpdf.com/itext-7-free-trial-landing-page-1.html
申请 30 天免费试用许可证
完全披露:我是 iText Software 的 QA 工程师。
对于复杂的脚本(在我的例子中是 Tibt),我需要能够指定 PdfFont 应该使用的一些 OpenType 功能(有关与 Tibt 一起使用的功能,请参阅 here)。我找不到任何方法将其指定给 iText,并且使用默认功能,结果不正确。
示例:
public static void main(String args[]) throws IOException {
final String notoPath = "/usr/share/fonts/truetype/noto/NotoSansTibetan-Regular.ttf";
final PdfWriter writer = new PdfWriter("tibttest.pdf");
final PdfDocument pdfDoc = new PdfDocument(writer);
final Document doc = new Document(pdfDoc);
PdfFont f = PdfFontFactory.createFont(notoPath, PdfEncodings.IDENTITY_H, true);
doc.add(new Paragraph("༄༅། །སྒྲུབ།").setFont(f));
doc.close();
}
生成如下所示的 PDF:
虽然它应该看起来像:
有没有办法指定要使用的 OpenType 功能列表?
您在使用 add-on pdfCalligraph 吗? https://itextpdf.com/itext7/pdfcalligraph
如果是,那么您是具有支持合同的 iText 客户,我建议您直接联系 iText Software。
如果不是:您需要 pdfCalligraph 才能使用 Tibt 等复杂书写系统的 OpenType 功能。请参阅链接网站上的扩展示例。 因为我没有看到您在代码中加载许可证密钥,所以我假设是这种情况。
如果 pdfCalligraph 尚不支持您的特定语言,我们将确保尽快添加。但从我的想法来看,我认为大多数印度语言都受到支持。您可以在 https://pages.itextpdf.com/itext-7-free-trial-landing-page-1.html
申请 30 天免费试用许可证完全披露:我是 iText Software 的 QA 工程师。