Классификация цифровых шрифтов по методу описания
По методу описания цифровые шрифты подразделяются на растровые, штриховые, контурные и алгоритмические.
В реально существующих шрифтах, используемых в издательских системах, наиболее распространены два метода описания шрифтов: растровый и контурный. Некоторое представление о них дают два следующих рисунка (соответственно левый и правый).
Символы растрового шрифта представляются набором точек pacтpa подобно тому, как образуется изображение мозаики. До появления первого принтера с языком PostScript — Apple LaserWriter пользователи персонального компьютера работали только с растровыми (bitmap) шрифтами, которые имели ряд существенных недостатков:
§ поскольку разрешения принтера и экрана сильно отличаются, для них необходимо было иметь разные шрифты;
§ для каждого кегля требовался отдельный растровый шрифт и чем больше был кегль, тем больше места на диске занимал шрифтовой файл;
§ растровые шрифты не допускали поворотов и, следовательно, для документов в альбомном формате требовался отдельный выбор шрифтов.
Битовая карта (bitmap) может быть представлена в виде таблички из нулей и единиц, если, например, условно обозначить точку, окрашенную в цвет символа, единицей, а в цвет фона — нулем. Bitmap-шрифт является наиболее удобным для отображения на экране с точки зрения скорости прорисовки и затрат ресурсов компьютера на обработку. Но размеры символов на экране могут изменяться, поэтому для одной гарнитуры необходимы bitmap-шрифты нескольких размеров. С тем, чтобы сэкономить объем памяти для хранения различных по размеру шрифтов, используют следующий подход:
§ для наиболее ходовых кеглей создаются отдельные bitmap-шрифты;
§ для промежуточных размеров битовая карта каждого символа строится непосредственно перед отображением на основании bitmap из ближайшего по размеру шрифта той же гарнитуры.
Векторные шрифты — одно из возможных решений проблемы масштабирования шрифта. Для них характерным является естественный способ непосредственного воспроизведения на носителе прямых или кривых линий, например, для устройств типа перьевых или струйных графопостроителей (плоттеров). В векторных шрифтах каждый символ представляется в виде совокупности геометрических примитивов, т.е. отрезков прямых и дуг окружности, заданных своими координатами относительно «точки привязки» символа.
Масштабирование векторного шрифта возможно в результате простого умножения всех координат на соответствующий множитель. Однако для прорисовки шрифтов с качеством, нужным для публикаций в полиграфии, в векторных шрифтах требовалось бы очень большое количество элементов, образующих контуры букв с переменной толщиной, так как их пришлось бы собирать из множества тонких линий. Векторные шрифты широко используются в программах, связанных с подготовкой чертежей.
Контурные (outline) шрифты обеспечили оригинальное решение множества проблем:
§ вместо запоминания битовых карт, существующих для нескольких базовых кеглей шрифта, запоминаются только контуры символа;
§ для запоминания кривых, очерчивающих границы символов, используют разбиение кривой (или ломаной) линии на участки и аппроксимацию получившихся фрагментов кривых полиномами второй или третьей степени;
§ для отображения на том или ином устройстве символа какого-то конкретного размера битовая карта для данного символа и данного кегля строится путем заполнения контуров буквы точками (иначе говоря, выполняется растрирование нужного символа с разрешением, соответствующим устройству вывода).
Отделение информации о форме символов в контурных шрифтах от процесса их воспроизведения на растровом выводном устройстве является отличительной особенностью, обеспечившей революцию в издательском деле при переходе на компьютерную технику. При этом отмечают следующие особенности:
§ в шрифте описывается форма каждого символа в виде набора прямых и кривых в абстрактных координатах, не связанных с конкретным разрешением выводного устройства;
§ управление процессом заполнения контура растровыми точками осуществляется ассортиментом инструкций (hints).
§ выводное устройство может масштабировать контуры символа до необходимого размера и заполнять внутренниe области точками того растра, на который оно способно;
§ используя математическое описание кривых, программа-интерпретатор обеспечивает поворот контура и выполнение других манипуляции с ним.
Ассортимент инструкций (hints) необходим потому, что при наложении контура на растровое поле может происходить искажение изображения, так как некоторые точки пересекаются линиями контура, оказываясь частично снаружи и частично внутри. При простом округлении два вертикальных штриха, например, симметричной буквы «Н», могут оказаться разной толщины. Инструкции дают дополнительную информацию программе-растеризатору для разумного округления при заполнении контура (особенно это важно при работе с устройствами низкого разрешения, например, с экранами и принтерами, где разрешение не достигает 300 dpi).
Для сравнения различных шрифтов приведем таблицу.
Отличительные особенности | Область применения | Преимущества метода | Недостатки метода |
Растровые шрифты | |||
Символы шрифта — оцифрованное изображение-узор из отдельных точек или так называемых пикселов (черных и белых). Процесс печати символов сводится к переносу этого изображения на выводное устройство. | Во всех матричных, большинстве лазерных и струйных принтеров. Для отображения текстов на мониторе. Для фотовыводных устройств. | Максимально возможное качество и скорость работы. Простота, естественность. | Невозможность плавного изменения величины кеглей и использования нелинейных преобразований. Жесткая привязка к конретному типу принтера и монитора. "Ступенчатость" формы контура буквы при масштабировании. |
Штриховые шрифты | |||
Изображение символа в виде векторов, которые плотно заполняют пространство, занимаемое символом. | Для вывода на графопостроители, векторные дисплеи. | Возможность выполнения наклонов, поворотов при трансформировании шрифта. | Заметное ухудшение качества воспроизведения шрифта при выполнении масштабирования. |
Контурные шрифты | |||
Используется описание контуров символов в виде прямых и кривых линий. Воспроизведение шрифтов выполняется специальной программой-растеризатором. | Относятся к наиболее распространенным так называемым масштабируемым шрифтам в форматах True-Type и PostScript. В формате PostScript структура изображения описывается вне зависимости от устройств вывода. | Возможность выполнения любых преобразований. Это выполняется программой благодаря математическим вычислениям контура символа для каждого конкретного гарнитурокегля. | Трудоемкость манипулирования направляющими точками при преобразованиях формы символа. |
Алгоритмические шрифты | |||
Используются специальные языки описания символов. Они содержат команды управления, описания переменных и массивов, ассортимент расчетных функций и функций обмена с внешней средой. | Реализация описания шрифтов по технологии Метафонт (Metafont), примененного Дональдом Кнутом в его издательской системе ТеХ. | Наибольший ассортимент возможностей при формировании символов. Гибкость при определении графемы, а затем и других параметров (в том числе и дизайна). | Трудоемкость построения шрифтов. |