[发明专利]渲染字体的方法及系统有效
申请号: | 201110308683.3 | 申请日: | 2011-10-12 |
公开(公告)号: | CN102509329A | 公开(公告)日: | 2012-06-20 |
发明(设计)人: | 王成 | 申请(专利权)人: | 盛乐信息技术(上海)有限公司 |
主分类号: | G06T13/00 | 分类号: | G06T13/00 |
代理公司: | 上海思微知识产权代理事务所(普通合伙) 31237 | 代理人: | 菅秀君 |
地址: | 201203 上海市浦东新区*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 渲染 字体 方法 系统 | ||
技术领域
本发明涉及一种渲染字体的方法及系统。
背景技术
svg是一种矢量图形描述格式,其中包含字体的描述,字体中包含字体对应的字形。flash是Adobe公司开发的一种二进制文件格式,通常以“.swf”为扩展名,主要以节点(tag)的方式来组织,可支持Actionscript(As)脚本编写,运行于flash虚拟机(avm)之上,广泛应用于互联网的视频、游戏、广告等领域。
svg图形描述文档中包含完整的字体信息,以实现不同平台上的一致显示,要实现svg字体在flash文件中的显示就需要对svg字体的渲染即进行As3脚本绘制,整个渲染过程需要使用者编写一套完整的文字渲染引擎,包括根据字形信息进行图形绘制、及对文字相关的复制、删除、剪切、粘贴、选取操作等进行大量的代码编写,整个渲染过程非常繁琐,而且在flash下通过As3脚本实现大量字体的渲染,对于大量文本显示性能不高。
发明内容
本发明的目的在于提供一种渲染字体的方法及系统,该方法及系统实现了flash中对svg字体进行不失真的渲染。
为解决上述问题,本发明提供一种渲染字体的方法,包括:
As3脚本对Svg文档进行解析,找到字体的相关节点,并提取所述相关节点中的字体信息;
根据所述字体信息按照swf文件格式规范构建DefineFont3节点、DefineFontName节点、及包含一字体定义类的DoAbc节点;
通过SymbolClass节点建立所述字体定义类与DefineFont3及DefineFontName节点的关联,在所述关联的基础上构建swf字体库;
As3脚本加载所述swf字体库交由flash虚拟机解析,所述flash虚拟机生成嵌入字体;
As3脚本指定所述嵌入字体及其字体名称。
进一步的,在上述方法中,所述相关节点包括font节点的font-face子节点和glyph节点。
进一步的,在上述方法中,所述font-face子节点的字体信息中包括ascent和descent字体度量信息及每em的单位划分。
进一步的,在上述方法中,所述glyph节点的字体信息包括字体的unicode编码、水平方向的advance值以及字形信息。
进一步的,在上述方法中,所述DefineFont3节点包括字体的最后一个节点和首节点的差值。
根据本发明的另一面,提供一种渲染字体的系统,包括:
字体信息提取模块,用于As3脚本对Svg文档进行解析,找到字体的相关节点,并提取所述相关节点中的字体信息;
节点构建模块,用于根据所述字体信息按照swf文件格式规范构建DefineFont3节点、DefineFontName节点、及包含一字体定义类的DoAbc节点;
关联模块,用于通过SymbolClass节点建立所述字体定义类与DefineFont3及DefineFontName节点的关联;
补充模块,用于在所述关联的基础上构建swf字体库;
加载模块,用于As3脚本加载所述swf字体库交由flash虚拟机解析;
flash虚拟机,用于解析所述swf字体库生成嵌入字体;
指定模块,用于As3脚本指定所述嵌入字体及其字体名称。
进一步的,在上述系统中,所述字体信息提取模块找到的所述相关节点包括font节点的font-face子节点和glyph节点。
进一步的,在上述系统中,所述字体信息提取模块提取的字体信息包括所述font-face子节点中的ascent和descent字体度量信息及每em的单位划分。
进一步的,在上述系统中,所述字体信息提取模块提取的字体信息包括所述glyph节点中的字体的unicode编码、水平方向的advance值以及字形信息。
进一步的,在上述系统中,所述DefineFont3节点包括字体的最后一个节点和首节点的差值。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于盛乐信息技术(上海)有限公司,未经盛乐信息技术(上海)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110308683.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种枸骨的简易扦插方法
- 下一篇:一种发光二极管的保护器件芯片及生产工艺