символШирина и символВысота
- Похоже, они связаны с размером, который вы указали для шрифта, и, похоже, не отличаются от шрифта к шрифту (при одинаковом размере). Как
такие они не особо полезны (для меня, по крайней мере). Они не
надежный индикатор того, сколько места будет использовать шрифт.
восходящему
- Ascender - это часть шрифта, которая находится над базовой линией. Это не связано с символом - значение по возрастанию одинаково для всех
символ в шрифте.
спусковое
- Descender - это часть шрифта, которая находится ниже базовой линии. Это представляется как отрицательная фигура. Добавление абсолютных значений
восходящий и нисходящий дает вам ...
TextHeight
- Это общая высота, доступная шрифту. Это одинаково для каждого символа в шрифте, независимо от его регистра или количества места
персонаж, кажется, занимает. Это может быть использовано для определения линии
высота при выводе абзацев и т. д.
TextWidth
- Это значение варьируется от символа к символу и является шириной символа. Это полезно, если boundingBox не обеспечивает
используемые значения (см. boundingBox ниже). При позиционировании символов один
по одному - не используйте textWidth, используйте originX (см. ниже).
maxHorizontalAdvance
- Боюсь, я не совсем понял цель этого. Это одинаково для каждого символа в шрифте. Для шрифта Arial Italic в
размер 67, значение 89, что намного шире, чем сообщалось заранее
для M или W в том же размере.
BoundingBox
- Это возвращает ассоциативный массив, описывающий четыре точки (x1, y1, x2, y2) прямоугольника, которые содержат символ. Эти значения
по отношению к началу координат (то есть координат, где вы находитесь
рисование персонажа внутри изображения). Возвращенный прямоугольник очень
точный и полностью охватывает все части печатного символа -
но boundingBox работает только для отдельных символов. Не даст
точные цифры для нескольких персонажей (по моему опыту в любом случае).
При рисовании прямоугольника необходимо добавить значения «x» в начало координат и
СУБТРАКТ "y" значения из источника. Вы не можете полагаться на
boundingBox для персонажа SPACE. Возвращает ограничивающий ящик
(0,0,0,0). textWidth (см. выше) пригодится здесь.
originX и originY
- они неточно названы. Значения, возвращаемые в originX и originY, на самом деле являются advanceX и advanceY. Эти значения дают вам
позиция следующего символа относительно текущего.
А потом вы можете сгенерировать изображение со своим текстом следующим образом: