node-fontnik 是mapbox開源的製作.pbf字體的工具,其官網:https://github.com/mapbox/node-fontnik
1.下載.tar.gz格式,解壓,cd
npm install
2.測試
npm test
API: https://github.com/mapbox/node-fontnik/blob/master/API.md
3.編寫代碼進行轉換: my_test.js
var fontnik = require('.');
var fs = require('fs');
var path = require('path');
var convert = function(fileName, outputDir) {
var font = fs.readFileSync(path.resolve(__dirname + "/" + fileName));
output2pbf(font, 0, 255, outputDir);
}
function output2pbf(font, start, end, outputDir) {
if (start > 65535) {
console.log("done!");
return;
}
fontnik.range({font: font, start: start, end: end}, function(err, res) {
var outputFilePath = path.resolve(__dirname + "/" + outputDir + start + "-" + end + ".pbf");
fs.writeFile(outputFilePath, res, function(err){
if(err) {
console.error(err);
} else {
output2pbf(font, end+1, end+1+255, outputDir);
}
});
});
}
// 下面是需要轉換的字體,和轉換後pbf存放路徑
convert("./fonts/open-sans/OpenSans-Regular.ttf", "./lgl/open sans regular/");
以上my_test.js放於當前目錄
4.運行
node my_test.js