点阵字库生成器使用说明
LED1616点阵的使用.

1. 8 位串行输入-并行输出移位寄存器 74HC595 的使用说明
74HC595 芯片是一种串入并出的芯片,在电子显示屏制作当中有广泛的应用。74HC595 使用一根输入 线(串行输入 8 位数据),并将该 8 位数据一次性并行输出。
74HC595 有一个 8 位输入移位寄存器和一个输出 8 位锁存器,分别由 SH_CP 和 ST_CP 两个时钟控制。 数据从 DS 引脚被逐位送入(高位在前,低位在后),在 SH_CP 的上升沿输入到 8 位输入移位寄存器。在 ST_CP 的上升沿被送入输出 8 位锁存器中,从输出引脚输出。如果没有 ST_CP 的上升沿,则输入的数据 会不断的从串行输出引脚(Q7’)被一位一位的输出。此外,74HC595 还有一个异步的低电平复位和使能 OE(低电平有效)控制引脚。
6
LED16 16 点阵的使用
单片机原理与应用
74HC164 和 74HC595 的区别 74HC164 和 74HC595 功能相仿,都是 8 位串行输入转并行输出移位寄存器。74HC164 的驱动电流(25mA) 比 74HC595 (35mA)的要小,14 脚封装,体积也小一些。 74595 的主要优点是具有输出锁存寄存器,在移位的过程中,输出端的数据可以保持不变。这在串行 速度慢的场合很有用处,数码管没有闪烁感。 与 164 只有数据清零端相比,595 还多有输出端时能/禁止控制端,可以使输出为高阻态。
74HC595 的引脚如图 5 所示。
5
LED16 16 点阵的使用
单片机原理与应用
图5
引脚说明
符号
引脚
描述
Q0…Q7
15, 1~7,
并行数据输出
GND
8地Biblioteka Q7’9串行数据输出
汉字字模点阵数据批量生成工具 3.1版 说明书

汉字字模点阵数据批量生成工具操作手册软件功能简介:汉字字模点阵数据批量生成工具3.1版支持 1024x1024以内的任意点阵汉字支持汉字所有Windows字体设置支持汉字大小调整支持汉字位置调整支持单个汉字字模生成支持海量汉字批量字模生成支持按汉语拼音排序支持横扫纵扫两种扫描方式生成数据支持 4-32bit多种数据长度分组选择支持字模数据取反支持汉语拼音自动命名C语言数组格式支持汉语拼音自动命名汇编语言标号DB表格式支持 24位黑白图片Logo图片点阵数据生成集成汉字自动识别功能,清除非汉字字符,提取汉字功能适合用于产生点阵LED大屏幕、LCD液晶汉字字模,可用作开发辅助工具,得到精减汉字库,节约有限的ROM空间资源。
也可用作带点阵LCD显示系统的汉化工具或其它需要汉字点阵数据的地方。
安装说明:1.安装与运行环境1)、奔腾133M以上的CPU。
2)、32M以上的内存。
3)、简体中文 Windows 98/NT/2000/XP/2003 操作系统。
4)、在使用本软件之前必须安装微软拼音输入法(在Office2k的安装盘MSIME文件夹里可以找到微软拼音输入法的安装文件)。
5)、用户必须以管理员登录PC操作系统,程序必须运行在管理员权限下。
2.安装说明1)、运行汉字字模点阵数据批量生成工具安装程序.exe。
2)、选中我接受许可证协议中的条款(如果您觉得许可证协议条款内容不太合理,可以不接受,并退出安装程序)。
3)、单击下一步,进入下一个安装画面,输入用户名及公司名称。
4)、单击下一步,进入下一个安装画面,在这里直接单击下一步将把程序安装在默认路径下。
单击更改按钮更改安装路径。
5)、继续单击下一步,进入下一个安装画面,单击安装按钮进行软件的安装。
6)、单击完成按钮完成安装。
使用说明:1.得到精减字库在程序上方工具条上有一个横的长文本输入框,用户可以手工把需要的汉字输入,输入的汉字会自动添加到右边字库集文本框。
一种lvgl使用点阵字库的方法

