一种字库烧写方法、电子设备和存储介质与流程

文档序号:16325389发布日期:2018-12-19 05:53阅读:300来源:国知局
一种字库烧写方法、电子设备和存储介质与流程

本发明涉及显示技术,尤其涉及一种字库烧写方法、电子设备和存储介质。

背景技术

目前,在实现显示设备,如在工控做字符显示时,一般通过采购价格较高的现成的字库模块,或者自己通过一些软件实现字库烧写和编辑。

传统的方法在字库生成后,如果想修改某个字符的字模数据,需要先通过二进制编辑软件复杂计算得到相应字符在编码表中的所在位置,然后再利用这个位置信息计算得出该字符在二进制字库文件中的确定位;之后用新的字模图片生成新的二进制字模段去替换到旧的字模段。这种替换字模的方式需要花大量的人工计算和操作,而且极易出错。由于字符在字库文件里是一个接连一个的,所以只要替换时一个位置出错,就会把其它字符的字模段破坏,从而导致整个字库不可用;而且出错后,由于字库里字符有几千个,极不易检查出错点,只有应用到现场后真实显示到相应的字符后才能发现问题,可能会造成不可估量的损失。



技术实现要素:

为了克服现有技术的不足,本发明的目的之一在于提供一种字库烧写方法,避免了直接对目标设备中个别字符编辑容易出现的字符定位易算错,从而会把其它字符的字模段破坏的问题。

本发明的目的之二在于提供一种电子设备,避免了直接对目标设备中个别字符编辑容易出现的字符定位易算错,从而会把其它字符的字模段破坏的问题。

本发明的目的之三在于提供一种存储介质,存储有计算机程序,避免了直接对目标设备中个别字符编辑容易出现的字符定位易算错,从而会把其它字符的字模段破坏的问题。

本发明的目的之一采用以下技术方案实现:

一种字库烧写方法,包括以下步骤:

从目标设备读取要编辑的字库文件;

用新字模数据替换所述字库文件中的待替换字模数据;

将替换后的字库文件烧写至所述目标设备。

进一步地,所述用新字模数据替换所述字库文件中的待替换字模数据,具体包括以下步骤:

获取待替换字符的信息;

获取所述待替换字符的新字模数据;

查询所述字库文件中所述待替换字符的起始位置;

根据所述起始位置将所述新字模数据写入所述字库文件。

进一步地,所述字库文件具体为标准字符集格式,所述查询所述字库文件中所述待替换字符的起始位置,具体为通过所述待替换字符在所述标准字符集中的编码计算所述起始位置。

进一步地,所述标准字符集具体为gb2312字符集、gbk字符集或gb18030字符集。

进一步地,所述从目标设备读取要编辑的字库文件,具体为:

根据第一位置信息从目标设备读取所述要编辑的字库文件;

所述将替换后的字库文件烧写至所述目标设备,具体为:

根据所述第一位置信息将所述替换后的字库文件烧写至所述目标设备。

进一步地,所述从目标设备读取要编辑的字库文件之前,还包括以下步骤:

将指定的字库文件写入所述目标设备中指定的烧写位置。

进一步地,所述将指定的字库文件写入所述目标设备中指定的烧写位置,具体包括以下步骤:

读取所述指定的字库文件;

获取所述指定的烧写位置和使能指令;

根据所述使能指令将所述指定的字库文件写入所述烧写位置。

进一步地,所述将指定的字库文件写入所述目标设备中指定的烧写位置,具体为:

将多个指定的字库文件依次写入所述目标设备中指定的烧写位置。

本发明的目的之二采用以下技术方案实现:

一种电子设备,包括存储器、处理器以及存储在存储器中的程序,所述程序被配置成由处理器执行,处理器执行所述程序时实现上述字库烧写方法的步骤。

本发明的目的之三采用以下技术方案实现:

一种存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述字库烧写方法的步骤。

相比现有技术,本发明实施例的有益效果在于:通过先从目标设备整体读出字库文件,然后用新字模数据替换字库文件中的待替换字模数据,之后再将替换后的字库文件烧写至目标设备,实现了在烧写设备端对个别字符进行编辑替换,待替换字符定位更容易,避免了直接对目标设备中个别字符编辑容易出现的字符定位易算错,从而会把其它字符的字模段破坏的问题。

附图说明

图1为本发明实施例一的字库烧写方法的流程示意图;

图2为图1中字库烧写的操作界面示意图;

图3为本发明实施例二的字库烧写方法的流程示意图;

图4为图3中字库烧写的操作界面示意图;

图5为本发明实施例三的电子设备的结构示意图。

具体实施方式

下面,结合附图以及具体实施方式,对本发明做进一步描述,需要说明的是,在不相冲突的前提下,以下描述的各实施例之间或各技术特征之间可以任意组合形成新的实施例。

实施例一

如图1为一种字库烧写方法的流程示意图,包括以下步骤:

步骤s110、从目标设备读取要编辑的字库文件。

目标设备为具有显示功能的设备或者负责向显示器传输显示数据的电子设备,如工控显示模块等;目标设备包括用于存放二进制字库文件的存储器。

