sfnttool.jar 优化网站自带字体包
一些网站会使用自己专属的字体包,英文的字体包一般很小
但是中文的字体包一般会比较大5兆以上,10兆左右,但是其中的字体我们又不是全都会使用,
针对移动端流量进行优化的方案就是,从完整字体包中抽取使用过的文字,形成简化的字体包
下载链接 自用(版本可能滞后,但能用)
shell 命令 java -jar sfnttool.jar 文件路径 -s '字体内容' 原始ttf文件路径 裁剪后ttf文件路径
那么如何针对我们的网站进行字体库优化呢,这就用到了上一篇内容写到的爬虫插件了
具体思路是爬虫爬自己的网站,把所有的文字爬出来,形成去重字符串,再通过 sfnttool.jar 简化出字体包
Pupp.js
const puppeteer = require('puppeteer');
puppeteer.launch().then(async browser => {
const page = await browser.newPage();
var fontstr = '';
await page.goto('https://www.baidu.com');
await page.waitForTimeout(1000);
let content = await page.content();
// const hrefs = await page.evaluate(() => Array.from(document.body.querySelectorAll('a[href]'), ({ href }) => href)); // 有子页面的话拿到链接去迭代 自由发挥
browser.close();
var info = Array.from(new Set(content.split(''))); // 拿到 document 的内容并去重
var str = info.join('').replace(/[^\u4e00-\u9fa5]/gi,""); // 筛选出纯文字
console.log(str); // 这些就是我们使用到的文字,建议在最后增加中文标点符号后 以参数方式 代入上面 java 命令 生成压缩后的字体库,一般都在几百KB左右
})
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」