Я создаю PDF на основе пользовательского ввода, и пользователь может вводить английский или китайский текст, используя следующий код
contentStream.beginText();
contentStream.setFont(font, fontSize);
contentStream.newLineAtOffset(startX, startY);
contentStream.showText(text);
contentStream.endText();
Я получаю ошибку
java.lang.IllegalArgumentException: No glyph for U+7B11 in font OpenSans-Regular
at org.apache.pdfbox.pdmodel.font.PDCIDFontType2.encode(PDCIDFontType2.java:363)
at org.apache.pdfbox.pdmodel.font.PDType0Font.encode(PDType0Font.java:398)
at org.apache.pdfbox.pdmodel.font.PDFont.encode(PDFont.java:323)
at org.apache.pdfbox.pdmodel.PDPageContentStream.showTextInternal(PDPageContentStream.java:508)
at org.apache.pdfbox.pdmodel.PDPageContentStream.showText(PDPageContentStream.java:471)
Шрифт - это OpenSans-Regular. Этот шрифт не содержит Glyph для 笑解千
Как добавить резервный шрифт в PDFBox, чтобы, если он не находит глиф в одном шрифте, можно было использовать другой?
версия: pdfbox-2.0.9
Добавление шрифта, как показано ниже
PDFont openSansRegular = PDType0Font.load(document, MyLayout.class.getResourceAsStream(OPENSANS_REGULAR_PATH));