字体光栅化

向量字型的光柵化方法

字体光栅化是将文字从一个向量表示(比如一个TrueType字体)转化到光栅或者位图表示的过程。在这个过程中往往涉及一些抗锯齿技术来使得屏幕上的字体更加平滑易读。这也经常会涉及“字体微调”技术。

字体光栅化的类型

编辑
 
没有抗锯齿的光栅化图像
 
没有微调的抗锯齿光栅化图像
 
针对RGB平板显示器的带有微调和亚像素渲染的光栅化图像

在一个现代操作系统中,光栅化一般是通过一个共享库来提供的。这个库可以内建在操作系统或者桌面环境中,或者在以后被加入。原则上说,每个应用程式可以使用不同的库来进行字体光栅化,但是实际上操作系统一般更倾向于统一这个库。

在比较旧的系统和嵌入式系统中,字体是通过预先设置的特定大小的点阵图形来表示的。但是在大多数现代操作系统中,字体是通过数学的方式来表示的,从而允许任意大小的缩放。

光栅化的最简单的形式是简单线条绘制,而没有任何形式的抗锯齿。这是最快的方法(即它显示在屏幕上需要的计算最少)。这种方法的缺点是字形在小尺寸上会变得不清晰。因此,许多字体数据文件包含提示,帮助系统的光栅器决定在哪里对字形特别麻烦的地方渲染像素,或包含特定的像素大小手工调整过的位图。

一个更复杂的方法是使用电脑图形学中的抗锯齿技术。对于字符边缘处的每个像素,字符占据了该像素的比例可以确定,并将该像素绘制为对应的不透明度。例如,在白色背景上绘制一个黑色字母时,如果一个像素理想状态下应被填满一半(比如用对角线分割),它会被填充50%的灰色。这种方式的简单应用可以产生模糊的字形。例如,如果一个字符中有一条1像素宽的垂直线,但这条线正好落在两个像素之间,它在屏幕上会显示为一个2像素宽的灰线。这种方式以清晰度换取准确性。但是,如今的系统通常将线条的像素坐标强制为整数,这使字形看起来更锐利,但也使得打印出的线条比应有的宽度略宽或略窄。

 
子像素渲染的细节,呈现出组成白色字体的单个颜色的像素位置

目前使用的光栅化系统

编辑

Microsoft WindowsWindows XP 开始支持 ClearType 渲染。 PDF 通常使用 Adobe CoolType 渲染。

参考文献

编辑