关于

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字库文件的资料相关推荐

  1. OpenType字库文件

    OpenType字库文件 一个OpenType字库文件以表的格式包含有数据,这些数据包含一个TrueType或一个PostScript outline 字库.光栅化程序使用字库里包含的表中的数据来渲染 ...

  2. 求看下这个fnt字库文件

    求大神看下这个fnt字库文件 网上查阅资料bmfont 生成的fnt和对应的png文件,但是这个fnt文件貌似由fnt和png合并构成,二进制文件头 不知道.bmf是不是特定的压缩格式.

  3. pymatgen读/写各种文件

    PS:请见文末的打赏选项 pymatgen读/写各种文件 pymatgen是材料大数据计算的必备程序包了,其也作为API与materials project对接,可以批量下载自己想要的材料结构.性质, ...

  4. sql delete删除的数据怎么恢复_如何恢复按下Shift + DELETE键永久删除的文件和资料夹?...

    简单删除和Shift+Delete永久删除 想删除电脑上的任何文件,有以下两种方式: ① 按「DELETE」键简单删除文件.在这种模式下,文件被移动到回收站.此时,如果我们想要恢复已删除的文件和资料夹 ...

  5. 全网最详细SpringBatch读(Reader)混合文件讲解

    文章列表 一.读混合记录文件 1.FieldSetMapper实现 2.LineTokenizer实现 3.混合读reader实现类 4.读混合文件job配置 5.读混合文件processor 6.读 ...

  6. python库读取cif文件_Pymatgen读/写各种文件,pymatgen,读写

    pymatgen读/写各种文件 pymatgen是材料大数据计算的必备程序包了,其也作为API与materials project对接,可以批量下载自己想要的材料结构.性质,它也提供了大量VASP计算 ...

  7. C 语言 边读 边写入文件

    读入一个文本文件中的字符串,对给定的patten进行甄别并修改. 利用边甄别,边转换,边写入的办法实现 方法: 1. 把原文件改名,然后新建一个与原文件名相同的文件(目的文件),然后读取原文件,转换后 ...

  8. 点阵字体显示系列补记:将字库文件转换成数组形式

    昨天写完几篇文章后觉得意犹未尽,我想想了,既然字库文件是二进制文件,完全可以转化为十六进制,存储在数组中,这样在寻找字符时就不用操作文件了,直接在内存中获取. 经过一番调研,证明这个思路是对的,是具有 ...

  9. Cortex字库文件使用

    效果 字库文件 字库链接文件已经给出来了libfont.a,参考程序也是给出来的test.c 这个字库文件里面我们最关心的是Clean_Area和Display_characterX Clean_Ar ...

最新文章

  1. 网站Web服务器测试及优化参考
  2. GPT-3没有亲自上手,不如展望一下GPT-4?
  3. PHP关键字'var'有什么作用?
  4. mysql 1005_MYSQL使用错误 MYSQL中ERROR 1005
  5. 2019长安大学ACM校赛网络同步赛 L XOR (规律,数位DP)
  6. Linux第三周作业
  7. python etree模块所有函数详解_Python3使用xml.dom.minidom和xml.etree模块儿解析xml文件,封装函数...
  8. Maven 3.0.5 安装和配置:
  9. 内存泄露Lowmemorykiller分析
  10. 优秀Java程序员的编程风格
  11. 使用case语句的3个诀窍
  12. ASP.NET Core 3.1 Web API和EF Core 5.0 中具有泛型存储库和UoW模式的域驱动设计实现方法
  13. dede手机站对应的php,Dede织梦(手机)移动端访问PC网址自动跳转对应m网址
  14. bzoj 3545: [ONTAK2010]Peaks Kruskal重构树
  15. [数据模型] 数据表三种关联的概述
  16. 《机器学习实战》完整总结
  17. 在Mac电脑上:更改移动硬盘的格式
  18. 解决vmware不能上网的问题
  19. shell脚本之批量删除文件
  20. JavaScript之继承和原型

热门文章

  1. 【SPSS】数据预处理基础教程(附案例实战)
  2. 音视频数据采集及单向传输的实现(海思3516EV200平台)
  3. 基于comsol软件弯曲单模光纤模拟仿真
  4. 解决达梦数据库DM8创建用户提示:“密码长处不符合要求”问题
  5. social network社交网络资料汇总
  6. matlab修改图像分辨率_matlab – 增加灰度图像的分辨率
  7. 大智慧公式系统:条件选股之技术指标选股
  8. 汽车减速器设计及三维建模
  9. java随机数代码解析,实例解析常用的java随机数生成办法
  10. 锐起无盘xp 1.5 试装手记(转)