Шрифты. Разработка и использование
Программируемый метод разметки
Программируемый метод основан на точном определении в шрифте
всех действий, которые должен выполнять растеризатор. На долю расте-
ризатора при этом остаются только интерпретация команд разметки и как
можно более быстрое их выполнение. Растеризатор оказывается более
простым, компактным и быстрым, но это происходит за счет резкого ус¬
ложнения шрифтов и увеличения их в объеме. Программа разметки мо¬
жет быть очень сложной, имеющей циклы, условные переходы, описания
переменных и массивов (см. рис. 6.7). Языки программирования разметки
обычно имеют много команд модификации контуров символов, причем
среди них есть как команды, работающие на этапе масштабирования кон¬
тура, так и на этапе его заполнения.
В программируемом методе разметки используются не ассоциативные
декларации, а точное указание взаимодействия между точками:
Переменные
А= 10
В = 70
С = 30
Рис. 6.7. Элементы разметки при программируемом методе
Потенциально программируемая разметка может обеспечить намного луч¬
шее качество, чем декларативная, но создание высококачественных шриф¬
тов, использующих программы разметки, оказывается настолько трудоемким,
что таких шрифтов появляется довольно мало. Обычно производители таких
шрифтов (а это все TrueType-шрифты) применяют специальные системы,
автоматически формирующие программы разметки символов и шрифта.
Такой путь обычно приводит к невысокому качеству растеризации
шрифтов, так что потенциальное преимущество программируемой раз¬
метки теряется.
Общая структура шрифта в формате Туре
Любой Туре 1 -шрифт состоит из двух основных частей: открытой и зак¬
рытой (зашифрованной):
- 144 -
Глава 6. Форматы цифровых шрифтов
—
• Обозначение шрифта
• Область глобальной разметки
• Заголовок шрифта
• Область глобальных подпрограмм
• Кодовая таблица шрифта
• Область подпрограмм разметки и контурных
• Уникальный идентификатор шрифта
подпрограмм
• Область описаний символов
Открытая часть. В открытой части Туре 1-шрифта содержится ин¬
формация, доступная для любого текстового редактора. Эта часть может
быть изменена при условии, что закрытая часть останется нетронутой. В
открытой части можно выделить 4 области.
• Обозначение шрифта показывает, что файл является именно шриф¬
том:
%!PS-AdobeFont-1.0: TimeRoman 001.1
%%CreationDate: Wed Oct 20 17:08:26 1993
%%Creator: FontLab(c) for Windows v2.5
• Заголовок шрифта, в котором хранится следующая информация:
FontName
FullName
FamilyName
Version
Notice
Weight
ItalicAngle
IsFixedPitch
UnderlinePosition
U nderlineThikness
PaintType
FontType
FontMatrix
FontBBox
Регистрационное имя рифта
Полное имя шрифта
Имя гарнитуры, в которую входит шрифт
Наименование версии рифта
Информация о создателях шрифта и об авторс¬
ких правах на шрифт
Информация о насыщенности шрифта
Угол наклона символов шрифта в градусах про¬
тив часовой стрелки
Информация о том, является ли шрифт моноши¬
ринным
Положение линии подчеркивания
Толщина линии подчеркивания
Вид шрифта: 0 — сплошной (заполняемый);
1 — контурный. Все Туре 1-шрифты являют¬
ся сплошными.
Тип шрифта: 0 — Туре 0 шрифт (составной);
1 — Туре 1 шрифт; 3 — Туре 3 шрифт.
Стандартная матрица транстформирования
символов. Ее более подробное описание приве¬
дено в разделе «Описание символов».
Минимальный прямоугольник, охватывающий
все символы шрифта.
- 145 -