Энциклопедия Turbo Pascal. Главы 9-11 - Машинно-независимый набор символов
ОГЛАВЛЕНИЕ
Машинно-независимый набор символов
Каждый машинно-независимый символ конструируется, используя матрицу 4х6 пикселов. Например, буква "Е" конструируется, как это показано на рис.10-3. Так как машинно-независимый набор символов создается с помощью графического инструментария, то можно изменять размер букв, используя масштабирующий коэффициент.
----------------------------------------
---T--T--T--¬
+--+--+--+--+
+--+--+--+--+
+--+--+--+--+
+--+--+--+--+
+--+--+--+--+
L--+--+--+--
---------------------------------------.
Рис.10-3. Построение буквы "Е" в матрице 4х6 пикселов
DrawText и DrawTextW
Процедуры DrawText и DrawTextW объявляются следующим образом:
procedure DrawText(X, Y, Scale: integer, Msg: WrkString);
procedure DrawTextW(X, Y, Scale: integer, Msg: WrkString);
Данные процедуры выводят сообщение Msg, начиная с координат X, Y в масштабе, заданном параметром Scale. WrkString декларируется инструментарием, как строка максимальной длины. Однако, вы можете использовать любой тип, который пожелаете.
Простая программа, показанная далее, отображает примеры первых шести размеров шрифта.
program text_graphics;
{Si typedef.sys}
{Si graphix.sys}
{Si kernel.sys}
var
i:integer;
begin
InitGraphic;
DefineWorld(1, 0, 0, 1000, 1000);
SelectWorld(1);
SelectWindom(1);
DrawBorder;
for i: = 1 to 6 do
begin
DrawTextW(10, i*140, i, 'Это тест')
end;
repeat until KeyPressed;
LeaveGraphic;
end.
Главным преимуществом применения машинно-независимых символов является то, что их размер может быть изменен для удовлетворения специфическим нуждам вашей программы.