Работаю с базой документов, объемом от 5 до 20 страниц текстовых данных каждая.
У меня три задачи:
- Чтобы сделать многоязычный вывод в виде документа PDF. Тексты в UTF8 и, возможно, содержание контента на английском, французском, немецком, русском и т. д. и комбинации, такие как переводы.
- Добавить автоматическую типографику в PDF, что означает кернинг и замену комбинаций букв символами Unicode.
- У меня есть шрифт MinionPro-xxx.otf (10 лигатур) для моей работы.
Я попытался использовать библиотеку PHP Cphf от Wayne Munro ([email protected]) и добавил в нее множество регулярных выражений. Я добавил много операторов форматирования текста PDF, таких как Ts, TL, T*, Tc, Tw, Tz
, и почти закончил, но я не могу добраться до глифов символов за пределами таблицы символов типа 1, и я понятия не имею, как получить 'kern' и ' hmtx из файла шрифта? Как встроить глифы?
Я считаю, что могу выполнить кернинг с помощью текстовой директивы матричного преобразования PDF:
[ (A) 120 (W) 120 (A) 95 (Y again) ] TJ
UPD#1: у шрифта MinionPro нет таблицы kern. У него есть «GPOS» (таблица позиционирования глифов), и я довольно близок к решению проблемы. Кстати, ходить внутри бинарного файла PHP - это кошмар((