在明白了内码和区位码之间的关系后,我们可以根据某个汉字的内码计算得到该汉字的区位码;再通过区位码计算得到该汉字的字模在汉字库表中的偏移地址;从此地址开始的连续32个字节就是该汉字的字模信息。
3.2 字模转换
图1中所示的汉字显示与字模存放的关系是PC机中的字模存储格式。而在单片机系统中,选择不同的液晶驱动器要求有不同的字模存储方式。比如我们在实际应用中,使用的是清华蓬远科贸公司的HD61202液晶驱动器。图5 指示了HD61202液晶驱动器所要求的字模存放与汉字显示的关系。图中标明了标出了第1、第2个字节和第31、第32个字节的存放位置。
造成汉字显示与字模存放有这样关系是因为不同的液晶驱动器有不同的扫描显示方式。所以,为了能够将汉字正确的显示出来,针对不同的液晶驱动要做相应的字模转化。字模转化可以自编一个转化函数来实现,在写入终端字库下载文件前将32个字节的字模按位转化为需要的格式,再按字节顺序存入下载文件。
经过转化之后,“大”字的字模(32个字节)变成:(32,32,32,32,32,32,160,127,0,64,64,32,16,12,3,0,160,32,32,32,32,48,32,0,1,6,8,16,32,96,32,0), 这就是存放在终端下载字库中的字模格式。
参考资料:
1:《单片机应用系统设计》 何立民 北京航空航天大学出版社 1994
2:《汉字编码标准与识别》