Как рассчитать лидирующие PDF из TTF? - PullRequest
7 голосов
/ 01 мая 2009

Спецификация PDF определяет текстовый оператор, называемый '(апостроф). Определение состоит в том, что он записывает некоторый текст и переходит к следующей строке на основе текущего начального состояния. Текущее ведущее состояние может быть установлено с помощью оператора TL. Это позволяет очень легко писать строки текста, если вы знаете, насколько они должны быть разнесены по вертикали:

16 TL
/F1 12 Tf
(Line 1) '
(Line 2) '
(Line 3) '
(Line 4) '

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

Я читал спецификацию формата файла TTF, чтобы попытаться выяснить, где находится высота строки или как ее можно рассчитать, но мне не повезло.

При условии, что у меня есть следующие данные:

  • Размер шрифта.
  • Все соответствующие значения из файла TTF (Ascender, Descender, Line Gap и т. Д.)

Как рассчитать лидирующий PDF из TTF?

редактировать

Похоже, что значение Line Gap из TTF-файла играет важную роль в расчете начального значения PDF, но некоторые шрифты не предоставляют для него разумного значения (например, Courier New в Windows).

Ответы [ 2 ]

3 голосов
/ 09 мая 2009

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

Спецификация Microsoft OpenType (см. Раздел «От базовой линии до базовых расстояний», внизу) определяет начальное значение равным LineGap.

Обзор системы Apple Text гласит:

Пространство, добавленное во время набора текста между строками типа, называется лидирующим, после кусков свинца, используемых для этой цели в традиционном макете страниц металлического типа. (Ведущий иногда также называется пропуском.)

Итак, согласно этим ссылкам, LineGap используется не только для вычисления лидирующих, но и фактически является лидирующими.

0 голосов
/ 03 мая 2009

Я не совсем уверен, что вы пытаетесь сделать, но звучит так, будто вы хотите встроить настоящие шрифты в документ PDF. Если это так, почему бы вам просто не использовать латекс?

http://www.radamir.com/tex/ttf-tex.htm

...