首批中文数字字体模型

该校一位研究中国历史的教授托马斯·穆拉尼(Thomas Mullaney),在这些珍贵的藏品里发现了许多有趣的故事。其中就包括全球首批中文数字字体,是如何被制作出来的。 托马斯将这段艰辛但充满艺术的历程,在《麻省理工科技评论》上讲述了出来。我们也得以机会看见这个具有时代意义的历史片段。

托马斯·穆拉尼教授

一台机器带来的契机 故事要从一个订单开始说起。 20 世纪 80 年代初,美国图形艺术研究基金会 (Graphics Arts Research Foundation) 找到了路易斯·罗森布鲁姆(Louis Rosenblum),想请他的团队,为其正在开发的机器 Sinotype III 创建出中文字体。

当时路易斯已年近 6 旬,毕业于麻省理工学院的他,是一名资深的印刷、排版专家。路易斯在 1965 年创立了 Photography Systems 公司,专门解决数字工程、摄影、应用数学等相关问题。 虽然路易斯及其团队此前和图形艺术研究基金会有过多次合作,但这次为 Sinotype III 创建中文字体的项目,却是最棘手的。 因为当时中国还没开始生产个人电脑,其他国家或地区生产的电脑无法处理中文。所以在给 Sinotype III 这台实验性机器开发中文字体前,路易斯的团队需要先对苹果二代电脑(Apple II)编程,使其能够以中文运行。

万事开头难。由于苹果二代的 DOS 3.3 操作系统,无法输入和输出汉字文本,所以必须得从头编程,包括编写一个中文文字处理器。为此,其团队花费了几个月的功夫。 他们想出的解决方案,是先通过 BASIC 编程语言,编写一个「Gridmater」程序,然后将该程序放入苹果二代电脑的软盘上运行。如此一来,便能创建并保存汉字的数字位图了。 接着,将设计好的汉字位图及其相应的代码,植入到系统数据库,便可让 Sinotype III 机器处理并显示中文了。

Sinotype III 显示器的照片,显示了 Gridmaster 程序和汉字「电」. 图片来自:斯坦福大学 这里插入一个背景知识。早期的数字字体,均采用位图图像(也称点阵图像)来显示。 这是一种常见的储存图像的方式,我们今天相机拍摄的照片、截图,储存方式均属于位图。一张 JPEG、BMP、GIF 等格式的图片,是由很多像素点组成,这些点经过排列和染色,便构成了图样。 比如我们可以在电脑上将一张图片放大,放大至一定程度,便可看到正方形的像素点了。早期的字体便是在一定大小的网格内,通过排列和染色形成的。

将左图的眼睛部位放大,便可看到像素点了 中文数字字体,可比英文难做多了 中文数字字体之所以难做,首要原因就是汉字的数量实在太多了,其次是因为汉字的字形十分复杂多样。 在计算机问世之初,工程师和设计师约定采用大小为 5X7 的位图网格,来创建低分辨率的英文数字字体。如此一来,每个字符的大小约 5 个字节,计算机的内存不会有太多负担。

在美国信息交换标准代码(ASCII)中储存的所有 128 个低分辨率字符,包括英文字母表中的每个字母、数字 0 到 9,以及常见的标点符号,共计需要 640 字节的内存。而当时苹果二代的内存为 64KB,可以轻松承载英文字体库。

中文字体的复杂性

而中文由于字形复杂,在 5X7 大小的网格中会糊作一团,难以辨认。因此至少需要一个 16X16 或者更大的网格。 这样换算下来,每个中文字符的大小至少有 32 字节。如果将 70000 个低分辨率的汉字打包,内存至少需要 2MB。再退一步,即便字库内只放进 8000 个常用的汉字,也需要约 256KB 的内存。 这无疑是一个大难题。因为在上世纪 80 年代初,大多数 PC 的总内存容量不超过 64KB,根本装不下庞大的中文位图字库。

内存告急并不是最令人头疼的,因为这可以随着 PC 软硬件的进步得以解决。如何在 16X16 的低分辨率网格中,创造出既容易辨认又美观的中文字体,是更棘手的难题。 为此,路易斯团队的设计师们花了数年时间,尝试创造出满足低内存要求,且清晰易认,甚至有书法美感的中文位图。其中,凌焕铭(Huan-Ming Ling)和艾伦迪乔瓦尼(Ellen Di Giovanni)的贡献最为突出。 他们先是借助纸、笔、修正液来手绘出汉字的位图,然后借助上文提到的 Gridmater 程序将其数字化,植入到 Sinotype III 的系统中。

