买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】8位深度字模存储优化方法_深圳市卡迪智能科技有限公司_201910592215.X 

申请/专利权人:深圳市卡迪智能科技有限公司

申请日:2019-07-01

公开(公告)日:2020-11-24

公开(公告)号:CN110164399B

主分类号:G09G5/22(20060101)

分类号:G09G5/22(20060101);G09G5/24(20060101);G09G5/26(20060101)

优先权:

专利状态码:有效-授权

法律状态:2020.11.24#授权;2019.09.17#实质审查的生效;2019.08.23#公开

摘要:本发明涉及显示屏字体显示技术领域,公开了一种8位深度字模存储优化方法,包括以下步骤:字模提取,打开需要提取的字模的TFT字体;设定字体大小,并基于白底黑字预览显示所有字模;字宽计算,根据编码位置获得8位字体的位图数据;保存所有非白色数据;利用黑白色数据来生成1位深度字模位图,白色为0,非白色为1;再次将生成的1位位图数据仅保存非0数据,并且根据0和非0数据进行8个数据一个字节的形式生成二次位数据;根据压缩算法存储规则解码,解出8位灰度位图字体后,再将字体着色并与背景进行透明度运算。本发明的技术方案能够使TTF字体在低端嵌入式平台也能完善呈现优秀的字体显示效果,可达到和TTF字体一样的效果。

主权项:1.一种8位深度字模存储优化方法,其特征在于,包括以下步骤:字模提取,打开需要提取的字模的TFT字体;设定字体大小,并基于白底黑字预览显示所有字模;字宽计算,根据编码位置获得8位字体的位图数据;其中,所述的字宽计算是对英文和数字的非方块字字模进行间隔调节;保存所有非白色数据;利用黑白色数据来生成1位深度字模位图,白色为0,非白色为1;再次将生成的1位位图数据仅保存非0数据,并且根据0和非0数据进行8个数据一个字节的形式生成二次位数据;根据压缩算法存储规则解码,解出8位灰度位图字体后,再将字体着色并与背景进行透明度运算。

