save_x:=xx;
save_y:=yy;
i:=3;
Draw:=0;
While i<=HZFont[Font].SizeQW[Qu,we] DO
begin
n:=Buffer;
Inc(i);
Case n of
01:begin Draw:=1;end;
02:begin Draw:=0;end;
03:begin
Inc(i,2);
end;
04:begin
Inc(i,2);
end;
05:begin
save_x:=xx;
save_y:=yy;
end;
06:begin
xx:=save_x;
yy:=save_y;
end;
07:begin
end;
08:begin
n1:=ShortInt(Buffer);
n2:=ShortInt(Buffer[i+1]);
new_x:=xx+n1;
new_y:=yy-n2;
Inc(i,2);
if draw<>0 then LineToUni(new_x,new_y)
else MoveToUni(new_x,new_y);
xx:=new_X;
yy:=new_y;
end;
09:begin
n1:=1;
n2:=1;
while (n1<>0) or (n2<>0) do
begin
n1:=ShortInt(Buffer);
n2:=ShortInt(Buffer[i+1]);
new_x:=xx+n1;
new_y:=yy-n2;
Inc(i,2);
if draw<>0 then LineToUni(new_x,new_y)
else MoveToUni(new_x,new_y);
xx:=new_X;
yy:=new_y;
end;
end;
10..
14:begin end;
else
begin
p:=Integer and $0f;
q:=Integer and $0f shr 4;
case p of
00:begin
new_x:=xx+q;
new_y:=yy;
end;
01:begin
new_x:=xx+q;
new_y:=yy-q div 2;
end;
02:begin
new_x:=xx+q;
new_y:=yy-q;
end;
03:begin
new_x:=xx+q div 2;
new_y:=yy-q;
end;
04:begin
new_x:=xx;
new_y:=yy-q;
end;
05:begin
new_x:=xx-q div 2;
new_y:=yy-q;
end;
06:begin
new_x:=xx-q;
new_y:=yy-q;
end;
07:begin
new_x:=xx-q;
new_y:=yy-q div 2;
end;
08:begin
new_x:=xx-q;
new_y:=yy;
end;
09:begin
new_x:=xx-q;
new_y:=yy+q div 2;
end;
10:begin
new_x:=xx-q div 2;
new_y:=yy+q;
end;
11:begin
new_x:=xx-q div 2;
new_y:=yy+q;
end;
12:begin
new_x:=xx;
new_y:=yy+q;
end;
13:begin
new_x:=xx+q div 2;
new_y:=yy+q;
end;
14:begin
new_x:=xx+q;
new_y:=yy+q;
end;
else
begin
new_x:=xx+q;
new_y:=yy+q div 2;
end;
end;
if draw<>0 then LineToUni(new_x,new_y)
else MoveToUni(new_x,new_y);
xx:=new_x;
yy:=new_y;
end;
end;
end;