QLPreviewController отображает PDF с неправильными шрифтами

Я создаю PDF-файл в приложении для iPad из пера. Приложение использует пользовательские шрифты, которые правильно отображаются на кончике пера в приложении. Когда я просматриваю этот сохраненный PDF-файл на своем Mac, он также отображается с правильным шрифтом. Когда я отображаю его в приложении с помощью QLPreviewController, кажется, что шрифты были заменены. Источник данных реализует previewController:previewItemAtIndex:, который возвращает NSURL PDF-файла, находящегося в папке документов приложения.

Можно ли как-то это исправить? Нужно ли встраивать шрифт или предоставлять его QLPreviewController, и если да, то как?


person Josh Paradroid    schedule 13.03.2013    source источник
comment
Вы говорите о пользовательских шрифтах; таким образом, рассматриваемый шрифт не является одним из 14 стандартных (которые должна предоставлять каждая совместимая программа просмотра PDF). Таким образом, для правильного отображения программа просмотра PDF должна иметь доступ к требуемому шрифту. Он может быть доступен локально (в хэше, который зависит от зрителя) или может быть встроен. В противном случае используется какой-либо замещающий шрифт.   -  person mkl    schedule 13.03.2013


Ответы (1)


Вероятно, шрифты не встроены в документ, и поэтому механизм рендеринга PDF подменяет их. К сожалению, с CoreGraphics API у вас нет возможности указать, следует ли встраивать шрифт в файл PDF.
Приложение Preview имеет больше возможностей для поиска файлов шрифтов для правильного отображения файла.

person Mihai Iancu    schedule 13.03.2013