我出生在1980年,我太太出生在1990年。人家问我是70后还是80后,问我太太是80后还是90后,至今,我们俩都犹犹豫豫,我有时说是70后,有时说是80后,但怎么回答都不能很坚定。所以,在家我们叫自己00后(取自80的0,和90的0),我是大零,她是小零。我们都是在童年的时候就开始玩计算机了。前两天我跟她说看网上有人在争是汉语更先进,还是其它语言更先进。她不经意地问了句:是谁,什么时候把汉语字体编写进个人电脑的?我说我还真不知道。用了半辈子了,我们却不知道到底最初是谁,什么时候,怎样把博大精深的汉语字体编程进0与1的世界的,特别是微机(micro computer) 或者是PC(personal computer)的。于是我就稍微查了一下。
中国是当今世界上在电商领域最富有的国家之一,比如像阿里巴巴、腾讯、字节跳动这样有着无与伦比和琳琅满目的商品供应链的世界著名龙头公司。然而,这些当今前沿的技术革新都基于40年前的一项计算机技术的成果:中文处理技术的研发。中华文化博大精深,中国文字源远流长,然而中文数字化历史却始于80年代,离我们并不久远。我们现在之所以能在电脑上阅读、书写中文,离不开最初花费巨大的努力,将中文“搬到”电脑里的那些人。斯坦福大学曾展出过2500余件现代中国信息技术收藏品。
Image Credits: Louis Rosenblum Papers, Stanford University Special Collections
Draft bitmaps from the Sinotype III Chinese font, prepared prior to digitization.
Image Credits: Louis Rosenblum Papers, Stanford University Special Collections
80年代初期,中国从美国和西方大量购进计算机设备。1980年的时候中国仅仅进口600台微机,相比之下1985年进口了13万台。可是不久中国的用户和西方的生产商就发现了一个大问题:没有任何一台西方生产的个人电脑、打印机、显示器、操作系统、软件程序等等能处理中文输入或输出。也正因为这样的局限性,一个伟大的现代计算机技术的历史瞬间,一个大胆的创业和别出心裁的工程设计故事造就了数字革命的全球化发展。
我们的故事要从美国图形艺术基金会(Graphic Arts Research Foundation - GARF)讲起,那里是中文数字化的摇篮。那里有一台叫做Sinotype的表意文字书写机器。这个机器是在50年代后期由GARF资助,麻省理工学院的一位电子工程师Samuel Hawks Caldwell发明的(我估计是在美苏冷战时期,在中美建交前根据需要研发的)。这位工程师去世后,那个项目被搁置,几经转手又回到GARF手里。
Keyboard of Sinotype I, designed by Samuel Caldwell in the late 1950s. Image Credits: Louis Rosenblum Papers, Stanford University Special Collections
这个项目能再次回到这个基金会还要感谢麻省理工学院的另一位大拿:Louis Rosenblum(路易斯·罗森布鲁姆)。这位先生1921年生于纽约市,1942年从MIT应用数学本科毕业,师从Halrold Edgerton,这位可是世界级的电子工程教授 (他在30年代拍摄的照片“milk drop coronet”现在还在MIT博物馆里供人欣赏)。罗森布鲁姆在70年代中叶接手Sinotype项目,后来还有其他几位重量级人物加入——哈佛的汉语言学家Susumo Kuno, Richard Solomon 尼克松访华时的外交使者等。GARF先后研制出在小型机上运行的Sinotype II,和在微机上运行的Sinotype III。Sinotype III 的开发要感谢路易斯的儿子,Bruce Rosenblum, 的加入。
布鲁斯当时还是宾州大学的本科学生,他酷爱新闻摄影。1981年5月,布鲁斯考完期末考试,造访他父亲的办公室,在他逗留的30分钟时间里,被工程师们研发Sinotype II 所吸引,从而要求加入公司研发团队。1981年6月布鲁斯就呈现给他父亲及同僚他的Sinotype III的提案,他要求基金能提供给他$7,500美金购置硬件和$5,000美金购置软件的费用。他的提案承诺在4个月后交出能在Apple II上运行的中文处理系统。布鲁斯遇到的最大的问题就是计算机内存问题——中文字体需要大量的内存。计算技术当初是基于拉丁文设计的,所以西方工程师和设计师只需要用5x7的点阵图就可以生出一个英文字母,每个字母或符号只需要5个字节的内存。存储95个可打印的字只需要475个字节的内存,然而5x7的点阵对于中文字体是远远不够的。工程师们尝试着用16x16或更大的像素,每一个中文字需要至少32字节的内存。在80年代,8000个中文常用字需要25万6千字节的内存,这就是4倍于市面上的电脑内存,需要多大的随机内存(RAM)和其他软件支持还须另外设计。为了让Apple II 能够拥有80KB的内存,布鲁斯自己重新写操作系统,居然能够比原来的内存多出25%,这样就可以多存储400多个汉字。11月感恩节前夕,布鲁斯完成Sinotype III中文字库,虽然当时只能存储1000个汉字,也没有商业发布,但它的确是世界上最早能处理,显示,输入输出中文的PC.
Sinotype III Computer Monitor. Image Credits: Louis Rosenblum Papers, Stanford University Special Collections
后来为了继续增加中文字库数量和提高速度,布鲁斯和路易斯尝试用过无数不同的方法。之后很多工程师开始设计各种硬件方案,比如“汉卡”,“中文卡”,“汉字发生器”等等,这些都被称作“Chinese-on-a-Chip”(中文芯片)。清华大学在此基础上研发出“Chinese Character Cards”, 可以存贮6000个32x32的点阵。80年代中后期,“汉卡”打入市场。
虽然路易斯和布鲁斯及其团队制作字体的方法在当今的技术语境下看起来是那么古板和幼稚,但是也是因为他们那种很笨的逐字画稿、反复修改的方法,汉字才得以进入数字世界,而当代毕生王选院士主持研制的高分辨率字形压缩技术,更是彻底解决了汉字编码储存的困境。在这些前辈们的不懈努力下,中文正式走入互联网大潮。当你在中文电商网站上购物,在中文论坛辩论的时候,你会不会在某个瞬间想到发生在40年前的这些故事,还有这些人?你们此时此刻在键盘上打出的每一个汉字都是他们孜孜不倦的努力成果。
后记:因为我出生的时候就用中文,所以我没必要感恩祖先,免费的嘛,别人贡献的嘛。因为我一出生就用电灯,所以我没必要感恩发明家,免费的嘛,别人贡献的嘛。Should we take everything as granted like this and never or no need to be thankful to the scientists and inventors? 在我把这个真实的故事讲给你听之后,你可以说我不是中国人,不是美国人,(I don't really care and I believe nationality will be gone one day)但是我能请你回答:我是不是一个decent的地球人? 如果你年龄比我大,我原谅你,你老了。如果你的年龄比我年轻,我会感到一丝悲哀,因为你代表着未来。 哦,另外请不要骂我不是人,因为你能看懂我写的,我不是人你是什么?谢谢!