const

ChangeF: Boolean '» False; {Флаг изменения шрифта} Head: TChar4 - ('P','К',#8,#8) ;

procedure OutChar(XO,YO: Integer; C: Byte; DX,DY: Real);

(Выводит символ С в позицию X,Y с масштабом DX,DY} var

PW:'-AW;

k: Integer;

x,y: Integer;

Procedure Vector(W: Word);

{Рисует очередной вектор символа} vax

хх,уу: Integer;

ор: Word;

begin

{Выделяем Код операции}

ор := W and $8080;

if op=0 then Exit;

W := H acor ор;

(Выделяем координаты}

уу := W shr 8;

хх := W and $FF;

if xx>63 then xx :•= xx-128;

if yy>63 then yy :•= yy-128;

{Поучаеы координаты второй точки}

хх :=• XO+Round(xx*DX) ;

уу YO-Round(yy*DY) ;

{Выполняем операцию}

if op-$8080 then Line(X,Y,XX,YY);

X := XX;

У :« YY end; {Vector} {——————}

begin {OutChar}

if LengD[C]"0 then

Exit; {Блокируем вывод не определенных символов}

YO :" YO-DXT div 4;

X :" ХО; {Точка отсчета координат}

У :° YO;

PW :•=• Chars [С]; (Описатель символа}

{Вычерчиваем символ}

for k :» 1 to LengD[C] div 2 do

Vector (PWik]) end; {OutCharXY} _•————————————;

Procedure ClearWinEd;

{Очищает рабочее поле} var

X,Y: Integer;

begin SetViewPort(XE-dXm,YE-dYm,XE2+dXm,YE2+dYm.True) ;

ClearViewPort;

SetViewPort(0,0,GetMaxX,GetMaxY,True;;

/Выводим вертикали/