我使用 PDFjet。在某些情况下,当我从中欧或南欧语言(如土耳其语、匈牙利语、捷克语)生成拉丁字母时会遇到麻烦。尤其是像ş ç ğ ı这样的字母没有显示在我生成的 pdf 文本中。
任何想法如何设置正确的Unicode?
我使用 PDFjet。在某些情况下,当我从中欧或南欧语言(如土耳其语、匈牙利语、捷克语)生成拉丁字母时会遇到麻烦。尤其是像ş ç ğ ı这样的字母没有显示在我生成的 pdf 文本中。
任何想法如何设置正确的Unicode?
我已经通过加载包含这些字母的自定义字体解决了这个问题。就我而言,它适用于 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);