背后的工匠精神

托马斯教授在档案资料里,发现了路易斯团队设计汉字位图的全过程。在一个装满格子图的册子中,记录了设计师们是如何通过手绘散点符号来创造汉字位图的。 我们都知道,汉字的笔画并非「横平竖直」的,入口笔画、出口笔画、笔画渐变都有着丰富的细节。如何展现这种书法美?是设计师们面临的核心问题。 在这本格子册中,可以发现每个汉字都经过设计师精心绘制。绿色的「X」是最初的标记,交由汉字编辑审核后,如果哪里不够规范,路易斯及其团队便会用修正液盖住原本的标记,再用红色的「X」标记上去。 经历反复修改,经过最终确认的位图,才会输入至系统中。过程中用掉了 N 瓶修正液。 如果要满足消费者的需求,字库里至少要包含 3000 个常用的汉字。这个工程量对于团队来说是很大的。人们可能会猜测,他们是否会寻找一些讨巧的方法。 例如,对于相同偏旁部首的汉字,可以直接将偏旁部首复制过去。就像下图中「评」、「读」都是言字旁,按理说设计师只需要设计右侧不一样的部分就可以。

但是托马斯教授发现档案里类似的工作机制很少。路易斯坚持要求设计师逐字调整、设计,以确保每个字的偏旁部首看起来是协调的。即便有些改动十分细微,令人难以察觉。 托马斯教授按照档案资料重新复现了 Sinotype III 的中文字体。可以发现同样为「女」字旁的「娟」和「娩」,两个字的「女」字旁的设计样式并不一样。 「女」字旁在「娟」字中的宽度为 6 个像素(网格),而在「娩」字中只有 5 个像素。另外「娩」字的「女」字旁撇点和撇的笔画,要比「娟」多一个像素,视觉上更加修长。 这样一丝不苟的设计并非个例。托马斯教授在字体库里发现了大量类似的工作,当他将位图的草稿与最终成品放在一起对比时,还能看到许多细微、有趣的变化。 比如在「罗」字中,左下角的笔画最初是以 45°向下伸展的。但最终版本,笔画的尽头被「拉平」,更符合书法的艺术感。

可以看出,添加或缩减一个像素,便会对整体的平衡感、美感造成影响。这也体现出设计师们在创作首批字体的艰辛,以及背后的匠人精神。 实际上,16X16 的网格,对于创作中文字体并不是很友好。最主要的问题是对称性。 我们知道,大量的汉字是具有对称性的,而根据数学的规则,只有奇数大小的空间区域,才能创建出完全对称的形体。 因此,路易斯及其团队决定只利用 16X16 网格中的 15X15 区域,来实现汉字的对称。这进一步缩小了设计师的空间,对设计工作提出了更高的要求。

得益于团队孜孜不倦的努力和一丝不苟的态度,Sinotype III 的中文字体库项目顺利完成。尽管它并未商业发布,但它的确是世界上最早能处理、显示、输入输出中文的 PC 之一。 当然,路易斯及其团队制作字体的方法,在当今的技术语境下看起来似乎太过古板和幼稚。现在广泛使用的 TrueType 字体技术,能够以矢量方式存储字体,占用空间小、渲染快、显示效果清晰锐利。 但正是他们使用「笨方法」,逐字画稿、反复修改,才让汉字得以进入数字世界。而「当代毕昇」王选院士主持研制的高分辨率字形信息压缩技术,更是彻底地解决了汉字编码储存的困境。

教授
Thomas Mullaney
点阵
点阵图
中
中的位图
USASCII
USASCII
背
背的点阵图
汉子
汉子点阵组合
女旁
不同的女旁
罗
罗的点阵图
对称
15*15 vs 16*16

公共交通

美国的高速公路现在有了Clearview,这是一种由James Montalbano设计的字体,基于现有的Highway Gothic,但实际上既易读又友好。世界各地的机场都采用了Frutiger字体,这种字体最初是为巴黎戴高乐机场设计的,于1976年问世。最近,它已经更新了其标志版本,加入了那个特殊的字母l、数字1和一个点划线Θ,柏林交通自1992年以来就有了他们版本的Frutiger Condensed,称为FF Transit。杜塞尔多夫机场的标志是FF Info。拉尔夫·赫尔曼设计了一种名为Wayfinding Sans的字体。维纳·施耐德和赫尔穆特·内斯为寻找路线的项目开发了Vialog字体,Keith Chi-hang Tam设计了Arrival字体。