字体: 字体平滑,反锯齿,和次像素渲染(收集)

点阵字库是把每一个汉字都分成16×16或24×24个点,然后用每个点的虚实来表示汉字的轮廓,常用来作为显示字库使用,这类点阵字库汉字最大的缺点是不能放大,一旦放大后就会发现文字边缘的锯齿。
点阵字体也叫位图字体,其中每个字形都以一组二维像素信息表示。这种文字显示方式于较早前的电脑系统(例如未有图形接口时 的 DOS 操作系统)被普遍采用。由于位图的缘故,点阵字体很难进行缩放,特定的点阵字体只能清晰地显示在相应的字号下,否则文字只被强行放大而失真字形,产生成马 赛克式的锯齿边缘。但对于字号 8-14px 的尺寸较小的汉字字体(即现今操作系统大多采用的默认字号)现今亦仍然被使用于荧幕显示上,能够提供更高的显示效果;不过现今该种点阵字体主要只作为“辅 助”的部分,当使用者设定的字体尺寸并没有拥有位图像时,字体便会以向量图象方式显示;而当打印时,印有字体无论大小亦会使用向量字型打印。常见的纯点阵 字体有 bdf,pcf,fnt,hbf 等格式。

矢量字库保存的是对每一个汉字的描述信息,比如一个笔划的起始、终止坐标,半径、弧度等等。在显示、打印这一类字库时,要经过一系列的数学运算才能输出结果,但是这一类字库保存的汉字理论上可以被无限地放大,笔划轮廓仍然能保持圆滑,打印时使用的字库均为此类字库。Windows使用的字库也为以上两类,在FONTS目录下,如果字体扩展名为FON,表示该文件为点阵字库,扩展名为TTF则表示矢量字库!
矢量字体是与点阵字体相对应的一种字体。矢量字体的每个字形都是通过数学方程来描述的,一个字形上分割出若干个关键点,相邻关键点之间由一条光滑曲线连接,这条曲线可以由有限个参数来唯一确定。矢量字的好处是字体可以无级缩放而不会产生变形。目前主流的矢量字体格式有3种:Type1,TrueType 和OpenType,这三种格式都是平台无关的。   Type1全称PostScript? Type1,是1985年由Adobe公司提出的一套矢量字体标准,由于这个标准是基于PostScript Description Language(PDL),而PDL又是高端打印机首选的打印描述语言,所以Type1迅速流行起来。但是Type1是非开放字体,Adobe对使用 Type1的公司征收高额的使用费。   TrueType是1991年由Apple公司与Microsoft公司联合提出另一套矢量字标准。  Typ1使用三次贝塞尔曲线来描述字形,TrueType则使用二次贝塞尔曲线来描述字形。所以Type1的字体比TrueType字体更加精确美观。一个误解是,Type1字体比TrueType字体占用空间多。这是因为同样描述一个圆形,二次贝塞尔曲线只需要8个关键点和7段二次曲线;而三次贝塞尔曲线则需要12个关键点和11段三次曲线。然而实际情况是一般来说 Type1比TrueType要小10%左右。这是因为对于稍微复杂的字形,为了保持平滑,TrueType必须使用更多的关键点。由于现代大部分打印机都是使用PDL作为打印描述语言,所以True1字体打印的时候不会产生形变,速度快;而TrueType则需要翻译成PDL,由于曲线方程的变化,还会产生一定的形变,不如Type1美观。  这么说来,Type1应该比TrueType更具有优势,为什么如今的计算机上TrueType反而比Type1使用更广泛呢?这是因为第一:Type1由于字体方程的复杂,所以在屏幕上渲染的时候,花费的时间多,解决方案是大部分Type1字体嵌入了点阵字体,这样渲染快,但是边缘不光滑,比较难看。很多ps文档和ps转换的pdf文档都是这样,在计算机上浏览的时候字体很难看,但是打印出来很美观。TrueType则渲染比较快,可以平滑的显示在屏幕上,看上去很美观。  第二个原因是Type1的高额使用费,使得Type1没有被所有的操作系统所支持。Windows家族只有OS/2和windows 2000及之后的版本从操作系统级别开始支持Type1。由于这个问题,Adobe只好在其所有的产品中嵌入Adobe Type Manager(ATM)作为渲染引擎。  OpenType则是Type1与TrueType之争的最终产物。1995年,Adobe公司和Microsoft公司开始联手开发一种兼容 Type1和TrueType,并且真正支持Unicode的字体,后来在发布的时候,正式命名为OpenType。OpenType可以嵌入Type1 和TrueType,这样就兼有了二者的特点,无论是在屏幕上察看还是打印,质量都非常优秀。可以说OpenType是一个三赢的结局,无论是 Adobe,Microsoft还是最终用户,都从OpenType中得到了好处。Windows家族从Windows 2000开始,正式支持OpenType。打开系统的字体目录(一般是C:\Windows\Fonts\或C:\Winnt\Fonts),可以看到:一个红色A的图标的是点阵字体,两个重叠的T的图标是TrueType字体,一个O的图标就是OpenType字体。

 

