U+0151 ('odblacute') 在此字体中不可用 Times-Roman 编码:WinAnsiEncoding

U+0151 ('odblacute') is not available in this font Times-Roman encoding: WinAnsiEncoding

我正在尝试设置一些文本(古典匈牙利语假人:árvíztűrő tükörfúrógép):

contentStream.showText(text);

使用 PDFBOX 2.0.7 的方法,我得到了

U+0151 ('odblacute') is not available in this font Times-Roman encoding: WinAnsiEncoding

所有 PDType1Font 类型的 őűŐŰ 字符。其他重音字符正在工作。谁能帮我?非常感谢!

是的,“ő”在 WinAnsiEncoding 中不可用。如 FAQ: to see what WinAnsiEncoding is, look at the PDF Specification Appendix D 中所述。如果该字符在您选择的字体中可用(在 windows 中,请查看 charmap.exe),然后像这样加载字体:

PDFont font = PDType0Font.load(document, new File("c:/windows/fonts/times.ttf"));

另请参阅源代码下载中的 EmbeddedFonts.java 示例。