矢量字库简介
作者:ketmales
博客地址:http://www.cnblogs.com/ketmales/
本文地址:http://www.cnblogs.com/ketmales/archive/2013/06/15/3138190.html
1参考文献
(1)http://zhidao.baidu.com/question/187128323.html(百度知道,什么是矢量字库,piaoshi111)
(2)http://zhidao.baidu.com/question/303964555.html(百度知道,点阵字体和矢量字体的区别是什么,1178364745)
(3)http://wenku.baidu.com/view/3d64da0bba1aa8114431d9bc.html(百度文库,B-样条线)
(4)http://wenku.baidu.com/view/e5357bdd6f1aff00bed51e28.html(百度文库,bezier曲线)
2什么是矢量字库
矢量字库是一种记录每个字符的矢量信息的字符库。它的基本原理是根据一定的数学模型,把每个字符的笔画分解成数学模型中定义好的各种直线和曲线,然后记下这些直线和曲线的参数。在显示的时候根据具体的尺寸大小,再根据记录下来的参数画出这些线条,就还原了原来的字符。
3常见矢量字库
常见的矢量字库有Type1字库和Truetype字库。
4矢量字库的优缺点
在使用点阵字库时,对于每个点阵字符,都需要对其位图的每个像素进行变换。而在使用矢量字库时,对于每个矢量字符,需要对其每个几何元素进行变换。
相对而言,点阵字库显示速度快,但在缩放的情况下容易出现锯齿;矢量字库显示效果平滑,但相对而言需要经过一系列的数学运算才能输出结果。
5 Windows下的字库
Windows使用的字库也为点阵字库和矢量字库两类。在FONTS目录下,如果字体扩展名为FON,表示该文件为点阵字库;如果字体扩展名为TTF,表示该文件为矢量字库。
6轮廓字型法
轮廓字型法是当今国际上最流行的一种字符表示方法,其压缩比大,且能保证字符质量。轮廓字型法采用直线、B样条线/Bezier曲线的集合来描述一个字符的轮廓线。轮廓线构成一个或若干个封闭的平面区域,轮廓线定义加上一些指示横宽、竖宽、基点、基线等等控制信息就构成了字符的压缩数据。
7三次Hermite曲线
曲线的参数方程为:
其中Ai为三维列向量。
考虑曲线上四个点P0、P1、P’0、P’1,每个点都为一个三维列向量。
解得:
8 Bezier曲线
考虑曲线上N+1个控制点P0、P1、…、Pn,其中Pi为三维列向量。
曲线的参数方程: