加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

我的电脑生涯(19):改变我一生轨迹的机遇

(2011-11-28 07:47:01)
标签:

汉字处理

字库

拼音输入法

点阵式打印机

gb2312

国标

it

分类: 电脑与智能手机

现在咱们用电脑,每增加一个新的外部设备,就要给它装一个驱动软件。这是因为每个设备都有自己的独到之处,操作系统对如何控制该设备的细节其实是不知道的,驱动软件就是来补充这些细节处理的。

 

这台DATAMAX-8000微机,邝先生是向Digital Research公司购买了其操作系统CP/M的使用权的,该操作系统的程序清单是保密的,但是其中的BIOS部分却是要提供给购买了使用权的厂家的,目的就是允许厂家对BIOS有关的部分进行修改,以适应不同的外部设备,对BIOS的这些修改,就相当于配驱动软件。

 

微软后来推出WINDOWS的时候,提出了一个口号叫即插即用(Plug and Play),就是希望电脑设备厂家都遵守它规定的一个PNP标准,做到不用再去修改BIOS。例如,如果打印机厂家按这个PNP标准事先做好一个驱动软件,那么,只要打印机和计算机用电缆一连接上,操作系统就可以按照事先规定好的一系列软件动作,把所有的接口通道都捋顺,使得该设备立刻就可以投入使用,这是后话。

 

但是当时的CP/M可没有如此先进的理念。因此,要让它能管理好这台伊藤忠的打印机,需要修改其BIOS中负责打印的部分。换句话说,我需要为C.Itoh-8510A打印机开发一个驱动软件。好在这个事情不难,因为邝先生给我们提供的资料里面就有BIOS的程序清单,所以很容易就把打印机连上了。

 

我从小就养成了一个习惯,凡是买到了一个新东西,不论是收音机,电视机,玩具,或者别的商品,都会非常仔细地阅读说明书,然后按说明书的内容一点点去尝试它的所有功能,这个习惯一直维持到现在。因此,当我拿到这台打印机之后,我就开始试用它的各种功能。

 

在我用这台打印机之前,过去用过的打印机都是字符式的。也就是说,打印头上事先装好了各种字符,当计算机输出一个字母“a”时,打印机就把一个小写的“a”字符敲击到色带上,于是在纸上就印出了一个“a”来。王安时这次向我推荐的OKI公司的宽幅打印机,也还是这种字符式打印机。换句话说,这种打印机,只能打印ASCII代码表里面的100多个字符,顶多变成粗体字,加下划线,变成斜体,等等花样。

 

但是,这台伊藤忠的打印机,却不是这样的,它被称为点阵式打印机(Dot Matrix Printer),它的打印头上没有任何字符,而只是在垂直方向上有8根针。也就是说,它是一台图形打印机,用软件指令可以控制它每一根针的动作。那么,如果要打印字母“a”时,它只是把事先存好的字母“a”的图形调出来打印而已。除了这些事先存好的“字符图形”可以像以前那样给个ASCII代码就打印外,只要编制程序,还可以打印任何形状的图形。因此,这种点阵式打印机的出现,是打印机技术的一大进步。

 

哈哈!我灵机一动,连夜编了一小段程序,在打印纸上按图形方式打出了“冶金部自动化所”七个汉字。当然,这几个字歪七扭八并不好看,但是确实是汉字。如果只用8根针,显然打汉字的点数不够,有些汉字笔画很多。不过没关系,一行打印不了,我打印两行拼起来,不就相当于16根针了吗?

 

这时,我要感谢妹妹的同学于成金了,他虽然不懂技术,没给我讲清楚这台打印机好在哪里,但是他极力让我先试用,这下试出兴趣来了。

 

这一夜我兴奋得没有睡着,我想了很多很多,能打印七个汉字,就意味着原则上可以打印所有的汉字。也就是说,让电脑处理汉字不再是遥远的事了,似乎触手可及了。

 

