Шрифт Type0 ссылается на глифы напрямую (а не на символы), полностью избегая использования cmap. Также обратите внимание, что текст шрифта type0 использует два байта / октета для каждого идентификатора глифа следующим образом:
<000100020003> Tj
Будет отображать глиф 1, 2, а затем глиф 3.
В словаре PDF шрифта обычно есть некоторая ссылка ToUnicode на поток, который содержит преобразование идентификатора глифа обратно в некоторые символы Юникода. Это небольшой текстовый документ, который довольно просто разобрать.
с учетом идентификаторов глифа в командах передачи текста и в потоке ToUnicode вы можете получить строку Unicode, которая генерирует те же данные.
Если нет ToUnicode ... ты сам по себе. Возможно, встроенный шрифт содержит карту (маловероятно, что ее обычно убирают для экономии места), из которой вы можете получить информацию. но это, вероятно, слишком далеко.