Шрифты. Разработка и использование
таблица для русификации MS-DOS (альтернативная1 кодировка кирилли¬
цы) известна также, как кодовая таблица 866. Примеры кодовых таблиц, под¬
держивающих кириллицу, приведены в Приложении 2.
При работе с дисплеем компьютера в алфавитно-цифровом режиме (на
IBM-совместимом компьютере в таком режиме работает MS-DOS) начер¬
тания символов единственного доступного набора, определяемого исполь¬
зуемой кодовой таблицей, загружаются в специальную область памяти
видеоадаптера, называемую таблицей знакогенератора2. Системы, исполь¬
зующие графический режим видеоадаптера — Windows всех разновидно¬
стей или операционная система Macintosh MAC OS (Macintosh имеет во¬
обще только графический режим работы дисплея) — более гибки, так как
каждый символ прорисовывается на экране программно, «по точкам». По¬
этому однозначного соответствия кода символа его внешнему виду в та¬
ких системах нет. Именно это соответствие (между кодом символа и его
видом, начертанием, образом — список синонимов может быть продол¬
жен) и определяется шрифтом. В разных шрифтах один и тот же код (на¬
пример, 6510) соответствует разным по начертанию символам — А в
FuturisXC, c/f в DecorC, ё в Wingdings, $ в ZapfDingbats и т. д.
Для того, чтобы текст, подготовленный на одном компьютере (в одной опе¬
рационной системе), мог быть прочитан и обработан далее на другом компь¬
ютере или в другой системе, необходимо либо использование одной и той же
кодовой таблицы, либо перекодировка документа. Как это сделать, будет рас¬
сказано ниже. Для того, чтобы обеспечить одинаковый вид документа, необ¬
ходимо иметь на обоих компьютерах один и тот же набор шрифтов.
Растровые, векторные и контурные
шрифты
Растровые шрифты
Прежде чем рассматривать, шрифт с точки зрения операционной сис¬
темы, разберемся с тем, каким образом в принципе может быть представ¬
лена (и представляется в действительности) информация о шрифте.
1 На заре появления IBM-совместимых компьютеров в СССР была разработана и записана
в ГОСТ еще одна таблица кодировки, называвшаяся «основной». Не прижилась она потому,
что русские буквы в ней попали на место псевдографических символов (элементов рамок
разного рода), широко использовавшихся самыми разными программами.
2 В русифицированных версиях DOS это делается указанием номера используемой кодовой
страницы. В нелокализованных версиях используются специальные резидентные програм-
мы-«русификаторы», поддерживающие одну или несколько кодовых таблиц
- 94 -
Глава 5. Шрифт в компьютере
Изображение символов шрифта (как и любое другое) на экране дисплея
является растровым изображением, то есть состоит из окрашенных в раз¬
ные цвета точек, или пикселей (pixels). В случае текста таких цветов толь¬
ко два — цвет символа и цвет фона. Если условно обозначить точку, окра¬
шенную в цвет символа, единицей, а в цвет фона — нулем, любой
изображаемый на экране символ можно представить в виде прямоуголь¬
ной таблички из нулей и единиц — битовой карты (bitmap), о которой уже
говорилось при обсуждении растрирования. Естественно, что количество
элементов в таблице однозначно связано с размером символа на экране —
для рисования символа высотой 12 пунктов (1 pt = 1/72 дюйма и точно
соответствует размеру пикселя для большинства типов мониторов) нуж¬
но иметь bitmap высотой 12 строк, для символа в 8 pt — в 8 строк. Таблица,
содержащая все 256 битовых карт символов для некоторого начертания и
некоторого размера, называется bitmap font (bitmap-шрифт). На рисун¬
ке 5.1 показано, как выглядит литера «Q» bitmap-шрифта при большом уве¬
личении (тонкие белые линии обозначают границы пикселей).
Рис. 5.1. Литера bitmap-шрифта
Bitmap-шрифт является наиболее удобным для отображения на экране с
точки зрения скорости прорисовки и затрат ресурсов компьютера на обра¬
ботку. Однако размеры символов на экране могут изменяться — следова¬
тельно, для одной гарнитуры необходимы bitmap-шрифты нескольких раз¬
меров. Поскольку запоминать шрифты для всех возможных размеров
слишком расточительно с точки зрения расходуемой для их хранения памя¬
ти (как дисковой, так и оперативной), создатели раздела поддержки шриф¬
тов в операционных системах пошли на следующий компромисс: для наи¬
более ходовых кеглей (размеров) создаются отдельные bitmap-шрифты, для
- 95 -