矢量字体的分类矢量字体主要包括 Type1 、TrueType 、OpenType 等几类。Type1 全称 PostScript Type1 ,使用三次贝塞尔曲线来描述字形, TrueType 则使用二次贝塞尔曲线来描述字形而OpenType 是二者的结合。 3.2 矢量字库结构矢量字体不是用点阵信息描述汉字的笔划,而是将汉字的笔划边缘用直线段描述成封闭的曲线,并将线段各端点的坐标经压缩存储,它是以图形信息建库的。由于每个汉字的笔划不一样,所以每个汉字在库中所占长度是不相同的。这样,矢量字库不能象点阵那样定位,只能采用索引的方法。因而每种矢量字库都是由两部分组成,一部分是汉字的索引信息,它包括每个汉字的矢量数据在库中的位置地址以及汉字字形数据的长度,存放在字库的前面部分,按汉字的区位码顺序存放;另一部分是汉字的字形数据,包括控制信息和各点坐标信息,是字库的主体,放在字库的后面。如 UCDOS 的矢量字库 HZKSLSTJ( 宋体简体)、HZKSLFSJ( 仿宋简体)、 HZKSLKTJ( 楷体简体)、HZKSLHTJ( 黑体简体),其索引信息长度 6个字节,前面四个字节是汉字矢量数据在库中的起始位置,后两个字节为汉字字形数据的长度。要进行矢量汉字显示,首先根据其机内码按下面公式: 汉字的索引信息首址=((汉字机内码高位字节-0Xa1)*94+ 汉字机内码低位字节-0Xa1)*6 计算出其索引信息首址,然后从指定的矢量字库按索引地址连续读出 6个字节的索引信息,再根据索引信息中字形数据在库中的位置及字形数据的长度,从库中读出字形数据在库中的位置及字形数据的长度,从库中读出相应的字形数据,最后解码还原得到其轮廓多变形的各点坐标,画出多边形并填充,即可得到矢量汉字[6]。 3.3 UCDOS 矢量字库结构 UCDOS 矢量字库有索引区和矢量数据区两部分组成,如下图所示[2]。