CN117492577A - 轻量级字库显示方法、装置、微处理器及电子设备 - Google Patents
轻量级字库显示方法、装置、微处理器及电子设备 Download PDFInfo
- Publication number
- CN117492577A CN117492577A CN202311848818.4A CN202311848818A CN117492577A CN 117492577 A CN117492577 A CN 117492577A CN 202311848818 A CN202311848818 A CN 202311848818A CN 117492577 A CN117492577 A CN 117492577A
- Authority
- CN
- China
- Prior art keywords
- character
- bitmap image
- bitmap
- target
- image
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 33
- 230000006870 function Effects 0.000 abstract description 4
- 238000004364 calculation method Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/02—Input arrangements using manually operated switches, e.g. using keyboards or dials
- G06F3/023—Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
- G06F3/0233—Character input methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
本发明公开了轻量级字库显示方法、装置、微处理器及电子设备。该方法通过将所需显示的字符在不同字符属性组下的字符数据写入位图图像,从而得到多张不同字符属性组的位图图像,以满足用户对不同字符属性组的显示需要;将所有位图图像写入外部存储器中,定义各位图图像在外部存储器中的地址偏移量,并编写各位图图像对应的字库寻址算法,以及按字符属性组的数量确定各位图图像的选择变量,建立位图图像对应的选择变量与对应位图图像在外部存储器中的地址偏移量的关联关系,以便根据目标选择变量,从外部存储器中找到目标位图图像,进而根据目标位图图像对应的字库寻址算法读取所需显示的字符,实现在资源有限的MCU中完成字符样式和大小切换的功能。
Description
技术领域
本发明涉及字符显示技术领域,尤其涉及轻量级字库显示方法、装置、微处理器及电子设备。
背景技术
随着电子产品的更新迭代,微处理器(以下简称MCU)性能的增强,MCU搭配中小尺寸显示屏已广泛应用于各类家用电器、仪器仪表设备、数码播放器、便携式解码器等产品中。在各类MCU平台的应用过程中,受限于系统资源(内存,代码空间)的影响,在中小尺寸显示屏的使用过程中,往往只能使用单一的字体来显示文字,而显示文字就必须用到“字库”,在使用标准字库时,通常需要占用几K~几十K的存储空间,而一般MCU的程序空间为8~64K字节,此类MCU价格低廉,性价比高,但由于程序空间较小,使用此类MCU时通常只能存储1或2种标准字库。高级的MCU程序空间可以达到几百K字节到数兆字节,价格也比较昂贵,通常用来驱动中、大尺寸的显示屏。
发明内容
本发明实施例提供了轻量级字库显示方法、装置、微处理器及电子设备,旨在解决现有技术中程序空间小的MCU使用的字库单一的技术问题。
第一方面,本发明实施例提供了一种轻量级字库显示方法,其包括:
获取多个字符在不同字符属性组下的字符数据,根据各字符的排列顺序建立字符寻址表;其中,所述字符属性组包括字符样式和字符大小;
创建对应于每一字符属性组的位图图像,根据所述字符寻址表中字符的排列顺序依次将对应字符属性组下的各个所述字符的字符数据写入所述位图图像中,得到多张不同字符属性组的位图图像;
将所有所述位图图像依次写入外部存储器中,并根据各所述位图图像的文件大小定义所有位图图像在所述外部存储器中的地址偏移量;
根据所述字符寻址表以及各所述位图图像编写各所述位图图像对应的字库寻址算法,以寻找对应所述位图图像中的字符的地址;
基于字符属性组的数量确定各所述位图图像的选择变量,并建立所述位图图像对应的选择变量与对应所述位图图像在所述外部存储器中的地址偏移量的关联关系;
当需要显示目标字符属性组的字符时,获取目标字符属性组对应的目标选择变量,根据所述目标选择变量以及所述关联关系确定目标位图图像在所述外部存储器中的目标地址偏移量,根据目标地址偏移量从所述外部存储器中读取目标位图图像;
根据目标位图图像对应的字库寻址算法读取所需显示的字符的字符数据,并拷贝至内存中。
第二方面,本发明实施例提供了一种轻量级字库显示装置,包括:
获取模块,用于获取多个字符在不同字符属性组下的字符数据,根据各字符的排列顺序建立字符寻址表;其中,所述字符属性组包括字符样式和字符大小;
位图创建模块,用于创建对应于每一字符属性组的位图图像,根据所述字符寻址表中字符的排列顺序依次将对应字符属性组下的各个所述字符的字符数据写入所述位图图像中,得到多张不同字符属性组的位图图像;
地址偏移量定义模块,用于将所有所述位图图像依次写入外部存储器中,并根据各所述位图图像的文件大小定义所有位图图像在所述外部存储器中的地址偏移量;
寻址算法编写模块,用于根据所述字符寻址表以及各所述位图图像编写各所述位图图像对应的字库寻址算法,以寻找对应所述位图图像中的字符的地址;
关联模块,用于基于字符属性组的数量确定各所述位图图像的选择变量,并建立所述位图图像对应的选择变量与对应所述位图图像在所述外部存储器中的地址偏移量的关联关系;
读取模块,用于当需要显示目标字符属性组的字符时,获取目标字符属性组对应的目标选择变量,根据所述目标选择变量以及所述关联关系确定目标位图图像在所述外部存储器中的目标地址偏移量,根据目标地址偏移量从所述外部存储器中读取目标位图图像;
拷贝模块,用于根据目标位图图像对应的字库寻址算法读取所需显示的字符的字符数据,并拷贝至内存中。
第三方面,本发明实施例又提供了一种微处理器,应用于如前述任一项所述的轻量级字库显示方法,所述微处理器中存储字库寻址算法、各所述位图图像的选择变量和所述位图图像对应的选择变量与对应所述位图图像在所述外部存储器中的地址偏移量的关联关系;
当需要显示目标字符属性组的字符时,所述微处理器获取目标字符属性组对应的目标选择变量,根据所述目标选择变量以及所述关联关系确定目标位图图像在所述外部存储器中的目标地址偏移量,根据目标地址偏移量从所述外部存储器中读取目标位图图像;根据目标位图图像对应的字库寻址算法读取所需显示的字符,并拷贝至内存中。
第四方面,本发明实施例还提供了一种电子设备,包括如上所述的微处理器。
本发明提供了轻量级字库显示方法、装置、微处理器及电子设备。该方法通过将所需显示的字符的字符数据在不同字符属性组下的字符数据写入位图图像,从而得到多张不同字符属性组的位图图像,以满足用户对不同字符属性组的显示需要;将所有位图图像写入外部存储器中,定义各位图图像在外部存储器中的地址偏移量,并编写各位图图像对应的字库寻址算法,以及按字符属性组的数量确定各位图图像的选择变量,建立位图图像对应的选择变量与对应位图图像在外部存储器中的地址偏移量的关联关系,以便根据目标字符属性组对应的目标选择变量,从外部存储器中找到目标位图图像,进而根据目标位图图像对应的字库寻址算法读取所需显示的字符,实现在资源有限的MCU中完成字符样式和大小切换的功能。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的轻量级字库显示方法一实施例的流程示意图;
图2为本发明实施例提供的轻量级字库显示方法中不同字符属性组下的字符的效果示意图;
图3为本发明实施例提供的轻量级字库显示方法中位图图像一实施例的示意图;
图4为本发明实施例提供的轻量级字库显示方法中位图图像另一实施例的示意图;
图5为本发明实施例提供的轻量级字库显示装置的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和 “包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/ 或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
请参阅图1所示,图1为本发明实施例提供的轻量级字库显示方法的流程示意图,该方法包括步骤S110~S170。
步骤S110、获取多个字符在不同字符属性组下的字符数据,根据各字符的排列顺序建立字符寻址表,其中,所述字符属性组包括字符样式和字符大小;
步骤S120、创建对应于每一字符属性组的位图图像,根据所述字符寻址表中字符的排列顺序依次将对应字符属性组下的各个所述字符的字符数据写入所述位图图像中,得到多张不同字符属性组的位图图像;
本实施例中,根据用户显示需要,获取多个字符在不同字符属性组下的字符数据,并根据各字符的排列顺序建立字符寻址表,字符属性组包括字符样式和字符大小;例如图2所示,为字符数据set font,pcm 48khz,5/9在八种不同字符属性组下的效果示意图。接着,创建每一字符属性组的位图图像,根据字符寻址表中字符的排列顺序依次将对应字符属性组下的各个字符的字符数据写入所述位图图像中,得到如图3所示的位图图像。
在一实施例中,步骤S120包括:先创建其中一字符属性组的位图图像,根据字符寻址表中字符的排列顺序依次将对应字符属性组下的各个字符的字符数据写入位图图像中,得到对应于其中一字符属性组的位图图像并保存;然后对所保存的其中一字符属性组的位图图像的字符样式和字符大小进行更改操作,更改完成后另存为新的位图图像,得到对应于另一字符属性组的位图图像;重复多次更改操作,即可得到多张不同字符属性组的位图图像。其中,位图图像对应的位图资源为长方形或正方形。如128*128像素的正方形位图图像或512*32像素的长方形位图图像中可显示的字符数量为(128*128)/(16*16)= 64,占用空间为128*128/8 = 2048(字节),1KB存储空间=1024字节 ,即储存大小16*16的64个字符占用的储存空间为2K字节。
步骤S130、将所有所述位图图像依次写入外部存储器中,并根据各所述位图图像的文件大小定义所有位图图像在所述外部存储器中的地址偏移量;
本实施例中,将所有位图图像依次写入外部存储器后,统计每一位图图像的文件大小和排列顺序;定义第一个位图图像的地址偏移量为0,以上一个位图图像的地址偏移量和当前位图图像的文件大小之和作为当前位图图像的地址偏移量,后续基于地址偏移量查找外部存储器中的位图图像。
例如,第一个文件储存位置为0,即第一个字体文件的地址偏移量为0,其文件大小为1024字节,则第二个文件的地址偏移量为1024;依次类推,第二个文件的文件大小为1024字节,则第三个文件的地址偏移量为2048。
步骤S140、根据所述字符寻址表以及各所述位图图像编写各所述位图图像对应的字库寻址算法,以寻找对应所述位图图像中的字符的地址;
本实施例中,根据字符寻址表中所记录的字符排列顺序以及各位图图像,编写各位图图像对应的字库寻址算法,以便寻找对应位图图像中的字符的地址。具体过程包括:定义各位图图像中每个字符在对应位图图像中的位置坐标、宽度和高度;基于各位图图像的图像宽度及字符在对应位图图像中的位置坐标、宽度和高度,编写字库寻址算法。
进一步的,编写字库寻址算法的具体过程包括:对位图图像建立坐标系,根据字符的宽度和高度以及位图图像的图像宽度,确定每一字符在对应位图图像的位置坐标;基于图像的图像宽度、字符在对应位图图像中的位置坐标和高度,先计算字符的字节偏移量;接着根据位图图像的图像宽度确定位图图像中每一行像素的字节,并基于字节偏移量和每一行像素的字节确定各字符在对应位图图像中的字节位置,从而根据字节位置读取图图像,以查找到每个字符。其中,按以下公式计算字符的字节偏移量:
Addr=Width×(y*h)/8+x,
其中,Width表示所述位图图像的图像宽度,(x,y)表示字符在对应位图图像中的位置坐标,h表示字符的高度,Addr表示字符的字节偏移量,8个像素等于1个字节,Width×(y*h)/8所计算得到的结果决定字符在对应位图图像中的行数,x决定字符在对应行的字节位置。
例如,以位图图像的图像宽度为128,一行数据16个字符,每一字符的字符宽度为8,字符高度为16,每一行像素的字节为128/8=16,其中,对位图图像建立坐标系,根据字符的宽度和高度以及位图图像的图像宽度,确定每一字符在对应位图图像的位置坐标如图3所示,其中,0的坐标为(0,0),1的坐标为(1,0),2的坐标为(2,0),3的坐标为(3,0),W的坐标为(0,2)。基于位图图像的图像宽度128、字符W在对应位图图像中的位置坐标(0,2)和字符高度16,按以下公式计算字符W的字节偏移量:
AddrW=128×(2*16)/8+0=512;
接着基于字节偏移量和每一行像素的字节确定各字符在对应位图图像中的字节位置,具体为:将所述字节偏移量除以每一行像素的字节得到商和余数,将所述商作为对应字符的行数,将余数乘以字符的宽度作为对应字符在对应行的字节位置,即字符W在对应位图图像中的行数为:
512/16=32;
则确定字符W在位图图像中第32行像素的位置,余数为0,则表明字符W在位图图像中第32行中第0个像素的位置,也就是第32行像素第0个字节的位置;其中,第32行像素是字符W的起始行,第32+15行像素是字符W的结束行。由于一个字符W的宽度是8个像素,所以在第32行像素至第32+15行像素第0个字节的位置读取一个字节的数据即为字符W的字符数据。
依次类推,字符X的坐标为(1,2),按上述方法计算得到字符X的字节偏移量为AddrX=513,则字符X在位图图像中513/16=32余1,即是第32行第8像素的位置,由于1个字节等于8个像素,所以字符X在位图图像中第32行像素第1个字节的位置;其中,第32行像素是字符X的起始行,第32+15行像素是字符X的结束行。由于一个字符X的宽度是8个像素,所以在第32行像素至第32+15行像素第1个字节的位置读取一个字节的数据即为字符X的字符数据。
进一步的,以一行8个字符为例,位图图像的图像宽度128,字节宽度为16,字符高度为16,每一行像素的字节为128/8=16,对位图图像建立坐标系,根据字符的宽度和高度以及位图图像的图像宽度,确定每一字符在对应位图图像的位置坐标如图4所示,其中,0的坐标为(0,0),1的坐标为(1,0),2的坐标为(2,0),3的坐标为(3,0),G的坐标为(0,1),按以下公式计算字符G的字节偏移量:
AddrG=128×(1*16)/8+0=256;
则字符G在对应位图图像中的行数为:
256/16=16行;
则确定字符G在位图图像中第16行,余数为0,则表明字符G在位图图像中第16行中第0个像素的位置,也就是字符G在位图图像中第16行像素第0个字节的位置;
依次类推,字符H的坐标为(1,1),按上述方法计算得到字符H的字节偏移量为AddrH=257,则字符X在位图图像中257/16=16余1,即是第16行第16像素的位置,由于1个字节为8个像素,也就是字符H在位图图像中第16行像素第2个字节的位置。
步骤S150、基于字符属性组的数量确定各所述位图图像的选择变量,并建立所述位图图像对应的选择变量与对应所述位图图像在所述外部存储器中的地址偏移量的关联关系;
本实施例中,为了便于查找位图图像,基于字符属性组的数量确定各位图图像的选择变量,如图2中八个不同字符属性组的字符,则选择变量为0~7,根据各位图图像的地址偏移量,建立位图图像对应的选择变量和地址偏移量的关联关系。例如,结合前述示例,每一张位图图像的文件大小为1024字节,第一张位图图像的地址偏移量为0,第二张张位图图像的地址偏移量为1024,第三张位图图像的地址偏移量为2048,依次类推;若有八张不同字节属性组的位图图像,选择变量为0~7,则当选择变量为0时,则对应的图像位图图像在外部存储器的地址偏移量=选择变量*1024=0,在外部存储器中地址偏移量0的位置查找到第一张位图图像,当选择变量为1时,对应的图像位图图像在外部存储器的地址偏移量=选择变量*1024=1024,在外部存储器中地址偏移量1024的位置查找到第二张位图图像,依次类推。
步骤S160、当需要显示目标字符属性组的字符时,获取目标字符属性组对应的目标选择变量,根据所述目标选择变量以及所述关联关系确定目标位图图像在所述外部存储器中的目标地址偏移量,根据目标地址偏移量从所述外部存储器中读取目标位图图像;
步骤S170、根据目标位图图像对应的字库寻址算法读取所需显示的字符的字符数据,并拷贝至内存中。
本实施例中,在需要显示目标字符属性组的字符时,只需获取目标字符属性组对应的目标选择变量,根据目标选择变量以及关联关系确定目标位图图像在外部存储器中的目标地址偏移量,进而按目标地址偏移量从外部存储器中读取目标位图图像;最后根据目标位图图像对应的字库寻址算法读取所需显示的字符的字符数据,并拷贝至内存中。通过从外部存储器中读取位图图像到内存中,实现在MCU程序空间有限的情况下,只需消耗1-2K字节的内存和2K左右的代码空间即可实现显示屏的显示字体更换技术。
例如,结合前述示例,当前需要显示目标选择变量为2的目标字符属性组的字符,根据目标选择变量以及关联关系,确定目标位图图像在外部存储器中的目标地址偏移量为2048,则按目标地址偏移量2048从外部存储器中读取到对应的目标位图图像;再根据目标位图图像对应的字库寻址算法逐一读取所需显示的字符的字符数据,并拷贝至内存中。
该方法通过将所需显示的字符在不同字符属性组下的字符数据写入位图图像,从而得到多张不同字符属性组的位图图像,以满足用户对不同字符属性组的显示需要;将所有位图图像写入外部存储器中,定义各位图图像在外部存储器中的地址偏移量,并编写各位图图像对应的字库寻址算法,以及按字符属性组的数量确定各位图图像的选择变量,建立位图图像对应的选择变量与对应位图图像在外部存储器中的地址偏移量的关联关系,以便根据目标字符属性组对应的目标选择变量,从外部存储器中找到目标位图图像,进而根据目标位图图像对应的字库寻址算法读取所需显示的字符,实现在资源有限的MCU中完成字符样式和大小切换的功能。
本发明实施例还提供一种轻量级字库显示装置,该轻量级字库显示装置用于执行前述轻量级字库显示方法的任一实施例。具体地,请参阅图5,图5是本发明实施例提供的轻量级字库显示装置的示意性框图。
如图5所示,轻量级字库显示装置100包括获取模块110、位图创建模块120、地址偏移量定义模块130、寻址算法编写模块140、关联模块150、读取模块160、拷贝模块170;
获取模块110,用于获取多个字符在不同字符属性组下的字符数据,根据各字符的排列顺序建立字符寻址表;其中,所述字符属性组包括字符样式和字符大小;
位图创建模块120,用于创建对应于每一字符属性组的位图图像,根据所述字符寻址表中字符的排列顺序依次将对应字符属性组下的各个所述字符的字符数据写入所述位图图像中,得到多张不同字符属性组的位图图像;
地址偏移量定义模块130,用于将所有所述位图图像依次写入外部存储器中,并根据各所述位图图像的文件大小定义所有位图图像在所述外部存储器中的地址偏移量;
寻址算法编写模块140,用于根据所述字符寻址表以及各所述位图图像编写各所述位图图像对应的字库寻址算法,以寻找对应所述位图图像中的字符的地址;
关联模块150,用于基于字符属性组的数量确定各所述位图图像的选择变量,并建立所述位图图像对应的选择变量与对应所述位图图像在所述外部存储器中的地址偏移量的关联关系;
读取模块160,用于当需要显示目标字符属性组的字符时,获取目标字符属性组对应的目标选择变量,根据所述目标选择变量以及所述关联关系确定目标位图图像在所述外部存储器中的目标地址偏移量,根据目标地址偏移量从所述外部存储器中读取目标位图图像;
拷贝模块170,用于根据目标位图图像对应的字库寻址算法读取所需显示的字符的字符数据,并拷贝至内存中。
在一实施例中,地址偏移量定义模块130包括:
统计单元,用于统计每一位图图像的文件大小和排列顺序;
定义单元,用于定义第一个位图图像的地址偏移量为0,以上一个位图图像的地址偏移量和当前位图图像的文件大小之和作为当前位图图像的地址偏移量。
在一实施例中,寻址算法编写模块140包括:
字符定义单元,用于定义各所述位图图像中每个字符在对应位图图像中的位置坐标、宽度和高度;
编写单元,用于基于各所述位图图像的图像宽度及字符在对应位图图像中的位置坐标、宽度和高度,编写所述字库寻址算法。
在一实施例中,编写单元包括:
偏移量计算单元,用于基于所述位图图像的图像宽度、字符在对应位图图像中的位置坐标和高度,计算字符的字节偏移量;
字节位置计算单元,用于根据所述位图图像的图像宽度确定所述位图图像中一行的行字符量,并基于所述字节偏移量和行字符量计算,每个字符在对应位图图像中的字节位置。
在一实施例中,字节位置计算单元包括:
实际角度计算单元,用于按以下角度计算函数计算所述二维码标签的实际角度:
按以下公式计算字符的字节偏移量:
Addr=Width×(y*h)/8+x,
其中,Width表示所述位图图像的图像宽度,(x,y)表示字符在对应位图图像中的位置坐标,h表示字符的高度,Addr表示字符的字节偏移量。
在一实施例中,位图创建模块120包括:
创建单元,用于创建其中一字符属性组的位图图像,根据所述字符寻址表中字符的排列顺序依次将对应字符属性组下的各个所述字符的字符数据写入所述位图图像中,得到对应于其中一字符属性组的位图图像并保存;
更改单元,用于对所保存的其中一字符属性组的位图图像的字符样式和字符大小进行更改操作,更改完成后另存为新的位图图像,得到对应于另一字符属性组的位图图像;
重复执行单元,用于重复多次更改操作,得到多张不同字符属性组的位图图像。
本发明实施例还提供一种微处理器,应用于如前述任一项所述的轻量级字库显示方法,所述微处理器中存储字库寻址算法、各所述位图图像的选择变量和所述位图图像对应的选择变量与对应所述位图图像在所述外部存储器中的地址偏移量的关联关系;
当需要显示目标字符属性组的字符时,所述微处理器获取目标字符属性组对应的目标选择变量,根据所述目标选择变量以及所述关联关系确定目标位图图像在所述外部存储器中的目标地址偏移量,根据目标地址偏移量从所述外部存储器中读取目标位图图像;根据目标位图图像对应的字库寻址算法读取所需显示的字符,并拷贝至内存中。
在本发明的另一实施例中提供一种电子设备,包括如上所述的微处理器。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种轻量级字库显示方法,其特征在于,包括:
获取多个字符在不同字符属性组下的字符数据,根据各字符的排列顺序建立字符寻址表,其中,所述字符属性组包括字符样式和字符大小;
创建对应于每一字符属性组的位图图像,根据所述字符寻址表中字符的排列顺序依次将对应字符属性组下的各个所述字符的字符数据写入所述位图图像中,得到多张不同字符属性组的位图图像;
将所有所述位图图像依次写入外部存储器中,并根据各所述位图图像的文件大小定义所有位图图像在所述外部存储器中的地址偏移量;
根据所述字符寻址表以及各所述位图图像编写各所述位图图像对应的字库寻址算法,以寻找对应所述位图图像中的字符的地址;
基于字符属性组的数量确定各所述位图图像的选择变量,并建立所述位图图像对应的选择变量与对应所述位图图像在所述外部存储器中的地址偏移量的关联关系;
当需要显示目标字符属性组的字符时,获取目标字符属性组对应的目标选择变量,根据所述目标选择变量以及所述关联关系确定目标位图图像在所述外部存储器中的目标地址偏移量,根据目标地址偏移量从所述外部存储器中读取目标位图图像;
根据目标位图图像对应的字库寻址算法读取所需显示的字符的字符数据,并拷贝至内存中。
2.根据权利要求1所述的轻量级字库显示方法,其特征在于,所述根据各所述位图图像的文件大小定义所有位图图像在所述外部存储器中的地址偏移量,包括:
统计每一位图图像的文件大小和排列顺序;
定义第一个位图图像的地址偏移量为0,以上一个位图图像的地址偏移量和当前位图图像的文件大小之和作为当前位图图像的地址偏移量。
3.根据权利要求1所述的轻量级字库显示方法,其特征在于,所述根据所述字符寻址表以及各所述位图图像编写各所述位图图像对应的字库寻址算法,以寻找对应所述位图图像中的字符的地址,包括:
定义各所述位图图像中每个字符在对应位图图像中的位置坐标、宽度和高度;
基于各所述位图图像的图像宽度及字符在对应位图图像中的位置坐标、宽度和高度,编写所述字库寻址算法。
4.根据权利要求3所述的轻量级字库显示方法,其特征在于,所述基于各所述位图图像的图像宽度及字符在对应位图图像中的位置坐标、宽度和高度,编写所述字库寻址算法,包括:
对所述位图图像建立坐标系,根据所述字符的宽度和高度以及位图图像的图像宽度,确定每一字符在对应位图图像的位置坐标;
基于所述位图图像的图像宽度、字符在对应位图图像中的位置坐标和高度,计算字符的字节偏移量;
根据所述位图图像的图像宽度确定所述位图图像中每一行像素的字节,并基于所述字节偏移量和每一行像素的字节确定各字符在对应位图图像中的字节位置。
5.根据权利要求4所述的轻量级字库显示方法,其特征在于,所述基于所述位图图像的图像宽度、字符在对应位图图像中的位置坐标和高度,计算字符的字节偏移量,包括:
按以下公式计算字符的字节偏移量:
Addr=Width×(y*h)/8+x,
其中,Width表示所述位图图像的图像宽度,(x,y)表示字符在对应位图图像中的位置坐标,h表示字符的高度,Addr表示字符的字节偏移量。
6.根据权利要求5所述的轻量级字库显示方法,其特征在于,所述基于所述字节偏移量和每一行像素的字节确定各字符在对应位图图像中的字节位置,包括:
将所述字节偏移量除以每一行像素的字节得到商和余数,将所述商作为对应字符的行数,将余数乘以字符的宽度作为对应字符在对应行的字节位置。
7.根据权利要求1所述的轻量级字库显示方法,其特征在于,所述创建对应于每一字符属性组的位图图像,根据所述字符寻址表中字符的排列顺序依次将对应字符属性组下的各个所述字符的字符数据写入所述位图图像中,得到多张不同字符属性组的位图图像,包括:
创建其中一字符属性组的位图图像,根据所述字符寻址表中字符的排列顺序依次将对应字符属性组下的各个所述字符的字符数据写入所述位图图像中,得到对应于其中一字符属性组的位图图像并保存;
对所保存的其中一字符属性组的位图图像的字符样式和字符大小进行更改操作,更改完成后另存为新的位图图像,得到对应于另一字符属性组的位图图像;
重复多次更改操作,得到多张不同字符属性组的位图图像。
8.一种轻量级字库显示装置,其特征在于,包括:
获取模块,用于获取多个字符在不同字符属性组下的字符数据,根据各字符的排列顺序建立字符寻址表;其中,所述字符属性组包括字符样式和字符大小;
位图创建模块,用于创建对应于每一字符属性组的位图图像,根据所述字符寻址表中字符的排列顺序依次将对应字符属性组下的各个所述字符的字符数据写入所述位图图像中,得到多张不同字符属性组的位图图像;
地址偏移量定义模块,用于将所有所述位图图像依次写入外部存储器中,并根据各所述位图图像的文件大小定义所有位图图像在所述外部存储器中的地址偏移量;
寻址算法编写模块,用于根据所述字符寻址表以及各所述位图图像编写各所述位图图像对应的字库寻址算法,以寻找对应所述位图图像中的字符的地址;
关联模块,用于基于字符属性组的数量确定各所述位图图像的选择变量,并建立所述位图图像对应的选择变量与对应所述位图图像在所述外部存储器中的地址偏移量的关联关系;
读取模块,用于当需要显示目标字符属性组的字符时,获取目标字符属性组对应的目标选择变量,根据所述目标选择变量以及所述关联关系确定目标位图图像在所述外部存储器中的目标地址偏移量,根据目标地址偏移量从所述外部存储器中读取目标位图图像;
拷贝模块,用于根据目标位图图像对应的字库寻址算法读取所需显示的字符的字符数据,并拷贝至内存中。
9.一种微处理器,应用于如权利要求1-7任一项所述的轻量级字库显示方法,其特征在于,所述微处理器中存储字库寻址算法、各所述位图图像的选择变量和所述位图图像对应的选择变量与对应所述位图图像在所述外部存储器中的地址偏移量的关联关系;
当需要显示目标字符属性组的字符时,所述微处理器获取目标字符属性组对应的目标选择变量,根据所述目标选择变量以及所述关联关系确定目标位图图像在所述外部存储器中的目标地址偏移量,根据目标地址偏移量从所述外部存储器中读取目标位图图像;根据目标位图图像对应的字库寻址算法读取所需显示的字符的字符数据,并拷贝至内存中。
10.一种电子设备,其特征在于,包括如权利要求9所述的微处理器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311848818.4A CN117492577B (zh) | 2023-12-29 | 2023-12-29 | 轻量级字库显示方法、装置、微处理器及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311848818.4A CN117492577B (zh) | 2023-12-29 | 2023-12-29 | 轻量级字库显示方法、装置、微处理器及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117492577A true CN117492577A (zh) | 2024-02-02 |
CN117492577B CN117492577B (zh) | 2024-04-16 |
Family
ID=89667606
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311848818.4A Active CN117492577B (zh) | 2023-12-29 | 2023-12-29 | 轻量级字库显示方法、装置、微处理器及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117492577B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5021974A (en) * | 1988-09-13 | 1991-06-04 | Microsoft Corporation | Method for updating a display bitmap with a character string or the like |
US20070075882A1 (en) * | 2005-09-30 | 2007-04-05 | Tadaaki Matsumoto | Font management system |
CN110309368A (zh) * | 2018-03-26 | 2019-10-08 | 腾讯科技(深圳)有限公司 | 数据地址的确定方法、装置、存储介质和电子装置 |
CN112135073A (zh) * | 2020-09-07 | 2020-12-25 | 合肥富煌君达高科信息技术有限公司 | 一种基于fpga的图像字符叠加方法 |
CN113183759A (zh) * | 2021-07-01 | 2021-07-30 | 智道网联科技(北京)有限公司 | 一种仪表盘字符的显示方法及装置 |
-
2023
- 2023-12-29 CN CN202311848818.4A patent/CN117492577B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5021974A (en) * | 1988-09-13 | 1991-06-04 | Microsoft Corporation | Method for updating a display bitmap with a character string or the like |
US20070075882A1 (en) * | 2005-09-30 | 2007-04-05 | Tadaaki Matsumoto | Font management system |
CN110309368A (zh) * | 2018-03-26 | 2019-10-08 | 腾讯科技(深圳)有限公司 | 数据地址的确定方法、装置、存储介质和电子装置 |
CN112135073A (zh) * | 2020-09-07 | 2020-12-25 | 合肥富煌君达高科信息技术有限公司 | 一种基于fpga的图像字符叠加方法 |
CN113183759A (zh) * | 2021-07-01 | 2021-07-30 | 智道网联科技(北京)有限公司 | 一种仪表盘字符的显示方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN117492577B (zh) | 2024-04-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5091220B2 (ja) | テクスチャ情報をコード化するための方法および装置 | |
JPH10105723A (ja) | テクスチャ・マッピングのメモリ構成 | |
CN105930464B (zh) | Web富媒体跨屏适配方法和装置 | |
JPH0355832B2 (zh) | ||
CN111476852A (zh) | 阅读器刷新方法、计算设备及计算机存储介质 | |
CN117492577B (zh) | 轻量级字库显示方法、装置、微处理器及电子设备 | |
EP1691334A1 (en) | Method for encoding co-ordinates of a video image moving along the display of a computing device | |
CN111859874A (zh) | 表格生成方法及其系统、视频播放设备和计算机可读介质 | |
CN116363254A (zh) | 一种数据图绘制和缩放方法、系统和存储介质 | |
CN106780291B (zh) | 一种实时畸变图像处理加速装置 | |
US6448973B1 (en) | Virtual texture | |
CN115035129A (zh) | 货物的识别方法、装置、电子设备和存储介质 | |
CN112559340A (zh) | 一种画面测试方法、装置、设备及存储介质 | |
CN112306838A (zh) | 页面布局兼容性测试方法、装置、设备及可读存储介质 | |
JP3272463B2 (ja) | 画像作成装置およびその使用方法 | |
JP2000148126A (ja) | 画像表示装置及び方法 | |
CN103279968B (zh) | 检测移动端设备上gpu渲染动画像素碰撞的方法和装置 | |
CN113900746B (zh) | 灵动显示方法及家用电器 | |
CN107742314B (zh) | 图像生成方法、装置及设备 | |
CN112233206B (zh) | 字符图像生成方法、装置、设备及存储介质 | |
JPH0855214A (ja) | 地図表示制御方式 | |
CN116627303A (zh) | 基于屏幕触点的地图显示方法、系统、介质及装置 | |
CN115202787A (zh) | 屏幕显示方法、装置、计算机可读存储介质及电子设备 | |
CN114385879A (zh) | 数据显示方法、装置、可读存储介质和电子设备 | |
CN116744099A (zh) | 图像处理方法、装置、电子设备及可读存储介质 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |