sfnttool.jar 优化网站自带字体包

一些网站会使用自己专属的字体包,英文的字体包一般很小

但是中文的字体包一般会比较大5兆以上,10兆左右,但是其中的字体我们又不是全都会使用,

针对移动端流量进行优化的方案就是,从完整字体包中抽取使用过的文字,形成简化的字体包

sfnttool.jar下载 官网

下载链接 自用(版本可能滞后,但能用)

 

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左右
})

 

posted @ 2021-12-15 17:25  南巷清风--大R  阅读(439)  评论(0)    收藏  举报