我使用的是PDFjet。在某些情况下,当我从中欧或南欧语言(如土耳其语,匈牙利语,捷克语)生成拉丁字母时,我遇到了麻烦。特别是像şçğı这样的字母不会显示在我生成的pdf文本中。
如何设置正确的Unicode? p>
答案 0 :(得分:0)
我已经解决了加载包含这些字母的自定义字体的问题。就我而言,它适用于Android,但它在Java中应该是相同的。
我已将ttfs保存在项目的/ assets / fonts文件夹中。然后我加载了字体并在Font构造函数中使用它。
Page page = new Page(pdf, A4.PORTRAIT);
BufferedInputStream bis = new BufferedInputStream(
getClass().getResourceAsStream(
"/assets/fonts/DejaVu/ttf/DejaVuLGCSerif.ttf.deflated"));
Font f = new Font(pdf, bis);
TextLine text = new TextLine(f,"ş ç ğ ı");
text.drawOn(page);