Процедура SetUserCharSize

Изменяет размер выводимых символов в соответствии с заданными пропорциями. Заголовок:

Procedure SetUserCharSize(XI,X2,Yl,Y2: Word);

Здесь X1...Y2 – выражения типа Word, определяющие пропорции по горизонтали и вертикали.

Процедура применяется только по отношению к векторным шрифтам. Пропорции задают масштабный коэффициент, показывающий, во сколько раз увеличатся ширина и высота выводимых символов по отношению к стандартно заданным значениям. Коэффициент по горизонтали находится как отношение X1 к Х2, по вертикали – как отношение Y1 к Y2. Чтобы, например, удвоить ширину символов, необходимо задать X1=2 и Х2=1. Стандартный размер символов устанавливается процедурой SetTextStyle, которая отменяет предшествующее ей обращение к SetUserCharSize.

В следующем примере демонстрируется изменение пропорций уменьшенного шрифта.

Uses Graph, CRT;

var

d, r, e : Integer;

begin

{Инициируем графику}

d := Detect; .InitGraph (d, r, '');

e := GraphResult;

if e <> grOk then

WriteLn(GraphErrorMsg(e))

else

begin

MoveTo (0, GetMaxY div 2); SetTextStyle (SmallFont, HorizDir, 5);

SetTextJustify (LeftText, BottomText);

{Выводим сообщение стандартной высотой 5}

OutText ('Normal Width,');

{Удваиваем ширину шрифта}

SetUserCharSize (2, 1, 1, 1);

OutText (' Double Width, ');

{Удваиваем высоту, возвращаем стандартную ширину}

SetUserCharSize (I, 1, 2, 1) ;

OutText ('Double Height,');

SetUserCharSize (2, 1, 2, 1) ;

OutText (' Double Width and Height');

if ReadKey=#0 then d := ord(ReadKey);

CloseGraph

end

end.