Шрифты. Разработка и использование
Оп-сигѵе точка
Off-curve точка
Кривая
Вектор
Рис. 6.16. Построение контуров символов в ТтиеТуре-иірифтах
При заполнении контуров применяется правило, противоположное
тому, которое используется для заполнения Туре 1-контуров, то есть при
обходе контура по его направлению заполняется область, лежащая спра¬
ва, как показано на рис. 6.17:
Рис. 6.17. Пример заполнения контуров
в TrueType-шрифтах
Для более компактного описания символов, содержащих стандартные
элементы, могут применяться контурные подпрограммы и ссылки на дру¬
гие символы (например в символах Й или S).
Координатная система TrueType-шрифтов
При построении символов в TrueType-шрифтах используется коор¬
динатная система, в общих чертах аналогичная той, которая применя¬
ется в Туре 1-шрифтах. Все символы описываются в сетке, размер ко¬
торой определяется в заголовке шрифта. Максимальный размер сетки
равен 16384. При этом значения координат находятся в диапазоне от
-16384 до + 16383. Обычно используется сетка размером в 2048 единиц
- 160 -
Глава 6. Форматы цифровых шрифтов
(при этом координаты по каждой из осей могут находиться в диапазоне
от-2048 до +2047).
Положение начала координат формально не определяется никакими пра¬
вилами, однако обычно оно располагается так, чтобы вертикальная коорди¬
ната базовой линии была равной 60 единицам. Положение точки начала
координат по горизонтали определяется формой символов. В симметрич¬
ных символах оно размещается посередине, как это показано на рис. 6.18:
Рис. 6.18. Положение точки
начала координат
в координатной системе
ТгиеТуре-шрифтов
В принципе, жестких правил для размещения начала координат и вы¬
бора разрешающей способности описания контура нет, но есть некото¬
рые рекомендации: размещать нулевую точку во всех символах на одном
уровне по вертикали и выбирать разрешение описания кратным 2, напри¬
мер, 2048, 4096 или 8192.
Масштабирование символов
Как и в любых контурных форматах, растеризатор TrueType-шрифтов
при воспроизведении символов должен выполнить несколько операций.
Если в разговоре о формате Туре 1, в котором всю работу по качественному
масштабированию и заполнению контуров символов выполняет довольно слож¬
ный растеризатор, мы ограничились только описанием процесса масштабиро¬
вания, то для TrueType-шрифтов, содержащих подробные инструкции для ра-
стеризатора, мы приведем подробное описание всех этапов.
1. Масштабирование контуров
Заданный размер
в точках устройства
Исходный размер
в еденицах символа
Рис. 6.19. Схема процесса масштабирования для ТгиеТуре-шрифтов
6 —Шрифты — 161 —
ir-
-N
V-,
л
Ш 1