四种不同的汉字取模方式
文字特征提取
文字特征提取中文文字特征提取是一种将中文文本数据转换成能够被计算机机器学习、深度学习等算法处理的数值化表示的技术,可以为中文自然语言处理(NLP)任务提供有用的特征。
本文将讨论一些常用的中文文字特征提取方法。
1. 词频统计词频统计是中文文本数据最基本的特征提取方法之一,它将文本数据转换为包含每个单词(或汉字)在文本中出现次数的向量。
这种方法可以帮助识别文本中最常见的单词,但并不能体现单词之间的语义关系。
2. TF-IDFTF-IDF(term frequency-inverse document frequency)是一种基于词频统计的特征提取方法,它通过解决词频统计方法的缺点,即常见词汇无法提供有意义的区分能力,来提高对文本的表征能力。
TF-IDF通过计算单词在所有文档中出现的频率来对单词进行加权,从而将重点放在那些出现次数相对较少,但在某个文档中出现较多的单词上,这样可以更好地捕捉文本的主题。
3. n-gramn-gram是一种较为常用的文本特征提取方法,它能够捕捉到不同单词(或汉字)之间的关系。
n-gram将文本分成连续的多个长度为n的词组,每个词组被看作是一个单独的特征。
例如,在n=2时,句子“我爱中国”将被拆分成“我爱”、“爱中国”两个词组,这样就能够反映出两个单词之间的关系。
4. LDALDA(Latent Dirichlet Allocation)是一种基于概率的主题模型,它可以将文档视为多个主题的混合,其中每个主题又由多个单词组成。
通过LDA可以识别文档中隐藏的主题,从而提取更高层次的语义特征。
LDA主要用于主题建模和文本分类,是一种有价值的文本特征提取方法。
5. Word2VecWord2Vec是一种基于神经网络的文本特征提取方法,它可以将每个单词映射为一个固定维度的向量。
Word2Vec将单词上下文转换为向量的形式,并将相似的单词映射到接近的位置。
这种方法可以帮助捕捉单词之间的语义关系,如同义词和相似词之间的关系。
威尔取模软件GBK字库GB2312字库说明书
威尔取模软件使用介绍(V1.0)一、简介1.1 界面介绍二、我要取几个汉字的字模2.1 取模2.1.1 打开软件2.1.2 在中文字符集文本框中输入要取模的文字,比如“欢迎使用威尔取模软件”,如下图所示。
2.1.3 选择要取模的字体,比如我要取宋体的字模,就选择宋体。
如下图所示。
此处列出的是系统安装的所有字体,如果要取自己下载的字体的模,请先安装该字体。
2.1.4 添加我要取模的字号,宽度,高度等信息。
点击添加按钮,打开添加窗口,如下图所示。
在字号,宽度,高度框中输入你要取模的文字大小。
比如我要取16*16的点阵,就在宽度和高度中输入16、16。
然后计算字号,字号=0.75*宽度。
输入12。
点击添加。
点击添加以后回到主界面,你会发现主界面字号列表框里面就多了一种你刚刚添加的字号了。
这时候点击你刚刚添加的字号选中它,然后再在预览框中输入一个汉字,看看效果。
2.1.5 如果效果不错可以跳过这一步。
如果效果不好有以下两种情况。
1.文字太大或者太小,如下图两种情况所示。
这时候就需要重新设置字号了。
增大或者减小字号。
2.字符不居中,如下图所示。
这时候调节右下方的位置调整滑块,将文字调节居中,如下图所示。
2.1.6 选择要生成C语言格式还是二进制文件格式。
如果是C语言格式,还可以选择是否生成数组的数组名。
2.1.7 假如我只要取我刚刚设置的16*16点阵字体,那么就要选择“取选中字号”,并选中16*16那一列。
如下图所示。
2.1.8 假如我只要取中文字模,那么就勾上取模中文,同时去掉取模英文的勾,如下图所示。
2.1.9 好了,所有设置妥当,可以开始取模啦。
点击“开始取模”。
如果选择的是C语言格式则取模完成后自动弹出结果窗口,如下图所示。
三、我要取整个GBK字库或者GB2312字库的字模3.1 取模3.1.1 打开软件3.1.2 假如我要取整个GBK字库的字模,那么点击右侧“GBK字库”按钮,自动输入GBK字符集所有文字。
汉字字模存储和提取的方法
汉字字模存储和提取的方法
汉字字模的存储和提取是汉字信息处理系统中的重要环节,常用的方法有以下几种:
1. 存储在程序存储器中:这是在程序不大或单片机无外部扩展数据存储区功能的情况下使用的方法。
2. 通过外扩的EEPROM存储汉字字模数据:采用哈佛结构的单片机,如8051单片机及其派生产品,程序存储器(ROM)和数据存储器(RAM)可分别寻址。
将提取的汉字字模数据存放在EPROM或EEPROM内,并设定该芯片的片选地址,只要知道某个汉字字模数据在该芯片的存储位置,通过程序计算出偏移地址,即可实现显示功能。
3. 使用外扩的EEPROM存储整个汉字库:某些高端单片机,如Motorola 的M68300系列32位单片机,寻址范围可达8M。
以上信息仅供参考,如有需要,建议查阅计算机科学和电子工程相关书籍或咨询专业人士。
单片机应用中从Excel软件提取字模
单片机应用中从Excel软件提取字模
单片机应用中从Excel软件提取字模的方法
LED点阵作为一种重要的显示手段,得到了广泛的应用,在单片机控制的点阵显示系统程序中需要解决的一个重要问题就是字符点阵数据的获取,也就是常说的取字模。
笔者在工作过程中也遇到这个问题,经学习和研究发现常用的取字模的方法是用专门的取字模软件来完成的,但也遇到点阵大小固定、不能随意选择的问题。
比如,在控制5×7的LED点阵程序中,无法找到合适的软件取得字模。
经研究试验发现,使用Excel软件可以实现任意点阵大小取字模。
此方法的核心思想是应用Excel的“条件格式”功能。
选中Excel表格中的任意单元格,使用“格式”菜单中“条件格式”,设置为单元格数值等于1时单元格格式为黑色底纹,如图1所示。
设置成功后会发现当单元格内数值为1时,单元格会变成黑色。
利用这一功能,可以在Excel中形象地显示点阵字模显示效果。
在Excel中选中与需要取模的点阵大小相当的表格区域,一个单元格代表一个LED,将列宽设置为2,将此区域中的各个单元格均设置好条件格式,并在需要点亮的LED对应位置单元格中填人1,便得到了与显示效果类似的图形。
如图2中为5×7点阵中显示数字“1”的效果。
然后就可以利用Excel的公式功能计算对应行和列的数据,得到点阵数据了。
为便于识读,在左侧和顶部分别加上了行标号和列标号,右侧得到的便是每行的字模数据,底部得到的是每列的字模数据。
中国造字的六种方法
中国造字的六种方法中国造字的六种方法汉字是世界上唯一一种自古至今保持着连续性的文字。
中国文化博大精深,其中汉字的创造和发展也是一段特别的历史。
中国造字有不同的方法,以下将介绍六种常见的造字方法。
1. 采象造字采象造字就是摸仿事物的形象来创造汉字。
汉字中许多字都是采用这种方法创造的。
如:日、月、金、木、水、火、田、玉等。
采象造字是最直接、最简单的造字方法,也是最早的汉字形成方式之一。
2. 指事造字指事造字是指以手指或其他物体指示物件,再用簡單的線條表現出其外貌特征,来构造形态简洁、形象鲜明的汉字。
如:上、下、左、右、中,这些字都是比较简单的指事字。
3. 会意造字会意造字就是通过组合两个或多个事物的象形,用美妙的想象力,构造出新的合成字。
比如,夫妻两个人抱在一起,就形成了“婚”,指的是男女结合的婚姻;人和口结合起来,就是“语”,表示人类的语言。
4. 假借造字假借造字就是以已有的汉字的读音为依据,来造出新词。
举个例子,古代曾借用“挑”的读音,选择“中”、“井”两个字的部分,组成了“挑战”的意思。
5. 形声造字形声造字是指早期的文字,留下了很多形状相同但意思不同的汉字。
它们之间的关联是因为它们都有相同的音节,这就是形声造字的方法。
其中又分为初声、韵声和声调。
初声指的是一个汉字的第一个发音,韵声指的是除第一个发音外的后面一些音节,声调则是指音高的升降。
6. 偏旁部首造字偏旁部首是一些较为常见的部分,经常出现在很多汉字的组合中。
偏旁可以帮助人们认识和记忆汉字的含义、发音和意义。
例如,“木”、“口”、“车”等等部首,都是由采象、指事和会意造字方法而来。
总的来说,中国造字方法有很多种,每种方法都有其独特的历史和文化内涵。
这些造字方法也是从不同的角度对生活进行了反映,展现了中国人民丰富的创造力和智慧。
汉字是中国文化的重要组成部分,传承了数千年的历史和文化,它既是我们历史的见证,也是我们文化的载体。
象形文字的五种构成方法
象形文字的五种构成方法
中国汉字是象形文字,不但有发音,更有意义,有时候即使你不认真某个字,但是你也可以猜出它的意思。
第一种汉字:模拟汉字
汉字中的基础文字拥有无可替代的地位,比如:日。
我们的古人用一个圆圈来代表太阳是个圆的东西,用一条横线来代表阳元素。
第二种汉字:简化汉字
汉字中有一种文字是模拟实物而创立的汉字,比如:“人”字。
大地上如果一个人在行走,简化的样子跟我们汉字“人”字的形状很像。
第三种汉字:基础与模拟组合的汉字
这类汉字是由基础汉字和模拟汉字组合而成,比如“大”字,由一和人两个元素组成,一横的上半部分代表了人的脑袋,对于人来说,没有比脑袋更重用的事情了,所以跟脑袋有关的事情都是大事。
第四种汉字:代表抽象意义的汉字
这类汉字是在第三类汉字的基础上加上抽象的意义而产生,比如:“天”字。
在人的脑袋周围的事情都是大事,在脑袋之上那就是天了,并且脑袋之上的实物必须是与切身大事相一致的映射才是天。
否则就不是天。
比如“夭”字,夭字与天字笔画一样,唯一的差别是一个是平整的,一个是不平整的,结果意思完全不一样,甚至是相反。
这也体现了天人合一的思想,与人的大事相一致的事情才是天,与人的大事不一致的事情就是夭。
第五种汉字:高度抽象化的汉字
高度抽象化的汉字有有意义,但是找不到原型,或者说到处都是原型。
比如汉字“一”,一可以代表数量少,也可以代表开始,也可以代表第一,但是为什么用一来代表这些意思,我们很难解释的清楚。
因为这是高度抽象化的文字。
象形方块文字使我们老祖宗留给我们最大的财富,意义深远,流传百世生生不息。
OLED模块使用说明
7.6 系统显示设计控制系统显示常用的显示器件有数码管、LCD、OLED等。
OLED即有机发光二极管(Organic Light Emitting Diode),其同时具备自发光,不需背光源、对比度高、制程较简单等优异之特性,被认为是下一代的平面显示器新兴应用技术。
本节主要介绍OLED的工作原理、底层驱动代码编写以及如何通过取模软件显示任何自己想要显示的文字或者图片。
7.6.1 OLED显示原理如图4所示为0.96寸OLED显示模块,其分辨率为128*64,采用4线SPI接口方式,模块的接口定义如表1所示。
图4 0.96寸OLED显示模块种并行接口方式、3线或4线SPI接口方式、IIC接口方式。
这里介绍OLED模块4线SPI 通信方式,只需4根通信线就能实现对OLED模块的显示控制,这4根线为:D0、D1、DC、CS。
如图5所示为4线SPI写操作时序图,在4线SPI模式下,每个数据长度均为8位,也即为1个字节。
每次发送该字节数据前,如果该字节数据为指令号,则将DC管脚拉低;如果该字节数据为普通数据,则将DC管脚置高。
在SCLK上升沿,数据从SDIN移入SSD1306,并且高位在前。
SSD1306的显存总共为128*64bit大小,SSD1306将这些显存分为8页,其对应关系如表2所示。
可见OLED水平像素分为128段,即SEG0~SEG127;垂直像素平分为8页,也即垂直方向每8个像素点为1页。
从而可见,在确定显示的位置后,通过往显存中写入一个字节数据,则相应的SEG将按照数据进行显示,位数据为1时,相应像素点被点亮,位数据为0时,相应的像素点熄灭。
图5 4线SPI写操作时序图令较多,具体的可以参考相关手册,这里介绍如表3所示几个比较常用的指令。
命令,随后发送的一个字节为要设置的对比度的值。
这个值设置得越大屏幕就越亮。
第二个命令为 0XAE/0XAF。
0XAE 为关闭显示命令; 0XAF 为开启显示命令。
汉字构造的六种方法
汉字构造的六种方法
汉字的构造方法主要有六种:象形法、指事法、会意法、形声法、转注法和假借法。
1.象形法:通过模仿自然界的物体或事物的形状、特征、动作来构造汉字。
例如,“日”字象征太阳,形状就像太阳的光芒;“山”字象征山脉,形状就像山的轮廓。
2.指事法:通过通过用线条来表示具体的指事物。
例如,“上”字通过一个竖线表示向上的方向;“下”字通过一个横线表示向下的方向。
3.会意法:通过将两个或多个意义相近或相关的象形字组合在一起,表示新的意义。
例如,“心”字和“忄”(心的变形部分)形成的汉字都带有与情感相关的意义。
4.形声法:将一个字的字形部分与另一个字的音旁部分组合起来,表示与原字相近或相关的意义。
一个汉字往往由形旁和声旁两部分构成。
例如,“居”字的“车”部分表示“形”,“且”部分表示“声”,合起来表示居住。
5.转注法:通过在古代文献中的注释中使用一个字的解释来表示另一个字的意义。
例如,古代注解中用“孔”解释“恐”字,后来就用“恐”表示害怕的意思。
6.假借法:通过借用一个字的音义来表示另一个字的意义。
例如,“台”字本来表示高地,后来也用来表示台子的意思。
字符取模
汉字字符图片取模12864纵向取模,字节倒序。
直接关系到编程的方法。
(a)数字1 (8*16)(b) 纵向取模,字节倒序(c) 纵向取模图1:纵向取模图1(b)采用纵向取模,字节倒序的方式进行取模。
那么生产的字模的表格为:从第一列开始,取上面的8位,倒序读,0x00;接着取第二列上面的8位,倒序读,0x10;接着取第三列上面的8位,倒序读,0x10;接着取第四列上面的8位,倒序读,0xf8;接着取第五列上面的8位,倒序读,0x00;……直到这8列上半部分8位都取完,再从先半部分开始,自下而上(倒序),自左往右取完8列。
所以:/*-- 文字: 1 --*//*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/0x00,0x10,0x10,0xF8,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00图1(c):纵向取模,方式如图。
/*-- 文字: 1 --*//*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/0x00,0x08,0x08,0x1F,0x00,0x00,0x00,0x00,0x00,0x04,0x04,0xFC,0x04,0x04,0x00,0x00(a) 横向取模(b) 横向取模,字节倒序图2:横向取模横向取模:/*-- 文字: 北--*//*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/0x04,0x40,0x04,0x40,0x04,0x40,0x04,0x44,0x04,0x48,0x7C,0x50,0x04,0x60,0x04,0x40, 0x04,0x40,0x04,0x40,0x04,0x40,0x04,0x42,0x1C,0x42,0xE4,0x42,0x44,0x3E,0x04,0x00横向取模,字节倒序:/*-- 文字: 北--*//*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/0x20,0x02,0x20,0x02,0x20,0x02,0x20,0x22,0x20,0x12,0x3E,0x0A,0x20,0x06,0x20,0x02, 0x20,0x02,0x20,0x02,0x20,0x02,0x20,0x42,0x38,0x42,0x27,0x42,0x22,0x7C,0x20,0x00。
古人取字的三种方式
古人取字的三种方式
古人取字的三种方式分别是:同义反复、反义相对和连义推想。
1. 同义反复:这种方式是选取与本名意义相近的字作为表字,如诸葛亮字孔明,陶渊明字元亮等。
这种方式可以理解为是用表字来对名字进行解释或补充。
2. 反义相对:这种方式则是选取与本名意义相反的字作为表字,如曾点字皙,黑白相反;韩愈字退之,进退相对等。
这种方式可以理解为是用表字来对名字进行对立或补充。
3. 连义推想:这种方式是选取与本名意义相关的字作为表字,如苏轼字子瞻,“登轼而望之”,而为“瞻”。
张岱字宗子,取“岱宗夫何如”之意等。
这种方式可以理解为是用表字来对名字进行拓展或深化。
取字方式并不固定,但是从古人取字的三种方式可以看出,古人取字的方式是有规律的,它们往往与名字的意义相关,并且有一定的补充或解释作用。
各种字模汉字的提取和显示方法
各种字模汉字的提取和显示方法
敬奇
【期刊名称】《中文信息》
【年(卷),期】1992()1
【总页数】4页(P25-28)
【关键词】字模;汉字;显示;软件开发;人机界面
【作者】敬奇
【作者单位】
【正文语种】中文
【中图分类】TP311
【相关文献】
1.汉字OS字模库中汉字点阵码的提取方法 [J], 杨国松
2.用小字库编码及字模点阵信息显示汉字的方法 [J], 邓闯;明灵
3.直接用CCDOS显示汉字库的字模在绘图机上绘制汉字的方法 [J], 王国栋
4.液晶显示汉字的字模提取新方法 [J], 黄海宏;王海欣
5.基于VB下的汉字字模提取及其LED显示系统 [J], 袁于程;王富东;王栋
因版权原因,仅展示原文概要,查看原文内容请购买。
将汉字分解为字母
将汉字分解为字母
(本文摘自《汉谷无重码输入法自学教程》)
将汉字分解为字母,遵循以下三条规则:
●钩、折单独取作汉字字母
例7:
●前后两个单笔一起取作汉字字母,剩余单笔单独取作汉字字母。
例8:
●三画口整体取作汉字字母。
例9:
根据上述规则,您可以按照下列步骤来分解汉字:
第一步:按照笔顺将汉字分解为笔画,遇到“口”时不要分解。
例10:
第二步:合并前后两个单笔。
例11:
【点评】
汉谷无重码输入法与笔画输入法不同的是:第一,三画口要整体输入;第二,前后两个单笔要一起输入。
可以说,汉谷无重码输入法是一种改良的笔画输入法。
经过这一改良,笔画输入效率不仅成倍提高,字词还实现了无重码混合输入,创造了汉字输入史上的一大奇迹。
思考题
1 怎样将汉字分解为字母?
2 有人将“大”字分解为“一”和“人”两个字母,对吗?
3 汉谷无重码输入法与笔画输入法有哪些区别?。
书法14种取势方法
书法14种取势方法书法里的取势可太有趣啦!就像给字注入不同的小灵魂呢。
一、向背取势。
你看有些字的笔画就像好朋友一样互相拥抱,这就是相向取势,比如“好”字,女字旁和子字的笔画就有这种互相靠近的感觉,看起来特别和谐。
而有些字呢,笔画像是在互相背靠背,有点小傲娇,这就是相背取势,像“北”字,两个部分就有这种感觉。
二、欹正取势。
欹呢,就是有点歪歪斜斜的,正就是端端正正的。
一个字里既有歪的部分又有正的部分,这就很妙。
比如说“歪”字本身,上面的“不”字有点斜斜的,下面的“正”字又把整个字的重心拉回来了,就像一个调皮的小孩被大人拉着,很有动态感。
三、疏密取势。
字的笔画有疏有密。
像“川”字,笔画比较少,但是它通过笔画之间的距离安排得很巧妙,中间的空隙就很有讲究,看起来很空灵。
而像“繁”字,笔画超多,但是密而不乱,每个部分的疏密搭配都很得当,就像一群小伙伴挤在一起却也井井有条。
四、开合取势。
开就像把双臂张开,合就像把双臂抱起来。
“大”字就有点开的感觉,撇和捺像张开的手臂。
而“人”字呢,虽然也有开的感觉,但又有一点合的趋势,就像两个人在互相靠近。
五、伸缩取势。
有些笔画会长长地伸出去,有些笔画又会缩回来。
像“永”字,捺画就常常伸得比较长,而里面的一些笔画就相对收缩,这样一伸一缩,整个字就有了节奏感,像在跳舞一样。
六、俯仰取势。
笔画之间有仰着头的,有低着头的。
比如“之”字,上面的点就有点像仰着头,下面的笔画就像是低着头在呼应,就像两个人在对话,一个抬头一个低头,很有画面感。
七、呼应取势。
字的笔画之间就像在互相打招呼。
像“心”字,三个点和中间的弯钩就像是在互相呼应,缺了谁都感觉这个字不完整,就像小伙伴之间的默契。
八、顺逆取势。
笔画有顺着写的,有逆着写的。
在一些行草书里特别明显,顺的笔画就像顺水行舟,很流畅,逆的笔画就像逆水而上,增加了一些阻力感,两者结合起来,字就有了丰富的变化。
九、轻重取势。
笔画有轻有重。
写得轻的笔画就像轻轻的羽毛飘着,重的笔画就像重重的石头砸下。
原理——汉字字模提取技术
字节。 offset=(94×(qh–1) +(wh–1)) ×32 (3)移 动 文 件 指 针 读 出 点 阵 字 模 数 据 打开点阵字库文件, 将文件指针从文件头向 后 移 动 offset 个
字节, 然后使 用 文 件 读 取 函 数 读 出 字 模 。 如 使 用 Windows API 函 数:
以 UCDOS 的汉字矢 量 字 库 HZKPS××J 为 例 , 该 字 库 由 指 针 区与数据区两部分组成。每个汉字矢量指针占 6 个字节, 其格式 为: 前 4 个字节为汉字的矢量数据在文件中的偏移, 后 2 个字节 为汉字的矢量数据的长度。汉字指针在指针区的偏移由公式计 算:
pos=((qu- 16)*94+wei- 1)*6 ( 注:qu- - 区号 wei- - 位号) 根据 pos 读取 6 个字节, 前 4 个字节组合为一个偏移量定位 文件指针, 后两个字节的值作为需要读出的字节长度, 即可以读
本栏目责任编辑: 谢媛媛
开发研究与设计技术
汉字字模提取技术
张呈祥 ( 北京信息职业技术学院 自动化工程系, 北京 100016)
摘要: 汉字字模是各类电子装置显示汉字的依据, 在工程应用中汉字字模都是从计算机的各种字库文件中获取, 本文从应用的角度 介绍了各类字库文件的组成原理, 给出了提取字模的方法与相关的技术。
关键词: 点阵字库; 矢量字库; TrueType 字库; API 函数 中图分类号: TP 3 文献标识码: A 文章编号: 1009- 3044(2007)19- 40185- 02
Acquiring Technique of Chines e Character Matrix ZHANG Cheng- xiang
TrueType 字体, 但在 DSP 控制的大型显示屏的汉字显示中仍然是
字模提取原理
5.7点阵字模生成原理与方法[3]5.7.1 字模生成原理本设计中因为使用汉字的点阵显示,需要提取汉字字模,因此我们首先来了解汉字点阵字模的提取方法。
汉字的点阵字模是从点阵字库文件中提取出来的。
例如常用的16×16点阵HZK16文件,12×12点阵HZK12文件等等,这些文件包括了GB 2312字符集中的所有汉字。
现在只要弄清汉字点阵在字库文件中的格式,就可以按照自己的意愿去显示汉字了。
下面以HZK16文件为例,分析取得汉字点阵字模的方法。
HZK16文件是按照GB 2312-80标准,也就是通常所说的国标码或区位码的标准排列的。
国标码分为 94 个区(Section),每个区 94个位(Position),所以也称为区位码。
其中01~09 区为符号、数字区,16~87 区为汉字区。
而 10~15 区、88~94 区是空白区域。
如何取得汉字的区位码呢?在计算机处理汉字和ASCII字符时,使每个ASCII字符占用1个字节,而一个汉字占用两个字节,其值称为汉字的内码。
其中第一个字节的值为区号加上32(20H),第二个字节的值为位号加上32(20H)。
为了与ASCII字符区别开,表示汉字的两个字节的最高位都是1,也就是两个字节的值都又加上了128(80H)。
这样,通过汉字的内码,就可以计算出汉字的区位码。
具体算式如下:qh=c1-32-128=c1-160 wh=c2-32-128=c2-160或qh=c1-0xa0 wh=c2-0xa0qh,wh为汉字的区号和位号,c1,c2为汉字的第一字节和第二字节。
根据区号和位号可以得到汉字字模在文件中的位置:location=(94*(qh-1)+(wh-1))*一个点阵字模的字节数。
那么一个点阵字模究竟占用多少字节数呢?我们来分析一下汉字字模的具体排列方式。
例如下图中显示的“汉”字,使用16×16点阵。
字模中每一点使用一个二进制位(Bit)表示,如果是1,则说明此处有点,若是0,则说明没有。
汉字取模原理
汉字的取模原理手工取模原理(详解)因本人这个取模原理也搞了一天,网上也没有现成的资料,包括纵向和横向取模,对照网上各位所说慢慢摸索,最终把原理搞清楚,最后写出来给大家参照一下。
这里,我们先以英文和中文来说明,说明前我们先统一标准。
标准1:显示大小为16*16,显示的像素为1,不显示的为0。
标准2:显示大小为16*16,显示的像素为0,不显示的为1.有的显示要“字节倒序”,主要是显示器的要求不一样。
这里我们用标准1.解说以下图片:1.英文”A”字的取模,我们这里采用横向,横向取模为“高位在左”,方式是按单片机的内存每一位的排列,排列方式为“7.6.5.4.3.2.1.0”,显示的为1,不显示的为0,这里文字大小采用小4,占用像素为8*16。
1.1.我们按图把要显示的字用“1”填起来,图片显示为用1做的“A”,再把没有显示的用“0”填起来。
1.2.我们从Y轴的16行到Y轴第1行,一行一行的取,取8位二进制码,每行方向从左到右取数,再把二进制码用“8421”码转换成16进制码,分别是。
二进制汇编十六进制C语言十六进制Y轴第16行00000000B 00H 0X00Y轴第15行00000000B 00H 0X00Y轴第14行00000000B 00H 0X00Y轴第13行00010000B 10H 0X10Y轴第12行00010000B 10H 0X10Y轴第11行00011000B 18H 0X18Y轴第10行00101000B 28H 0X28Y轴第9行00101000B 28H 0X28Y轴第8行00100100B 24H 0X24Y轴第7行00111100B 3CH 0X3CY轴第6行01000100B 44H 0X44Y轴第5行01000010B 42H 0X42Y轴第4行01000010B 42H 0X42Y轴第3行11100111B 0E7H 0XE7Y轴第2行00000000B 00H 0X00Y轴第1行00000000B 00H 0X00整理汇编为; DB 00H,00H,00H,10H,10H,18H,28H,28H,24H,3CH,44H,42H,42H,0E7H,00H,00H1.3.英文的纵向取模,纵向取模的高位在下。
取字模的方法
很多亲们经常问摇摇棒中的字怎样取字模,今天在这里描述一下;以“欢”为例作为讲解程序中的“欢”点阵是这样的://-- 欢--0x04,0x10,0x34,0x08,0xC4,0x06,0x04,0x01,0xC4,0x82,0x3C,0x8C,0x20,0x40,0x10,0x30,0x0F,0x0C,0xE8,0x03,0x08,0x0C,0x08,0x10,0x28,0x60,0x18,0xC0,0x00,0x40,0x00,0x00,为了直观,我们把它按PCB布线的方法把上面的点阵排类一下:1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4P00 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0P01 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0P02 1 1 1 1 1 1 0 0 1 0 0 0 0 0 0 0P03 0 0 0 0 0 1 0 0 1 1 1 1 1 1 0 0P04 0 1 0 0 0 1 0 1 0 0 0 0 0 1 0 0P05 0 1 0 0 0 1 1 0 0 1 0 0 1 0 0 0P06 0 0 1 0 1 0 0 0 0 1 0 0 0 0 0 0P07 0 0 1 0 1 0 0 0 0 1 0 0 0 0 0 0P20 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0P21 0 0 1 0 1 0 0 0 0 1 0 0 0 0 0 0P22 0 0 1 0 0 1 0 0 1 0 1 0 0 0 0 0P23 0 1 0 0 0 1 0 0 1 0 1 0 0 0 0 0P24 1 0 0 0 0 0 0 1 0 0 0 1 1 0 0 0P25 0 0 0 0 0 0 0 1 0 0 0 0 1 0 1 0P26 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0P27 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 0其中1为亮,0为LED灭(为什么1是亮,0是灭,请亲们看一下程序和电路,2个结合起来看一下就明白了,这里就不再说明)接下来为了方便看哪些是亮的,我们把0去掉:P00 1P01 1P02 1 1 1 1 1 1 1P03 1 1 1 1 1 1 1P04 1 1 1 1P05 1 1 1 1 1P06 1 1 1P07 1 1 1P20 1 1P21 1 1 1P22 1 1 1 1P23 1 1 1 1P24 1 1 1 1P25 1 1 1P26 1 1P27 1 1 1看到了吗,一个很大的“欢”字就出来了。
四种不同的汉字取模方式
四种不同的汉字取模方式取模方式:行列式,顺向(高位在前),阳码,例如:成0xFF,0xFF,0xFF,0xC0,0xDF,0xDF,0xDF,0xC1,0xDD,0xDD,0xDD,0 xDD,0xD5,0xBB,0xBF,0x7E0xAF,0xB7,0xBF,0x01,0xBF,0xBF,0xBB,0xBB,0xBB,0xD7,0xD7,0 xED,0xCD,0xB5,0x79,0xFD//成//0黄色的数据为第1行。
蓝色的数据为第16行。
(上下每一对数据表示一行)第一行的8个数据表示左半个字,第二行的8个数据表示右半个字,*************************************************************** ******************* 取模方式:列行式,顺向(高位在前),阳码,0xFF,0xFF,0xE0,0xEE,0xEE,0xEE,0xEE,0xEF,0xEF,0x00,0xEF,0x6F, 0xAF,0xEC,0xEF,0xFF0xFE,0xF9,0x07,0xFF,0xF7,0xFB,0x07,0xFE,0xFD,0x7B,0x97,0x E7,0x9B,0x7D,0xE0,0xFF//成//0蓝色为最左边第1列,灰色为最右边的第16列。
(上下每一对数据表示一列)第1-8行表示上半个字,第9-16行表示下半个字。
取模方式:逐行式,顺向(高位在前),阳码,0xFF,0xAF,0xFF,0xB7,0xFF,0xBF,0xC0,0x01,0xDF,0xBF,0xDF,0xB F,0xDF,0xBB,0xC1,0xBB0xDD,0xBB,0xDD,0xD7,0xDD,0xD7,0xDD,0xED,0xD5,0xCD,0x BB,0xB5,0xBF,0x79,0x7E,0xFD//成//0黄色数据为第1数据,蓝色数据为第16行。
(每两个数据表一行,上边8行,下边8行)第一行的8个数据表示上半个字,第二行的8个数据表示下半个字。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
取模方式:行列式,顺向(高位在前),阳码,
例如:成
0xFF,0xFF,0xFF,0xC0,0xDF,0xDF,0xDF,0xC1,0xDD,0xDD,0xDD,0xDD,0xD5,0xBB,0xBF,0x7E
0xAF,0xB7,0xBF,0x01,0xBF,0xBF,0xBB,0xBB,0xBB,0xD7,0xD7,0xED,0xCD,0xB5,0x79,0xFD//成//0
黄色的数据为第1行。
蓝色的数据为第16行。
(上下每一对数据表示一行)
第一行的8个数据表示左半个字,第二行的8个数据表示右半个字,
********************************************************************************** 取模方式:列行式,顺向(高位在前),阳码,
0xFF,0xFF,0xE0,0xEE,0xEE,0xEE,0xEE,0xEF,0xEF,0x00,0xEF,0x6F,0xAF,0xEC,0xEF,0xFF
0xFE,0xF9,0x07,0xFF,0xF7,0xFB,0x07,0xFE,0xFD,0x7B,0x97,0xE7,0x9B,0x7D,0xE0,0xFF//成//0
蓝色为最左边第1列,灰色为最右边的第16列。
(上下每一对数据表示一列)
第1-8行表示上半个字,第9-16行表示下半个字。
取模方式:逐行式,顺向(高位在前),阳码,
0xFF,0xAF,0xFF,0xB7,0xFF,0xBF,0xC0,0x01,0xDF,0xBF,0xDF,0xBF,0xDF,0xBB,0xC1,0xBB
0xDD,0xBB,0xDD,0xD7,0xDD,0xD7,0xDD,0xED,0xD5,0xCD,0xBB,0xB5,0xBF,0x79,0x7E,0xFD//成//0
黄色数据为第1数据,蓝色数据为第16行。
(每两个数据表一行,上边8行,下边8行)第一行的8个数据表示上半个字,第二行的8个数据表示下半个字。
取模方式:逐列式,顺向(高位在前),阳码。
0xFF,0xFE,0xFF,0xF9,0xE0,0x07,0xEE,0xFF,0xEE,0xF7,0xEE,0xFB,0xEE,0x07,0xEF,0xFE
0xEF,0xFD,0x00,0x7B,0xEF,0x97,0x6F,0xE7,0xAF,0x9B,0xEC,0x7D,0xEF,0xE0,0xFF,0xFF//成//0
黄色为第1列,蓝色为第16列,
第一行的8个数据表示上半个字,第二行的8个数据表示下半个字。