我一直以为"电脑上打汉字"是理所当然的事。键盘敲两下,屏幕上就出现一个方块字,想改字体就改字体,想放大就放大。直到我在一个讲印刷史的纪录片里看到"拣字工"这个词,才知道这件事曾经难到有人专门写论文去论证它不可能。
先说说"铅与火"到底有多麻烦
在1980年代中期以前,中国的报纸和书刊基本都是铅字印刷。它的工序大致是:把铅锭在电炉里熔成铅水,浇进铜字模铸成一个个铅字;排字工人从一排排字架上把字拣出来,排成稿子的小样;校对改错之后,拼版工再把铅字码进铁框里拼成版面;最后压成纸型、浇成铅版,装到印刷机上。
听起来只是"步骤多",但真实的情况是:
- 字架高约1.8米、长约7米,架子上用一个个小方格码放铅字,常用的字放中间,其他按偏旁部首排在两边。有老工人回忆,熟练工拣一篇1000字的稿子也要花上一个小时,而一篇小稿就得在字架之间来回走上几百趟。另一位在青岛日报社干过排字的师傅说,一般工人一小时只能排一千五六百字。
- 拼一版5000多字的日报,排好版之后称一称重量,能有20多公斤。四号铅字只有火柴头那么大,改错时得拿小镊子把铅字夹出来再夹新的进去,手一抖就夹不进去。
- 常用的五号铅字往往是一次性的,磨损了就得回炉重铸,每天都要重新铸一大批。
- 铸字和浇版都是铅、酸的有毒作业,工人下班时满手黑,得用去污粉才洗得掉;正因为这个原因,当年铅字工种的退休年龄都比一般岗位早。
麻烦还不只在车间里。有资料提到,那时一本普通的书从发稿到出书要在出版社排队一年左右,科技书甚至要拖上两三年。一项统计说,1984年应该出版、到1986年还没能正常出版的科技图书有3826种。整个行业被一套看起来天经地义的工艺卡住了脖子。
为什么西文早就数字化了,汉字却卡住
道理其实很朴素:西文的"字"只有几十个字母,加上大小写和标点也不过百来个,每个字母做一副字模就够了。汉字是几万个不同的图形符号。
如果按数字化存储的路子走,一个汉字要存成点阵——你可以理解成一张小方格纸,每个格子填黑或白,黑格子就是要着墨的地方,每个格子占计算机的一位。按王选的妻子、同样在北大任教的陈堃銶的回忆,一个小字需要100×100的点阵,大字要1000×1000以上。再乘上汉字的总字数、各种字体、几十种字号,总存储量达到数百亿位。
而当时他们能用的国产DJS130计算机,内存不到7兆字节。几百亿位和几兆字节之间差得太远,这不是"再等等硬件进步"就能糊过去的问题。当时国内已有5家单位在做汉字照排,存储方案用的都是模拟方式,输出设备则选了国际上流行的二代机或三代机。
王选选的那条路
1974年8月,在周恩来总理的批准下,国家设立了重点科技攻关项目"汉字信息处理系统工程",因为立项文件编号的关系,简称"748工程"。它包含三个子项目:汉字通信、汉字情报检索、汉字精密照排。1975年,正在病休的北大教师王选从妻子那里听说了这个工程,被"精密照排"这一子项的难度和价值吸引住了。
他做的判断在当时相当不合群:模拟存储没有前途,应该用数字方式把字形存在计算机里;而且要跳过日本流行的二代光机式照排机和欧美流行的三代阴极射线管照排机,直接做当时国外都还没有商品的第四代激光照排系统。1976年,精密照排的研制任务正式下达给北京大学。
真正的巧劲在字形压缩上。王选拿出字典一个个琢磨汉字的笔画,发现了规律:汉字虽然多,但每个字都能拆成横、竖、折这类规则笔画,和撇、捺、点、钩这类不规则笔画。于是他和陈堃銶一起设计出"轮廓加参数"的描述方法——规则笔画用长度、宽度、笔锋等参数精确表示,不规则的曲线笔画用折线轮廓表示。
按中国计算机学会保存的史料,这套方法能让一个五号字的信息量下降十二倍,从一个字约一万位压到平均八百位;整体压缩倍数达到500倍,只要4兆字节的存储量,就能装下60万字头的全部字形信息。陈堃銶本人的回忆是"信息压缩达500多倍",数字彼此吻合。除此之外,这套描述还能让字变大、变小、变长、变扁而基本不失真——这是铅字做不到的。
压缩只是存得下,还得放得出。王选设计了照排控制器,也就是后来被称为光栅图像处理器(RIP)的东西:它把压缩的字形信息还原成点阵,控制激光在胶片或版材上扫描成字。1984年他为华光Ⅳ型研制了专门加速字形复原的超大规模专用芯片,文字复原速度达到每秒710字,据当时的报道居世界领先水平。
时间线
把关键节点排在一张表里会清楚很多:
| 时间 | 发生了什么 |
|---|---|
| 1974年8月 | "748工程"立项,含汉字通信、情报检索、精密照排三个子项目 |
| 1975年 | 王选开始研究精密照排,提出数字存储和直接研制第四代激光照排机 |
| 1976年 | 精密照排研制任务正式下达给北京大学 |
| 1979年7月27日 | 用原理性样机输出第一张报纸样张《汉字信息处理》 |
| 1980年9月 | 排出第一本样书《伍豪之剑》 |
| 1981年7月 | 原理性样机(后来的华光Ⅰ型)通过部级鉴定 |
| 1985年1月起 | 新华社使用华光Ⅱ型系统排印《新华社新闻稿》等 |
| 1985年5月 | 华光Ⅱ型通过国家级鉴定和新华社用户验收,成为我国第一个实用照排系统 |
| 1987年5月22日 | 《经济日报》四个版面全部用激光照排,第一张用计算机屏幕组版、整版激光输出的中文报纸诞生 |
| 1988年 | 经济日报社卖掉全部铅字,成为国内第一家"告别铅与火"的报社 |
| 1990年2月 | 《人民日报》甩掉铅字,实现激光照排 |
| 1991年3月 | 北大方正电子出版系统推出,方正91型机采用FZ-91B照排控制器 |
| 1992年底 | 《人民日报》通过卫星向全国22个城市传送版面,平均2分钟传完一版 |
| 1993年 | 国产系统占据国内报业99%、黑白书刊出版业90%以上的市场 |
关于"告别铅与火"这句话,各家的说法略有出入,但主线是一致的:《经济日报》在1987年开始试用,1988年卖掉全部铅字。这里有一处我查到的资料互相打架:1976年精密照排任务下达给北大的具体月份,有说是9月21日的,也有只写"1976年"的,所以我上面只写到年份。
它到底改变了什么
如果只是"排版变快了",这件事不值得被叫做中国印刷技术的第二次革命。它带来的变化至少有三层。
第一层是效率。据科普中国整理的资料,采用激光照排之后,出版周期从300到500天缩短到100天左右;青岛日报社的材料里提到,排一张报纸的时间从4个小时降到20分钟。同期中国的报纸从1978年的186种发展到2000余种,期刊从930种发展到7500余种。
第二层是行业。到1993年,国内99%的报社和90%以上的黑白书刊出版业都用上了以王选技术为核心的国产系统,此前大举进入中国的美国、英国、日本照排厂商全部退出了中国市场。1999年,方正直接制版系统在《羊城晚报》投入生产性使用,"告别铅与火"之后又接着"告别报纸传真机""告别电子分色机""告别纸和笔""告别胶片"。
第三层才是我想说的重点:汉字被数字化了。字形这套"轮廓加参数"的描述,本质上就是一套用数学语言描述汉字形状的方法;一旦汉字在计算机里有了稳定、可缩放、可存储的表示,后面的事情才有地基——1980年发布的汉字编码字符集国家标准GB 2312规定了6763个常用汉字的编码位置,1985年又发布了15×16、24、32点阵的汉字字型标准,2000年发布的GB 18030支持的汉字数量则要多得多。
我查完这些资料之后的想法
我最先想到的其实不是王选,而是"模拟存储没有前途"这句话。当时国内已经有好几家单位在做,用的都是模拟方式,跟着国际上流行的二代机、三代机走。王选选了数字存储,还直接跳过两代机器。这件事的酷不在于他胆子大,而在于他是在看过大量国外文献、把各条路线的毛病一条条想清楚之后才这么选的——书里说他做项目之前习惯先把国外现状摸一遍。所谓"选对路",其实是"把每条路都算过一遍"。
第二个让我在意的是那台内存不到7兆字节的计算机。他们不是等硬件变好,而是把汉字本身的结构拆开,用笔画和轮廓去描述它,硬是把几百亿位压到几兆。我今天在电脑上随手把字号从12号调到72号,屏幕上的字边缘还是干净的,这个"随手"背后是一套几十年前为了在几兆内存里塞下六万个汉字而想出来的办法。
所以下次打开输入法、切换一个字体、或者觉得某个字在屏幕上显示得有点糊的时候,我大概会多停一秒。我一直以为打字是件很普通的事,其实只是有人替我们把一个看起来不可能的问题先解决掉了。