一种lvgl使用点阵字库的方法一种lvgl使用点阵字库的方法介绍LVGL是一个开源的嵌入式图形库,提供了丰富的图形用户界面(GUI)功能。
在开发嵌入式设备的过程中,通常需要使用字库来显示文本内容。
本文将介绍一种使用点阵字库在LVGL中显示文本的方法。
选择点阵字库在使用LVGL显示文本之前,首先需要选择适用的点阵字库。
点阵字库是由一系列的点阵字符组成的,每个字符由一定数量的点阵组成,使用这些点阵可以绘制出字符的形状。
可以根据需求选择不同的点阵字库,如宋体、华文楷体等。
准备点阵字库文件选择好点阵字库后,需要准备相关的字库文件。
点阵字库文件通常以字库名称作为文件名,并以扩展名为.bdf或.c的格式保存。
如果字库文件没有提供,可以使用字库生成工具生成对应的字库文件。
导入点阵字库文件在LVGL中导入点阵字库文件非常简单。
可以按照以下步骤进行操作:1.将点阵字库文件复制到LVGL项目的字库文件夹中。
2.在LVGL的配置文件中添加对应的字库文件路径。
3.在代码中引入相关的头文件,并使用lv_font_add()函数将字库添加到LVGL中。
使用点阵字库绘制文本完成点阵字库的导入后,就可以使用它来绘制文本了。
可以按照以下步骤进行操作:1.创建LVGL的文本对象,使用lv_label_create()函数。
2.使用lv_label_set_text()函数设置文本内容。
3.使用lv_label_set_style()函数设置文本的样式,如字体、颜色等。
4.将文本对象添加到LVGL的显示对象中,使用lv_obj_add_child()函数。
示例代码下面是一个简单的示例代码,演示了如何使用点阵字库在LVGL中显示文本:#include "lvgl/"#include "fonts/arial_" // 导入点阵字库文件int main(void) {lv_init();lv_disp_drv_t disp_drv;lv_disp_drv_init(&disp_drv);// 初始化显示设备lv_disp_t *disp = lv_disp_drv_register(&disp_drv);// 注册显示设备lv_obj_t *label = lv_label_create(lv_scr_act(), NUL L);// 创建文本对象lv_label_set_text(label, "Hello LVGL!");// 设置文本内容lv_label_set_style(label, LV_LABEL_STYLE_MAIN, &aria l_16);// 设置文本样式为点阵字库arial_16lv_obj_align(label, NULL, LV_ALIGN_CENTER, 0, 0);// 居中对齐文本对象while (1) {lv_task_handler();// LVGL任务处理}return 0;}总结本文介绍了一种在LVGL中使用点阵字库的方法。
中文点阵字库的使用方法(安富莱电子)

中文点阵字库的使用方法安富莱电子 armfly2010-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字库最后区域的汉字长得啥样子。
汉字点阵在汉字库中的地址计算公式汉字库种类繁多,但都是按照区位的顺序排列的。
前一个字节为该汉字的区号,后一个字节为该字的位号。
每一个区记录94个汉字,位号则为该字在该区中的位置。
计算公式为: (94*(区号-1)+位号-1) * 一个汉字字模占用字节数对于16点阵的字库,1个汉字字模占用32字节。
点阵汉字的原理及应用

点阵汉字的原理及应用1. 点阵汉字的概述点阵汉字是通过一系列的点阵来表示汉字的一种方法。
每个点阵都代表了一个汉字的一个笔画或者一个组件。
通过将这些点阵组合在一起,我们可以呈现出完整的汉字。
2. 点阵汉字的原理点阵汉字的原理可以分为两个步骤:字形生成和显示。
2.1 字形生成字形生成是指根据汉字的笔画顺序和结构,在点阵上绘制出每个笔画的轮廓。
这可以通过以下步骤完成: 1. 根据汉字的笔画顺序确定每个笔画的起始点和结束点。
2. 根据笔画的形状,确定每个笔画的拐角和曲线。
3. 将每个笔画的拐角和曲线连接起来,形成字形的轮廓。
4. 将字形的轮廓转化为点阵,每个点表示一个像素。
2.2 显示显示是指将生成的点阵汉字在显示设备上呈现出来。
这可以通过以下步骤完成:1. 将点阵汉字发送给显示设备。
2. 在显示设备上按照点阵的位置和颜色信息,点亮对应的像素。
3. 重复上述步骤,直到所有点阵汉字都被显示出来。
3. 点阵汉字的应用点阵汉字广泛应用于各种显示设备和软件中,以下是几个常见的应用领域:3.1 数码产品在数码产品中,点阵汉字常用于显示屏、小型计算器、电子手表等设备的界面上。
通过点阵汉字,用户可以方便地查看和输入文字信息。
3.2 广告牌和标志在广告牌和标志中,点阵汉字可以用于显示商店名称、产品标语等信息。
通过使用点阵汉字,可以将文字信息以更加醒目和吸引人的方式展示出来。
3.3 字符识别在字符识别领域,点阵汉字可以用于机器视觉系统中的文字识别。
通过将图像中的文字转化为点阵汉字,可以方便地对文字进行处理和识别。
3.4 手写输入在智能手机和平板电脑等设备中,点阵汉字可用于手写输入法。
用户可以通过手指在设备屏幕上划出汉字的笔画,系统会自动将笔画转化为点阵汉字,从而实现输入汉字的功能。
3.5 打印和排版在打印和排版领域,点阵汉字可用于生成高质量的印刷品。
通过将文字转化为点阵汉字,可以保证文字在不同尺寸和分辨率的输出设备上都能显示清晰和精确。
点阵字库生成的原理

