Шрифт PDFJet Stream - PullRequest
       7

Шрифт PDFJet Stream

0 голосов
/ 03 января 2019

Большинству из вас может быть известна библиотека PDFJet .Это аккуратная библиотека для рендеринга PDF-файлов.Недавно у меня возникли проблемы с загрузкой шрифтов otf / ttf.Я использую эту библиотеку на Android, здесь следующий код хорошо работает с потоковым шрифтом.

AssetFileDescriptor fileDescriptor = context.getAssets()
                .openFd("fonts/NotoNaskhArabic-Bold.ttf.stream");
        fis = fileDescriptor.createInputStream();
        footerFont = new Font(pdf, fis, Font.STREAM);

Однако при загрузке ttf / otf вместо этого происходит сбой после исключения

2019-01-03 10:38:24.175 22073-22073/ W/System.err: java.util.zip.DataFormatException: incorrect header check
2019-01-03 10:38:24.181 22073-22073/ W/System.err:     at java.util.zip.Inflater.inflateBytes(Native Method)
2019-01-03 10:38:24.181 22073-22073/ W/System.err:     at java.util.zip.Inflater.inflate(Inflater.java:262)
2019-01-03 10:38:24.181 22073-22073/ W/System.err:     at java.util.zip.Inflater.inflate(Inflater.java:283)
2019-01-03 10:38:24.182 22073-22073/ W/System.err:     at com.pdfjet.Decompressor.<init>(Decompressor.java:47)
2019-01-03 10:38:24.182 22073-22073/ W/System.err:     at com.pdfjet.FastFont.register(FastFont.java:58)
2019-01-03 10:38:24.182 22073-22073/ W/System.err:     at com.pdfjet.Font.<init>(Font.java:289)

И да, я использовал следующее в gradle, чтобы убедиться, что файлы ttf не были сжаты, как pdfjetвозникли проблемы со сжатыми файлами.

  aaptOptions {            
      noCompress "ttf"     
  }                        

Вопросы

  1. Как преобразовать обычные файлы шрифтов ttf / otf в потоковый файл?
  2. Это правильный способ загрузить шрифт ttf и otf?

Я видел примеры на домашней странице pdfjet, эти примеры устарели и большинство параметров конструктора Fontsигнорируются

...