![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
Большинство фонтов .chr, находящихся в директории BGI, не содержат русских символов, однако там есть директория Rus, внутри которой есть соответствующие русифицированные фонты. Для работы можно их просто переписать в директорию BGI, заменив соответствующие нерусифицированные. Кроме того, в директории Rus есть еще несколько русифицированных фонтов, которые можно использовать в программе с помощью функции installuserdriver. Там же находится программа Редактор фонтов Fe.exe, с помощью которой можно корректировать отдельные символы штриховых фонтов.
void settextstyle ( int font, int direction, int charsize); Устанавливает фонт, направление вывода текста(горизонтальное, символическая константа – HORIZ_DIR (0) и вертикальное (VERT_DIR (1), поворот на 900 против часовой стрелки), коэффициент увеличения символа(0 – 10). Если использовать точечный DEFAULT_FONT, то при charsize =5 размер символ составляет 40*40 пикселей. Значение charsize =0 используется только для штриховых фонтов и соответствует множителю по умолчанию 4 либо коэффициенту, заданному функцией setusercharsize.
Пример.
settextstyle ( EUROPEAN_FONT, VERT_DIR, 3);
void getsettingstype ( struct * texttypeinfo); Дает информацию о текущем текстовом фонте. Структура textsettingstype имеет вид:
struct textsettingstype{
int font;
int direction;
int charsize;
int horiz; // Параметры выравнивания по горизонтали
int vert; // и вертикали, см. функцию settextjustify
}
Пример. После действия функции settextstyle примера будем иметь:
gettextsettings (&cur_text);
cur_text.font à EUROPEAN_FONT
cur_text.direction à VERT_DIR
cur_text.charsize à 3
void settextjustify ( int horiz, int vert); Устанавливает выравнивание выводимого текста относительно текущего положения курсора. Задает 3 возможных положения текста в обоих направлениях. Эти положения определяются символическими константами:
по горизонтали:
0 LEFT_TEXT // Курсор слева от текста
1 CENTER_TEXT // Курсор по центру
2 RIGHT_TEXT // Курсор справа от текста
по вертикали:
0 BOTTOM_TEXT // Курсор под текстом
1 CENTER_TEXT // Курсор по центру
2 TOP_TEXT // Курсор над текстом
int textheight ( char * string); Возвращает высоту текстовой строки в пикселях.
int textwidth ( char * string); Возвращает длину текстовой строки в пикселях.
Эти функции полезны при расчете растояний между строками, размеров окон, в которые строки выводятся, и т.п.
void setusercharsize ( int multx, int divx, int multy, int divy); Позволяет задать нецелые коэффициенты увеличения символов по горизонтали и вертикали. Коэффициент по горизонтали равен multx / divx, по вертикали – multy / divy.
Пример. Увеличение по вертикали на 50%, по горизонтали – вдвое.
setusercharsize (2, 1, 3, 2);
Замечание. Функция работает только в том случае, если в предыдущем вызове функции settextstyle третий параметр charsize равен 0.
Если в программе требуется использование штрихового фонта, который не входит перечень символических констант BGI системы, то для его установки применяют функцию:
int installuserdriver ( char * full_path); Параметр full_path указывает полный путь к файлу .chr, возвращается идентификатор файла, который позже используется в функции settextstyle.
Пример.
fn03 = installuserdriver ("c:\bc\bgi\rus\fn03.chr");
……………………………………………………
settextstyle (fn03, HORIZ_DIR, 2);
Дата публикования: 2014-11-02; Прочитано: 224 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!