Помічу, що шрифт DefaultFont створюється графічним драйвером у момент ініціалізації графіки на підставі аналізу текстового шрифту. Тому, якщо Ваш ПК здатний виводити кирилицю в текстовому режимі, Ви зможете за допомогою цього шрифту виводити російськомовні повідомлення і в графічному режимі. В решті шрифтів ця можливість з'являється тільки після їх модифікації.
Для завдання напряму видачі тексту можна використовувати константи:
const
HorizDir = 0;{Зліва направо}
VertDir = 1;{Від низу до верху}
Як бачимо, стандартні процедури OutText і OutTextXY здатні виводити повідомлення лише в двох можливих напрямах - зліва направо або від низу до верху. Знаючи структуру векторних шрифтів, неважко побудувати власні процедури, здатні виводити повідомлення в будь-якому напрямі.
Кожний шрифт здатний десятиразово змінювати свої розміри. Розмір символів, що виводяться, кодується параметром Size, який може мати значення в діапазоні від 1 до 10 (точковий шрифт - в діапазоні від 1 до 32). Якщо значення параметра рівно 0. встановлюється розмір 1, якщо більше 10 - розмір 10. Мінімальний розмір шрифту. при якому ще виразно розрізняються всі його деталі, рівний 4 (для точкового шрифту - 1).
Процедура SetTextJustify.
Задає вирівнювання тексту, що виводиться, по відношенню до поточного положення покажчика або до заданих координат.
Заголовок:
Procedure SetTextJustify(Horiz,Vert: Word);
Тут Horiz - горизонтальне вирівнювання; Vert - вертикальне вирівнювання. Вирівнювання визначає як розміщуватиметься текст - лівіше або правіше вказаного місця, вище, нижче або по центру. Тут можна використовувати такі константи:
LeftText = 0;{Покажчик зліва від тексту}
CenterText= 1;{Симетрично зліва і справа, верху і знизу}
RightText = 2;{Покажчик праворуч від тексту}
BottomText= 0;{Покажчик знизу від тексту}
TopText = 2;{Покажчик зверху від тексту}
Зверніть увагу на невдалі, з моєї точки зору, імена мнемонічних констант: якщо, наприклад, Ви задасте LeftText, що в перекладі означає «Лівий Текст», повідомлення буде розташовано праворуч від поточного положення покажчика (при висновку процедурою OutTextXY - праворуч від заданих координат). Також «навпаки» потрактує і решта констант.
Процедура SetUserCharSize.
Змінює розмір символів, що виводяться, відповідно до заданих пропорцій.
Procedure SetUserCharSize(XI,X2,Yl,Y2: Word);
Тут X1...Y2 - вирази типа Word, що визначають пропорції по горизонталі і вертикалі.
Процедура застосовується тільки по відношенню до векторних шрифтів. Пропорції задають масштабний коефіцієнт, що показує в скільки разів збільшиться ширина і висота символів, що виводяться, по відношенню до стандартно заданих значень. Коефіцієнт по горизонталі знаходиться як відношення X1 до Х2, по вертикалі - як відношення Y1 до Y2. Щоб, наприклад, подвоїти ширину символів, необхідно задати X1=2 і Х2=1. Стандартний розмір символів встановлюється процедурою SetTextStyle, яка відміняє попереднє їй звернення до SetUserCharSize.
Функція TextWidth.
Повертає довжину в пікселях текстового рядка, що виводиться.
Function TextWidth (Txjt: String): Word;
Враховуються поточний стиль і коефіцієнти зміни розмірів символів, задані відповідно процедурами SetTextStyle і SetUserCharSize.
Функція TextHeight.
Повертає висоту шрифту в пікселях.
Function TextHeight(Txt: String): Word;
Процедура GetTextSettings.
Повертає поточний стиль і вирівнювання тексту.
Procedure GetTextSettins(var Textlnfo: TextSettingsType);
Тут Textlnfo - змінна типа TextSettingsType, який в модулі Graph визначений таким чином:
type
TextSettingsType = record
Font : Word; {Номер шрифту}
Direction: Word; {Напрям}
CharSize : Word; {Код розміру}
Horiz : Word; {Горизонтальне вирівнювання}
Vert : Word; {Вертикальне вирівнювання}
end;
· Включення драйвера і шрифтів в тіло програми
Функція InstallUserFont.
Дозволяє програмі використовувати нестандартний векторний шрифт. Заголовок функції:
Function InstallUserFont(FileName: String): Integer;
Тут FileName - ім'я файлу, що містить векторний шрифт.
Як вже мовилося, в стандартну поставку Турбо Паскаля версій 4.0 - 6.0 включено три векторні шрифти, для версії 7.0 - 10. Функція InstallUserFont дозволяє розширити цей набір. Функція повертає ідентифікаційний номер нестандартного шрифту, який може використовуватися при зверненні до процедури SetTextStyle.
Функція InstallUserDriver.
Включає нестандартний графічний драйвер в систему BGI-драйверів. Заголовок функції:
Function InstallUserDriver(FileName: String; AutoDetectPtr: Pointer): Integer;
Ця функція розширює і без того достатньо обширний набір стандартних графічних драйверів і призначена в основному для розробників апаратних засобів.
Страницы: 1, 2, 3, 4, 5