“诸位都见过电子计算机的显示器,也知道显示器上呈现出的英文字符是由什么组成的吧。”杨山边说边用白棋子在棋牌上摆出个大写的L,“就是由光点组成的,就如同棋盘上棋子的样子。我们可以把字母占据的这一块区域称作光点矩阵,而字母的显示就依靠矩阵中的亮点和暗点来体现。”
这一个矩阵的明灭信息就存储在计算机里,英文字符一共有26个,加上大小写、数字、符号等等,一共就只有百多个矩阵。接着我们在给这些矩阵起个计算机能读懂的名字,也就是数字串,每个光点矩阵对应一个八位的二进制数字串,我们通常叫它一个字节。
当我们要求计算机显示某个字符的时候该怎么办呢?可以在键盘上按下对应的按键,键盘就会发给计算机一串数字信息,计算机就会把数字串对应的光点矩阵在存储器中找出来,呈现在显示器上。”
“咳咳,咱们换个说法,一个字符的光点矩阵就是一张图,而其对应的数字串就是给这张图起个计算机能够认识的名字。我们每敲击一次键盘,计算机就会按照特定的名字找到那张图。”
“明白了么?”刚说了几分钟,杨山满头都是汗,因为眼前的几个人脸上没有任何表情,压根不知道他们听没听懂。
“你当我们是傻子吗?不就是依据章节的索引名找文章么?”宋琪吐槽道。
“好好好,明白就好。”杨山松口气,“那继续。现在,咱们照猫画虎,为每一个汉字设计一幅用光点画出的字形图,编好名字,挨个输入到计算机存储器中。”
一边说着,杨山一边用白子在棋盘上组成了一个“杨”字,“比如这个字,我们给它起名‘0.......01’,因为中文字太多了,一个字节肯定是不够用的,所以需要两个字节来标定一张图。也就是十六位二进制数字串。”
“你这字也太难看了。”戴老花镜的周老先生亲自下场,用棋子摆了个隶书体的“杨”。
“这就是难点所在。”杨山微微一笑,“棋子的数量是有限的,比如我刚才摆了个L,只用8个棋子就够了,占用的光点矩阵是5*3。而周老先生您摆出的“杨”,光点矩阵50*50都不够。”
“现在咱们最新式的显示器的光点矩阵是320*240,如果按照您的摆法,整个屏幕也只能显示十多个字,这是不现实的。”
周老先生低头看了看,撅着胡子问,“那你说多少合适?”
“15*15,或者16*16,不能再多了。诸位要做的就是:设计一款计算机专用的字体,无论字的形状如何、比划多少,都要用这些光点组成,而且还要尽量做到字形大小在视觉效果上一致。”
“这不可能,笔画繁杂的汉字没办法完全呈现。”宋琪摇摇头。
“必要的时候你们可以对笔划作出妥协。”杨山当然知道是可能的,woRd文档里常见的5号字大概就是用这么大的像素矩阵表现出来的。
杨山随手在棋盘上摆出个“郁”字,“各位认不出这是个什么字吗?”
这个字离近了看还真不好认,不过站远了就大概能猜出来了,是繁体的“郁”字。
陈先生不干了,“那如此一来,汉字的美感在哪里?”
“陈先生,咱们要一步一步来,先定有无,再谈好坏。现在计算机的功能有局限性,只能因陋就简!”
“杨山,不能放宽点限制么?”李校长也觉得这个字实在不成样子。
“不能,一方面要考虑显示器的显示能力,一方面还要考虑费用。”杨山指了指棋盘上的交叉点,“你们知道存储这一个光点的信息需要在计算机硬件设备上花多少钱么?”
杨山不等他们回答就伸出了一个指头。
“1仙?”宋琪不确定的问。
“一港币。”
“你是说......,”
“是的,一个明灭点就是一港币,存储一个汉字的硬件成本是250港币。如果咱们要把3000个常用汉字的形状都放到电脑里,仅仅购买高速只读存储器就要花掉75万。当然,现在技术迭代很快,可能一年后价格会掉不少,但估计也不会低于50万。”
“不能用传统的磁带存储吗?”李校长还是有点计算机基础的。
“磁带的读取速度太慢了。李校长您刚才可是要和英文的输入速度匹配的。”杨山把回旋镖扔了回去。
周老先生咬咬牙,也不管字形好看不好看了,“3000个常用字肯定不够用,咱们可以做14*14光阵的字形,只需要200港币一个字。”
杨山点点头,“具体的字形设计就依靠诸位了,现在说第二项工作。”
“还有第二项?”陈先生咂咂嘴。
“当然,这项工作更费脑子。咱们要设计出一套方便可行的中文输入法。”杨山抬手拿出一个键盘,“这个东西是计算机专用键盘,其实就是电传打字机去掉了后端打印部分。上边的数字和字母的排列各位应该都很熟悉,与传统的机械式英文打字机一模一样。
刚才我说道,当我们要让显示器显示英文字符的时候,只要简单的按下对应按键,计算机就能明白人的意图,那是因为英文字符只有26个,显示的字符与按键上标出的字符可以做到一一对应。
但是中文想做到一一对应的话,就要设计一款有几千个按键的键盘,有点类似于中文机械式打字机的原理,但这么做是不现实的。
现在我们就要想办法,用有限的按键打出中文字符来。最简单的办法就是,直接用“0”和“1”两个按键敲出汉字图对应的数字串,让计算机明白我们需要它显示哪个字。但是这个办法对操作者要求太高了,他们必须背会每一个中文字对应的数字。这与咱们设计汉字显示系统的初衷是相悖的。
所以,我的想法是:把两个极端综合一下,用键盘上的26个英文按键打出中文字符来。”