CN112395828A - 点阵字库信息的记录方法以及点阵字符的生成方法 - Google Patents
点阵字库信息的记录方法以及点阵字符的生成方法 Download PDFInfo
- Publication number
- CN112395828A CN112395828A CN202011506729.8A CN202011506729A CN112395828A CN 112395828 A CN112395828 A CN 112395828A CN 202011506729 A CN202011506729 A CN 202011506729A CN 112395828 A CN112395828 A CN 112395828A
- Authority
- CN
- China
- Prior art keywords
- dot matrix
- information
- character
- area
- coding
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 239000011159 matrix material Substances 0.000 title claims abstract description 81
- 238000000034 method Methods 0.000 title claims abstract description 25
- 108091026890 Coding region Proteins 0.000 claims description 25
- 230000000694 effects Effects 0.000 description 2
- 101000695861 Arabidopsis thaliana Brefeldin A-inhibited guanine nucleotide-exchange protein 5 Proteins 0.000 description 1
- 108700026244 Open Reading Frames Proteins 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/103—Formatting, i.e. changing of presentation of documents
- G06F40/109—Font handling; Temporal or kinetic typography
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
本发明公开了一种点阵字库信息的记录方法以及点阵字符的生成方法。其中,点阵字库信息的记录方法,包括步骤:为点阵字库文件设置一个文件头区域和一个点阵数据区域;在文件头区域存储点阵字库所包含的点阵字符的宽度、高度以及像素点排置方式。本发明在对每个字符进行描述的同时,大大减少了字库文件的数据量。
Description
技术领域
本发明涉及字库文件,尤其涉及一种采用少量数据记录更多字库信息的方法。
背景技术
现有的字库有很多种,例如电脑端、移动端的字库,通常采用的是微软和苹果共同推出的TTF、TTC等字体文件格式,这些字体文件格式内容丰富,但是需要占用较多的系统资源。如果在资源已经很少并且没有显卡硬件加速的嵌入式单片机系统中强行运行TTF或TTC格式字体文件会引起资源开销过高,设备的硬件性能降低等问题。
为了解决该问题,现有技术中还存在一种基于BDF格式的字库文件,BDF格式文件现广泛一应用于各种嵌入式系统当中,虽然在特定的情况下BDF格式的字库给不少使用者提供了很多便利,但是BDF格式为标记文字信息,每个字都有文字的宽度、高度、编码等数据,当文字数量较多的情况下,将导致BDF格式文件臃肿冗长。例如,常规BDF格式的标记信息主要分两个区域,每个字符都需要包含以下两个区域:
1)字符头区域:主要标注BDF文件版本号,文件基本信息,字符结构位置信息(含宽度、高度、x/y起始位置等),文件总的字符数信息;
2)字符部分区域:依次记录当前字符十六进制和十进制的字符编码,面向打印机设备像素点的单位值,x、y两个方向上用于显示像素点的范围数值,最后存放当前字符点阵数组用于记录字符字形等像素点信息。
正是由于BDF详细记录每个字符各种信息,随着文件字符数量大量增长附属字符的数据量也会同时增加。此数据格式对于软硬件资源有限的单片机系统来说,读取该字库文件不仅资源开销占用量很大,MCU工作时间大幅度被额外占用。
为了避免这种情况,现有的点阵字库信息通过不标注文字的诸如编码、尺寸等特征信息,来避免字库文件的臃肿冗长,但是同时会导致字库格式参差不齐,信息不全的问题。
因此,如何在保证字库信息较全面的前提下,进一步压缩字库资源的占用,降低设备硬件成本是业界亟待解决的技术问题。
发明内容
为了解决现有技术中在保证字库信息较为全面的前提下占用系统资源较多的技术问题,本发明提出一种点阵字库信息的记录方法以及点阵字符的生成方法。
本发明提出的点阵字库信息的记录方法,包括步骤:
为点阵字库文件设置一个文件头区域和一个点阵数据区域;
在文件头区域存储点阵字库所包含的点阵字符的宽度、高度以及像素点排置方式。
进一步,所述文件头区域采用5个字节分别存储所述点阵字符是否宽度与高度相等、宽度信息、高度信息、像素点的排置方式、字符集。
进一步,所述宽度信息、高度信息存储字符宽度、高度所占用的字节,并转化为8的倍数,当所占用的字节不足8的倍数,则向8的倍数取整。
进一步,所述文件头区域还存储着点阵字库所包含的点阵字符的起始地址、编码区的数量以及编码区信息。
进一步,所述文件头区域采用至少2个字节来存储所述编码区的数量。
进一步,所述文件头区域采用至少5个字节来记录每一个编码区的编码区信息,所述5个字节分别存储编码区的高字节数值、编码区的低字节起始字节、编码区低字节的结束字节、编码区的字符数。
本发明提出的点阵字符的生成方法,采用了上述技术方案所述的点阵字库信息的记录方法对点阵字符进行存储;
通过读取点阵字库文件的文件头区域,获取每个点阵字符的描述信息以及编码区数量和编码区信息;
根据所述描述信息以及编码区数量和编码区信息找到点阵字符数据;
根据所述点阵字符数据生成点阵字符。
进一步,根据编码区信息中的高字节数值确定字符所在的编码区的范围,再根据编码区的低字节起始字节和结束字节获取编码区的具体位置。
本发明在字库文件的一个文件头区域存储了该字库文件的字符的相关信息,如设置字库字符宽度,高度和点阵数据排置方式等,从而避免了字库文件需要一一针对每个字符进行描述的问题,节省了存储空间;进一步在该文件头区域中,还存储着各编码信息中的高字节编码和低字节编码范围数值,建立编码区内每个字符的编码值索引,可以快速找到对应的字符数据。因此本发明实现了极大程度从每个字符的信息中压缩资源空间之外,再通过功能区的划分思路,按照简短的编码区信息定位分类字符点阵区的字符数据;通过当前文件头结构信息存储方式,极大程度上压缩字库文件的存储空间并有效地索引或记录每个字符在当前字符集下的编码值。
附图说明
下面结合实施例和附图对本发明进行详细说明,其中:
图1是本发明的点阵字库信息的表示结构示意图。
具体实施方式
为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
由此,本说明书中所指出的一个特征将用于说明本发明的一个实施方式的其中一个特征,而不是暗示本发明的每个实施方式必须具有所说明的特征。此外,应当注意的是本说明书描述了许多特征。尽管某些特征可以组合在一起以示出可能的系统设计,但是这些特征也可用于其他的未明确说明的组合。由此,除非另有说明,所说明的组合并非旨在限制。
下面结合附图以及实施例对本发明的原理进行详细说明。
如图1所示,本发明的点阵字库信息的记录方法,整体包括一个文件头区域和一个点阵数据区域。
图中标注为S101的方框表示当前包含着字符集的字库文件的整体框架。
图中标注为S102的方框表示文件头区域,该文件头区域用于存储字库基本信息,通过在点阵字库文件的文件头区域存储点阵字库所包含的点阵字符的宽度、高度以及像素点排置方式,从而使得一个字库文件仅有一个文件头区域把字符集的相关信息均进行了表示,不会因为字符数量而增加额外的冗余信息,从而减少系统开销。除此之外,文件头区域还存储着点阵字库所包含的点阵字符的起始地址、编码区的数量以及编码区信息。
在该S102的方框内还包含着标号为S103-S106的方框。其中,表示文件头区域内存储着S103点阵起始地址、S104字符结构信息、S105编码区的个数信息和S106各编码区的编码信息(编码范围信息和字符数量);
S103的方框表示文件头区域通过4字节数据表示点阵数据区域(S107)的起始偏移地址,同时也表示文件头区域(S102)的总数据量字节数目。
S104的方框表示文件头区域通过5个字节数据记录了点阵字符的显示结构信息,依次分别记录点阵字符的等宽或不等宽信息,字符点阵数据存储的宽度和高度信息,当前字库点阵字符的排置方式以及字符集对应的序号,其中:
宽度存储格式(占用1Byte):标记该字库文件的字符是否为等宽字符还是不等宽字符,这里所指的等宽与不等宽具体是指字符的高度是否与宽度相等,通常字符的高度都会大于字符的宽度,不等宽字符在每个字符点阵数据前多增加两个字节数据用于存储当前字符的实际宽度像素点信息。
宽度信息(占用1Byte):当前字符在点阵数据中宽度存储所需最小像素点数,并转换为8的倍数(字节,即最小读写单位),不足向8取整的字节数值;
高度信息(占用1Byte):当前字符在点阵数据中高度存储所需最小像素点数,并转换为8的倍数(字节,即最小读写单位),不足则向8取整的字节数值;,也就是说,宽度信息、高度信息存储字符宽度、高度所占用的字节,并转化为8的倍数,当所占用的字节不足8的倍数,则向8的倍数取整。
像素点的排置方式(占用1Byte):记录当前文件所有字符点阵数据像素点的排列存储方式,目前市场主流两种显示格式分别为横置横排和竖置横排,可以分别用数值来标记两种排置方式;
字符集(占用1Byte):如ASCII字符集、GB2312字符集、BIG5字符集、 GB18030字符集等,也是通过对应的数值来标记该字库文件的点阵字符具体采用何种字符集,例如通过0-265之间的数值来分别代表不同的字符集。
S105标记的方框表示的数据段共占用3个字节,其中前2个字节表示当前字库中所有字符的编码区的数目总和,同时也反应方框S106的数据量,即通过公式(字节长度=编码区数目总和*7)可以得到相应的计算量,剩余的1个字节作为备用字节,即文件头区域采用至少2个字节来存储所述编码区的数量。
S106标记的方框表示文件头区域存储的各编码区的概要信息,数据段数目根据字符区实际的数量会发生变化。在该数据段采用至少5个字节记录一个编码区信息,本实施例中,采用了7个字节,每7个字节数据记录一个编码区信息,其中编码区的7字节信息的格式为:
高位区码(占用1Byte):存储编码区的高字节数值;
低位起始码(占用1Byte):存储编码区的低字节起始字节;
低位结束码(占用1Byte):存储编码区低字节的结束字节;
区字符数(占用2Byte):存储编码区的字符数,即记录当前区字符数,用于校验编码范围是否一致;
备用(占用2Byte):两个字节作为备用参数使用; 当前字符编码通过高位区码确定字符大区,再通过低字节编码和偏移序号确认低字节区的实际编码值。区字符数用于计算到当前字符编码区为止,之前编码区所有的字符数目。
S107标记的方框用来存储字库所有字符的点阵数据区,根据编码进行排序,具体的编码区所包含的字符数据就存储在点阵数据区中,也就是说,点阵数据区内包含至少一个编码区,每个编码区内的数据段中包含的字符数量不同,用户根据S106存储的编码区信息可以快速在S107中找到对应的字符数据并生成点阵字符。每个字符点阵数据量=字符宽*字符高/8(字节),对于不等宽字符点阵数据量=2+字库宽*字符高/8(字节),其中2表示用于存储不等宽信息的字节数。
通过上述字库文件本发明利用了较少的数据就详细记录了点阵字符的各种信息,需要生成点阵字符时,先采用上述技术方案的点阵字库信息的记录方法对点阵字符进行存储,然后通过读取点阵字库文件的文件头区域,获取每个点阵字符的描述信息以及编码区数量和编码区信息,接着根据所获取的描述信息以及编码区数量和编码区信息在对应的点阵数据区找到字符的编码数据生成点阵字符。
在点阵数据中,每个字符的点阵数据量为宽度*高度/8个字节,可通过该固定的数据量单位值计算实际序号下的字符点阵数据偏移量。一个完整的字库由一个字符集编码格式组成,按照字符编码的规则顺序依次存储每个字符的点阵数据。例如:字符编码为B1A2的字符,即在高字节B1区内,因高字节第一个区起始于B0区,所以当前字符的序号等于上一个B0区的字符总和数(假设94个字符)加上低字节A2属于起始A1的编码范围内,对应的增量为1,最终序号计算值为95,通过每个字符的点阵数据量*95计算出当前字符点阵数据的偏移量。通过该偏移量连续读取后续宽度*高度/8个字节数据,即当前字符的实际点阵数据。按照预先设置好的排置方式根据bit信息解析出实际的字符效果。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种点阵字库信息的记录方法,其特征在于,包括步骤:
为点阵字库文件设置一个文件头区域和一个点阵数据区域;
在文件头区域存储点阵字库所包含的点阵字符的宽度、高度以及像素点排置方式。
2.如权利要求1所述的点阵字库信息的表示方法,其特征在于,所述文件头区域采用5个字节分别存储所述点阵字符是否宽度与高度相等、宽度信息、高度信息、像素点的排置方式、字符集。
3.如权利要求2所述的点阵字库信息的记录方法,其特征在于,所述宽度信息、高度信息存储字符宽度、高度所占用的字节,并转化为8的倍数,当所占用的字节不足8的倍数,则向8的倍数取整。
4.如权利要求1至3任意一项所述的点阵字库信息的记录方法,其特征在于,所述文件头区域还存储着点阵字库所包含的点阵字符的起始地址、编码区的数量以及编码区信息。
5.如权利要求4所述的点阵字库信息的记录方法,其特征在于,所述文件头区域采用至少2个字节来存储所述编码区的数量。
6.如权利要求4所述的点阵字库信息的记录方法,其特征在于,所述文件头区域采用至少5个字节来记录每一个编码区的编码区信息,所述5个字节分别存储编码区的高字节数值、编码区的低字节起始字节、编码区低字节的结束字节、编码区的字符数。
7.一种点阵字符的生成方法,其特征在于,采用了如权利要求6任意一项所述的点阵字库信息的记录方法对点阵字符进行存储;
通过读取点阵字库文件的文件头区域,获取每个点阵字符的描述信息以及编码区数量和编码区信息;
根据所述描述信息以及编码区数量和编码区信息找到点阵字符数据;
根据所述点阵字符数据生成点阵字符。
8.如权利要求1所述的点阵字符的生成方法,其特征在于,根据编码区信息中的高字节数值确定字符所在的编码区的范围,再根据编码区信息中的编码区低字节起始字节和结束字节获取编码区的具体位置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011506729.8A CN112395828A (zh) | 2020-12-18 | 2020-12-18 | 点阵字库信息的记录方法以及点阵字符的生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011506729.8A CN112395828A (zh) | 2020-12-18 | 2020-12-18 | 点阵字库信息的记录方法以及点阵字符的生成方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112395828A true CN112395828A (zh) | 2021-02-23 |
Family
ID=74625273
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011506729.8A Pending CN112395828A (zh) | 2020-12-18 | 2020-12-18 | 点阵字库信息的记录方法以及点阵字符的生成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112395828A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113988244A (zh) * | 2021-10-19 | 2022-01-28 | 艾斯芸防伪科技(福建)有限公司 | 一种防伪点阵生成与校验方法、系统、设备及介质 |
CN114063952A (zh) * | 2021-10-22 | 2022-02-18 | 无锡蓝天电子股份有限公司 | 一种单片机液晶屏汉字显示方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101008939A (zh) * | 2007-01-25 | 2007-08-01 | 深圳创维-Rgb电子有限公司 | 一种嵌入式系统的点阵字库的实现方法 |
CN101178729A (zh) * | 2007-12-12 | 2008-05-14 | 北京中星微电子有限公司 | 一种嵌入式系统中的文字显示方法及系统 |
CN102750340A (zh) * | 2012-06-01 | 2012-10-24 | 浙江宇视科技有限公司 | 一种点阵数据的处理方法及装置 |
CN102799590A (zh) * | 2011-05-26 | 2012-11-28 | 安凯(广州)微电子技术有限公司 | 嵌入式电子产品字库、字库生成方法及字库查找方法 |
CN102880690A (zh) * | 2012-09-18 | 2013-01-16 | 北京汉仪科印信息技术有限公司 | 一种精简电子书字库的方法及电子书处理装置 |
CN106844559A (zh) * | 2016-12-31 | 2017-06-13 | 歌尔科技有限公司 | 一种点阵字库生成方法、查询方法及对应的装置 |
CN109086256A (zh) * | 2018-07-12 | 2018-12-25 | 郑州众智科技股份有限公司 | 一种长度可变的字库点阵的生成及使用方法 |
-
2020
- 2020-12-18 CN CN202011506729.8A patent/CN112395828A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101008939A (zh) * | 2007-01-25 | 2007-08-01 | 深圳创维-Rgb电子有限公司 | 一种嵌入式系统的点阵字库的实现方法 |
CN101178729A (zh) * | 2007-12-12 | 2008-05-14 | 北京中星微电子有限公司 | 一种嵌入式系统中的文字显示方法及系统 |
CN102799590A (zh) * | 2011-05-26 | 2012-11-28 | 安凯(广州)微电子技术有限公司 | 嵌入式电子产品字库、字库生成方法及字库查找方法 |
CN102750340A (zh) * | 2012-06-01 | 2012-10-24 | 浙江宇视科技有限公司 | 一种点阵数据的处理方法及装置 |
CN102880690A (zh) * | 2012-09-18 | 2013-01-16 | 北京汉仪科印信息技术有限公司 | 一种精简电子书字库的方法及电子书处理装置 |
CN106844559A (zh) * | 2016-12-31 | 2017-06-13 | 歌尔科技有限公司 | 一种点阵字库生成方法、查询方法及对应的装置 |
CN109086256A (zh) * | 2018-07-12 | 2018-12-25 | 郑州众智科技股份有限公司 | 一种长度可变的字库点阵的生成及使用方法 |
Non-Patent Citations (1)
Title |
---|
高定国 等: "《藏文信息处理的原理与应用》", vol. 978, 31 March 1997, 西安交通大学出版社, pages: 136 - 139 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113988244A (zh) * | 2021-10-19 | 2022-01-28 | 艾斯芸防伪科技(福建)有限公司 | 一种防伪点阵生成与校验方法、系统、设备及介质 |
CN113988244B (zh) * | 2021-10-19 | 2024-05-10 | 艾斯芸防伪科技(福建)有限公司 | 一种防伪点阵生成与校验方法、系统、设备及介质 |
CN114063952A (zh) * | 2021-10-22 | 2022-02-18 | 无锡蓝天电子股份有限公司 | 一种单片机液晶屏汉字显示方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5940581A (en) | Dynamic font management for large character sets | |
US4992954A (en) | Method of storing character patterns and character pattern utilization system | |
CN112395828A (zh) | 点阵字库信息的记录方法以及点阵字符的生成方法 | |
US5347266A (en) | Method and device for accessing shared character patterns, and resulting stored decompressible font structure | |
JP3083344B2 (ja) | データの圧縮及び圧縮解除方法 | |
US5457776A (en) | Compact memory for mixed text in graphics | |
US5577183A (en) | Printer system that stores compressed font glyphs in data blocks and decompressed glyphs in each data block together using same decompression procedure | |
EP2442256B1 (en) | Method of encoding and decoding text on a matrix code symbol | |
EP0119396B1 (en) | Apparatus for and methods of presenting or displaying data represented as electric signals | |
CN2779484Y (zh) | 一种通用压缩汉字库芯片 | |
CN102467490A (zh) | 一种字体数据的处理方法及装置 | |
CN111859859B (zh) | 一种点阵字库转换方法 | |
US5471676A (en) | Character data compressing method and character modifying method | |
CN111241352A (zh) | 二维码、二维码数据存储方法以及装置 | |
CN112015425A (zh) | 数据存储方法、读取方法、装置、电子设备及存储介质 | |
CN101593172B (zh) | 一种字体文件 | |
CN111130554A (zh) | 一种文件压缩方法、装置、电子设备及可读取存储介质 | |
CN111797596A (zh) | 一种可扩展标记语言xml文档的压缩、解压方法和装置 | |
ES2503667T3 (es) | Gestión de datos de fuentes | |
CN112347219B (zh) | 矢量地图素材库生成方法、矢量地图生成系统和电子设备 | |
CN117435756B (zh) | 一种基于位图查询用户留存的数据处理方法 | |
CN115757321A (zh) | 一种日志文件的存储格式以及模式演进方法 | |
KR900007799B1 (ko) | 폰트데이타 함축방법 | |
JP2005165160A (ja) | スケーラブルフォントの作成方法および表示方法 | |
JPH05281948A (ja) | フォントパターン圧縮記憶方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |