126
7. Интеллектуальное масштабирование шрифтов
за. Это происходит из-за временных затрат на управление
программой в процессе конвертирования. Этот фактор
всегда имеет место, так как технические элементы конвер¬
тирования должны быть выполнены до растеризации.
Превращение аппроксимаций математической кривой
отрезками в растровые точки имеет еще один аспект: про¬
цесс занимает примерно 25% компьютерного времени.
Программы масштабирования требуют примерно того же
времени для интерпретации инструкций. Более того, одна
только загрузка и декомпрессия шрифта требует еще 25%
времени расчета. Остальные 25% теряются при генериро¬
вании растровых изображений и заливке черными пиксе¬
лами пространства внутри контуров. Что касается времени
расчета, последняя стадия особенно важна при создании
шрифтов исключительно больших кеглей.
Сравнительная характеристика программ масштаби¬
рования для каждого компьютера, использующего такие
данные:
CPU І80 386
Частота 16 МГц
Кегль шрифта 10 pt
Разрешение 300 Ірі
Гарнитура Antiqua (например, Times Roman)
Рис. 70
Программа масштабирования
Скорость
TI IF TT F3 II
конвертирования
Букв/сек
35 50 - 60 40 50
Требования шрифтов к памяти
В то время как относительно скорости существует следую¬
щее правило: «чем проще математика, тем быстрее конвер¬
тирование из контура в растровое изображение», при кон¬
вертировании справедливо такое правило: «чем сложнее
функция, тем меньше требуется памяти». Следующая таб¬
лица показывает связь между математикой и требованием
к памяти. Эти данные относятся к «усредненным» шриф¬
там, таким, как Times Roman. Простые шрифты, такие, как
Helvetica, требуют только 50% от данного объема. Что же
касается графически экстравагантных шрифтов, таких, как
Palatino или English Script, то им нужно вдвое, а то и больше
памяти. По сравнению с Times Roman, знаки кандзи, ис¬
пользуемые для китайского и японского языков, требуют в
4,5 раза больше памяти, чем средний латинский знак!
7. Интеллектуальное масштабирование шрифтов
127
Требуемая память
на 100 X100 знаков
на 1000 X1000 знаков
1 Пиксел
1200 байт
120 000 байт
2 Протяженность
450 байт
4 500 байт
3 Вектор
60 байт
300 байт
4 Окружность
г 300-
р 600 байт
5 Сплайн2
2 байта
125 -
4 байт
250 байт
6 G-коническая
на
105 -
на
210 байт
функция
7 Сплайн-''
точку
100 -
точку
200 байт
ІК
200 байт
Вывод: Векторное
описание полезно;
сплайн2, g-конические
функции и сплайн-' сравнимы
Чем сложнее,
тем короче
Рис. 71.
Требования к памяти
в зависимости от
математического
представления.
Информация о требованиях к памяти на рис. 71 отно¬
сится только к записи контуров знаков, инструкции не
учитываются. Если принять во внимание инструкции, то
дополнительно потребуется еще 30% памяти.
Необходимо заметить, что до половины требуемой па¬
мяти можно сэкономить при помощи особой системы ко¬
дирования (например, кодирование Хафмана). При этом
следует учесть, что потребуется приблизительно от 10% до
20% дополнительного расчетного времени на декодирова¬
ние шрифта в RIP (процессоре растровых изображений)
перед использованием программ масштабирования.
Программа масштабирования
Т1
IF
ТТ
F3 II
Размер программы
(в Кбайт)
(70)
32
(160)
70 32
Размер шрифта
(в Кбайт)
40
70
60
60 50
Рис. 72.
Сравнение
требований
к памяти.
Другой эффективный способ сэкономить память за¬
ключается в том, чтобы сохранить повторяющиеся эле¬
менты (целые буквы, части букв, выступающие элементы и
засечки) всего однажды, а затем строить шрифт на основе
его элементов в RIP. Это сохраняет до 30% памяти для ла¬
тинских шрифтов.
Перечисленные здесь цифры позволяют сравнить тре¬
бования шрифтов к памяти в различных программах, но
это не объясняет, чем вызваны эти отличия. Цифры, приве¬
денные для программ Т1 и ТТ, приблизительные, посколь¬
ку точные значения недоступны.