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;;
/Выводим вертикали/