论文部分内容阅读
计算机字形信息处理技术是研究在计算机中描述、储存和以不同形式输出(即生成还原)字形符号形状的一个专门的研究领域。从上世纪七十年代开始,计算机突破过去的单纯以科学计算和数据处理的“计算”应用,进展到包括事务处理、文字处理等多方面的应用,各种文字在计算机中的存储问题即被提了出来。因此数字化的字形表示在计算机应用发展中发挥了重要作用。伴随光栅设备的出现和发展,作为计算机字形信息处理技术重要内容之一的计算机字形输出还原技术一直受到人们的重视。由于TrueType字体的广泛应用,将由TrueType字体所描述的字符转化为相应Bitmap位图的TrueType字体引擎就成为了字体引擎家族中重要的成员,同时也是打印机驱动程序中的重要部分。所以对TrueType字体引擎的研究和实现有着比较重要的现实意义。同时由于本文所介绍的TrueType字体引擎是独立于微软字体引擎的,所以就使它有着更为灵活和广泛的应用空间。为达到以上目的,在详细研究了TrueType字体技术,TrueType字体文件的基本构成和一些背景知识的基础上,分析和研究了TrueType字体引擎的基本结构;并以此入手,提出了一种独立于微软字体引擎的,可用于打印机驱动程序的TrueType字体引擎设计模型;并最终实现了以上设计。作为项目组成员,作者参与了整个项目的前期设计和全部资料分析;然后具体负责设计和实现了光栅化模块。在光栅化模块的设计实现中,作者在研究了轮廓内外点判断方法的基础上,将传统的多边形扫描线填充算法进行了合理地改进,最后提出了一种适用于TrueType字体字符轮廓的可填充交叉轮廓的扫描线填充算法。它的特点是根据TrueType字体轮廓的特殊描述方式——用控制点来描述字体轮廓——提出了纵横双向扫描的扫描方式。纵横双向扫描不仅避免了对水平线段和垂直线段的特殊处理;而且还可以提高字体轮廓的填充精度。该填充算法还有一个特点就是通过两次“虚拟描画”分别记录轮廓顶点亦即轮廓与扫描线的交点坐标,更为重要的是它还同时记录了字体轮廓与扫描线相交的方向信息,这使它在填充轮廓时能很有效的通过线圈数法实现轮廓内外点判断,从而具有填充交叉轮廓的功能。