阅读:1411回复:3
科普第16篇——字体(下)
终于要来讲一讲计算机里的字体了。
点阵字体(Bitmap Fonts) 最早的计算机字体都是点阵字体,字体里每个字的图像其实是像位图一样由一个一个的像素组成的。这样有一个很明显的问题——经过放大之后的字体效果非常糟糕(想象一下一把图片放大100倍的效果)。早期都是字符型的用户界面(CLI),显示的字体大小都是统一的还没什么。但是到了图形用户界面(GUI),缺点和不足就暴露出来了。 常见的点整字体格式有bdf、pcf、fnt、hbf等。如下图所示的Windows自带的System字体就是一种点阵字体。 [IMG]http://p.dmdjz.com/uploads/2011/06/font-1.jpg[/IMG] 轮廓字体(Outline Fonts) 点阵字体既然不能随意的设置字号,那么自然就有新的字体被开发出来了——这就是轮廓字体。轮廓字体中记录的是矢量信息。“矢量”这一名词在计算机图形里是指,记录的是点的位置和路径的信息,而最终显示出来的效果是由程序根据这些信息渲染出来的(也就是说最终展现在屏幕上的还是位图图像,只不过不是实现保存好的图像,而是即时渲染的)。轮廓字体中记录的就是矢量信息,所以最终的显示效果要由程序来渲染出来。因此轮廓字体的缺点也是很明显的——不同程序渲染出的效果可能会有很大的差异。这也是为什么6.02版之前的微软雅黑字体放到XP下很难看、在Linux下很漂亮的文泉驿正黑在WIndows中很糟糕的原因。 常见的轮廓字体有Adobe开发的PostScript、微软和苹果开发的TrueType,以及微软和Adobe开发的OpenType。 PostScript 本质上并不是一种字体格式,而是Adobe开发的一种数字排版语言。但是可以用来描述字体信息,所以早期Adobe就是靠这个的授权来赚钱的。不过后来TrueType的兴起,这种格式逐渐没落了。现在大家已经很少见到这种字体了。扩展名是ps。 TrueType 这是目前最常见的字体,是苹果和微软不满Adobe高昂的授权费而联手(不过主要还是苹果在做相关工作)开发的。现在Windows中标配的字体就是TrueType格式的,不少Linux发行版也使用这种格式的字体。扩展名为ttf、ttc等。 OpenType 准确地说这并不是一种字体描述,而仅仅是一种封装,封装的可以是PostScript格式,也可以是TrueType格式,甚至是两者的合体。所以上面说的TrueType格式字体,大家见得更多的还是这种封装的。当然并不是说OpenType一点新东西都没有,实际上OpenType的很多新特性还是十分有意义的,比如使用了Unicode来编码字符,所以大家使用字体时不用担心换一种字体就会乱码。还有像阿拉伯文字体,可以出现连笔的效果(就是同一个字符在和其他不同的字符组合时会产生不同的字形)。扩展名为otf。 下面是微软雅黑字体,可以看到第三行信息里写着“OpenType Layout”、“TrueType Outlines”。 [IMG]http://p.dmdjz.com/uploads/2011/06/font-2.jpg[/IMG] 事实上任何一种矢量图形都可以用来描述字体——事实上也正有人这么做,比如Firefox就支持SVG描述的字体,PDF格式的字体见过没? 做网页的都知道,字体是很让人头痛的东西,设计时使用了某个字体,如果别人的电脑里没有,那么就达不到所要的效果。为此不得不放弃使用特别的字体,或者把文字弄成图片。 不过随着HTML5的到来,字体的问题将会得到解决。WOFF现在已经得到了大多数现代浏览器(Firefox、Chrome、IE9、Opera等)。WOFF本质上还是OpenType字体,不过一些新的特性使得它更适合在网页上使用。 字体族(Font Family) 说到字体就不得不讲讲粗体和斜体。粗体和斜体想必不用解释了,但是这些样式是从哪里来的呢?实际上,有的字体提供了粗体和斜体的单独字体(比如“微软雅黑 粗体”)。有的没有提供的,就要靠计算机根据一套规则来生成了。但是计算机生成的效果可能不是十分理想,所以还是有不少字体提供额外的字体。这些字体共同属于一个“字体族”,我们引用字体时只要说明字体族就行了,计算机会根据我们设置的样式自动调用同一个字体族下的不同字体。我们在Word等软件里选字体的时候选择的也是“字体族”。 下面的是Calibri这个字体族下的不同字体: [IMG]http://p.dmdjz.com/uploads/2011/06/font-3.jpg[/IMG] ==========之前的文章========== 科普第1篇——计算机色彩 科普第1篇补遗——CSS颜色 科普第2篇——光盘 科普第3篇——2、8、10、16 科普第4篇——电池 科普第5篇——浏览器 科普第6篇——字符编码 科普第7篇——加密解密 科普第8篇——移动通信技术 科普第9篇——为什么32位CPU不能支持大于4GB内存? 科普第10篇——智能手机简介 科普第11篇——14.52-14.49=0.0299999? 科普第12篇——为什么HTTPS会更安全? 科普第13篇——计算机语言 科普第14篇——字体(上) 科普第15篇——字体(中) 科普番外篇1——虽然没用但了解一下也很有趣的知识 |
|
沙发#
发布于:2011-06-25 18:12
原来如此,我高中的时候学到2个字节才能储存一个中文字,但是却不知道储存的什么样的数据,
这么一解释就明白多了 |
|
2楼#
发布于:2011-06-26 08:35
原来如此,我说怎么安装字体时有的是TrueType,而有的是OpenType。
|
|
3楼#
发布于:2011-06-26 21:31
= =我就是在电脑里放了一种很好看的字体。结果只能自己看到,知道后郁闷了n久= =
|
|
|