Вопрос

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

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

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

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

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

  • Размер шрифта.
  • Все соответствующие значения из TTF-файла (восходящий, нисходящий, Интервал между строками и т.д.)

Как мне вычислить PDF-файл, ведущий из TTF?

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

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

Это было полезно?

Решение

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

Тот Самый Спецификация Microsoft OpenType (смотрите раздел Расстояния от базовой линии до базовой линии, ближе к низу) определяет начальную линию как равную lineGap.

Яблоко Обзор текстовой системы заявляет , что:

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

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

Другие советы

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top