Под шрифтом обычно понимается набор изображений символов. Шрифты могут различаться по организации (растровые и векторные), по размеру, по направлению вывода и по ряду других параметров. Шрифт может быть фиксированным (размеры всех символов совпадают) или пропорциональным (высоты символов совпадают, но они могут иметь разную ширину).

Для выбора шрифта и его параметров служит функция settextstyle:

void far settextstyle (int font, int direction, int size );

Здесь параметр font задает идентификатор одного из шрифтов: DEFAULT__FONT - стандартный растровый шрифт размером 8 на 8 точек, находящийся в ПЗУ видеоадаптера;

TRIPLEX_FONT, GOTHIC FONT, SANS_SERIF_FONT, SMALL_ FONT - стандар тные пропорциональные векторные шрифты, входящие в комплект Borland С++ (шрифты хранятся в файлах типа CHR и по этой команде подгружаются в оперативную память; файлы должны находиться в том же каталоге, чго и драйверы устройств).

Параметр direction задает направление вывода: HORIZ_DIR - вывод по горизонтали;

Работа со шрифтами

3.5. Работа со шрифтами Компьютерная графика. Полигональные модели

VERTDIR - вывод по вертикали.

Параметр size задает, во сколько раз нужно увеличить шрифт перед выводом на экран. Допустимые значения.1, 2, 10.

При желании можно использовать любые шрифты в формате CHR. Для этого надо сначала загрузить шрифт при помощи функции

int far installuserfont ( char far * fontFileName );

а затем возвращенное функцией значение передать settextstyle в качестве идентификатора шрифта:

in! nr^F?nt = installuserfont {"MYFONT.CHR" };
settextstyle ( myFont, HORIZJ3IR, 5 );

Для вывода текста служит функция outtextxy: void far outtextxy (int x, int y, char far * text); При этом строка text выводится так, что точка (х, у) оказывается вершиной левого верхнего угла первого символа.

Для определения размера, который займет на экране строка текста при выводе текущим шрифтом, используются функции, возвращающие ширину и высоту в пикселах строки текста:

int far textwidth (char far * text);
int far textheight (char far * text);

⇐ Предыдущая| |Следующая ⇒