0

我使用 PDFjet。在某些情况下,当我从中欧或南欧语言(如土耳其语、匈牙利语、捷克语)生成拉丁字母时会遇到麻烦。尤其是像ş ç ğ ı这样的字母没有显示在我生成的 pdf 文本中。

任何想法如何设置正确的Unicode?

4

1 回答 1

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);
于 2014-12-24T08:34:03.950 回答