呵呵,天天看着显示屏上的文字,试曾想过文字是怎么显示的?
我们都知道,操作系统为了能显示各种形状、大小的字体,自带了很多字体。因为有了这些字体,我们才得以看到文字。
为了弄清字体是如何显示出来的,首先应该弄明白字体是什么,字体是描述计算机文字的一种数据,里面记录了文字的形状,甚至大小等属性。
字体分两种:点阵字体和矢量字体。
点阵字体是用很多点来记录一个文字填充。比如用8*8个点描述一个子,填充的部分用0表示,不填充的部分用1表示,这样一个数字矩阵就描述了一个字。这些点阵字体是设计师们手工一个一个做出来的,太辛苦了!!!
矢量字体与点阵字体有很大不同,矢量字体用字体线条的形状来记录文字的形状,比如字母“A”,至少需要三条线来记录,字体的数据描述三条线的斜率,相对位置尺寸等等,具体怎么描述,我也不知道。矢量字体则是设计师与程序员共同努力来做出来的。
别小看了这些字体,那是人肉堆出来的,工作量是非常非常巨大的。
将所有的字体描述数据放到一起,形成对应每个文字编码,这样,就形成了中文
一旦计算机中有了这些字体,当计算机要显示相关文字的时候,会根据文字的编码,字符集,找到相应字符集编码的字体,将文字以图形的方式画在显示器上。
文字在显示器中显示在何位置取决于打开软件窗口的位置,窗口会依据在显示器上相对位置,以及文字相对窗口的位置等信息将文字正确画在合适的位置上。
如果你还要问问如何画出来的,那你可以翻看大学的计算机图形学课本了:)。
到此,基本上从底层了解了字体和显示的原理,但是还是没回答清楚一个记事本中的文字是如何出来的,为此,还需要知道文字与编码、以及字符集的概念与原理。请看下回分解。
本文转自 leizhimin 51CTO博客,原文链接:http://blog.51cto.com/lavasoft/235985,如需转载请自行联系原作者