112
7. Интеллектуальное масштабирование шрифтов
Вертикальные и
горизонтальные
штрихи наиболее
сильно подвержены
случайным
растровым ошибкам
Можно автоматизировать этот процесс и пересчитать
контуры в растр с помощью программ.
Как видно из рис. 57, при совсем небольшом смещении
растровой сетки относительно контура знака качество
воспроизведения может сильно меняться.
При растеризации букв подобных случаев следует избе¬
гать, стараясь, чтобы алфавит был растеризован по воз¬
можности равномерно, хотя и не обязательно наилучшим
способом. Во всех шрифтах можно встретить повторяю¬
щиеся элементы, такие, как прямые и кривые линии и
штрихи. Помимо того, они могут быть как вертикальными,
так и горизонтальными и, с точки зрения геометрии, силь¬
но подвержены случайным растровым ошибкам. Поско¬
льку растровые изображения состоят только из целых
точек, такие штрихи могут получить на одну точку больше
или меньше. При изображении на экране монитора в 10 pt
(= 2,5 мм высоты; pt = типографский пункт) это может оз¬
начать изменения от 3 до 4 растровых точек, что составля¬
ет до 30%. (3 точки — характерная ширина штриха светлых
шрифтов 10 pt при 300 dpi.) Это соответствует переходу от
светлых к полужирным начертаниям, и даже непредвзято
настроенный читатель сможет это заметить.
Вот почему изготовители лазерных принтеров с циф¬
ровым управлением перешли к более интеллектуальной
растеризации шрифтов. Они снабдили контуры соответст¬
вующими инструкциями. Это дополнительная информа¬
ция для программ растеризации, которая позволяет расте¬
ризовать интеллектуально. Инструкции также могут быть
помечены словом «хинт». Они состоят из типа инструкций,
например штриха, и надлежащей информации о том, где
находится штрих и насколько он широк. Для разных инст¬
рукций возможно получение различной информации, ка¬
сающейся программного управления.
Что дает инструкция?
Инструкция дает уверенность в том, что важные элементы
описания (рис. 58, а, Ь; 59) шрифта будут растеризованы
однородно.
Чтобы разобраться в этом подробнее, изучим основной
штрих (вертикальную прямую, например, как у «Ь» на
рис. 59). Части контура, формирующие левую и правую
границы штриха, будут найдены автоматически с по¬
мощью инструкций основного штриха. Чтобы избежать
неприятностей в процессе растеризации, программа сме¬
щает левую границу штриха на ближайшую линию растро¬
вой сетки. Это реализуется горизонтальным перемещени-
7. Интеллектуальное масштабирование шрифтов
113
сетка, сетка,
не совпадающая с модулем совпадающая с модулем
произвольное расположение расположение штрихов
штрихов на двойной сетке точно совпадает
с линиями сетки
произвольное расположение
окружности может привести
к нежелательным
погрешностям
экстремальные точки кривой
подогнаны точно по сетке,
как и основные штрихи
могут образоваться
тупые вершины
острая вершина получилась
благодаря ее особому
расположению
Рис. 57.
С результатами
растеризации могут
происходить
значительные
изменения при
одних и тех же
растровой сетке
и контуре, даже
если они
незначительно
смещены
относительно друг
друга.