Как узнать правильную кодировку при вызове BaseFont.createFont () с itext?
у меня есть некоторые пользовательские китайские файлы шрифтов:
aaa.ttf
bbb.ttf
ccc.ttf
и я хочу использовать их для создания моего pdf с iText.
это код, который я использую для создания BaseFont
:
String encoding = ???
BaseFont messageBaseFont = BaseFont.createFont("fonts/aaa.ttf",
encoding,
BaseFont.EMBEDDED);
но я не знаю, как найти encoding
. Взять aaa.ttf
например:
можно найти encoding
откуда информация? Я пробовал некоторые кодировки, такие как BaseFont.CP1252
или BaseFont.WINANSI
, но они не работали, выход-пустая страница или много ??????
символы, если они китайские иероглифы.
1 ответов
на этот вопрос есть разные ответы. Для полного обзора вы можете прочитать главу 11 моей книги "iText in Action", но если вы просто хотите быть в безопасности, используйте Identity-H для горизонтального текста (и Identity-V). Это на самом деле не кодировка, но она создаст составной шрифт в PDF, который использует Unicode:http://api.itextpdf.com/itext/com/itextpdf/text/pdf/BaseFont.html#IDENTITY_H