20世纪70年代,计算机的内存很小,处理速度也慢,软件开发人员对内存使用非常吝啬,总想用有限的计算机性能来解决更多更大的问题。
最初汉字在计算机中是用点阵描述的。假设一个汉字需用16×16(也有32×32)点阵显示,一个字节(Byte)有8位(bit),一位代表一个点,故一个字节只能表示8个点,一个16×16点阵的汉字要占32(2×16)个字节。如果有3755个汉字共需3755×32=120160个字节。而1KB=1024Byte,所以需占117KB存储空间,取2的整数次方,即为128KB。如果每个字变换16种字号,每个字再有十几种不同字体,每个字占用的空间还是不少的。现在看来这个空间只是毛毛雨,在当时可是个大数字,所以就不能挑剔它显示的粗糙了。
24×24点阵字
英文只有26个字母,无论字体、字号怎么变换,信息量都比较少。而汉字就不同了,会认识、书写3600个常用汉字才达到扫盲要求,现在《汉语大字典》所收汉字更是多达54678个。但有些生僻字很少使用,这些字没有必要去争抢有限的计算机资源,不必纳入计算机汉字字库。但哪些入库,哪些不入库,不能乱来,得有个统一标准,否则各自为战,汉字处理软件就不通用,不利于软件开发。为此,从1975年开始,我国进行了大规模的汉字使用频率统计工作,内容包括工业、农业、军事、科技、政治、经济、文学、艺术、教育、体育、医药卫生、天文地理、自然、化学、文字改革、考古等多方面的出版物,在数以亿计的浩瀚文献资料中,统计出实际使用的不同的汉字数为6335个,而其中有3000多个汉字的累计使用频度达到了99.9%,而另外的3000多个累计频度不到0.1%,说明了常用汉字与次常用汉字的数量不足7000个。以此为据,国家制定了计算机汉字字库标准,把使用频率高的常用汉字作为一级字库,采用拼音排序;二级字库是使用频率低的非常用汉字,采用部首和笔画排序。两级字库共收有6763个汉字,这就是GB2312国标码字库。
以前我国大陆的各种中文DOS版本、Windows3.1/3.2版本,装入的字库都是国标一二级字库,但遇到“镕、啰、瞭、袆、祎、曌、赟、贇、鱻、驫、犇……”等汉字,既无法输入,又不能打印。由于计算机性能突飞猛进,为解决字数过少的问题,在1995年和2000年又先后发布了GBK(GB是国标之意,K是扩展的意思)和GB18030国标码。GBK编码方案收录汉字21003个,GB18030(GBK2.0)字库则更多,收录了27533个汉字。新版国标码是在旧版基础上增加新的码位,因此向下兼容旧版国标码。
由于GB2312国标码中的汉字数量过少,现在的各种文字处理软件都倾向支持GBK、GB18030编码方案。但一二级字库不会过时,因为日常使用的汉字往往就在这几千个字当中。(www.xing528.com)
计算机的汉字字库实际是划分了计算机内存的一片区域,如同铅字字架,分成很多小格子,每个格子有一个编码与之对应,这个编码是十进制和十六进制数字标注的,每种输入法,都是敲击计算机键盘的某个或某几个键,通过这种输入法的程序指令变成那个字的编码,然后取来用之。
汉字很多,每个汉字又有不同字体和字号,所以汉字字库占据的计算机空间还是相当可观的。点阵字库如果放大,输出的字会像“马赛克”,为了输出文字的美观,又建立了矢量字库。矢量字库方式是采用数学的矢量线段来描述字形的笔画,即用描述字的外部轮廓的方法来产生字形,这种方法也叫矢量轮廓描述法。矢量字的最大优点是数据压缩量大,而且字形比较美观,可以对字形作各种变形和修饰,特别适合专业电子排版领域,能产生较高精度、高质量字形。这种字形的缺点是输出大字时笔画不美观,由于矢量线段的作用,笔画边缘出现“刀割”现象。
点阵字与矢量字的比较
矢量字比点阵字当然美观好多,但人们仍不满足,后来又建立了曲线字库。曲线字库字的外轮廓由若干直线和曲线组成,其中曲线段采用二次曲线或三次曲线函数来描述,又称曲线轮廓描述法。最典型的是Adobe Type工字体(采用三次Bezier曲线描述轮廓)和True Type字(采用二次B样条曲线描述轮廓)。曲线字的最大特点是字形美观,克服了矢量字放大后的字形缺陷,同时也可实现高倍率的字形信息压缩。三次曲线字库在英文字库中用的多些,而对于汉字来说,描述一个字需要的信息量很大,算法也复杂,所以现在汉字仍然用二次曲线字库。
当今计算机发展很快,在矢量字库时的486计算机已经是先进的“战斗机”了,而现在完全不必为计算机的存储和运算速度担心,所以以后会有更漂亮的字库的。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。