在图像处理领域,有时候我们需要在图片上进行打印字体的任务。例如,打印一个logo到图片上。在这种情况下,我们需要调用字体库,并将其“雕刻”到图片上,而常用的TrueType,OpenType等字体库存在接口不统一,彼此不兼容等缺点,如果能有一个统一的接口可以兼容种种常见的字体库,那岂不解决问题了?FreeType字体引擎的功能正是如此。
FreeType库是一个完全免费(开源)的、高质量的且可移植的字体引擎,它提供统一的接口来访问多种字体格式文件,包括TrueType, OpenType, Type1, CID, CFF, Windows FON/FNT, X11 PCF等。支持单色位图、反走样位图的渲染。FreeType库是高度模块化的程序库,虽然它是使用ANSI C开发,但是采用面向对象的思想,因此,FreeType的用户可以灵活地对它进行裁剪。
目前,FreeType有FreeType1和FreeType2两种字体引擎。其中,FreeType1仅支持TrueType字体的渲染操作。而FreeType2则支持很多常见字体的渲染,所以,下面的论述都是针对FreeType2而言。
FreeType 2的发行遵循两个开源许可:BSD样式的FreeType License和GPL(通用公共许可证)。它可以被用在任何程序中,无论是专有与否。
FreeType 2主要具有以下一些特性:
(1)为访问字体文件提供了一套统一的、独立于字体文件类型的、简单而易用的API。另外,一些特别类型的API可以用来访问字体文件里的特殊数据。
(2) 与大多数同类的字库不同,FreeType 2 生来就支持类似TrueType 或者 Type 1的可缩