字体平滑,反锯齿,和次像素渲染(译文)
新闻来源:阮一峰的网络日志
苹果公司和微软公司,对于如何在电脑屏幕上显示字体,总是有不同看法。目前,这两家公司都使用次像素渲染(subpixel rendering)技术,使得字体在低分辨率的屏幕上,也能显得很清晰。这两家公司的根本不同之处在于指导思想。

* 苹果公司通常认为,字体算法的首要目的,是尽可能多得保持原始设计的样子,即使有损屏幕显示的清晰性,也在所不惜。
* 微软公司通常认为,字体的形状一定要适应像素的限制,要保证屏幕显示不模糊、容易辨识,即使字体的形状因此背离原始设计,也在所不惜。

现在,Safari[1]的Windows版本已经发布了。这个软件克服了许多困难,才将苹果公司的字体渲染算法,用到了Windows操作系统 上。这实际上给了你一个机会,在同一台显示器上直接比较两种不同的字体哲学。这有助于你理解我下面要举的例子。我想通过比较,你会注意到两者的不同。苹果 系统的字体给人有一点毛茸茸的感觉,边界不是很清晰。但是,从电脑屏幕上看,在不同的字体族(font family)之间,它会显示出更多的变化。原因是苹果公司的渲染算法,比微软公司更忠实于字体的原始设计,能够像印刷品那样,在高清晰度状态下,呈现出 字体设计中的细微差别。



这种差别的源头,来自于苹果公司的历史传统,苹果公司一贯非常重视桌面出版和平面设计。它的算法有一个好处,就是当你在电脑中打开针对印刷品的设计 稿,你在屏幕上看到的,与最终印刷出来的样子很接近。当你判断一个文本区域的颜色深浅时,这个特性尤其有用。微软公司的处理方法是让字体尽量适应像素的分 布,这意味着微软其实不在乎,让字母毛茸茸的边缘被一根根细线替代,即使因此文本在屏幕上显示的颜色比印刷时浅,也无所谓。

微软的处理方法也有一个好处,就是有利于对着屏幕阅读。微软公司信奉实用主义的观点,认定字体的原始设计并不是神圣不可侵犯的,锐利的、便于阅读的 屏幕显示更为重要,不一定非拘泥于字体设计师对文本颜色深浅的原始安排不可。这就是说,微软公司设计出的字体主要是为了屏幕显示,比如Georgia字体 和Verdana字体,它们完全按照像素的位置设计,在屏幕上确实很漂亮,但是印刷出来后却乏善可陈。

苹果公司正好相反,它选择风格化的路线,将艺术性置于实用性之上。原因很简单,就是苹果公司的创始人Steve Jobs很有品味,而微软公司宁愿选择一条风险较小的路线,这条路线采纳实用主义观点,只要能够达到使用目的就行,完全没有让人眼前一亮的亮点。这么说 吧,如果苹果公司是Target连锁超市,那么微软公司就是沃尔玛[2]。

好了,现在到了讨论关键问题的时候:用户喜欢哪一种处理方法?Jeff Atwood写 过一篇文章,对这两种字体技术进行了逐一比较。不难想像,他的文章引起了热烈的反响。苹果公司的用户喜欢苹果的方法,微软公司的用户喜欢微软的方法。这并 不完全都是粉丝情结(fanboyism)。它反映了一个事实,如果你问人们喜欢怎样的风格和设计,除非这些人受过专门训练,否则他们一般会选择自己最熟 悉的品种。在最常见的品味这个问题上,如果你做一个偏好调查,你会发现大多数人根本不知道应该怎么选择,他们只好选一个自己最熟悉的答案。这种现象到处都 是,不管是字体应用或平面设计,还是选购银器(人们挑选小时候用过的样式)。除非受过专门训练,明确知道自己想要什么,否则人们挑中的就是自己最熟悉的。

这就是为什么当苹果公司的工程师,将苹果电脑上的软件移植到Windows系统上时,他们可能会觉得自己正在为Windows用户做出巨大贡献,将 自家“优越的”字体渲染技术提供给异教徒使用。这也解释了为什么Windows用户通常认为,Safari上的字体有点模糊,看上去怪怪的。这些用户不知 道原因,他们只是不喜欢这样。实际上,他们心里想的是,“哇噢!这和我使用的系统不一样。我不喜欢有差异。为什么我对这些字体没有好感?嗯,当我靠近仔细 一看,这些字体有点模糊。这肯定就是我不喜欢它们的原因了。”

注释:

[1] Safari是苹果公司Mac OS X操作系统的内置浏览器。

[2] 按照销售额计算,沃尔玛是美国最大的零售商,以购物方便、齐全而著称。Target连锁超市则是美国第五大零售商,经常会搞一些别出心裁的推广活动。比 如,2006年感恩节前,Target请来著名魔术师大卫·布莱恩,把他吊在时代广场上空的一个圆球里旋转两天,让他表演如何自己解脱,吸引了成千上万的 游人,而且被电视、报纸、互联网等各类媒体广为报道。


posted @ 2010-01-19 09:42  一沙  阅读(...)  评论(... 编辑 收藏