所有的汉字或者英文都是下面的原理,由左至右,每8个点占用一个字节,最后不足8个字节的占用一个字节,而且从最高位向最低位排列。
生成的字库说明:(以12×12例子)一个汉字占用字节数:12÷8=1····4也就是占用了2×12=24个字节。
编码排序A0A0→A0FE A1A0→A2FE依次排列。
以12×12字库的“我”为例:“我”的编码为CED2,所以在汉字排在CEH-AOH=2EH区的D2H-A0H=32H个。
所以在12×12字库的起始位置就是[{FE-A0}*2EH+32H]*24=104976开始的24个字节就是我的点阵模。
其他的类推即可。
英文点阵也是如此推理。
51单片机的13×14点阵缩码汉卡我们历时数载,开发成"51单片机13×14点阵缩码汉卡",适用于目前国内外应用最为广泛的MCSX-51及其兼容系列单片机.与此同时,还开发了13×14点阵汉字字模.13×14点阵字模,可完全与目前通用的16×16点阵汉字字模媲美,其在单片机和嵌入式系统的汉字显示应用中也具有明显的经济价值和实用意义.1.单片机目前的汉字显示信息交流的最主要方式之一即文字交流,但由于我国方块汉字数量繁多,构形迥异,使汉字显示一直是我国计算机普及的障碍.随着计算机技术的迅速发展,PC机的汉字显示已不成问题.但对于成本低、体积小、应用灵活且用量极为巨大的单片机而言,因其结构简单,硬件资源十分有限,其汉字显示仍面对着捉襟见肘,力不从心的窘境.目前单片机的汉字显示有三种基本方法.①采用标准字库法.即将国标汉字库固人ROM中,将单片机的硬件和软件进行特别扩展后以显示汉字.众所周知,即使是16×16点阵标准字库,也须占用200KB以上的单元内存,而就目前主流5l系列单片机而言,最大寻址范围仅64KB,即使程序区与数据区合起来也仅128KB内存.因此,若不加特别的扩展设计,不要说检字程序和用户空间,仅字库都装不下.这种方法虽然可以方便地使用现成标准字库,但却需占用大量的硬件和软件资源,增加很大一部分成本和设计难度,所以不经常使用.②字模直接固化法.即将所显示的汉字,依先后顺序将其字模一一从标准字库中提取后,重新固化,予以显示.此法虽为简捷,但只适于显示少量汉字,且字模的制取繁琐,软件的修改维护都很困难.③带索引小字库法.即将欲显示文件中的汉字字模,从标准字库中逐一提取固化,制成小型字库,并按其在小字库中的位置制成索引表,显示时从索引表查出其新的字模取码地址,取码显示.此方法虽比较灵活,可显示较多的汉字,但仍然局限于只能显示固定文件内容,且字模制取同样麻烦.一种较新的单片机"汉字动态编码与显示方案"(见《单片机与嵌入式系统应用》杂志2003年第1期和第9期),实际上也是一种动态的"小字库"法,只是字库的制取,索引的编写及文件的改码皆由PC机自动完成,免去了繁琐的人工处理.由上可见,目前单片机各种汉字显示方案均不理想.标准字库法,单片机不堪重负;而其它方法最大且又无法克服的缺点是,所显示文字皆有局限.显示内容也皆须专业人员设计而定,用户难于更改.这便极大地限制了单片机在各个领域的开拓和应用.究其原因,皆为单片机本身无汉卡,而这也正是我们致力于"51汉卡"开发的初衷.2.13×14点阵汉字字模为垫定"5l汉卡"的字型基础,首先开发成了l3×14点阵汉字字模.在目前通用的汉字字模中,最简单的是16×16点阵字模.在微型打字机中,也偶见有12×12点阵字模,但实用中不多见.字模点阵数直接决定着每一汉字所占单元内存值,能否在保证字模准确、美观的基础上,寻找一种较少的点阵字模呢?这便是我们最初的想法.于是我们经过反复选择比较,终于在国内首个推出了13×14点阵字模.此设计,一是基于我国汉字为方块字,故其行、列值需相近;二是汉字多有对称1生,故其列值宜奇不宜偶.设计实际表明,若行、列值很少,则难保证字模的准确性和美观性.?13×14点阵字模,是以我国现行简化字为准,并在此基础上设计而成.与目前通用的汉字16×l6点阵字模相比,其准确性和美观性并不逊色.然而其单字所占内存却由32个单元降至26个单元;另外使得每个单字显示由原来的256个像素降至l82个像素,使显示成本和空间均减少近三分之一.100×200点阵LED字屏,可显示16×l6点阵汉字72个,而l3×14点阵汉字便可显示l05个,且显示效果并无太大差异.这无疑对单片机和嵌入式系统汉字显示产品的开发和应用,具有明显的经济价值和实用意义.3.51单片机13×14点阵缩码汉卡"51汉卡"依据我国的汉字特点和单片机的快速构字功能,在13×14点阵字模基础上,以缩码形式开发而成单片机汉卡的开发,应以目前通用的主流单片机为研发对象,还应在囊括国标一、二级汉字及常用字符的前提下,使内存占用必须降至主流单片机可寻址范围内,且需留有足够的检字程序和用户应用空间.另外,字模设计必须准确、美观.字模提取速度也必须满足实用要求."51汉卡"的开发正是依据原则,并达到了以上各项要求.顾名思义,"51汉卡,即以MCS-51系列及其兼容单片机为研发对象.以51系列为代表的8位单片机,在过去、现在以及可以予见的将来,都将是嵌入式系统低端应用的主流机型.此乃业界专家的共识."51汉卡"囊括了"GB2312-80"国标字库的全部一、二级汉字,并增补汉字86个;同时包括了大、小英文字母、阿拉伯数字等160个常用字符和不到4KB的构字程序,却仅总共占用了不足66KB的内存.每字平均约占9.8个单元,相对于16×16点阵每字占32单兀内存而言,尚不到其三分之一.这对于具有相互独立的64KB程序区和64KB数据区的51系列单片机而言,若适当配置内存,可为检字程序和用户留出90%以上的程序空间及相当数量的数据空间,对于一般用户的应用,都将绰绰有余.另外,为使"51汉卡''更便于使用和进一步节省内存,在上述基础上又开发成一套简化版本,删去了部分较偏僻的二级汉字.简化版本包括约5580个汉字,共占用内存58KB.实际上,按有关权威部门的统计,一般文本99%的文字是由2400个字写成的,因此使用简化版本,并配以简单的造字程序,一般亦可满足我们的使用要求."51汉卡"所用字模,即我们开发的完全可与16×16点阵字模媲美的I3×14点阵汉字字模.字模提取速度是我们最为关心的问题之一.经测试及实际使用表明,"51汉卡''的提模速度完全可满足单片机汉字显示的实用要求.我们使用INTEL公司MCS-51经典系列87C51单片机在24MHz频率下测试,平均字模提取速度为2.1ms/字.因人的视觉暂留时间为0.1s,无论理论还是实际使用都表明,50字字模提取并显示,并无迟滞和待机之感.即使在1?2MHz频率下,20字取模,即点即出,在一般拼音检字和少量汉字显示中,完全可满足使用要求.随着单片机技术的迅速发展,目前,INTEL公司、Atmel 公司、philips公司、我国台湾华邦等公司生产的MCS-51兼容单片机时钟频率可达33MHz,增强型可达40MHz,以至达60MHz;现市售的"ST C89LE"系列单片机,最高频率可达90MHz.这些芯片都完全能与MCS-51芯片兼容,对于更高需求的场合,更新升级也十分简便.另外,在单片机和嵌入式系统中,文字显示速度要求并不高,只要满足换屏时的视觉要求即可.其汉字显示字数,一般也不太多.如用LCD显示屏,128×64点阵,才显示32个字;192×64点阵才显48个字;即使使用l3×14点阵字模,满屏也才56个汉字.4."51汉卡"设计依据及说明"51汉卡"设计依据是,我国汉字虽然数量繁多,字型各异,但其中复合结构者占大部分,并素有"偏旁取义,正字取音"之说.如"寸"字与不同偏旁可组成"村"、"付"、"讨"、"守"、"过"等字.因此"51汉卡"除单结构字基本以全码设计外,复台结构字多用相应的单体字及其偏旁,以结构代码写成.利用单片机快速的单元积木式构字程序,便可迅速生成字模代码.这既保证了提码速度,又节省了大量的汉卡内存.有关"51汉卡"的几点说明如下:①凡汉字库中简、繁体字都有的用简体.如"後"以"后"代,"馀"以"余"代等;②《新华字典》未收入字,多未收入,如"酏"、"鼽"等字,但"婧"、"弪"等字仍收入;③对于多体字,一般以常用字代,如"摺"以"折"代,"镟"以"旋,代等,但"吒"不以"咤"代,"雠"不以"仇"代等;④对通常已由其它字取代的字,都以这些字代替,如"岽"以"东"代,"肛''以"船"代等;⑤二级汉字中,不单独构成汉字的偏旁未收入;⑥依据名篇名著,生活用语等,增补汉字86个;⑦收编大、小写英文字母、阿拉伯数字、标点符号等各种常用字符160个.5."51单片机汉卡"应用举例利用"51单片机汉卡",将使51系列单片机的汉字显示轻而易举,并可大为降低成本、体积和设计开发的难度,为单片机在生产控制、信息通信、文化教育和日常生活等领域,特别是计算机终端和手持产品的开发提供极大的便利和支持.?我们现已初步开发成"51汉卡"的"区位码输入法"和"拼音输入法,检字程序,并利用"51汉卡"成功地开发了带有廉价单片机控制器的LED汉字显示屏.这不仅大幅度降低了成本费用.而且用户可以通过单片机控制器,随心所欲地改变显示内容.51硬件设计CPU--87C51、12MHz晶振.程序存储器一1片EPROM?27C512.数据存储器一1片EPROM?27C512;1片EEPROM28C64A;1片6116.控制器显示屏一LCD?HY一19264B(深圳秋田视佳实业有限公司).LED屏选240×16点阵.本系统用标准小键盘检字,一次可予选4000字;控制器LCD满屏显示l3×14点阵汉字56个;LED屏满屏显示汉字19个.地址分配及用途如表l所列.5.2程序设计框图程序设计流程如图1所示.本系统采用12MHz晶振,若LCD取满屏56字,换屏时有约0.1s 的延时,这对人的实际视觉并无大影响.标准点阵汉字字库芯片1 概述GT23L24M1W是一款内含24X24点阵的汉字库芯片,支持GB18030国标汉字(含有国家信标委合法授权)及ASCII字符.排列格式为横置横排.用户通过字符内码,利用本手册提供的方法计算出该字符点阵在芯片中的地址,可从该地址连续读出字符点阵信息.1.1 芯片特点●数据总线: SPI 串行总线接口PLII 精简地址并行总线接口●点阵排列方式:字节横置横排访问速度:SPI 时钟频率:20MHz(max.)PLII 访问速度:130ns(max.) @3.3V●工作电压:2.7V~3.6V●电流:工作电流:12mA待机电流:10uA●封装:SO20W●尺寸(SO20W):12.80mmX10.30mm●工作温度:-20℃~85℃(SPI 模式下);-10℃~85℃(PLII 模式下)2.2 SPI 接口引脚描述串行数据输出(SO):该信号用来把数据从芯片串行输出,数据在时钟的下降沿移出.串行数据输入(SI):该信号用来把数据从串行输入芯片,数据在时钟的上升沿移入.串行时钟输入(SCLK):数据在时钟上升沿移入,在下降沿移出.片选输入(CS#):所有串行数据传输开始于CE#下降沿,CE#在传输期间必须保持为低电平,在两条指令之间保持为高电平.总线挂起输入(HOLD#):2.3 SPI 接口与主机接口电路示意图SPI 与主机接口电路连接可以参考下图(#HOLD管脚建议接2K 电阻3.3V 拉高).若是采用系统电压为5V的,则需要进行电平转换匹配连接GT23 芯片,可以参考下图(#HOLD 管脚建议接2K 电阻3.3V 拉高).2.4 PLII 接口引脚描述2.5 PLII 接口与主机接口电路示意图SPI/PLII_SEL(管脚内部有100K 上拉电阻)接地,字库芯片选择PLII 接口模式,与主机接口电路连接可以参考下图.2.6 PLII 总线接口寻址说明在PLII 总线模式下,芯片内部有3个地址寄存器,主机需要把要读取数据的地址写入这3个地址寄存器,然后再从数据寄存器中读出数据.主机每读一次数据寄存器,芯片内部的地址寄存器会自动增一,从而使主机只写一次首地址,就可以连续读取数据.3 字库调用方法3.1 汉字点阵排列格式每个汉字在芯片中是以汉字点阵字模的形式存储的,每个点用一个二进制位表示,存1的点,当显示时可以在屏幕上显示亮点,存0的点,则在屏幕上不显示.点阵排列格式为横置横排:即一个字节的高位表示左面的点,低位表示右面的点(如果用户按word mode读取点阵数据,请注意高低字节的顺序),排满一行的点后再排下一行.这样把点阵信息用来直接在显示器上按上述规则显示,则将出现对应的汉字.3.1.1 24X24点汉字排列格式24X24 点汉字的信息需要72个字节(BYTE 0 – BYTE 71)来表示.该24X24 点汉字的点阵数据是横置横排的,其具体排列结构如下图:命名规则:最大字符集及字数S:GB2312 6,763汉字M:GB18030 27,484汉字T:GB12345 6,866汉字BIG5 5,401 / 13,060汉字U:Unicode V3.0 27,484汉字。
汉字点阵字库原理详解+例程

汉字点阵字库原理一、汉字编码1. 区位码在国标GD2312—80 中规定,所有的国标汉字及符号分配在一个94 行、94 列的方阵中,方阵的每一行称为一个“区”,编号为01 区到94 区,每一列称为一个“位”,编号为01 位到94位,方阵中的每一个汉字和符号所在的区号和位号组合在一起形成的四个阿拉伯数字就是它们的“区位码”。
区位码的前两位是它的区号,后两位是它的位号。
用区位码就可以唯一地确定一个汉字或符号,反过来说,任何一个汉字或符号也都对应着一个唯一的区位码。
汉字“母”字的区位码是3624,表明它在方阵的36 区24 位,问号“?”的区位码为0331,则它在03区3l位。
一级汉字16-55区二级汉字56-87区三级汉字1-9区空闲未用10-15区2. 机内码汉字机内码,又称“汉字ASCII码”,简称“内码”,汉字的机内码是指在计算机中表示一个汉字的编码。
机内码与区位码稍有区别。
如上所述,汉字区位码的区码和位码的取值均在1~94 之间,如直接用区位码作为机内码,就会与基本ASCII码混淆。
为了避免机内码与基本ASCII码的冲突,需要避开基本ASCII码中的控制码(00H~1FH),还需与基本ASCII码中的字符相区别。
为了实现这两点,可以先在区码和位码分别加上20H,在此基础上再加80H(此处“H”表示前两位数字为十六进制数)。
经过这些处理,用机内码表示一个汉字需要占两个字节,分别称为高位字节和低位字节,这两位字节的机内码按如下规则表示:高位字节= 区码+ 20H + 80H(或区码+ A0H)低位字节= 位码+ 20H + 80H(或位码+ AOH)由于汉字的区码与位码的取值范围的十六进制数均为01H~5EH(即十进制的01~94),所以汉字的高位字节与低位字节的取值范围则为A1H~FEH(即十进制的161~254)。
例如,汉字“啊”的区位码为1601,区码和位码分别用十六进制表示即为1001H,它的机内码的高位字节为B0H,低位字节为A1H,机内码就是B0A1H。
hzk16字库用法

hzk16字库用法hzk16字库是一种汉字库,主要用于嵌入式系统、字库生成工具以及一些特定应用场景下使用。
它是由HZKText文件和HZK16文件组成的,其中HZKText文件是一个文本文件,存储了汉字的拼音和Unicode编码;HZK16文件是一个二进制文件,存储了汉字的点阵数据。
在使用hzk16字库之前,我们需要明确自己的需求以及所处的应用环境。
下面我将分别从文件格式、字库生成工具和嵌入式系统中使用hzk16字库三个方面来详细介绍其用法。
一、文件格式1. HZKText文件格式:HZKText文件是一个文本文件,其数据格式为"unicode编码汉字拼音"。
可以使用基础文件操作函数来读取和处理HZKText文件。
这个文件可以用于将汉字和对应的拼音关联起来,方便后续的字库生成或者其他相关操作。
2. HZK16文件格式:HZK16文件是一个二进制文件,存储了汉字的点阵数据。
每个汉字的点阵数据占据16x16的矩阵,每个字节代表一个像素,值为0代表该像素点亮,值为1代表该像素点熄灭。
使用HZK16文件可以直接获取到每个汉字的点阵数据,方便在嵌入式系统中绘制汉字。
二、字库生成工具HZK16字库的生成工具可以将HZKText文件转换为HZK16文件,也可以直接生成HZK16文件。
字库生成工具的使用方式可以根据具体的工具来进行操作。
一般会提供一个命令行或者图形界面来进行交互,用户可以选择输入HZKText 文件的路径,然后选择输出HZK16文件的路径,运行生成命令即可完成字库生成。
三、嵌入式系统中使用hzk16字库在嵌入式系统中使用hzk16字库的方式主要有两种:静态方式和动态方式。
1. 静态方式:静态方式是指将HZK16字库文件直接放置在嵌入式系统的存储介质中,如FLASH。
在需要使用汉字的地方,通过读取HZK16文件中对应汉字的点阵数据来绘制汉字。
这种方式的优点是字库数据直接存储在系统中,不需要额外的处理,速度较快。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第 6 页 共 11 页
易木雨软件工作室 / 原主页 /
字符,其中汉字占 6763 个。GB2312 规定<对任意一个图形字符都采 用两个字节表示,每个字节均采用七位编码表示>,习惯上称第一个 字节为<高字节>,第二个字节为<低字节>。GB2312-80 包含了大部 分常用的一、二级汉字,和 9 区的符号。该字符集是几乎所有的中文 系统和国际化的软件都支持的中文字符集,这也是最基本的中文字符 集。其编码范围是高位 0xa1-0xfe,低位也是 0xa1-0xfe;汉字从 0xb0a1 开始,结束于 0xf7fe。
4、 其他软件 ………………………………………………… 10
5、 关于本工作室 …………………………………………… 11
第 2 页 共 11 页
易木雨软件工作室 / 原主页 /
一、 软件介绍 在开发嵌入式系统时,需要显示不同大小或类型字体的汉字。显
GB2312 将代码表分为 94 个区,对应第一字节(0xa1-0xfe);每 个区 94 个位(0xa1-0xfe),对应第二字节,两个字节的值分别为区号 值和位号值加 32(2OH),因此也称为区位码。01-09 区为符号、数 字区,16-87 区为汉字区(0xb0-0xf7),10-15 区、88-94 区是有待进 一步标准化的空白区。GB2312 将收录的汉字分成两级:第一级是常 用汉字计 3755 个,置于 16-55 区,按汉语拼音字母/笔形顺序排列; 第二级汉字是次常用汉字计 3008 个,置于 56-87 区,按部首/笔画顺 序排列。故而 GB2312 最多能表示 6763 个汉字。 3.3 GBK
如不去考虑特殊符号,及后来的七个扩充字,TW-BIG5 的排序 方式如下。将所有的字分成两大群:常用字区与次常用字区,每一个 字区分别用笔画来排序,同一个笔画的字,依部首来排。TW-BIG5 每 个字由两个字节组成,其第一字节编码范围为 0xA1~0xF9,第二字节 编码范围为 0x40~0x7E 与 0xA1~0xFE,总计收入 13868 个字 (包括 5401 个常用字、7652 个次常用字、7 个扩充字、以及 808 个各式符 号)。
然,对于嵌入式系统,不太可能使用矢量字体,在这种情况下,点阵 字体就显现出了它的优点。
本软件可以在 WINDOWS 系统下生成任意点阵大小的 ASCII, GB2312(简体中文)、GBK(简体中文)、BIG5(繁体中文)、HANGUL(韩 文)、SJIS(日文)、Unicode 以及泰文,越南文、俄文、乌克兰文,拉 丁文,8859 系列等共二十几种编码的字库,不但支持生成二进制文 件格式的文件,也可以生成 BDF 文件,还支持生成图片功能,并支 持横向,纵向等多种扫描方式,且扫描方式可以根据用户的需求进行 增加。
第 7 页 共 11 页
易木雨软件工作室 / 原主页 /
(0x7f-0x40+0xff-0x80)即可。如果第二个字节小于 0x7f 则减去 0x40, 如果第二个字节大于等于 0x80 则减去 0x41。 3.4 BIG5
Unicode 码 : 国 际 标 准 组 织 于 1984 年 4 月 成 立 ISO/IEC JTC1/SC2/WG2 工作组,针对各国文字、符号进行统一性编码。1991 年美国跨国公司成立 Unicode Consortium,并于 1991 年 10 月与 WG2 达成协议,采用同一编码字集。目前 Unicode 是采用 16 位编码体系,
目录
1、 软件简介
…………………………………………………3
2、 界面使用说明 …………………………………………………4
3、 编程帮助
…………………………………………………6
3.1 编码介绍 ………………………………………………6
3.2 GB2312 ………………………………………………6
3.3 GBK …………………………………………………7
易木雨软件工作室 / 原主页 /
点阵字库生成器
V3.5
使 用 说 明
易木雨软件工作室 二○○七年一月
第 ห้องสมุดไป่ตู้ 页 共 11 页
易木雨软件工作室 / 原主页 /
3.4 BIG5 …………………………………………………8
3.5 UNICODE ……………………………………………8
3.6 HANGUL …………………………………………… 9
3.7 Shift-JIS(即 SJIS) ………………………………… 9
3.8 UHC ………………………………………………… 10
第 5 页 共 11 页
易木雨软件工作室 / 原主页 /
20、创建 根据不同的编码,将有不同的选择,如 ASCII 编码的可以 创建为一整张图片,也可以创建为二进制的文件。
三、 编程帮助 3.1 编码介绍
在微软的主页对部分的编码有比较详细的列表。大家可以参考一 下,地址:/globaldev/reference/WinCP.mspx。 3.2 GB2312
GB2312 码是中华人民共和国国家汉字信息交换用编码,全称《信 息交换用汉字编码字符集--基本集》,由国家标准总局发布,1981 年 5 月 1 日实施,通行于大陆。新加坡等地也使用此编码。
GBK 对 GB2312 进行了扩展。第一字节为 0x81~0xFE,第二字 节分两部分,一是 0x40~0x7E,二是 0x80~0xFE。其中和 GB2312 相 同的区域,字完全相同。扩展部分大概是按部件(部首)和笔顺(笔画) 从 GB13000 中取出再排列入 GBK 中。
在我的点阵字库中定位方法如下。第一个字节减去 0x81,则是 正 确 的 区 位 , 每 个 区 的 大 小 要 根 据 每 个 字 所 占 用 的 字 节 × 190
第 8 页 共 11 页
易木雨软件工作室 / 原主页 /
其字符集内容与 ISO10646 的 BMP(Basic Multilingual Plane)相同。 Unicode 于 1992 年 6 月通过 DIS(Draf International Standard),目前 版本 V2.0 于 1996 公布,内容包含符号 6811 个,汉字 20902 个,韩 文拼音 11172 个,造字区 6400 个,保留 20249 个,共计 65534 个。 3.6 HANGUL
第 4 页 共 11 页
易木雨软件工作室 / 原主页 /
9、小字库 此选项只有在 GBK 编码的时候才有。并且只支持简体中 文的操作系统。选中此选项后,将会弹出一个文本输入对话框,软件 将根据您输入的汉字,按顺序输出点阵字库。 10、横向/纵向偏移 由于某些字体并不是非常的标准,或者是一些 艺术字体,他并不是从标准的地址进行描绘,可能会有所偏差,如果 有此现象,可以修改此处,使之适应项目需要。 11、预览字符编码设定 此处最主要的功能就是在大家创建字库前可 以先检查字库的质量,一是看字符是否正确,二是看字体是否好看, 当然也可以在生成字库后来查询点阵字库生成的是否相同。 12 、 图 片 起 始 字 符 串 此 处 是 更 改 图 片 的 文 件 名 。 默 认 为 CHAR_XXXX.BMP,其中 CHAR_是可以根据这个来改变的。 13、自定义范围 此选项只有在 unicode 编码的情况下有效,比如只 想生成 UNICODE 中的汉字部分,就是从 4E00-9FFF。如果是想生成 其他的文本也是可以依次类推的。 14、模式 选择字库生成的模式,目前提供了四种模式。 15、图片存储目录 可以更改创建图片的位置。 16、反色 将图片的前景色和背景色调换。 17、自动过滤 主要是自动过滤掉没有字符或者非有效字符的部分, 使之不创建图片。 18、注册 点击开始注册本软件。 19、颜色设置 点击此处可以设置文字的前景色和背景色,此处主要 为生成图片用。
字符编码就是以二进制的数字来对应字符集的字符,目前用得最 普遍的字符集是 ANSI,对应 ANSI 字符集的二进制编码就称为 ANSI 码,DOS 和 Windows 系统都使用了 ANSI 码,但在系统中使用的字 符编码要经过二进制转换,称为系统内码。
汉字内码:ANSI 码是单一字节(8 位二进制数)的编码集,最 多只能表示 256 个字符,不能表示众多的汉字字符,各个国家和地区 在 ANSI 码的基础上又设计了各种不同的汉字编码集,以能够处理大 数量的汉字字符。这些编码使用单字节来表示 ANSI 的英文字符(即 兼容 ANSI 码),使用双字节来表示汉字字符。由于一个系统中只能 有一种汉字内码,不能识别其它汉字内码的字符,造成了交流的不便。
BIG5 码把代码表分为 89 个区,对应第一字节(0xa1-0xf9);每 个区 157 个位(0x40-0x7e,0xa1-0xfe);总计收入 13868 个字(包括符 号)。
在我的点阵字库中定位方法如下。第一个字节减去 0xa1,则是 正 确 的 区 位 , 每 个 区 的 大 小 要 根 据 每 个 字 所 占 用 的 字 节 × 157 (0x7f-0x40+0xff-0xa1)即可。如果第二个字节小于 0x7f 则减去 0x40, 如果第二个字节大于等于 0xa1 则减去 0x62。 3.5 UNICODE
第 3 页 共 11 页
易木雨软件工作室 / 原主页 /
二、 界面使用说明
图1 1、选择字体 可以选择您系统种存在的任何矢量字体。 2、字体大小 根据您需要创建的点阵大小,请修改并使之适应。 3、编码下拉框 此处选择您需要创建的编码,如 GB2312 等。 4、宽/高 创建字库的字的高宽要求,并同时适量更改字体大小。 5、等高等宽 更改高或宽时,宽和高会自动保持相等。 6、文泉驿 即 BDF 格式的点阵字库 7、创建图片 在生成二进制格式的同时生成图片文件,并保存在图片 存储目录。 8、繁体 此选项只有在 GB2312 编码的时候才有。也就是生成 GB2312 编码的繁体字库,比较适用于那些需要马上更改为繁体显示的项目, 因为这样的改动不需要改动软件,只需要更改字库即可。