Шрифт PDF - ошибка .afm file "bad / BBox" - PullRequest
0 голосов
/ 12 декабря 2011

Я работаю над созданием PDF-файлов в PHP с помощью класса R & OS PDF (http://www.ros.co.nz/pdf), пытаясь добавить в вывод еще несколько шрифтов. Для метрики требуются файл TTF и AFM, но я не может обойти ошибку "bad / BBox", как указано в этом сообщении: Генерация .afm из .ttf

Сначала я подумал, что я не использовал правильно созданные файлы ttf, но я попытался преобразовать некоторые шрифты, которые, как я знаю, являются законными (Arial), и я все еще получаю ошибку, поэтому теперь я думаю, что АСМ преобразование.

Пост стека выше ссылается на http://fpdf.fruit -lab.de / как на хороший инструмент преобразования - может быть, я просто использую неправильное отображение? Есть ли определенный формат карты, который предпочитает PDF?

1 Ответ

3 голосов
/ 17 января 2012

Я столкнулся с той же проблемой, используя dompdf http://code.google.com/p/dompdf/, который использует R & OS PDF Class для рендеринга, так что это может вам помочь.

Если у вас есть шрифт .ttf, перейдите к шагу 2.

  1. Загрузите ваш шрифт на http://www.files -conversion.com / font-converter.php (Примечание. На этом веб-сайте есть .afm в качестве опции, но выходной файл был 3 МБ против 39 КБиз фруктовой лаборатории) выберите .ttf и сохраните его.
  2. Загрузите .ttf в http://fpdf.fruit -lab.de / и загрузите файл .afm.
  3. Скопируйте оба файла .ttf и .afm в каталог шрифтов и убедитесь, что они точно совпадают с именем и регистром!

У меня были проблемы с пробелами, поэтому я использовал CamelCase, а расширение .ttf было прописными мое расширение .afm было в нижнем регистре.Как только я убедился, что у меня есть имена .afm и .ttf в CamelCase без пробелов и расширений в нижнем регистре, это сработало!

Это, вероятно, специфично для dompdf, мне пришлось обновить dompdf_font_family_cache.dist.php и включить мойШрифт в массиве выглядит следующим образом:

'testscript' => array (
    'normal' => DOMPDF_FONT_DIR . 'TestScript',
    'bold' => DOMPDF_FONT_DIR . 'TestScript',
    'italic' => DOMPDF_FONT_DIR . 'TestScript',
    'bold_italic' => DOMPDF_FONT_DIR . 'TestScript',
)

Примечание. Я хотел использовать только одну версию шрифта - не жирный, курсив и т. д., поэтому я просто заставил их указывать на один и тот же файл шрифта.

...