STM32 ILI9341驱动TFTLCD(十)LCD显示汉字(补充)

接口/总线/驱动

1142人已加入

描述

上次介绍了GB2312的编码规则,但是没有说明具体怎么在生成的文件中查找对应的字模编码,所以对这部分内容进行补充。以16号GB2312字库为例。

如果要查找“汉”字,根据编码规则,先在串口打印出“汉”的十六进制数第一第二字节。

TFTLCD

第一字节为0xba,第二字节为0xba。

然后根据这两个字节计算区位码:

区码偏移字节量:

区码:0xba - 0xa1 = 0x19 = 25

   一个区94个位:25 * 94 = 2350

   一个位占32字节:2350 * 32 = 75200

区内位码偏移字节量:

位码:0xba - 0xa1 = 0x19 = 25

   一个位占32字节:25 * 32 = 800

区码偏移字节量加上区内位码偏移字节量得到总字节偏移量就可以找到“汉”在GB2312字库文件中的位置:

75200 + 800 = 76000 = 0x128e0

用UltraEdit打开生成的字模库文件,找到0x128e0处的32字节,即为“汉”的字模,可以看到和单字模生成软件生成的自摸完全一样。

单字模生成器生成的字模:

TFTLCD

字库生成器生成的字模:

TFTLCD

可以看到字库生成器生成的字模和单字模生成器生成的字模完全一样。对于其他汉字的字模查找方式可以按以上方法进行查找。

用这个方法可以判断字库生成器生成的字模是否正确,因为如果软件没破解或者出现Bug有可能生成错误的字库,所以把字库写入flash前有必要判断生成的字库是否正确。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分