ps_findfont

(PECL ps >= 1.1.0)

ps_findfontЗагружает шрифт

Описание

ps_findfont(
    resource $psdoc,
    string $fontname,
    string $encoding,
    bool $embed = false
): int

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

Имя afm-файла должно быть fontname.afm. Если шрифт должен быть встроен, также должен присутствовать файл fontname.pfb, содержащий контур шрифта.

Вызов ps_findfont() перед первой страницей требует вывода заголовка PostScript, который включает BoundingBox для всего документа. Обычно BoundingBox устанавливается при первом вызове ps_begin_page(), который теперь идёт после ps_findfont(). Следовательно, BoundingBox не установлен, и при вызове ps_findfont() будет выдано предупреждение. Чтобы предотвратить эту ситуацию, следует вызвать ps_set_parameter() для установки BoundingBox до вызова ps_findfont().

Список параметров

psdoc

Идентификатор ресурса файла postscript, возвращённый функцией ps_new().

fontname

Название шрифта.

encoding

Функция ps_findfont() попытается загрузить файл, переданный в параметре encoding. Файлы кодирования имеют тот же синтаксис, что и используемые dvips(1). Они содержат вектор кодировки шрифта (который в настоящее время не используется, но должен присутствовать) и список дополнительных лигатур для расширения списка лигатур, полученных из файла afm.

encoding может быть null или пустой строкой, если должна использоваться кодировка по умолчанию (TeXBase1).

Если для кодировки установлено значение builtin, то перекодирования не будет и будет использоваться кодировка, специфичная для шрифта. Это очень полезно для символьных шрифтов.

embed

Если установлено значение > 0, шрифт будет встроен в документ. Для этого требуется наличие контура шрифта (файл .pfb).

Возвращаемые значения

Возвращает идентификатор шрифта или ноль в случае возникновения ошибки. Идентификатор - положительное число.

Смотрите также

  • ps_begin_page() - Начинает новую страницу
  • ps_setfont() - Устанавливает шрифт, который будет использоваться для следующего вывода