Java itext android某些字符未显示

Java itext android某些字符未显示,java,android,pdf,character-encoding,itext,Java,Android,Pdf,Character Encoding,Itext,我正在使用android中的itext pdf库生成一些pdf。 它已通过gradle添加到项目中,我使用的版本是5.5.10 当pdf中只打印英文字符时,一切都会完美运行。当我尝试添加挪威字符时,问题开始出现(例如:å、æ、ø、è等) 除了那些角色,一切都很完美,我得到的是一个空白 我在谷歌上搜索了四周,花了2天时间,但都没用。 以下是我尝试使用的代码: String FONT = "FreeSans.ttf"; String RESULT = "test.pdf";

我正在使用android中的itext pdf库生成一些pdf。 它已通过gradle添加到项目中,我使用的版本是5.5.10

当pdf中只打印英文字符时,一切都会完美运行。当我尝试添加挪威字符时,问题开始出现(例如:åæøè等)

除了那些角色,一切都很完美,我得到的是一个空白

我在谷歌上搜索了四周,花了2天时间,但都没用。 以下是我尝试使用的代码:

    String FONT = "FreeSans.ttf";
    String RESULT = "test.pdf";
    BaseFont font = BaseFont.createFont(FONT, BaseFont.IDENTITY_H, BaseFont.EMBEDDED);
    // step 1
    Document document = new Document();
    // step 2
    PdfWriter.getInstance(document, new FileOutputStream(RESULT));
    // step 3
    document.open();
    // step 4
    document.add(new Paragraph("Sandem g\u00c5rd", new Font(font, 20)));
    // step 5
    document.close();
在经历了很多挫折之后,我决定在纯java(没有ANDROID)上尝试同样的代码

我用intelliJ创建了一个新项目,并从mavencom.itextpdf:itextg:5.5.10导入了相同的库

猜猜纯JAVA在第一次运行时起了什么作用。字符Å(Unicode字符:u+00c5)显示正确! 真奇怪!相同的代码相同版本的库,它只适用于java,不适用于android

我也尝试过改变很多字体,但是没有成功! 如果我试图打印一个段落而不添加字体参数而不是空白,我会得到一些奇怪的字符

当我尝试使用字体AbhayaLibret时,又遇到了一个奇怪的行为。使用这种精确的字体,我可以看到å字符和其他特殊字符,但只有那些!此字体未显示正常的英文字符!这又是一种非常奇怪的行为

在这一点上,我开始怀疑将字体文件捆绑到android.apk包中有什么问题,或者可能是它没有正确解析

或者我做错了什么

更新
我忘了提到,在某个时候,我曾尝试使用unicode打印印地语字符,这些字符工作得非常好!这真的很奇怪,因为这些unicode代码打印正确,但不是我正在尝试使用的代码。

尝试添加一些简短的硬编码内容。Ref:@AmedeeVanGasse很抱歉键入错误,但我的意思是com.itextpdf:itextg:5.5.10。@VVB我尝试过,这是仅使用Java的结果(正确结果):使用Android(问题仍然存在):使用Android生成的PDF文件:@VVB有任何建议吗?尝试添加一些简短的硬编码内容。Ref:@AmedeeVanGasse很抱歉键入错误,但我的意思是com.itextpdf:itextg:5.5.10。@VVB我尝试过,这是仅使用Java的结果(正确结果):使用Android(问题仍然存在):使用Android生成的PDF文件:@VVB有什么建议吗?