Разбор PDF на шрифте Type0 вызывает у меня проблемы (приложение IOS)? - PullRequest
2 голосов
/ 16 июня 2011

Я не могу найти содержимое, если тип шрифта Тип0 в PDF. После разбора PDF он возвращает мне строку мусора. В шрифте Type0 я не могу сканировать содержимое PDF также (CGPdfContentStreamRef). Если у вас есть предварительные знания по этому вопросу, пожалуйста, помогите мне.

В документе для разработчиков Apple я увидел, что Apple будет поддерживать только 3 типа шрифтов PDF.

  1. kCGFontPostScriptFormatType1 = 1,
  2. kCGFontPostScriptFormatType3 = 3,
  3. kCGFontPostScriptFormatType42 = 42

(ссылка CGFontReference)

Это правда?

1 Ответ

2 голосов
/ 06 июля 2011

Шрифт Type0 ссылается на глифы напрямую (а не на символы), полностью избегая использования cmap. Также обратите внимание, что текст шрифта type0 использует два байта / октета для каждого идентификатора глифа следующим образом:

  <000100020003> Tj

Будет отображать глиф 1, 2, а затем глиф 3.

В словаре PDF шрифта обычно есть некоторая ссылка ToUnicode на поток, который содержит преобразование идентификатора глифа обратно в некоторые символы Юникода. Это небольшой текстовый документ, который довольно просто разобрать.

с учетом идентификаторов глифа в командах передачи текста и в потоке ToUnicode вы можете получить строку Unicode, которая генерирует те же данные.

Если нет ToUnicode ... ты сам по себе. Возможно, встроенный шрифт содержит карту (маловероятно, что ее обычно убирают для экономии места), из которой вы можете получить информацию. но это, вероятно, слишком далеко.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...