image Alt ←

Метод font

Загрузка файла шрифта для нанесения надписей на изображение.

^картинка.font[набор_букв;имя_файла_шрифта.gif](ширина_пробела)
^картинка.font[набор_букв;имя_файла_шрифта.gif](ширина_пробела;ширина_символа)
^картинка.font[набор_букв;имя_файла_шрифта.gif][хеш_с_параметрами]

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

После загрузки такого файла с помощью метода font набору букв, заданных в параметрах метода, ставятся в соответствие фрагменты изображения из файла. Данный файл должен иметь формат GIF с прозрачным фоном и содержать изображение необходимого набора символов в приведенном ниже виде.

Пример файла digits.gif с изображением цифр:

Высота каждого символа определяется как отношение высоты рисунка к количеству букв в наборе. Методу передаются следующие параметры:

  • Набор букв — перечень символов, входящих в файл шрифта;
  • Имя и путь к файлу шрифта;
  • Ширина пробела в пикселях;
  • Ширина символа — необязательный параметр.

Некоторые параметры могут быть переданы в третьем параметре в виде хеша: [3.4.0]

$.space(0) — ширина пробела (по умолчанию равна ширине GIF со шрифтом);
$.width(x) — ширина символа для моноширинного шрифта (по умолчанию шрифт пропорциональный);
$.width(0) — включить моноширинный шрифт с автоматическим определением ширины символов (будет равна ширине GIF со шрифтом);
$.spacing(0) — межсимвольное расстояние (по умолчанию = 1).

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

Все символы следует располагать непосредственно у левого края изображения.

Пример

$square[^image::create(100;100;0x00FF00)]

^square.font[1234567890;digits.gif](10)

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