System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种支持自动收集和压缩字体的方法和装置制造方法及图纸_技高网

一种支持自动收集和压缩字体的方法和装置制造方法及图纸

技术编号:41328500 阅读:4 留言:0更新日期:2024-05-13 15:06
本发明专利技术提供了一种支持自动收集和压缩字体的方法和装置,该方法包括:若检测到目标网页的打开操作,运行预先注入目标网页中的字体依赖关系收集脚本;其中,字体依赖关系包括字符和字体包名的依赖关系。通过字体依赖关系收集脚本实时收集目标网页中的字体依赖关系并存储至本地字体文件。读取本地字体文件,对本地字体文件中的字体依赖关系进行字体压缩裁剪。本发明专利技术实施例可以通过构建工具将字体的收集与压缩集成在项目中,开发人员引入该工具即可实现字体的自动化收集与裁剪,无需人工介入,通过注入的字体依赖关系收集脚本可以自动且精准的收集网页文本中不同的字体类型,通过对字体文件进行自动化的字体压缩裁剪节约了裁剪所需的人力资源。

【技术实现步骤摘要】

本专利技术涉及计算机,特别是一种支持自动收集和压缩字体的方法和装置


技术介绍

1、随着互联网技术的普及与移动应用的飞速发展,越来越多的用户通过移动应用访问互联网,同时网页所承载的内容也越来越丰富。在网页中应用不同的字体可以展现更好的视觉冲击效果,但一个中文商业字体包的体积为3mb-4mb左右,巨大的字体资源加载影响页面加载时长同时降低用户体验。

2、现有技术fsw(font-spider-walker)字蛛,通过分析本地文件,收集文件中的中文字符,然后对中文字符动态抽离生成压缩字体包,该方案虽然可以从文件中提取中文字符但不支持区分该中文字体使用的字体类型。字蛛+(font-spider-plus),是一个智能网页字体webfont压缩工具,能自动分析出本地页面和线上页面使用的网页字体webfont并进行按需压缩,通过内置无头浏览器对url链接中的文字进行收集,但是无法区分页面中文本实际使用的字体类型。另外,通过三方字体压缩工具进行字体压缩,还需要人收集压缩的字符。

3、现有技术方案主要存在两个问题,一是只能提取文件中的字符进行字体压缩,并不区分字符使用的真实字体类型,且需要将页面中所有出现的文字进行压缩。如上述现有技术中的字蛛方案仅可提取文件中的中文字符,字蛛+(font-spider-plus)方案也是通过内置浏览器访问线上文件并提取文件中的字符,无法区分页面中文本实际使用的字体类型。二是现有技术方案未实现全自动化收集与压缩,上述现有技术方案仅提供一个工具命令并未提供集成的自动化解决方案,需要通过手动执行脚本命令进行字体收集与压缩。

4、人工收集压缩的字符需要通过开启浏览器调试功能,逐段文字复制并检查使用的字体包名,对于动态更新的文本,采用人工收集不仅成本高还容易漏掉,尤其在开发时频繁更新的文案。现有手动获取字体包名与文本的方式如图1所示。现有技术不采用自动化方式完成字体裁剪,如图2所示在线字体裁剪方式,当文案更新频繁时需要重复通过在线工具或脚本工具手动裁剪,将裁剪后的字体包在项目中使用,增加了开发人力成本。


技术实现思路

1、鉴于上述问题,提出了本专利技术以便提供一种克服上述问题或者至少部分地解决上述问题的支持自动收集和压缩字体的方法和装置,能够自动化的实现自定义字体的收集与压缩,提高了字体收集效率和准确率,而且自动收集的字体不容易出现遗漏,大大方便了对网页字体的应用,节约了裁剪所需的人力资源,降低了开发成本。

2、根据本专利技术实施例的一方面,提供了一种支持自动收集和压缩字体的方法,包括:

3、若检测到目标网页的打开操作,运行预先注入所述目标网页中的字体依赖关系收集脚本;其中,所述字体依赖关系包括字符和字体包名的依赖关系;

4、通过所述字体依赖关系收集脚本实时收集所述目标网页中的字体依赖关系并存储至本地字体文件;

5、读取所述本地字体文件,对所述本地字体文件中的字体依赖关系进行字体压缩裁剪。

6、可选地,若检测到目标网页的打开操作,运行预先注入所述目标网页中的字体依赖关系收集脚本之前,还包括:采用代码编译工具的插件机制将所述字体依赖关系收集脚本注入到所述目标网页;和/或

7、通过所述字体依赖关系收集脚本实时收集所述目标网页中的字体依赖关系并存储至本地字体文件,包括:创建http接口服务,通过所述字体依赖关系收集脚本实时收集所述目标网页中的字体依赖关系;将收集到的所述字体依赖关系通过http接口发送至本地服务器,由所述本地服务器将所述字体依赖关系存储至本地字体文件。

8、可选地,将收集到的所述字体依赖关系通过所述http接口发送至本地服务器,包括:

9、每隔预设时间段通过所述http接口向所述本地服务器发送所述字体依赖关系的上报请求;

