字库生成工具生成GBK编码
根据 GBK 编码的索引计算公式:index = (ch1 - 0x81) * 190 + (ch2 - 0x40) - (ch2 >= 0x80 ? 1 : 0) 或
index = (ch1 - 0x81) * 191 + (ch2 - 0x40) - (ch2 >= 0x80 ? 1 : 0)
汉字"中"在GBK中的编码位置应该是16293(每个区190个字符)或16378(每个区190个字符)。为什么使用STC生成的字库,“中”的位置是16379,请问计算公式是什么?
如图所示,按点位实现的 可以参考实验箱例程,结构体字库检索,这样字库可以乱序 DebugLab 发表于 2025-9-9 05:18
可以参考实验箱例程,结构体字库检索,这样字库可以乱序
你这种对单片机flash要求太大
我现在是要通过查找字库文件来显示汉字 索引 =(区码 - 0x81) * 191 + (位码 - 0x40) ;
“中”:区码为0xD6(214),位码为0xD0(208)
“中”的索引=(214 - 0x81)*191 + (208 - 0x40) = 16379
软件产生的字库自动将位码为0x7F的保留位填充为00
所以不需要额外对位码大于等于0x80进行特殊处理
zhp 发表于 2025-9-9 10:38
索引 =(区码 - 0x81) * 191 + (位码 - 0x40) ;
“中”:区码为0xD6(214),位码为0xD0(208)
“中”的 ...
好的,谢谢
页:
[1]