汉字系统概述
出处:按学科分类—工业技术 企业管理出版社《工程师手册》第794页(2158字)
1.汉字操作系统基本原理
从信息处理的角度来看,汉字信息和西文信息的处理都是非数值信息的处理,没有本质区别。汉字操作系统包括了西文操作系统的全部功能,并在西文操作系统的基础上对B1OS(基本输入输出系统)进行扩充、修改,增加了汉字输入输出功能。
IBM-PC机的BIOS存放在主机板的ROM中,所以也称为ROM-BIOS。它由若干独立的外部设备驱动模块组成,控制系统所必需的主要外部设备的工作。用户软件在使用键盘输入,显示器、打印机输出时,频繁调用ROM-BIOS各个设备驱动模块。因此,为了使系统具有汉字信息处理能力,CCDOS用新的设备驱动模块去扩充ROM-BIOS中与汉字输入输出相关的模块,即:显示器管理模块(10H号中断)、键盘管理模城(16H号中断)、打印机驱动模块(17H号中断)及拷贝模块(5H号中断),扩充部分称为CCBIOS,是CCDOS的核心部分。当系统启动时,CCDOS将这些模块调入或常驻内存,通过修改中断向量表,使中断向量指向内存中的新模块。
2.汉字代码系统
汉字在计算机中以编码的形式存在,从机器的不同角度看,可有多种编码,其中有:汉字输入码、汉字交换码、汉字内码、汉字地址码、汉字字形码等,下面分别介绍这几个概念。
(1)汉字输入码
汉字输入码就是为使汉字信息输入到计算机里而采用的一种编码方法,它是由字母、数字或符号组成的汉字代码,又称外码。
(2)汉字交换码
汉字交换码是汉字信息处理系统之间或与通信系统之间进行信息传输时使用的汉字代码。我国制定了汉字交换码的国家标准GB2312,即《信息交换用汉字编码字符集——基本集》。这个标准中规定了进行一般汉字信息处理交换用的汉字和符号的代码,共有6763个汉字和682个非汉字图形字符,均采用两个字节表示,每个字节最高位为0。
(3)汉字内部码
汉字内部码(亦称汉字机内码)是系统内部处理和存储汉字所使用的代码。西文处理系统的机内码采用一个字节的ASCII码,有的则采用EBCDIC码。为与西文内部码相区别,国内研制的汉字系统一般采用将汉字国际码每个字节的最高位置1作为汉字内部码。
(4)汉字地址码
汉字地址码是用来指出汉字字形信息在汉字库中存放的逻辑地址的编码。
(5)汉字字形码
目前汉字信息处理系统中使用的汉字字形大多以点阵的方式形成,汉字字形码就是确定一个汉字字形点阵的代码,它存放在汉字库中。
CCDOS提供了各种模块,来完成上述代码的变换和处理。图2.3.1-1是这些功能模块的工作情况和相互关系。
图2.3.1-1 CCDOS的功能模块与汉字代码转换
3.汉字库
汉字操作系统最终能将内部处理的汉字信息通过打印机、显示器输出,是因为系统中含有汉字库。汉字库是汉字字形码(汉字点阵信息)的集合。汉字库中的每一个字都是由一系列点阵信息组成的,每一点用一个二进制位表示,该位为“1”表示此位置有笔画,若为“0”表示此处无笔画。根据字体尺寸的不同,一个汉字所需的二进制位数也不同。汉字库按汉字点阵数的差别可分为16×16,24×24,40×40及48×48等点阵字库,其中一个汉字点阵的排列顺序有两种类型:一是横向顺序,即按水平点阵顺序存入若干个字节中;另一个是纵向顺序,即从汉字左边第一列开始存入若干字节中。
16×16点阵汉字主要用于显示输出,即形成显示字库。库中每个字模占32个字节,由于显示缓冲区的格式是水平排列的,所以点阵数据信息采用横向排列方式。
24×24和40×40及其它高点阵汉字主要用于打印输出,即形成打印字库。24×24点阵字库中每个字模占72个字节,40×40点阵字库中每个字模占200个字节,由于打印头的针是纵向排列的,所以点阵数据信息采用纵向排列方式。
在使用显示器和打印机输出汉字信息时,因为设备内部固有的字符发生器中不含有我们采用软件扩充的汉字字形,所以两种设备必须工作在图形方式下,将汉字点阵以图形方式输出,而不采用字符工作方式。