一个关于怎么调用矢量字库的问题,请各位高手帮忙! ( 积分: 100 )

  • 主题发起人 主题发起人 jiabs
  • 开始时间 开始时间
J

jiabs

Unregistered / Unconfirmed
GUEST, unregistred user!
我想使用caxa的矢量字库,开发一套雕刻软件一样的东西,不知道那位高手能给点思路提示或例子!或者用一种图像编辑方式,编辑的内容可以生成dxf文件也可以!
 
我想使用caxa的矢量字库,开发一套雕刻软件一样的东西,不知道那位高手能给点思路提示或例子!或者用一种图像编辑方式,编辑的内容可以生成dxf文件也可以!
 
我也想知道
 
去找dos下的那些c语言的程序参考(很容易弄明白读取矢量字库的原理)或找提取笔画的delphi代码也可以(不过用的就不是矢量字库了)。
 
思路:
1.弄清失量字库的文件结构,主要是字的区位编码,对应的字体笔划数据在文件中的偏移位置
2.弄清矢量字体数据编码,下列代码可供参考

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(n) and $0f;
q:=Integer(n) 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;
 
唉!遗憾啊
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部