论文 嵌入式矢量字体智能引擎关键技术研究及工程化验证 阅读笔记

原文:http://kns.cnki.net/KCMS/detail/detail.aspx?dbcode=CMFD&dbname=CMFD2011&filename=1011288061.nh&uid=WEEvREdxOWJmbC9oM1NjYkZCbDdrdW1OMUxudGVncHVnZHRsMm5BSkNjNnA=$R1yZ0H6jyaa0en3RxVUd8df-oHi7XMMDo7mtKT6mSmEvTuk11l2gFA!!&v=MDc5ODFGMjZIN0d3RnRIS3JwRWJQSVI4ZVgxTHV4WVM3RGgxVDNxVHJXTTFGckNVUkxPZlkrWnFGaURoVTczTVY=

本文对嵌入式智能矢量字体引擎的若干关键技术进行了研究。本文解析了FreeType开源字体引擎算法,通过二分查找法实现快速的轮廓查找,提高了查找速度;解析raster渲染器算法和smooth渲染器算法原理,实现基于coverage的反走样算法,应用于字体渲染器;针对现在点阵字体驱动模型不足,提出了矢量字体驱动,构造矢量字体驱动模型,使矢量字体应用于嵌入式平台。通过以上对字体引擎一系列的模块优化,最终开发出一个适用于嵌入式系统的矢量字体引擎。针对嵌入式系统中字体颜色显示和传输的缺陷,提出一种变色处理技术,实现短信的变色传输,同时为实现字体24位彩色渲染,使用色彩渐变算法,并实现边缘渐变效果。色彩混合算法根据所选字体颜色、灰度及背景色处理字体颜色和背景的融合,使字体显示更加协调。
点阵字体是每个字形光栅图形的集合中。常见的汉字点阵字库有16x16,24x24等大小。点阵字库有很多种,主要区别在于其存储编码的方式不同。点阵字库的主要缺点就是随着字体缩放或变形显示效果变差,也就是说每种字库都有固定的大小尺寸,在原始尺寸下使用,效果很好,但如果将其放大或缩小使用,效果就很糟糕了,就会出现我们通常说的锯齿现象。因为需要的字体大小组合有无数种,如果为每种大小都定义一种点阵,就会急剧增大其存储空间。于是就出现了矢量字库。矢量字库是把每个字符的笔划分解成若干直线和曲线,然后记下这些直线和曲线的参数,在显示时,再根据具体的尺寸大小,画出这些线条,还原原来的字符。它的优点就是可以随意缩放而不失真,并且所需存储容量和字符大小无关。矢量字库有很多种,区别在于他们采用的不同数学模型来描述组成字符的线条。常见的矢量字库有Type1、TrueType和OpenType字库。

字体是一个包含一系列字形,字符或符号的电子数据文件。电脑字体文件格式分为以下三类:
点阵字体,由代表每个字形的每一种外观和大小的一系列点或像素组成。
轮廓字体(也称为矢量字体)使用贝塞尔曲线,绘画指令和数学公式来描述每一个字形,可使字符的轮廓伸缩成任何大小。
笔划字体使用一系列线段和附加信息来定义轮廓,或一种具体字体外观中的线段的大小和形状,一起来描述字体的外表。
点阵字体在计算机编码中使用快且简单,但是否不灵活,每种大小需要一个独立的字体。轮廓和笔划字体可以使用一种字体改变大小能替代每个字形成分的不同规格,但是使用起来比点阵字体或多或少要复杂一点因为它们需要额外的计算机代码来把轮廓渲染成点阵显示在屏幕或打印。
字体是由字体编辑器设计和创建的。专门为屏幕而不是打印设计的字体称为屏幕字体。字体可以是等距的或成比例的。然而,一种特定字体处理应用可能影响字距当对齐时。
矢量字体(也称为曲线轮廓字体)是把每个字符的轮廓分解成各种直线和曲线,然后记下这些直线和曲线的参数,在显示的时候,再根据具体的尺寸大小,画出这些线条,还原原来的字符。它的优点就是可以随意放大缩小而不失真,并且所需存储量和字符大小无关。矢量字体有很多种,区别在于他们采用的不同数学模型来描述组成字符的线条。常见的矢量字体有Typel字体、TrueType字体和OpenType字体。曲线轮廓字体是通过用直线和曲线段共同构造文字字形轮廓的方法来描述字形的一种技术。曲线轮廓字体一般采用直线或者二、三次Bezier曲线的集合来描述一个文字的轮廓线,轮廓线构成一个或若干封闭的平面区域。
Typel和Type3字体是由Abode公司为专业数字排字开发的。使用PostScript,字形为由贝塞尔曲线描述的轮廓字体。Typel字体局限于PostScript语言的子集,使用Abode的hinting系统。Type3允许不限制的PostScript语言的使用,但不包含hint信息,这会降低分辨率设备上可视光栅字体效果。
TrueType是最初由Apple公司开发的一个字体体系。它是打算用来代替Typel字体的,由于Typel字体太贵了。和Typel字体不同,TrueType字形是用二次贝塞尔曲线描述的。它现在非常流行且在主流操作系统都应用存在。
OpenType是由Abode和Microsoft共同开发的字体系统。OpenType包括TrueType或Typel(实际上CFF)格式中的轮廓。

TrueType是由美国Apple公司和Microsoft公司联合提出的一种新型数字化字形描述技术。TrueType包括一种数学函数描述字体轮廓外形的一套内容丰富的指令集合,这些指令中包括字型构造、颜色填充、数字描述函数、流程条件控制、栅格处理器(TrueType处理器)控制,附加提示信息控制等指令。
TrueType采用几何学中的二次B样条曲线和直线来描述字体的轮廓外形,二次B样条曲线具有一阶连续性和正切连续性。抛物线可由二次B样条曲线来精确表示,更为复杂的字体外形可用B样长曲线的数学特性以数条相接的二次B样条曲线及直线来表示。描述TrueType字体的文件(内含TrueType字体描述信息、指令集、各种标识表等),可通用于MAC和PC平台。在Mac平台上,它以“Smt”资源的形式存放,在Windows平台上以TTF文件出现。为保证TrueType的跨平台兼容性,字体文件的数据格式采用Motorola式数据结构(高位在前,低位在后)存放。所有Intel平台的TrueType解释器在执行之前,只要进行适当的预处理即可。Windows的TrueType字体解释器已包含其GDI(图形设备接口)中,所以任何Windows支持的输出设备,都能用TrueType字体输出。
TrueType字体文件由一系列表组成,其中有些是必要的(如‘glyf‘表包含字形轮廓数据),有些是可选的(如‘kern’表)。这样使TrueType易于扩展。
Microsoft就在为TrueType Open定义表格的确时候充分利用这个特性。

论文 嵌入式矢量字体智能引擎关键技术研究及工程化验证 阅读笔记
论文 嵌入式矢量字体智能引擎关键技术研究及工程化验证 阅读笔记
论文 嵌入式矢量字体智能引擎关键技术研究及工程化验证 阅读笔记
论文 嵌入式矢量字体智能引擎关键技术研究及工程化验证 阅读笔记
论文 嵌入式矢量字体智能引擎关键技术研究及工程化验证 阅读笔记
这个论文信息量对我来说还是比较大的