Я пытаюсь создать PDF-файл текста Bengli с помощью iText7. Другой текст работает нормально, но один.
PdfFont font = null;
try {
font = PdfFontFactory.createFont("SolaimanLipi.ttf", PdfEncodings.IDENTITY_H);
} catch (IOException e) {
e.printStackTrace();
}
Paragraph p = new Paragraph("ওয়ার্ড ২৭").setFont(font).setFontSize(18);
doc.add(p);
Я получаю ошибку:
java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
at com.itextpdf.layout.renderer.TypographyUtils.callMethod(TypographyUtils.java:252)
at com.itextpdf.layout.renderer.TypographyUtils.callMethod(TypographyUtils.java:240)
at com.itextpdf.layout.renderer.TypographyUtils.applyOtfScript(TypographyUtils.java:120)
at com.itextpdf.layout.renderer.TextRenderer.applyOtf(TextRenderer.java:568)
at com.itextpdf.layout.renderer.LineRenderer.applyOtf(LineRenderer.java:1146)
at com.itextpdf.layout.renderer.LineRenderer.layout(LineRenderer.java:143)
at com.itextpdf.layout.renderer.ParagraphRenderer.layout(ParagraphRenderer.java:205)
at com.itextpdf.layout.renderer.RootRenderer.addChild(RootRenderer.java:134)
at com.itextpdf.layout.RootElement.createAndAddRendererSubTree(RootElement.java:377)
at com.itextpdf.layout.RootElement.add(RootElement.java:106)
at com.itextpdf.layout.Document.add(Document.java:160)
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.itextpdf.layout.renderer.TypographyUtils.callMethod(TypographyUtils.java:246)
... 36 more
Caused by: java.lang.IndexOutOfBoundsException: Index: 2, Size: 2
at java.util.ArrayList.rangeCheck(ArrayList.java:657)
at java.util.ArrayList.get(ArrayList.java:433)
at com.itextpdf.typography.ordering.indic.IndicCluster.get(IndicCluster.java:69)
at com.itextpdf.typography.ordering.indic.IndicShaper.finalReordering(IndicShaper.java:901)
at com.itextpdf.typography.shaping.Shaper.applyIndicScript(Shaper.java:237)
at com.itextpdf.typography.shaping.Shaper.applyOtfScript(Shaper.java:99)
Я использую iText 7.1.2 и typography 2.0.0.
Любая помощь будет оценена по достоинству. Спасибо




Об очень похожей проблеме сообщали другие пользователи кластера র্য, и эта проблема была исправлена. Однако пока нет официального выпуска, содержащего это исправление.
Вы можете попробовать протестировать последнюю успешную сборку проекта, которую вы можете скачать с https://repo.itextsupport.com/webapp/#/artifacts/browse/simple/General/snapshot/com/itextpdf/typography/2.0.1-SNAPSHOT
Следующий официальный выпуск модуля типографики, который будет содержать это исправление, выйдет в июле.