一种字体实例创建方法及嵌入式系统设备技术方案

技术编号:7518025 阅读:218 留言:0更新日期:2012-07-12 00:09
本发明专利技术公开了字体实例创建方法及嵌入式系统设备,所述方法包括:需要创建字体实例时,从嵌入式系统设备字库文件中获取所述字体实例所需的字体描述信息;根据所述字体描述信息中的字体数据标识符以及嵌入式系统设备中的多个字体引擎内置的字体数据标识符,将所述字体描述信息与嵌入式系统设备中的多个字体引擎进行一一匹配,直到查找到目标字体引擎为止;或者直到遍历所述嵌入式系统设备中的多个字体引擎为止;当查找到所述目标字体引擎时,基于所述目标字体引擎创建字体实例,并将所述字体实例与所述目标字体引擎关联。本发明专利技术具有可自动将创建的字体实例与字体引擎进行匹配,丰富了嵌入式系统设备所能输出的字符的字体格式的优点。

【技术实现步骤摘要】

本专利技术涉及嵌入式系统领域,尤其涉及一种字体实例创建方法及嵌入式系统设备
技术介绍
字体引擎是用于解析字体的程序,目前字体引擎支持的字体主要包括两大类,一类称为点阵字体,其包括bdf、pcf、fn、hbf等格式,另一类称为矢量字体,其包括ttf,ttc, otf等格式。字体引擎根据字符的编码在字体引擎中的字库文件中获取所述字符的字体描述信息(点阵字体包含的是字体的点阵信息,矢量字体包含的是绘制此字体的点、线和多边形曲线信息)了解字符的构造,然后在输出时渲染输出字符的图片。比如,点阵字体通过二值(0-1)矩阵来表示一个字符,矢量字体是通过数学曲线来描述字符,freetype就是比较著名的开源矢量字体引擎,除此之外,还有一些商业字体引擎如文鼎、羿创等。目前字体引擎通常放置在嵌入式系统设备中,但是目前的嵌入式系统设备通常仅支持某一种字体引擎,这样就局限了嵌入式系统设备所能输出的字符的字体格式。
技术实现思路
有鉴于此,本专利技术提供一种字体实例创建方法及一种嵌入式系统设备。可在嵌入式系统设备支持多个字体引擎的情况下,自动将创建的字体实例与字体引擎进行匹配,丰富了嵌入式系统设备所能输出的字符的字体格式。具体的,本专利技术提供的字体实例创建方法,包括当需要创建字体实例时,从嵌入式系统设备字库文件中获取所述字体实例所需的字体描述信息;根据所述字体描述信息中的字体数据标识符以及嵌入式系统设备中的多个字体引擎内置的字体数据标识符,将所述字体描述信息与嵌入式系统设备中的多个字体引擎进行一一匹配,直到查找到与所述字体描述信息匹配的目标字体引擎为止;或者直到遍历所述嵌入式系统设备中的多个字体引擎为止;所述目标字体引擎的字体数据标识符中至少包括所述字体描述信息中的字体数据标识符;当查找到所述目标字体引擎时,基于所述目标字体引擎创建字体实例,并将所述字体实例与所述目标字体引擎关联。较佳的,所述基于所述目标字体引擎创建字体实例,包括通过所述目标字体引擎获取所述字体描述信息,并基于所述字体描述信息生成字体初始轮廓;通过所述目标字体引擎为所述字体初始轮廓设置字体属性,进而完成字体实例的创建,所述字体属性包括字体大小、字体灰度级别以及字体数据标识符中一种或多种。较佳的,所述将所述字体实例与所述目标引擎关联之后,包括 获取已创建的字体实例;CN 102541828 A根据所述获取的字体实例找到与获取的字体实例相关联的目标字体引擎; 通过所述目标字体引擎获取所述字体实例的字体描述信息和字体属性,并根据所述字体描述信息和字体属性信息生成字符显示数据; 根据所述字符显示数据显示字符。较佳的,所述通过所述目标字体引擎和所述字体描述信息创建字体实例之后,包括获取或修改所述创建的字体实例的字体属性。较佳的,所述通过所述目标字体引擎和所述字体描述信息创建字体实例之后,包括删除已创建的字体实例,释放所述字体实例所占用系统资源。较佳的,当需要创建字体实例之前,还包括导入嵌入式系统设备所支持的多个字体引擎,并设置所述嵌入式系统设备运行所述多个字体引擎时的系统参数。相应的,本专利技术提供的一种嵌入式系统设备包括存储单元,用于存储字库文件,所述字库文件包括字体实例所需的字体描述信息; 匹配单元,用于当需要创建字体实例时,从嵌入式系统设备字库文件中获取所述字体实例所需的字体描述信息,并根据所述字体描述信息中的字体数据标识符以及嵌入式系统设备中的多个字体引擎内置的字体数据标识符,将所述字体描述信息与嵌入式系统设备中的多个字体引擎进行一一匹配,直到查找到与所述字体描述信息匹配的目标字体引擎为止;或者直到遍历所述嵌入式系统设备中的多个字体引擎为止;所述目标字体引擎的字体数据标识符中至少包括所述字体描述信息中的字体数据标识符;创建单元,用于当所述匹配单元查找到所述目标字体引擎时,通过所述目标字体引擎创建字体实例;关联单元,用于并将所述创建单元所创建的字体实例与所述目标字体引擎关联。较佳的,所述创建单元进一步包括第一创建模块,用于通过所述目标字体引擎获取所述字体描述信息,并基于所述字体描述信息生成字体初始轮廓;第二创建模块,用于通过所述目标字体引擎为所述字体初始轮廓设置字体属性,进而完成字体实例的创建,所述字体属性包括字体大小、字体灰度级别以及字体数据标识符中一种或多种。较佳的,本专利技术的嵌入式系统设备还包括输出单元,用于获取已创建的字体实例,根据所述获取的字体实例找到与获取的字体实例相关联的目标字体引擎,并通过所述目标字体引擎获取所述字体实例的字体描述信息和字体属性,并根据所述字体描述信息和字体属性信息生成字符显示数据,并根据所述字符显示数据显示字符。较佳的,本专利技术的嵌入式系统设备还包括获取单元,用于获取所述创建的字体实例的字体属性; 或,修改单元,用于修改所述创建的字体实例的字体属性。较佳的,本专利技术的嵌入式系统设备还包括删除单元,用于删除已创建的字体实例,释放所述字体实例所占用系统资源。较佳的,本专利技术的嵌入式系统设备还包括初始化单元,用于导入嵌入式系统设备所支持的多个字体引擎,并设置所述嵌入式系统设备运行所述多个字体引擎时的系统参数。本专利技术的嵌入式系统设备可支持多个字体引擎,当创建字体实例时,本专利技术通过将所述字体实例与嵌入式系统设备所支持的多个字体引擎一一匹配份方式来找到支持所述字体实例的字体引擎,由此,本专利技术可实现自动将创建的字体实例与字体引擎进行匹配, 丰富了嵌入式系统设备所能输出的字符的字体格式的技术效果。附图说明图1是本专利技术的字体实例创建方法的一实施例流程示意图; 图2是本专利技术的字体实例创建方法的另一实施例流程示意图; 图3是本专利技术的嵌入式系统设备的一实施例结构组成示意图; 图4是本专利技术的嵌入式系统设备的另一实施例结构组成示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述。所谓创建字体实例是指通过字体引擎创建供嵌入式系统设备显示的字符的各种性能参数,这些性能参数包括字体描述信息(点阵字体包含的是字体的点阵信息,矢量字体包含的是绘制字体的点、线和多边形曲线信息)和字体属性,其中字体属性又可包括字体大小、字体灰度级别以及字体数据标识符中一种或多种。图1是本专利技术的字体实例创建方法的一实施例流程示意图;如图1所示,本实施例的字体实例创建方法包括步骤S110,当需要创建字体实例时,从嵌入式系统设备字库文件中获取所述字体实例所需的字体描述信息。具体实现中,步骤SllO所述的字库文件可存储在系统的内存中,这样在步骤 S110,可直接从内存中调用字库文件中的字体描述信息,这样就可加快字体描述信息的获取速度;当然所述字库文件也可存储在系统的其他位置(比如,可存在flash中、系统硬盘中等),这样在步骤SllO时,由系统从其他位置调用所述字库文件到系统的内存中,然后再从内存中调用字库文件的字体描述信息。这样的好处在于,占用的系统的内存较少,可大大节省系统的内存空间。步骤Sl 11,根据所述字体描述信息中的字体数据标识符以及嵌入式系统设备中的多个字体引擎内置的字体数据标识符,将所述字体描述信息与嵌入式系统设备中的多个字体引擎进行一一匹配,当查找到与所述字体描述信息匹配的目标字体引擎时,然后执行步骤S112 ;或者当遍历所述嵌入式系统设备本文档来自技高网...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:龙式荣
申请(专利权)人:深圳市同洲视讯传媒有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术