var
x, y,xl,yl,xx,yy: Integer;
begin (OutChar) k := 1;
x := xO;
у :- yO;
repeat
op := Vec[k] and $8080;
xx := Vec[k] and $7F;
yy := (Vec[k] shr 8) and $7F» if yy>63 then УУ ••= УУ-128;
{Учитываем масштабные коэффициенты} xx := Round(xx*MX) ;
yy := Round(yy*MY) ;
{Поворачиваем на угол Angle} Coo (xx,yy,xl,yl) ;
xl := xO+xl;
yl := yO-yl;
{Вычерчиваем вектор} if op=$8080 then Line(x,y,xl,yl; ;
{Переходим в новую точку, if opoO then begin
x := xl;
у :° yl end;
{Проверяем конец команд} if op°0 then
begin {Готовим вывод следующего} х0 := x;
yO :- у end else
inc(k) until Op=0 end; (OutChar) {——————}
var
F: File;
k,j: Word;
c: Byte;
Buf: array [1..1OOO] of Word;
P: PFontDesc;
PB: Pointer;
begin {OutString}
(Ищем регистрацию шрифта} if (FontNumb°0) or
(Font>FontNumb) or (S='') then Exit; (Нет ни одного шрифта, пустая
строка или неверный номер шрифта} Р := FontList;
(Переводим угол в радианы} Ang := Angle*pi/180;
for k := 1 to Font-1 do P := P^NextFont;
with P" do begin