在本实施例中,目标设备的存储器中已经烧写了至少一个字库文件,但是需要将某字库文件中某一字符的字模替换为新的字模。

如图2所示为本实施例中字库烧写操作界面示意图,字库烧写操作界面运行于台式机、笔记本、移动终端等烧写设备,此类烧写设备与目标设备可通讯连接。

从目标设备读取要编辑的字库文件,需要现在如图2所示的界面点击读取原始字库按钮11,此时弹出一文件对话框,文件对话框包括目标设备的存储器中烧写的字库文件的名称;字库文件的名称可以从目标设备的字库列表信息中获取。从文件对话框中选定要编辑的字库文件的名称,如gb2312_all_10*24_yang后,烧写设备会读取目标设备存储器中的这一字库文件,即gb2312_all_10*24_yang,并将该字库文件保存在一个字库变量数组里。

作为优选的实施方式,在文件对话框中选定要编辑的字库文件的名称后,在显示区域12显示该选中的字库文件的名称。

作为优选的实施方式,还可以将该字库文件另外保存作为备份,以防止编辑字库后仍不满意或者编辑字库后文件烧写失败,需要重新恢复原始字库文件的情况。

作为优选的实施方式,步骤s110从目标设备读取要编辑的字库文件,具体为:根据第一位置信息从目标设备读取所述要编辑的字库文件。

在文件对话框选定要编辑的字库文件的名称之后,根据选定的字库文件在目标设备存储器中的第一位置读取该字库文件。字库文件的第一位置信息可以在目标设备的字库列表信息中获取,也可为在向目标设备烧写字库文件时保存的烧写位置的信息。

步骤s120、用新字模数据替换所述字库文件中的待替换字模数据。

作为优选的实施方式,步骤s120用新字模数据替换所述字库文件中的待替换字模数据,具体包括以下步骤:

步骤s121、获取待替换字符的信息。

如图2所示,在对应字符输入框13中输入待替换字符,如“城”,烧写设备就获取到该待替换字符的信息。

步骤s122、获取所述待替换字符的新字模数据。

点击导入新字模按钮14,然后选中新字模数据,如“.bmp”格式的字模图片,烧写设备就获取到该新字模数据,可以将新字模数据以二进制数值的形式存放到一个单字模变量数组里。

作为优选的实施方式,操作界面还包括字模预览区域131。一方面,可以在对应字符输入框13中输入待替换字符时,在字模预览区域131显示从目标设备读取的字库文件中相应字符的字模;另一方面,可以在获取新字模数据后,在字模预览区域131显示新字模。

步骤s123、查询所述字库文件中所述待替换字符的起始位置。

作为优选的实施方式,所述字库文件具体为标准字符集格式,步骤s123查询所述字库文件中所述待替换字符的起始位置,具体为通过所述待替换字符在所述标准字符集中的编码计算所述起始位置。

所述标准字符集具体为gb2312字符集、gbk字符集或gb18030字符集。

在本实施例中,标准字符集具体为gb2312字符集。如果要替换的字符为“城”,其对应的gb2312编码为0xb3c7,把0xb3c7分解为低字字bl=0xc7和高字字bh=0xb3。以保存单个字符的字模所需要的字节数为48为例,通过以下算式计算待替换字符“城”在字库变量数组中的起始位置,即待替换字符相对于第一位置的起始位置:

ql=0xc7-0xa1=0x26=38

qh=0xb3-0xa1=0x12=18

(94*18+38)*48=83040=0x14460

上式中,“94”是固定值,因为gb2312每个区内包含的字符数都是94个。

计算结果0x14460就是待替换字符“城”的起始位置。

步骤s124、根据所述起始位置将所述新字模数据写入所述字库文件。

点击更新字库按钮15后,将单字模变量数组中保存的新字模数据从起始位置写入字库文件。

如果有多个字符需要替换,则重复前述步骤s120,然后导出替换后的字库文件。

作为优选的实施方式,在将所述新字模数据写入字库文件之后,通过字符输入框13获取待检查字符,然后将替换后字库文件中的待检查字符显示在字模预览区域131,便于检查待替换字符、待替换字符之前或之后字符的字模书否正确。

步骤s130、将替换后的字库文件烧写至所述目标设备。

在本实施例中,步骤s130具体为将写入所述新字模数据的字库文件烧写至所述目标设备。

作为优选的实施方式,步骤s130将替换后的字库文件烧写至所述目标设备,具体为:

根据所述第一位置信息将所述替换后的字库文件烧写至所述目标设备。

本发明实施例提供的字库烧写方法,通过先从目标设备整体读出字库文件,然后用新字模数据替换字库文件中的待替换字模数据,之后再将替换后的字库文件烧写至目标设备,实现了在烧写设备端对个别字符进行编辑替换,待替换字符定位更容易,避免了直接对目标设备中个别字符编辑容易出现的字符定位易算错,从而会把其它字符的字模段破坏的问题。

实施例二

如图3所示的字库烧写方法,包括以下步骤:

步骤s210、将指定的字库文件写入所述目标设备中指定的烧写位置。

