任意大小汉字点阵字库(字模)的制作与生成 单片机GUI/STemwin

1、首先介绍一下汉字点阵在汉字库中的地址计算公式 :

汉字库种类繁多,但都是按照区位的顺序排列的。前一个字节为该汉字的区号,后一个字节为该字的位号。每一个区记录94个汉字,位号则为该字在该区中的位置。 计算公式为: (94*(区号-1)+位号-1) * 一个汉字字模占用字节数 对于16点阵的字库,1个汉字字模占用32字节。对于12点阵字库,字摸每行的位数均补齐为8的整数倍,于是实际该字库的位长度是16*12,即占用24字节。 我们在计算机中常用的汉字编码为汉字内码,不是区位码,需要进行转换。

因此最终的计算公式为: 

ADDRESS = [(内码1-0xa1) * 94 + (内码2-0xa1)] * 32 

这个计算结果是相对全角空格字符的相对地址。 

2、然后说一下制作软件:

这里使用的是PCtoLCD2002完美版来制作点阵字库,界面如下:

任意大小汉字点阵字库(字模)的制作与生成 单片机GUI/STemwin

设置输出格式:

任意大小汉字点阵字库(字模)的制作与生成 单片机GUI/STemwin

少量字模制作的设置:

任意大小汉字点阵字库(字模)的制作与生成 单片机GUI/STemwin

整个字库的制作:

1、先要准备好完整字库的.txt文件(这里以国标一级字库.txt为例),字库打开如下:

任意大小汉字点阵字库(字模)的制作与生成 单片机GUI/STemwin

软件设置(设置好后打开刚才的.txt字库——>生成即可):

任意大小汉字点阵字库(字模)的制作与生成 单片机GUI/STemwin

生成时候保存,这里是烧入外部flash中,所以保存成.bin格式

任意大小汉字点阵字库(字模)的制作与生成 单片机GUI/STemwin

至此,字库生成就可以进行调用,使用以上介绍的公式调用。

希望对大家有帮助