我对字体的一些理解
作者:互联网
我对字体的一些理解
从神话到印刷术
人为万灵之长,除了写在基因里的本能之外,还有学习的能力。通过学习,人类才可以开创出灿烂的文明。
然而,单一一个人的寿命是有限的,必须把上一代人习得的知识传递给下一代,人类文明才能进步,即所谓踩在巨人的肩膀子。
最开始的知识传递方式是口头传说,即通过交谈把信息告知其他人,内容一般神话、传说、英雄史诗。
后来人们发明了文字,但并不是写在纸张上,因为纸张还没有发明。在古代中国,文字被写在龟壳或兽骨上,称之为甲骨文。之后文字的载体经历了青铜器、竹简、木简到纸张的转变。成语“韦编三绝”、“罄竹难书”,就是因为文字载体是竹简的缘故。
纸张的出现,特别是蔡伦纸的发明,使得普通大众也可以接触到纸张,促进了知识的普及。但是此时还有另一个问题需要解决,文学大家的文章或者政府政令如何通过纸张让大众接触到。最开始的方法是抄写,但是人力毕竟有限。后来北宋的毕昇发明了活字印刷术,使得制作一本书的“拷贝”是一件极为简单的事情,这也大大促进了人类文化的传播。一个有趣的现象,唐人的诗歌流传下来的远没有宋人多。比如诗仙李白,在当时名气也很大,诗歌却是“十不存一”,只有约一千首;陆游的诗歌流传下来有九千多首。其中有很多原因,我觉得有一个原因是在陆游的时代,由于技术的进步,编集子相对容易,散轶相对困难。还有一个是宋代有很多大儒,也许有一个原因是因为此时《论语》等著作相对比较容易获取。
15世纪,德国人古登堡发明了西方活字印刷术,这一技术,使得知识不再是僧侣阶层的专利,也许从某一个侧面推动的伟大的文艺复兴。
字体与印刷术
印刷术之前,纸张上的文字是人们书写上去的。印刷术的目的即是快速地产生纸张的副本。然而由于技术的限制,这样一目的不能完美实现。比如宋体,或称明体,是为了适应印刷术而出现的一种字体。本来要复制的书籍是楷体的宋书,由于技术限制,只得把楷体的笔划直线化,末端加以装饰,虽刻出了“肤廓字样”,但是失去了楷体的味道,称之为宋体。所谓技术限制了美感。
在印刷术中,字体并非指宋体、楷体、Futura 或 Frutiger。这个概念在英语中叫做 typeface,即文字长什么样子。在印刷术中,字体,或 font 的概念是一组模具,即指定了某一个 typeface、字号、字重等属性之后的一组字形模具。若是英文,则其中包括 26 个英文字母、10 个阿拉伯数字以及一些特殊符号。根据出现的频次,字母的模具个数也不同,比如这组模具中有 10 个小写的 e,只有一个 x。这些模具被放到一箱子里,叫做 font。在工作时,也许是由于不常用,大写字母被放置上面,所以被叫做 uppercase。可以想象一下工人们在工作时,看到一篇文章,得知需求之后,就拿出一个箱子,装入若干的 e、a、x、#,然后合上箱子,拎者箱子到另一个工作间进行排版工作。专门负责生产模具的部门交付到负责排版的部门,也是按照一个一个箱子交付的。
在字体的属性中,我们可以看到很多印刷术的遗迹,比如行距的英文是 leading,因为当时行间距的控制是通过插入铅条来控制的。
数字时代的字体
印刷术经历了几百年的发展,已经很完善了。到了数字时代,电子屏幕代替纸张称为了人们获取信息的来源,即“告别铅与火,走向光与电”,于是历史又一次重演。在印刷术发明之初,是为了达到和人工抄写一样的效果;在电子屏幕发明之初,一个目标是在屏幕上重现纸张的效果。
然而,由于屏幕技术的限制,导致种种不如意。比如由于屏幕分辨率的限制,比较精细的字体如楷体无法很好的在屏幕上,导致屏幕上的字体是黑体或无衬线字体。随着屏幕显示技术的进步,特别是 Retina 屏幕的出现,才使得高质量的字体排印在电子屏幕上成为现实。
一个小问题
在 iOS 开发中,绘制一个 label 时,需要指定 label 的高度。一般的,我们会指定 label 的文字的字号,比如说 10 号字。假如我们指定 label 的高度也是 10,那么文字就会显示不全。根据经验,我们一般会把高度设置为比字号略大一点。
为何会出现这个问题呢?首先我们要知道设置字号的效果是什么,其实效果是设置 em 的大小。那么 em 是什么呢?
当字体的使用尺寸(上下间距)为12点时,1em就是边长为12点的正方形,活字时代称之为“全角”。

活字的图片如上,由于物理条件的限制,显然文字的高度不会超过活字的上下间距,即 1em。
到了数字时代,事情发生了一些变化。在计算机中,矢量字体的形状是通过 glyph 来指定的,而一个 glyph 不一定只有 1em 高。这是,em 的设置只是为了划定一个标准,即字体的相对大小。实际的某个字符的大小要由 glyph 和 em 共同指定。
此外,还有一个技术上的原因。
由于坐标的非整数性、anti-aliasing 以及 hinting 等的综合影响,最终它的最高点和最低点的高差,很可能就变成了 11 px。
由于这些因素的综合影响,导致了字体在屏幕上渲染的高度和字号的大小并不一致。
感想
字体排印是一门高深的学问,而目的不外乎信息的有效传递。而 IT,即 Information Technology,是关于信息的科技。因此作为 IT 工作者,了解字体排印的知识是必要的,也是有趣的。然而由于工作繁忙,估计今后没有时间来继续在这方面下功夫了,好遗憾。
参考
- 小林章. 西文字体[M]. 中信出版社, 2014.
- 字谈字畅
posted on 2017-11-12 23:42 花老???? 阅读(482) 评论(0) 编辑 收藏
标签:文字,楷体,纸张,理解,字体,印刷术,一些,屏幕 来源: https://blog.51cto.com/u_15223551/2834005