作为优选的实施方式,步骤s210将指定的字库文件写入所述目标设备中指定的烧写位置,具体包括以下步骤:

步骤s211、读取所述指定的字库文件。

如图4所示,点击打开按钮31,在弹出窗口输入需要烧写字库在烧写设备中存储的路径,即指定的字库文件的路径;作为优选的实施方式,在打开按钮31左侧显示指定的字库文件的名称。

指定字库文件后,点击读二进制字库文件按钮21,将二进制字库文件读取到一个足够大的变量缓存数组里。

步骤s212、获取所述指定的烧写位置和使能指令。

通过使能选择框22获取使能指令,以及通过为止指定框23获取指定的烧写位置。如图4所示,使能字库1相应的烧写位置01:0.5m~1.0m;只有选择了使能项,才能正常将相应的字库文件烧写至指定的烧写位置。

在本实施例中,为要烧写的字库分别分配一个512k字节的外部flash空间,即第1个字库文件对应于0-512kb字节的位置,第2个字库文件对应于512kb-1024kb字节的位置,后面的字库文件对应的位置依次递增512kb。

在本实施例中,需要点击使能下载字库到外部flash按钮24,通过烧写设备擦除目标设备存储器,如外部flash的指定范围区域;如要烧写字库1,则擦除512kb-1024kb字节的位置,便于后续的烧写操作,而且避免擦除其它有用信息。

步骤s213、根据所述使能指令将所述指定的字库文件写入所述烧写位置。

点击下载字库到外部flash按钮25,则通过串口通信将变量缓存数组里二进制的字库文件烧写到目标设备的存储器,如外部flash里,从而将字库文件完整的保存目标设备的存储器里。

作为优选的实施方式,步骤s213根据所述使能指令将所述指定的字库文件写入所述烧写位置之后,还包括以下步骤:

步骤s214、检查所述字库文件是否正确烧写。

点击检查指定字库下载正确与否按钮26,通过串口通信将写到目标设备的存储器里的字库文件读取至烧写设备,根据读取到的字库文件生成一个校验码,然后与步骤s211读取指定的字库文件时生成的校验码比对,如果相等则表示所述字库文件已经正确烧写至目标设备的存储器中。

在另一实施例中,步骤s210将指定的字库文件写入所述目标设备中指定的烧写位置,具体为:将多个指定的字库文件依次写入所述目标设备中指定的烧写位置。则依次点击各打开按钮31,输入相应的多个需要烧写字库在烧写设备中存储的路径;然后依次执行步骤s212-步骤s214,完成多个指定的字库文件的烧写。

作为优选的实施方式,操作界面还包括一键加载全部字库按钮,在输入相应的多个需要烧写字库在烧写设备中存储的路径后,分别打开并读取各个二进字库内容信息并分别存放在预先定义的变量缓存数组里;然后点击一键烧写全部字库按钮,自动依次完成多个字库文件的烧写。

点击一键校验全部字库按钮后,烧写设备把原先已写到目标设备存储器里的多个二进制字库文件的数据读回来并分别生成一个校验码,如果各校验码均正确。

步骤s220、从目标设备读取要编辑的字库文件。

步骤s230、用新字模数据替换所述字库文件中的待替换字模数据。

步骤s240、将替换后的字库文件烧写至所述目标设备。

步骤s220、s230和s240,分别对应实施例一中的s110、s120和s130,不再赘述。

本发明实施例提供的字库烧写方法,通过将指定的字库文件写入目标设备中指定的烧写位置,简化了现有的字库烧写流程,而且在烧写阶段指定烧写位置便于后期字库的编辑更新操作。进一步可以实现多个字库一步烧写功能,能实现多个复杂操作无需人工干预,实现全自动,大大提高了批量生产时设备字库烧写的可行性与可靠性。

通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法,如:

一种存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现前述字库烧写方法的步骤。

本发明可用于众多通用或专用的计算系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、机顶盒、可编程的消费电子设备、网络pc、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等,如实施例三。

实施例三

如图5所示一种电子设备,包括存储器200、处理器300以及存储在存储器200中的程序,所述程序被配置成由处理器300执行,处理器300执行所述程序时实现上述字库烧写方法的步骤。

本实施例中的电子设备与前述实施例中的方法是基于同一发明构思下的两个方面,在前面已经对方法实施过程作了详细的描述,所以本领域技术人员可根据前述描述清楚地了解本实施中的电子设备的结构及实施过程,为了说明书的简洁,在此就不再赘述。

本发明实施例提供的电子设备,通过先从目标设备整体读出字库文件,然后用新字模数据替换字库文件中的待替换字模数据,之后再将替换后的字库文件烧写至目标设备,实现了在烧写设备端对个别字符进行编辑替换,待替换字符定位更容易,避免了直接对目标设备中个别字符编辑容易出现的字符定位易算错,从而会把其它字符的字模段破坏的问题。

上述实施方式仅为本发明的优选实施方式,不能以此来限定本发明保护的范围,本领域的技术人员在本发明的基础上所做的任何非实质性的变化及替换均属于本发明所要求保护的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1