文字是怎么显示的:字体的秘密

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


本文转自 leizhimin 51CTO博客,原文链接:http://blog.51cto.com/lavasoft/235985,如需转载请自行联系原作者
相关文章
|
4月前
微信小游戏制作工具中文字设置的粗体不显示,怎么解决?
微信小游戏制作工具中文字设置的粗体不显示,怎么解决?
37 1
|
5月前
|
前端开发 JavaScript
标题字闪光效果
标题字闪光效果
21 0
|
4月前
|
Linux
文字的显示
文字的显示
90 0
|
11月前
游戏中的字体在手机端不显示粗体,怎么办?
如果你在使用“微信小游戏制作工具”做游戏的话,那么这个问题是你必将遇到的,我明明在游戏中设置了文字为粗体,但是最终在手机上显示的时候,却是正常体,这时候该怎么办?
121 0
QGS
|
监控
解决Zabbix5.0.8图形无法显示(中英文)图片文字标签
记解决Zabbix5.0.8图形无法显示(中英文)图片文字标签
QGS
329 0
解决Zabbix5.0.8图形无法显示(中英文)图片文字标签
|
iOS开发
iOS开发 - 同一段文字显示不同颜色和字体
iOS开发 - 同一段文字显示不同颜色和字体
87 0
|
iOS开发
iOS开发-同一段文字显示不同颜色
iOS开发-同一段文字显示不同颜色
76 0
|
程序员 API iOS开发
iOS开发:字符串设置指定内容的文字颜色、文字大小、文字字体类型
在iOS开发过程中,会有一些为了提高APP的视觉效果而设置的特别一点的效果,比如一行文字需要自定义不同的颜色和文字大小,这就用到通过富文本来设置字符串的颜色、大小和文字类型。这篇博文我打算只介绍怎么设置指定内容的一些文字属性设置,如果之前看过我写的博文,就会发现有一篇类似介绍通过富文本来设置字符串内容的博文,但是那篇是综合性的,包括介绍button的,以及UItextfield的设置,所以在这里我只介绍怎么设置字符串指定位置的一些自定义设置的方法,如有不妥之处,欢迎指正。
524 0
|
测试技术 Go Android开发
html+css实战52-文字-字体
html+css实战52-文字-字体
102 0
html+css实战52-文字-字体

热门文章

最新文章