中文点阵字库的使用方法 |
您所在的位置:网站首页 › 汉字库文件是什么 › 中文点阵字库的使用方法 |
中文点阵字库的使用方法 在嵌入式设备LCD上显示的汉字大多数都属于点阵汉字。常用的点阵字库来自UCDOS。大家可以去网上下载一个UCDOS的完全安装版本,里面可以找到很多点阵字库文件。下面几个字库文件是常用的: HZK12 : 12点阵汉字库(宽度x高度 = 12x12) ASC12 : 12点阵ASCII字库(宽度x高度 = 6x12) HZK16 : 16点阵汉字库(宽度x高度 = 16x16) 最常用的中文字库 ASC16 : 16点阵ASCII字库(宽度x高度 = 8x16)最常用的ASCII字库 HZK24 : 24点阵汉字库(宽度x高度 = 24x24)票据打印机用得较多 UCDOS的字库排列标准符合国标一、二级字库标准,即GB2312,汉字个数为6000多个。按照汉语拼音顺序排列,前面一部分是一级常用汉字大约2000多个,后面一部分是二级汉字大约4000多个。 大多数情况下,一二级字库就可以满足我们的需求。但是在某些特殊应用(比如显示每个人的姓名)中可能需要用到GB18030字库,该字库除了包括一、二级字库外还包含很多不常用的汉字,总汉字个数为27538个。 下面是GB18030字库点阵的截图。 这个放大的汉字就是二级字库中最后一个汉字,这个字后面的汉字就属于GB18030特有的汉字了。估计大多数人一个都不认识。 我们来看看GB18030字库最后区域的汉字长得啥样子。 汉字点阵在汉字库中的地址计算公式 汉字库种类繁多,但都是按照区位的顺序排列的。前一个字节为该汉字的区号,后一个字节为该字的位号。每一个区记录94个汉字,位号则为该字在该区中的位置。 计算公式为: (94*(区号-1)+位号-1) * 一个汉字字模占用字节数 对于16点阵的字库,1个汉字字模占用32字节。对于12点阵字库,字摸每行的位数均补齐为8的整数倍,于是实际该字库的位长度是16*12,即占用24字节。 我们在计算机中常用的汉字编码为汉字内码,不是区位码,需要进行转换。因此最终的计算公式为: ADDRESS = [(内码1-0xa1) * 94 + (内码2-0xa1)] * 32 这个计算结果是相对全角空格字符的相对地址。 16点阵的数据格式 汉字的字型可由其点阵数据来表示。每个字型的点阵数据为16×16(横行点数×纵列点数),共256个二进制位,32个字节。 汉字16点阵字型数据的32个字节排列次序是以0字节开始到31字节结束,均用十六进制表示,其记录格式如下: 举个具体的例子,大家一看就懂。 “啊”是汉字区第1个汉字,对应的数据为: 0x00,0x00,0x0E,0xFC,0xEA,0x08,0xAA,0x08, 0xAA,0xE8,0xAA,0xA8,0xAC,0xA8,0xAA,0xA8, 0xAA,0xA8,0xAA,0xA8,0xEA,0xE8,0xAA,0xA8, 0x0C,0x08,0x08,0x08,0x08,0x28,0x08,0x10, 大家明白了点阵字库的排列原理,编程实现汉字显示就比较容易了。 下面再推荐给大家一个非常好用的工具,专门用于查看和分析国标点阵字库的软件。 这个程序仅支持8个字符的文件名,要求文件名的最后4位数字表示点阵的大小。 比如我们要分析HZK16 文件,可以将文件名修改HZKs1616.hz,然后用FONTSHOW.exe程序打开。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |