[发明专利]浏览器自适应自定义字体的方法及装置有效
申请号: | 201610942692.0 | 申请日: | 2016-11-01 |
公开(公告)号: | CN108021567B | 公开(公告)日: | 2020-05-12 |
发明(设计)人: | 袁启耀 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | G06F16/957 | 分类号: | G06F16/957 |
代理公司: | 北京三高永信知识产权代理有限责任公司 11138 | 代理人: | 朱雅男 |
地址: | 518000 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 浏览器 自适应 自定义 字体 方法 装置 | ||
本发明公开了一种浏览器自适应自定义字体的方法及装置,属于计算机技术领域。浏览器初始化时,通过反射的方式获取系统当前正在使用的自定义字体的字体文件流,利用字体文件流构建字体类,将字体文件流的字体名称放在字体名称队列的头部位置;浏览器在加载网页时,根据自定义字体的字体名称所在的位置,优先利用自定义字体的字体类显示该网页中的字符。本发明解决了相关技术中浏览器在获取自定义字体文件的路径时存在兼容性的问题;可以有效地避免兼容性问题,在不同厂商提供的设备中均能够实现浏览器对自定义字体的自适应。
技术领域
本发明涉及计算机技术领域,特别涉及一种浏览器自适应自定义字体的方法及装置。
背景技术
不同的用户对设备中字体的需求不同,用户可以根据自己的爱好修改设备是系统所使用的字体。在设备的系统字体被修改后,浏览器为了适应修改后的自定义字体,需要在开启后,初始化浏览器内核的字体类库。其中,字体类库用于存储在渲染显示网页字符时需要的字体类。
在初始化字体类库时,浏览器根据各个设备厂商预先设定的自定义字体的字体文件的路径,确定出当前设备的自定义字体的字体文件的路径,根据自定义字体的字体文件的路径获取自定义字体的字体文件,通过加载自定义字体的字体文件达到显示自定义字体的目的。
由于不同的厂商的自定义字体的字体文件的路径可能不同,导致浏览器在获取自定义字体的字体文件的路径时存在兼容性的问题,需要适配各个厂商的自定义字体的字体文件的路径;另外,由于自定义字体的字体文件的路径可能随时被修改,在自定义字体的字体文件的路径被修改后,浏览器之前根据自定义字体的字体文件的路径无法被继续使用。
发明内容
为了解决相关技术中浏览器在获取自定义字体文件的路径时存在兼容性的问题,本发明实施例提供了一种浏览器自适应自定义字体的方法及装置。所述技术方案如下:
第一方面,提供了一种浏览器自适应自定义字体的方法,所述方法包括:
在对浏览器内核中的字体类库进行初始化时,通过反射的方式获取系统当前正在使用的自定义字体的字体文件流;
为所述自定义字体构建字体名称,将所述自定义字体的字体名称存储至构建的字体名称队列的头部位置;
根据反射的方式获取所述自定义字体的字体文件流;
根据所述字体文件流构建所述自定义字体的字体类,将所述自定义字体的字体类以所述字体名称为索引存储至所述字体类库中。
第二方面,提供了一种浏览器自适应自定义字体的装置,所述装置包括:
反射获取模块,用于在对浏览器内核中的字体类库进行初始化时,通过反射的方式获取系统当前正在使用的自定义字体的字体文件流;
第一存储模块,用于为所述自定义字体构建字体名称,将所述自定义字体的字体名称存储至构建的字体名称队列的头部位置;
构建模块,用于根据所述反射获取模块获取到的所述字体文件流构建所述自定义字体的字体类;
第二存储模块,还用于将所述构建模块构建的所述自定义字体的字体类以所述字体名称为索引存储至所述字体类库中。
本发明实施例提供的技术方案带来的有益效果是:
通过反射的方式获取自定义字体的字体文件流,利用字体文件流生成自定义字体的字体类,在浏览器加载网页时,优先利用自定义字体的字体类显示该网页中的字符;由于自定义字体的字体文件流是系统在初始化的时候通过自定义字体文件读取进来的,并不依赖于系统的自定义字体文件的路径,通过自定义字体的字体文件流就可以实现浏览器中自定义字体的显示,且这种实现方式有效地避免了兼容性问题,在不同厂商提供的设备中均能够实现浏览器对自定义字体的自适应。
附图说明
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610942692.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种污水净化处理装置
- 下一篇:一种地下饮用水净化装置