Как мы уже говорили ранее, текст, как правило, рисуется шрифтом, выбранным в графическом контексте. X версии 11.4 и ниже поддерживает только растровые шрифты, а начиная с версии 11.5 и выше X Window имеет также и векторные шрифты.
В растровых шрифтах каждому символу соответствует некоторый битовый шаблон, определяющий порядок закраски пикселов при рисовании. Если бит шаблона равен 1, то соответствующий элемент изображения закрашивается цветом переднего плана GC, если же он равен 0, то он закрашивается либо цветом фона, либо вообще не рисуется.
В векторных шрифтах каждый символ описывается последовательностью линий, которые будучи составлены вместе и дают его изображение. Размеры символов варьируются от шрифта к шрифту. Для их описания используется структура XCharStruct. Основные параметры символа показаны на рис. 2.8.
ascent
ascent
Базовая линия
descent
lbearing lbearing
rbearing rbearing
width width
Рис. 2.8. Основные параметры символа шрифта.
Сам шрифт описывается структурой XFontStruct (см. приложение 1.).