Содержимое шрифтового файла
Шрифтовой файл (font) содержит полную информацию, необходимую для позиционирования и отображения всех знаков, которые он представляет. О том, как операционная система и программное приложение совместно используют эти данные, подробно рассказывается в гл. 7. А здесь мы рассмотрим содержимое шрифтового файла и его связь с набором текста.
Самой важной составной частью шрифтового файла являются собственно контуры знаков. В целом совокупность знаков в шрифтовом файле называется комплектом знаков1 (character set). Для большинства обычных шрифтовых файлов комплекты знаков чаще всего стандартизированы. В них всегда имеется основной
Abcdefghijklm nopqrstuvwxyz
ABCDEFGHIJKLM NOP QRSTUVWXYZ 123 4567890?
! j # $ % ¥ £ € % %o л & *
+ ± + = ()[]{}
; : ' " I,.<>/" "™/?*ao®t
Fi © • • -. ... < > « » " / a
Fi fl * 0 • , „ oe (E ас УЕ і §
, t..................................... 9 о і
1 і I 6 u і ё f б u а ё ї б ii у і ё і 6 й fi а б 0
А Ё 1 <Ь U А Ё І ООАЁ І 00 Y А£ І 0 0 A ft А 6 D д Р > S s ¥ у 2 z 14 У4 % 1
2 3 1 - * н
РИС. 4.2. Стандартный комплект шрифтового файла в формате Adobe Туре 1. Хотя номинально он может содержать до 256 знаков, тридцать три «ячейки» в начале заняты компьютерными командами, например, backspace (удалить предыдущий знак) и delete (удалить), а также двумя командами добавления пробела: между словами (word space) и неразрывного пробела (nonbreaking space) комплект знаков, хотя они могут содержать и дополнительные знаки, как, например, шрифтовые файлы в кодировке Unicode. На рис. 4.2 показан комплект стандартного текстового шрифтового файла.
Контуры знаков в векторном шрифтовом файле не зависят от размера букв (кегля). В каждом шрифтовом файле содержится таблица ширин (width table), которая определяет горизонтальное расстояние, отводимое для каждого знака. Оно измеряется в долях кегельной (em). Компьютерная программа использует эти значения для расчета степени заполнения строк, суммируя ширины набираемых букв до тех пор, пока строка не будет заполнена полностью.
Шрифтовой файл содержит также таблицы ширин других начертаний гарнитуры (member of family). Обычно это характерно для «нормального» («regular») начертания (прямого светлого). Эти таблицы позволяют компьютерной программе верстать текст с использованием всех четырех начертаний гарнитуры (прямого, курсивного, полужирного и курсивного полужирного), обращаясь только к одному шрифтовому файлу. Операционная система, используя эти таблицы, может генерировать имитацию курсивных, полужирных и курсивных полужирных начертаний для вывода на экран. Наборная программа, которая основывается только на таблицах ширин, тем не менее, может принимать правильные решения о том, сколько знаков входит в строку и где разрывать строку. Когда же наступает время печати, все необходимые шрифтовые файлы должны быть в наличии, поскольку их контуры требуются для растеризации шрифта (рис. 4.3). А для ускорения отображения верстки на экране вместо разных
Начертаний используется только «нормальный» шрифтовой файл. Подробное описание взаимодействия между приложением и операционной системой приведено в гл. 7.
В шрифтовом файле также хранится таблица кернинга (kerning table), которая является списком определенных пар знаков и соответствующих значений, на которые программа в процессе верстки изменяет пробел между ними. Значение кернинга выражается в долях кегельной, что позволяет их использовать для любого кегля. Более подробная информация о кернинге представлена в гл. 7 7.