如何在AutoCAD R14下改变中西文的比例
在AutoCAD中,扩展名为.shx、.shp的字体是一种用矢量描述的形文件。在描述矢量的命令集中有两个命令专用码可用来改变矢量的高度,它们是:
003——用下一个字节除矢量长度。
004——用下一个字节乘矢量长度。
下面以最常用的单线字体txt.shp(可在AutoCAD R12的souse子目录下找到)中的西文“A”为例来说明如何改变西文的高度。
在西文字体文件(注意:不是大字体文件)中,每个字符的定义行必须是下列格式:
*shapenumber,defbytes,shapename
其中:shapenumber ——字符的编号。
defbytes ——定义字符所用的字节数。
Shapename ——字符的名字。
在txt.shp中,大写字母“A”的定义如下:
*65,21,uca
2,14,8,(-2,-6),1,024,043,04D,02C,2,047,1,040,2,02E,14,8,(-4,-3),0
假定西文缩小到原来的4/5时,中西文的比例就比较协调了。由于在字形文件中不允许出现小数或分数,因此,4/5就得分解为乘4除以5。这样只须在字母“A”的矢量定义的前面加上004,4,003,5就可实现缩小1/4了。但是,必须注意到,AutoCAD并不会在写完字符“A”以后,自动把比例因子0.8(4/5)改回到1,那么“A”以后的所有字符(包括汉字)都将是原来的4/5了,这当然不是我们的本意,为此,应在缩小1/4后,再扩大到原来的1.25倍(除以4/5),即在矢量定义的末尾添上004,5,003,4(乘5除以4)。同时,因为增加了8个字节,字节数21应变为29。这样,一个完整的完成字母“A”缩小1/4的矢量描述为:
*65,29,uca
004,4,003,5,2,14,8,(-2,-6),1,024,043,04D,02C,2,047,1,040,2,02E,14,8,(-4,-3),004,5,003,4,0
将常用的26个字母的大小写及10个阿拉伯数字按上述办法改写一道,即可满足工程绘图需要了。如果将上述方法编成一个小程序,就可随心所欲地改变中西文的比例。最后,将txt.shp编译成txt.shx就可以直接使用txt.shx字体了。