读hzk32_HZK16字库文件的资料
关于
HZK16
字库文件的资料
...
UCDOS
中的
HZK16
字库是符合
GB2312
标准的
16×
16
点阵字库,
UCWIN GOLD 1.0
中的
HZK16.GBK
继续保持对
HZK16
的兼容性,但是另外还支持
GBK
字符,当然,存取字库的方式自然也
有些变化。
HZK16
用的很多,字库里的字体也很不错,但是汉字数目太大,常用的汉字有大几千个,加上不常用的
和对应的繁体字,总数在
2
万以上,
HZK16
的
GB2312-80
支持的汉字有
6763
个,符号
682
个。其中
一级汉字有
3755
个,按声序排列,二级汉字有
3008
个,按偏旁部首排列(至于排列方法,我倒不关注,
因为这主要是汉字输入法所要面临的问题,而不是点阵汉字显示关注的对象)。在很多场合是用不到这么
多汉字字模的,比如嵌入式系统的液晶显示屏或是像手机、
GBA
那样的个人电子通讯工具。有必要利用现
有的
HZK16
和
HZK16.GBK
文件中的部分字体,把他们提取出来做为己用。就算是需要使用整个
GB2312
、
GBK
字符集汉字,对这两个文件的了解也是必不可少的。
对于
HZK16
字库里的
16×
16
汉字(其实只用到了
16×
15
,即
16
行
15
列,最后
1
列是空白的,但是
作为
GBK
汉字,则使用了最后这一列)来说一共需要
256
个点来显示一个普通的汉字,那么共需要
32
个字节才能达到该目的。
首先,一个
GB2312
汉字是由两个字节编码的,范围为
A1A1~FEFE
。
A1-A9
为符号区,
B0
到
F7
为汉
字区。每一个区有
94
个字符(当然,这只是编码的许可范围,而不是这些编码都对应有字型,比如符号
区就有很多编码空白区域)。所以,当接受到了一个汉字编码譬如
“
鹿
”
字,如何在
HZK16
文件中找到它
对应的
32
个字节的字模数据呢。
计算方法如下:
C2H-A1H=21H
(
33D
区,因为汉字编码是从
A1
区开始的,所以文件最前面就是从
A1
区开始)
B9H-A1H=18H
(
24D
位,道理如上所述,这就是所谓的区位码)
21H×
5EH+18H=C36H
(
5EH
就是
94D
,
代表一个区有
94
个字符,
C36H
就是说这个字符在
HZK16
里是第
C36H
个)
C36H×
20H=186C0H
(
20H
就是
32D
,代表一个字符占
32
个字节,这里得到的
186C0H
就是
“
鹿
”
字在
HZK16
文件中的偏移地址,从这里开始之后的
32
个字节就是我们要寻找的字符字模)
----------------------------------
无敌分界线
----------------------------------
上面说过了
GB2312
文件所对应的
HZK16
文件,
存取数据是很简单的,
但是实际上
GB2312
中的
6763
个字符看起来很多,
实际使用的时候却经常会发现我们所要找的字符其实并不包含在里面,
确实,
GB2312
标准是
80
年制订的汉字字符集标准,只包括了常见的字符,如果我们需要使用更多的汉字,那就必须使
用
GBK
来代替它,当然使用的文件自然是
HZK16.GBK
了。
读hzk32_HZK16字库文件的资料相关推荐
- OpenType字库文件
OpenType字库文件 一个OpenType字库文件以表的格式包含有数据,这些数据包含一个TrueType或一个PostScript outline 字库.光栅化程序使用字库里包含的表中的数据来渲染 ...
- 求看下这个fnt字库文件
求大神看下这个fnt字库文件 网上查阅资料bmfont 生成的fnt和对应的png文件,但是这个fnt文件貌似由fnt和png合并构成,二进制文件头 不知道.bmf是不是特定的压缩格式.
- pymatgen读/写各种文件
PS:请见文末的打赏选项 pymatgen读/写各种文件 pymatgen是材料大数据计算的必备程序包了,其也作为API与materials project对接,可以批量下载自己想要的材料结构.性质, ...
- sql delete删除的数据怎么恢复_如何恢复按下Shift + DELETE键永久删除的文件和资料夹?...
简单删除和Shift+Delete永久删除 想删除电脑上的任何文件,有以下两种方式: ① 按「DELETE」键简单删除文件.在这种模式下,文件被移动到回收站.此时,如果我们想要恢复已删除的文件和资料夹 ...
- 全网最详细SpringBatch读(Reader)混合文件讲解
文章列表 一.读混合记录文件 1.FieldSetMapper实现 2.LineTokenizer实现 3.混合读reader实现类 4.读混合文件job配置 5.读混合文件processor 6.读 ...
- python库读取cif文件_Pymatgen读/写各种文件,pymatgen,读写
pymatgen读/写各种文件 pymatgen是材料大数据计算的必备程序包了,其也作为API与materials project对接,可以批量下载自己想要的材料结构.性质,它也提供了大量VASP计算 ...
- C 语言 边读 边写入文件
读入一个文本文件中的字符串,对给定的patten进行甄别并修改. 利用边甄别,边转换,边写入的办法实现 方法: 1. 把原文件改名,然后新建一个与原文件名相同的文件(目的文件),然后读取原文件,转换后 ...
- 点阵字体显示系列补记:将字库文件转换成数组形式
昨天写完几篇文章后觉得意犹未尽,我想想了,既然字库文件是二进制文件,完全可以转化为十六进制,存储在数组中,这样在寻找字符时就不用操作文件了,直接在内存中获取. 经过一番调研,证明这个思路是对的,是具有 ...
- Cortex字库文件使用
效果 字库文件 字库链接文件已经给出来了libfont.a,参考程序也是给出来的test.c 这个字库文件里面我们最关心的是Clean_Area和Display_characterX Clean_Ar ...
最新文章
- 网站Web服务器测试及优化参考
- GPT-3没有亲自上手,不如展望一下GPT-4?
- PHP关键字'var'有什么作用?
- mysql 1005_MYSQL使用错误 MYSQL中ERROR 1005
- 2019长安大学ACM校赛网络同步赛 L	XOR (规律,数位DP)
- Linux第三周作业
- python etree模块所有函数详解_Python3使用xml.dom.minidom和xml.etree模块儿解析xml文件,封装函数...
- Maven 3.0.5 安装和配置:
- 内存泄露Lowmemorykiller分析
- 优秀Java程序员的编程风格
- 使用case语句的3个诀窍
- ASP.NET Core 3.1 Web API和EF Core 5.0 中具有泛型存储库和UoW模式的域驱动设计实现方法
- dede手机站对应的php,Dede织梦(手机)移动端访问PC网址自动跳转对应m网址
- bzoj 3545: [ONTAK2010]Peaks Kruskal重构树
- [数据模型] 数据表三种关联的概述
- 《机器学习实战》完整总结
- 在Mac电脑上:更改移动硬盘的格式
- 解决vmware不能上网的问题
- shell脚本之批量删除文件
- JavaScript之继承和原型