总汉字库字数 | |
索引字符串字数 |
本软件用于根椐本网站提供的LCD、OLED点阵字模数组和字库(即所需的所有汉字列表),生成索引数组,本数组由输入字符串对应字库(即所需的所有汉字列表)的ID组成。
原理说明:例如已知:总汉字库为“三贝计算器与电子设计点阵字模数组”(此字库由本网站提供的点阵字模软件生成,见下方相关计算器)
要成生字符串“电子设计”的索引数组,1)第1个输入框输入总汉字库“三贝计算器与电子设计点阵字模数组”。2)第2输入框输入“电子设计”,3)点击计算按钮,本软件输出“6,7,8,2”,其中,“6,7,8,2”为字符串“电子设计”在总汉字库中对应汉字的ID。
例如嵌入式开发过程中:总汉字库:
unsigned char const hz1616[][32]={
/* [HZK1616宋体],[去掉重复后]共15个汉字,[总汉字库]为:"三贝计算器与电子设点阵字模数组" */
/*-- ID:0,汉字:"三",GB2312编码:C8FD,对应点阵:宽x高=16x16,共32字节 --*/
0x00,0x00,0x00,0x08,0x7F,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x3F,0xF8,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0xFF,0xFE,0x00,0x00,0x00,0x00,
/*-- ID:1,汉字:"贝",GB2312编码:B1B4,对应点阵:宽x高=16x16,共32字节 --*/
0x00,0x10,0x1F,0xF8,0x10,0x10,0x11,0x10,0x11,0x10,0x11,0x10,0x11,0x10,0x11,0x10,
0x11,0x10,0x11,0x10,0x11,0x10,0x12,0x10,0x02,0x40,0x04,0x20,0x08,0x18,0x30,0x08,
……
};
在总汉字库中选取索引字库(索引数组),如下面所示:
u8 const str1[]={0,1,2,3,4,255}; //对应字符串为"三贝计算器",数组中的255用于判断数组是否结束,strlen()函数对数组不友好
u8 const str2[]={9,10,11,12,255}; //对应字符串为"点阵字模" ,数组中的255用于判断数组是否结束,strlen()函数对数组不友好
数组hzstr[0]对应值为6,即汉字“电”在总汉字库中对应的位置是6(ID从0开始),当点阵数为16*16时,每个汉字占用32个字节,即汉字“电”在总汉字库点阵数据中对应的16进制点阵数据为hzstr[0]*32~(hzstr[0]+1)*32。
此方法,可以减少汉字库占用的flash空间,本网站的点阵字库软件地生成点阵字库时,自动滤除重复部分,用户只需将所有用到的“汉字文字”输入输入框,即可生成无重复的汉字库,然后用本软件生成索引库(即索引数组)。不同的索引数组代表不同的“句子,字符串”。
相关计算器:
1)LCD/OLED汉字字模提取软件,GB2312中文点阵字模生成软件
下一篇: 管径、流速、流量计算公式与在线计算器
三贝计算网-23bei.com