点阵字库生成的原理

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

所有的汉字或者英文都是下面的原理,

由左至右,每8个点占用一个字节,最后不足8个字节的占用一个字节,而且从最高位向最低位排列。

生成的字库说明:(以12×12例子)

一个汉字占用字节数:12÷8=1····4也就是占用了2×12=24个字节。

编码排序A0A0→A0FE A1A0→A2FE依次排列。

以12×12字库的“我”为例:“我”的编码为CED2,所以在汉字排在CEH-AOH=2EH区的D2H-A0H=32H个。所以在12×12字库的起始位置就是[{FE-A0}*2EH+32H]*24=104976开始的24个字节就是我的点阵模。

其他的类推即可。

英文点阵也是如此推理。

51单片机的13×14点阵缩码汉卡

我们历时数载,开发成"51单片机13×14点阵缩码汉卡",适用于目前国内外应用最为广泛的MCSX-51及其兼容系列单片机.

与此同时,还开发了13×14点阵汉字字模.13×14点阵字模,可完全与目前通用的16×16点阵汉字字模媲美,其在单片机和嵌入式系统的汉字显示应用中也具有明显的经济价值和实用意义.

1.单片机目前的汉字显示

信息交流的最主要方式之一即文字交流,但由于我国方块汉字数量繁多,构形迥异,使汉字显示一直是我国计算机普及的障碍.随着计算机技术的迅速发展,PC机的汉字显示已不成问题.但对于成本低、体积小、应用灵活且用量极为巨大的单片机而言,因其结构简单,硬件资源十分有限,其汉字显示仍面对着捉襟见肘,力不从心的窘境.

目前单片机的汉字显示有三种基本方法.

①采用标准字库法.即将国标汉字库固人ROM中,将单片机的硬件和软件进行特别扩展后以显示汉字.众所周知,即使是16×16点阵标准字库,也须占用200KB以上的单元内存,而就目前主流5l系列单片机而言,最大寻址范围仅64KB,即使程序区与数据区合起来也仅128KB内存.因此,若不加特别的扩展设计,不要说检字程序和用户空间,仅字库都装不下.这种方法虽然可以方便地使用现成标准字库,但却需占用大量的硬件和软件资源,增加很大一部分成本和设计难度,所以不经常使用.

②字模直接固化法.即将所显示的汉字,依先后顺序将其字模一一从标准字库中提取后,重新固化,予以显示.此法虽为简捷,但只适于显示少量汉字,且字模的制取繁琐,软件的修改维护都很困难.

③带索引小字库法.即将欲显示文件中的汉字字模,从标准字库中逐一提取固化,制成小型字

库,并按其在小字库中的位置制成索引表,显示时从索引表查出其新的字模取码地址,取码显示.此方法虽比较灵活,可显示较多的汉字,但仍然局限于只能显示固定文件内容,且字模制取同样麻烦.

一种较新的单片机"汉字动态编码与显示方案"(见《单片机与嵌入式系统应用》杂志2003年第1期和第9期),实际上也是一种动态的"小字库"法,只是字库的制取,索引的编写及文件的改码皆由PC机自动完成,免去了繁琐的人工处理.

由上可见,目前单片机各种汉字显示方案均不理想.标准字库法,单片机不堪重负;而其它方法最大且又无法克服的缺点是,所显示文字皆有局限.显示内容也皆须专业人员设计而定,用户难于更改.这便极大地限制了单片机在各个领域的开拓和应用.究其原因,皆为单片机本身无汉卡,而这也正是我们致力于"51汉卡"开发的初衷.

2.13×14点阵汉字字模

为垫定"5l汉卡"的字型基础,首先开发成了l3×14点阵汉字字模.在目前通用的汉字字模中,最简单的是16×16点阵字模.在微型打字机中,也偶见有12×12点阵字模,但实用中不多见.字模点阵数直接决定着每一汉字所占单元内存值,能否在保证字模准确、美观的基础上,寻找一种较少的点阵字模呢?这便是我们最初的想法.于是我们经过反复选择比较,终于在国内首个推出了13×14点阵字模.此设计,一是基于我国汉字为方块字,故其行、列值需相近;二是汉字多有对称1生,故其列值宜奇不宜偶.设计实际表明,若行、列值很少,则难保证字模的准确性和美观性.?

13×14点阵字模,是以我国现行简化字为准,并在此基础上设计而成.与目前通用的汉字16×l6点阵字模相比,其准确性和美观性并不逊色.然而其单字所占内存却由32个单元降至26个单元;另外使得每个单字显示由原来的256个像素降至l82个像素,使显示成本和空间均减少近三分之一.100×200点阵LED字屏,可显示16×l6点阵汉字72个,而l3×14点阵汉字便可显示l05个,且显示效果并无太大差异.这无疑对单片机和嵌入式系统汉字显示产品的开发和应用,具有明显的经济价值和实用意义.

3.51单片机13×14点阵缩码汉卡

"51汉卡"依据我国的汉字特点和单片机的快速构字功能,在13×14点阵字模基础上,以缩码形式开发而成单片机汉卡的开发,应以目前通用的主流单片机为研发对象,还应在囊括国标一、二级汉字及常用字符的前提下,使内存占用必须降至主流单片机可寻址范围内,且需留有足够的检字程序和用户应用空间.另外,字模设计必须准确、美观.字模提取速度也必须满足实用要求."51汉卡"的开发正是依据原则,并达到了以上各项要求.

顾名思义,"51汉卡,即以MCS-51系列及其兼容单片机为研发对象.以51系列为代表的8位单片机,在过去、现在以及可以予见的将来,都将是嵌入式系统低端应用的主流机型.此乃业界专家的共识.

"51汉卡"囊括了"GB2312-80"国标字库的全部一、二级汉字,并增补汉字86个;同时包括了大、小英文字母、阿拉伯数字等160个常用字符和不到4KB的构字程序,却仅总共占用了不足66KB的内存.每字平均约占9.8个单元,相对于16×16点阵每字占32单兀内存而言,尚不到其三分之一.这对于具有相互独立的64KB程序区和64KB数据区的51系列单片机而言,若适当配置内存,可为检字程序和用户留出90%以上的程序空间及相当数量的数据空间,对于一般用户的应用,都将绰绰有余.

另外,为使"51汉卡''更便于使用和进一步节省内存,在上述基础上又开发成一套简化版本,删去了部分较偏僻的二级汉字.简化版本包括约5580个汉字,共占用内存58KB.实际上,按有关权威部门的统计,一般文本99%的文字是由2400个字写成的,因此使用简化版本,并配以简单的造字程序,一般亦可满足我们的使用要求.

"51汉卡"所用字模,即我们开发的完全可与16×16点阵字模媲美的I3×14点阵汉字字模.字

相关文档
最新文档