10、响应于所述本地服务器的接收消息,将所述预设时间段内收集到的字体依赖关系通过所述http接口发送至本地服务器。

11、可选地,通过所述字体依赖关系收集脚本实时收集所述目标网页中的字体依赖关系并存储至本地字体文件,包括:

12、通过所述字体依赖关系收集脚本实时监听所述目标网页的dom节点;

13、遍历所述dom节点中的文本节点,获取所述文本节点的字符和与所述字符具有依赖关系的字体包名,将获取的所述字符和字体包名的依赖关系存储至本地字体文件。

14、可选地,遍历所述dom节点中的文本节点,获取所述文本节点的字符和与所述字符具有依赖关系的字体包名,包括:遍历所述dom节点中的文本节点,确定所述dom节点中除节点名称不符合实际项目需求的文本节点、空节点、非文本节点中的任一节点之外的有效文本节点;获取所述有效文本节点的字符和与所述字符具有依赖关系的字体包名;和/或

15、遍历所述dom节点中的文本节点,获取所述文本节点的字符和与所述字符具有依赖关系的字体包名,包括:遍历所述dom节点中的文本节点,获取所述文本节点的字符和与所述字符具有依赖关系的字体包名,将获取的字符和与所述字符具有依赖关系的字体包名进行去重。

16、可选地,获取所述文本节点的字符和与所述字符具有依赖关系的字体包名,将获取的所述字符和字体包名的依赖关系存储至本地字体文件,包括:

17、获取所述文本节点的字符和与所述字符具有依赖关系的字体包名;

18、将所述文本节点的字符作为值,将与所述字符具有依赖关系的字体包名作为关键字,将所述字符和字体包名的依赖关系以关键字和对应的值的数据格式存储至本地字体文件。

19、可选地,所述本地字体文件的文件名依据字体包名进行命名,所述读取所述本地字体文件,包括:

20、获取字体依赖关系的文件存储路径,从所述文件存储路径中查找文件名与所需字体包名一致的本地字体文件;

21、以所述字体包名作为关键字,在查找到的本地字体文件中查找与所述关键字对应的字符。

22、可选地,对所述本地字体文件中的字体依赖关系进行字体压缩裁剪,包括:

23、确定项目所需的指定字符;

24、调用字体裁剪工具对查找到的本地字体文件中的与所述关键字对应的字符进行压缩裁剪,生成包含所述指定字符的字体文件。

25、可选地,读取所述本地字体文件,对所述本地字体文件中的字体依赖关系进行字体压缩裁剪,包括:

26、响应于字体编译处理模块执行字体编译处理操作,读取所述本地字体文件,对所述本地字体文件中的字体依赖关系进行字体压缩裁剪。

27、根据本专利技术实施例的另一方面,还提供了一种支持自动收集和压缩字体的装置,包括:

28、运行模块,适于若检测到目标网页的打开操作,运行预先注入所述目标网页中的字体依赖关系收集脚本;其中,所述字体依赖关系包括字符和字体包名的依赖关系;

29、收集存储模块,适于通过所述字体依赖关系收集脚本实时收集所述目标网页中的字体依赖关系并存储至本地字体文件;...

【技术保护点】

1.一种支持自动收集和压缩字体的方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,

3.根据权利要求2所述的方法,其特征在于,将收集到的所述字体依赖关系通过所述http接口发送至本地服务器,包括:

4.根据权利要求1所述的方法,其特征在于,通过所述字体依赖关系收集脚本实时收集所述目标网页中的字体依赖关系并存储至本地字体文件,包括:

5.根据权利要求4所述的方法,其特征在于,

6.根据权利要求4所述的方法,其特征在于,获取所述文本节点的字符和与所述字符具有依赖关系的字体包名,将获取的所述字符和字体包名的依赖关系存储至本地字体文件,包括:

7.根据权利要求6所述的方法,其特征在于,所述本地字体文件的文件名依据字体包名进行命名,所述读取所述本地字体文件,包括:

8.根据权利要求7所述的方法,其特征在于,对所述本地字体文件中的字体依赖关系进行字体压缩裁剪,包括:

9.根据权利要求1-8中任一项所述的方法,其特征在于,读取所述本地字体文件,对所述本地字体文件中的字体依赖关系进行字体压缩裁剪,包括:

10.一种支持自动收集和压缩字体的装置,其特征在于,包括:

...

【技术特征摘要】

1.一种支持自动收集和压缩字体的方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,

3.根据权利要求2所述的方法,其特征在于,将收集到的所述字体依赖关系通过所述http接口发送至本地服务器,包括:

4.根据权利要求1所述的方法,其特征在于,通过所述字体依赖关系收集脚本实时收集所述目标网页中的字体依赖关系并存储至本地字体文件,包括:

5.根据权利要求4所述的方法,其特征在于,

6.根据权利要求4所述的方法,其特征在于,获取所述文本节点的字符和与所述字符具有依赖关系...

【专利技术属性】
技术研发人员:崔传腾
申请(专利权)人:天津洪恩完美未来教育科技有限公司
类型:发明
国别省市:

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

1