汉字和西文字符显示原理

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
每个汉字在字库中是以点阵字模形式存储的,如 一般采用16×16点阵形式,每个点用一个二进制 bit位表示,bit=1的点,当显示时,就可以在屏上 显示一个亮点,bit=0的点,则在屏上不显示,这 样把存某字的16×16点阵信息直接用来在显示器 上按上述原则显示,则将出现对应的汉字。如Байду номын сангаас“哈”的区位码为2594,它表示该字字模在字符 集的第25个区的第94个位置。
输出一个字节数据时,该字节中“位”(bit)为1 时在该“位”位置打点,为0时该“位”位置打空 白。
此外常用的汉字还有24×24点阵,它是由行列各 24个点组成的点阵图案,它每列的24个点在内存 中占三个字节,一个24×24点阵汉字共24列,在内存 中占72个字节;48×48点阵,行×列为48×48, 一个汉字占内存288个字节。12×12点阵(为方便 编程把列12点扩展为16点,既二个字节)行×列 为12×16,一个汉字占内存24个字节。
汉字和西文字符显示原理
不同的汉字各字节数据不同,图15.2是仿宋体”哈” 字的16×16点阵字模,在点阵中,每一个小方格 代表字节中的一位(也叫一个bit),黑色的点bit 值等于1,白色的点bit值等于0。这样,仿宋体 “哈”字的16×16点阵字模的32个字节数据就是:
0x0040,0x0040,0x00a0,0x78a0,0x4910,0x4918,0x4a0e,0 x4df4,
汉字和西文字符显示原理
15.3 汉字的内码
在计算机内英文字符是用一个字节的ASCII码表示,该字 节最高位一般用做奇偶校验,故实际是用7位码来代表128 个字符的,但对于众多的汉字,只有用两个字节才能代表, 这样用两个字节代表一个汉字的代码体制,国家制定了统 一标准,称为国标码。
国标码规定,组成两字节代码的最高位为0,即每个字节 仅只使用7位,这样在机器内使用时,由于英文的ASCII码 也在使用,可能将国标码看成两个ASCII码,因而规定用 国标码在机内表示汉字时,将每个字节的最高位置1,以 表示该码表示的是汉字,这些国标码两字节最高位加1后 的代码称为机器内的汉字代码,简称内码。
第十五章 汉字和西文 字符显示原理
汉字和西文字符显示原理
15.1 汉字和字符显示概述
我们进行嵌入式控制系统设计,大多首先从人 机界面设计开始,由于许多系统使用各种液晶显 示器(LCD)做系统显示设备,所以要想快速的 完成嵌入式系统设计必需学会如何在LCD上显示 汉字和曲线的驱动程序设计。
无论是高级语言支持的各种显示器,还是单片机 系统常用的LCD,它们的分辨率都是以像素为单 位的,一个像素就是屏幕上的一个可以显示的最 小单位,也就是常说的“点”。因此要在屏幕上 显示一个汉字或图形就必须将汉字或图形用点来 表式,这些表示某种图形或汉字的点的集合就是 我们所说的点阵,实际上我们把汉字也做为一种 图形来处理。
0号、1号、2号三个字节排在第1列,3号、4号、5 号三个字节排在第2列,依此类推最后一列是69号、 70号、71号字节,所有的字节都是高位在上,低 位在下,这样打字机从左到右扫描24列,不用换 行就可完成一个24×24点阵汉字打印。
汉字和西文字符显示原理
显示24×24点阵汉字程序与显示16×16点阵 汉字程序有所不同,这一点下面讲到汉字 显示时会详述。
汉字和西文字符显示原理
15.2 汉字字符集介绍
我国1981年公布了《信息交换用汉字编码字符集 (基本集)》GB2312-80方案,把高频字、常用字 和次常用字集合成汉字基本字符(共6763个), 在该集中按汉字使用的频度,又将其分成一级汉 字3755个(按拼音排序)、二级汉字3008个(按 部首排序),再加上西文字母、数字、图形符号 等700个。
0x4800,0x4800,0x7bf8,0x4a08,0x0208,0x0208,0x03f8,0 x0208。
汉字和西文字符显示原理
汉字和西文字符显示原理
如我们要在屏幕的行列位置显示上面的“哈”字, 则可以从点(,)开始将0号字节和1号字节的内容输 出到屏幕上;然后行加1,列再回到,输出2号字 节和3号字节,依此类推16个循环即可完成一个汉 字的显示。
汉字和西文字符显示原理
如嵌入式控制系统中最常用的汉字是16×16点阵, 它是由行、列各16个点,共256个点组成的点阵图 案,每行的16个点在内存中占二个字节,一个16×16 点阵汉字共16行,在内存中占32个字节。
根据这些字节在内存中存放的顺序,第一行的第 一个字节我们称“0”号字节,第二个字节我们称 “1”号字节;第二行的第一个字节我们称“2”号字 节,第二个字节我们称“3”号字节。以此类推, 最后一行的第一个字节我们称“30”号字节,第二 个字节我们称“31”号字节,每个字节高位在前, 低位在后,即D7在一个字节的最左侧,D0在最右 侧。具体如图15.1所示:
以“哈”字为例:其国标码为0x3974,其内码为0xB9F4, 即国标码与内码存在一种简单转换关系,将16进制的国标 码,两个字节各加0x80后,即成内码。
汉字和西文字符显示原理
15.4 内码转换为区位码
当我们用某种输入设备例如键盘将汉字输入计算机时,则 管理模块将自动的把键盘输入的汉字转换为内码,再由内 码转换成区位码,在汉字库找到该汉字,进行显示。
汉字和西文字符显示原理
由于常用的24针打印机的打印头是24针纵向排 列的,一次垂直打印24点,即三个字节,然后再 打印下一列24点,依次打24次,就完成了一个 24×24点阵汉字,所以在UCDOS汉字库中为方便 打印机使用,24×24点阵汉字字膜的排列是与 16×16不同的,具体如图15.3示:
国家标准的汉字字符集(GB2312-80)在汉字操作 系统中是以汉字库的形式提供的。汉字库结构作 了统一规定,即将字库分成94个区,每个区有94 个汉字(以位做区别),每一个汉字在汉字库中有 确定的区和位编号(用两个字节),
汉字和西文字符显示原理
就是所谓的区位码(区位码的第一个字节表示区 号,第二个字节表示位号),因而只要知道了区 位码,就可知道该汉字在字库中的地址。
相关文档
最新文档