思路是扫描文件中的文字,然后使用fontmin去爬取用到的字体,生成新的字体文件。(适合任何静态文件)(缺点动态请求的文件不太合适)
注意:输出文件dest('./assets/font2')目录不能重复。
const Scan = require('charactor-scanner');
const path = require('path');
var Fontmin = require('fontmin');
Scan({
dir: [
path.resolve(__dirname, './pages/about'),
path.resolve(__dirname, './pages/service'),
path.resolve(__dirname, './pages/news')
]
}, data => {
console.log("Async Callback call: ", data.join())
let files = data.join()
var fontmin = new Fontmin().src('./assets/font/v1/Alibaba-PuHuiTi-Regular.ttf').use(Fontmin.glyph({
text: files,
hinting: false // keep ttf hint info (fpgm, prep, cvt). default = true
})).dest('./assets/font2')
var fontmin = new Fontmin().src('./assets/font/v1/Alibaba-PuHuiTi-Medium.ttf').use(Fontmin.glyph({
text: files,
hinting: false // keep ttf hint info (fpgm, prep, cvt). default = true
})).dest('./assets/font2')
fontmin.run(function (err, files) {
if (err) {
console.log('===============--------',err);
throw err;
}
console.log('===============--------',files[0]);
// => { contents: <Buffer 00 01 00 ...> }
});
});