全文数据:8位深度字模存储优化方法技术领域本发明涉及显示屏字体显示技术领域,特别涉及一种8位深度字模存储优化方法。背景技术在现在的嵌入式平台显示文字,一般会有两种方法:一是通过字模来显示,这样的方法速度快效率高,但除去一些特定的字体或优化后的字模库显示效果完美外,其他的字模显示效果不理想;且一般客户字体都有自己的需求,比如需要用到微软雅黑字体,如果用字模提取工具提取出的1位字体的边缘毛刺会非常明显,严重影响美观。二是通过TTF字体来实现,对TTF字体的支持需要运行TTF算法,对TTF字体进行解码,运算任务工作量大,对于高主频CPU则可以做,对于低端嵌入式平台则无法高效率运行。如果低端嵌入式平台要利用普通的8位深度字模,又会带来字体文件存储占用大量的存储空间,得不偿失。目前,在大多数低端嵌入式平台上的文字显示,大多是基于1位灰度点阵,除特定优化后的字体宋体16,24号显示效果会比较好外,一般通过TTF提取出来的字体显示效果不太理想。发明内容本发明的主要目的是提出一种8位深度字模存储优化方法,旨在解决现有的低端嵌入式平台上的文字显示,大多是基于1位灰度点阵,通过TTF字库提取出来的字体,显示效果不太理想的技术问题。为实现上述目的,本发明提出的8位深度字模存储优化方法,包括以下步骤:字模提取,打开需要提取的字模的TFT字体;设定字体大小,并基于白底黑字预览显示所有字模;字宽计算,根据编码位置获得8位字体的位图数据;保存所有非白色数据;利用黑白色数据来生成1位深度字模位图,白色为0,非白色为1;再次将生成的1位位图数据仅保存非0数据,并且根据0和非0数据进行8个数据一个字节的形式生成二次位数据;根据压缩算法存储规则解码,解出8位灰度位图字体后,再将字体着色并与背景进行透明度运算。可选地,所述的字模提取,是将TTF字体的字模按ASCII或GB2312或GBK规则提取出所有需要提取的字模,并且预览显示出来。可选地,所述的字宽计算是对英文数字等非方块字字模进行间隔调节。可选地,所述的再次将生成的1位位图数据仅保存非0数据,并且根据0和非0进行8个数据一个字节的形式生成二次位数据,对于32*32的字模则需要128位字节来记录字模中有效像素,对于无效像素则是用0来表示,有效像素则用1来表示,将128字节进行压缩。可选地,所述再次将生成的1位位图数据仅保存非0数据,并且根据0和非0数据进行8个数据一个字节的形式生成二次位数据,存储时采用了编码和查找表方式记录下所有字体,提取后的汉字字模按照查找表的方法进行保存。采用本发明的技术方案,具有以下有益效果:本发明的技术方案,通过仅保存有效数据和1位位图二次有效压缩的方法来达到优化现有1位字模算法的方法,即通过采用提取有效数据并两次压缩后整个字体约占4.5M左右的存储空间,相对原来的大小,仅约占50%左右空间。因为压缩的数据量大小动态变化,所以在存储时采用了编码+查找表方式记录下所有字体,优化除去空白字体,存储空间缩小。对于字模提取算法,字体越大,相对存储空间亦比例越大,通过本算法提取后的汉字字模按照查找表的方法保存。除可以剔除掉无效字模空间外,还可以用于特定汉字字模提取,即如果只需要特定汉字,则可以利用软件,把特定的汉字抽出来专门保存字模,在使用时,利用编码匹配则可以更加高效的利用字模。附图说明为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图示出的结构获得其他的附图。图1为本发明一实施例的一种8位深度字模存储优化方法的通过字模提取预览显示示意图;图2为本发明一实施例的一种8位深度字模存储优化方法的步骤流程图。本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。具体实施方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。需要说明,本发明实施例中所有方向性指示诸如上、下、左、右、前、后……仅用于解释在某一特定姿态如附图所示下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。本发明提出一种8位深度字模存储优化方法。如图1和图2所示,在本发明一实施例中,该8位深度字模存储优化方法,包括以下步骤:S101:字模提取,打开需要提取的字模的TFT字体;S102:设定字体大小,并基于白底黑字预览显示所有字模;S103:字宽计算,根据编码位置获得8位字体的位图数据;S104:保存所有非白色数据;S105:利用黑白色数据来生成1位深度字模位图,白色为0,非白色为1;S106:再次将生成的1位位图数据仅保存非0数据,并且根据0和非0数据进行8个数据一个字节的形式生成二次位数据;S107:根据压缩算法存储规则解码,解出8位灰度位图字体后,再将字体着色并与背景进行透明度运算。具体地,所述的字模提取,是将TTF字体的字模按ASCII或GB2312或GBK规则提取出所有需要提取的字模,并且预览显示出来。具体地,所述的字宽计算是对英文数字等非方块字字模进行间隔调节。具体地,所述的再次将生成的1位位图数据仅保存非0数据,并且根据0和非0进行8个数据一个字节的形式生成二次位数据,对于32*32的字模则需要128位字节来记录字模中有效像素,对于无效像素则是用0来表示,有效像素则用1来表示,将128字节进行压缩。具体地,所述再次将生成的1位位图数据仅保存非0数据,并且根据0和非0数据进行8个数据一个字节的形式生成二次位数据,存储时采用了编码和查找表方式记录下所有字体,提取后的汉字字模按照查找表的方法进行保存。具体地,本实施例的技术方案主要分为字模提取、字宽计算、优化存储算法以及应用解码四个部分组成。1.字模提取字模提取是用户用我司提供的字体工具软件,将TTF字体的字模按ASCII或GB2312或GBK规则提取出所有需要提取的字模。并且预览显示出来。让用户先直观的直到提取后的字模显示效果。2.字宽计算由于英文字模按照需求的大小提取出来后,会出现大量的空白,这个字模显示时不能用等宽字体规则来进行显示,这样会有大量的空白,不利于美观。对于非等宽字体需要用到字模间隔调节。主要用于英文数字等非方块字字模。3.优化存储算法通过字模提取预览显示后,就是字模的保存问题。由于我们用的是8位灰度字模,则每个像素需要一个字节来存储,如一个16*16像素的8位灰度字模则需要256个字节存储,以此推,32*32像素的则需要1024个字节来存储字。一个常规的GB2312大约是7000-8000个其中有一些是空字符。而GBK则有2万4000个左右,如果要按8位灰度全字模提取,则需要大量的存储空间。一般字模有一个特点,即字模中空白多,而有效的笔划数少,如果按照只存储有效像素,则大量空间可以丢弃。具体显示效果如图1所示。如果光丢空白,保存留有效数据,是无法复原字模,于是我采用1位数据以位图形式记录有效与无效相素。由于是1位像素,对于32*32的字模则需要128位来记录字模中有效像素。对于无效像素则是用0,有效像素则用1来表示。但数据中0的数据依然比较多,所以,我们依然可以采用相同的方法,将128字节进行压缩,压缩后的字体占用空间已大大减少。通过对比发现,压缩前的8位灰度字体,提取8836个字符,每个字符1K字节,则需要8.8M存储空间,而采用提取有效数据并两次压缩后整个字体约占4.5M左右的存储空间,相对原来的大小,仅约占50%左右空间。因为压缩的数据量大小动态变化,所以在存储时采用了编码+查找表方式记录下所有字体,因此下一步还可以优化除去空白字体,存储空间会进一步缩小。对于字模提取算法,字体越大,相对存储空间亦比例越大。通过本算法提取后的汉字字模按照查找表的方法保存。除可以剔除掉无效字模空间外,还可以用于特定汉字字模提取。即如果只需要特定汉字,则可以利用软件,把特定的汉字抽出来专门保存字模,在使用时,利用编码匹配则可以更加高效的利用字模。以上是有效数据二次压缩。4.应用解码应用解码是压缩的反向运算。根据压缩算法存储规则解码即可。解出8位灰度位图字体后,再将字体着色并与背景进行透明度运算。即可达到和TTF字体一样的效果。以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是在本发明的发明构思下,利用本发明说明书及附图内容所作的等效结构变换,或直接间接运用在其他相关的技术领域均包括在本发明的专利保护范围内。