但是,能打印七个汉字,只是解决了原理问题,要让这套微机系统能用汉字处理各种应用,则要解决一系列的实际问题。当时我的思想还是有点局限,没想更远的事情。但是我想到了眼前要做的几件事。这几件事是:

 

1)要做一套汉字字库,至少常用字都要有;

2)要有汉字输入法,能像录入英文那样把汉字录入到计算机里;

3)要能在终端上显示汉字;

4)要有能处理汉字的应用软件。

 

首先,要有汉字字库才能使打印机真正能打印汉字。当时,到哪里去找汉字字库呢?自己动手做吧!

 

于是,我从家里拿来了一副围棋,把塑料棋盘布往桌上一铺,我们全小组的人都动员起来,一个人用棋子摆放汉字点阵,另一个人把该字型用16进制数来编码,再有一个人把该数据录入到电脑中。

 

说到这里,不得不说一个事情。中国的汉字这么多,要给哪些字做点阵图形呢?像英语,有ASCII码作为信息交换的代码标准,例如,从计算机向打印机输出一个16进代码“61H”,它就意味着小写字母“a”,这是ASCII码表规定好的。而对于中文来说,肯定也需要这样一个代码标准。于是中国在1980年也公布了一套汉字信息交换的编码表,这个国标叫做GB2312-80,由于汉字数量很多,用一个字节已经无法全部编进去,所以在这套国标中用两个字节代表一个汉字。

 

下图:国标代码表的部分截图

我的电脑生涯(19):改变我一生轨迹的机遇

都说做什么事情,制定标准这件事要先行。幸亏这时有了国家标准,我才有了明确的目标。这套国标里一共收入了6763个汉字,把汉字分为两级,第一级有3755个常用汉字,按照拼音顺序排列;剩下的是第二级,是不太常用的字,由于很多字普通人都不会念,所以按笔画顺序排列。于是,我决定要把一级汉字的点阵给做出来,用现在的语言来说,就是要做一套字库。

 

后来我发现,日本也有汉字信息交换的国标码,日本叫“JIS C 6226”码,格式和咱们的一样,包括了6355个汉字,再一看公布的时间,是1978年,可见,在汉字信息的标准化方面,日本走在了我们的前面,哈哈。其实,日本人发明了点阵式打印机,也是为了打印汉字的需要,我们只是在它的基础上继续搞开发。

 

才做了几个字,我们就发现,字形很难看。于是,我们又请了所里书法最好的资料室的任冠甲来摆字形。老任的热情也非常高,往往一个字的形状要左看右看,琢磨好一会儿才定稿。就这样我们连续工作了一个多月,终于做成了一套包括国标一级汉字的16x16点阵字库。

 

其次,有了汉字字库还不够,如何把汉字文章输入电脑呢?需要有汉字输入法。由于一级汉字是按汉语拼音的顺序排列的,从工作量来考虑,研制拼音输入法是最容易实现的。

 

从道理上讲,此事非常之简单,你给出一个字的拼音,一查国标一级汉字编码表,这个音的字全都摆在一块儿了。但是这时遇到了一个难题。这就是同音字太多,如你输入一个“li”,就对应了“里离力丽李立理利……”等等一大串汉字。因此,如果要搞拼音输入法,就需要对同音字进行选字,怎么选?你得让操作者看得见这些字才好去选啊!所以,稍微深入地想一下,就发现,要实现拼音输入,先要能显示汉字才行。

 

我们的Televideo终端是英文字符终端,根本显示不了汉字,只能显示80x24个英文字符。怎么办呢?好在我们已经有了汉字字库,我就把一个英文字符M当一个点来用,用屏幕上的16x16个M来组成一个汉字,这样一来,虽然一屏只能显示4个大大的汉字,输入时如果同音字太多,就翻屏吧,但总算以一种最原始的落后方法解决了汉字录入问题。

 

当然,要处理汉字,还要修改操作系统的BIOS部分,这些工作我也完成了。这样,我考虑要做的四件事,完成了三件。

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有