安富莱 STM32F103ZE-EK 开发板 安富莱电子 www.armfly.com
QQ:1295744630 Email : armfly@qq.com 第 1 页 共 3 页
中文点阵字库的使用方法
安富莱电子 armfly
2010-01-03
在嵌入式设备 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 个。
安富莱 STM32F103ZE-EK 开发板配套的光盘上收录一个 16 点阵的 GB18030 字库
(由于授权问题,这个字库不对外开放)。
下面是 GB18030 字库点阵的截图。
这个放大的汉字就是二级字库中最后一个汉字,这个字后面的汉字就属于 GB18030
特有的汉字了。估计大多数人一个都不认识。
我们来看看 GB18030 字库最后区域的汉字长得啥样子。
安富莱 STM32F103ZE-EK 开发板 安富莱电子 www.armfly.com
QQ:1295744630 Email : armfly@qq.com 第 2 页 共 3 页
汉字点阵在汉字库中的地址计算公式
汉字库种类繁多,但都是按照区位的顺序排列的。前一个字节为该汉字的区号,后一
个字节为该字的位号。每一个区
记录
混凝土 养护记录下载土方回填监理旁站记录免费下载集备记录下载集备记录下载集备记录下载
94 个汉字,位号则为该字在该区中的位置。
计算公式为: (94*(区号-1)+位号-1) * 一个汉字字模占用字节数
对于 16 点阵的字库,1 个汉字字模占用 32 字节。对于 12 点阵字库,字摸每行的位
数均补齐为 8 的整数倍,于是实际该字库的位长度是 16*12,即占用 24 字节。
我们在计算机中常用的汉字编码为汉字内码,不是区位码,需要进行转换。因此最终
的计算公式为:
ADDRESS = [(内码 1-0xa1) * 94 + (内码 2-0xa1)] * 32
这个计算结果是相对全角空格字符的相对地址。
16 点阵的数据
格式
pdf格式笔记格式下载页码格式下载公文格式下载简报格式下载
汉字的字型可由其点阵数据来
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
示。每个字型的点阵数据为 16×16(横行点数×纵列
点数),共 256 个二进制位,32 个字节。
汉字 16 点阵字型数据的 32 个字节排列次序是以 0 字节开始到 31 字节结束,均用十
六进制表示,其记录格式如下:
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
0 0 字节 1 字节
1
2
3
4
:
:
:
:
:
:
:
:
15 30 字节 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
行数
列数
安富莱 STM32F103ZE-EK 开发板 安富莱电子 www.armfly.com
QQ:1295744630 Email : armfly@qq.com 第 3 页 共 3 页
大家明白了点阵字库的排列原理,编程实现汉字显示就比较容易了。
下面再推荐给大家一个非常好用的工具,专门用于查看和
分析
定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析
国标点阵字库的软件。
这个程序仅支持 8 个字符的文件名,要求文件名的最后 4 位数字表示点阵的大小。
比 如 我 们 要 分 析 HZK16 文 件 , 可 以 将 文 件 名 修 改 HZKs1616.hz , 然 后 用
FONTSHOW.exe 程序打开。