权利要求:1.一种8位深度字模存储优化方法,其特征在于,包括以下步骤:字模提取,打开需要提取的字模的TFT字体;设定字体大小,并基于白底黑字预览显示所有字模;字宽计算,根据编码位置获得8位字体的位图数据;保存所有非白色数据;利用黑白色数据来生成1位深度字模位图,白色为0,非白色为1;再次将生成的1位位图数据仅保存非0数据,并且根据0和非0数据进行8个数据一个字节的形式生成二次位数据;根据压缩算法存储规则解码,解出8位灰度位图字体后,再将字体着色并与背景进行透明度运算。2.根据权利要求1所述的8位深度字模存储优化方法,其特征在于,所述的字模提取,是将TTF字体的字模按ASCII或GB2312或GBK规则提取出所有需要提取的字模,并且预览显示出来。3.根据权利要求1所述的8位深度字模存储优化方法,其特征在于,所述的字宽计算是对英文数字等非方块字字模进行间隔调节。4.根据权利要求1所述的8位深度字模存储优化方法,其特征在于,所述的再次将生成的1位位图数据仅保存非0数据,并且根据0和非0进行8个数据一个字节的形式生成二次位数据,对于32*32的字模则需要128位字节来记录字模中有效像素,对于无效像素则是用0来表示,有效像素则用1来表示,将128字节进行压缩。5.根据权利要求1所述的8位深度字模存储优化方法,其特征在于,所述再次将生成的1位位图数据仅保存非0数据,并且根据0和非0数据进行8个数据一个字节的形式生成二次位数据,存储时采用了编码和查找表方式记录下所有字体,提取后的汉字字模按照查找表的方法进行保存。

百度查询: 深圳市卡迪智能科技有限公司 8位深度字模存储优化方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。