本地文字切片-mapbox本地化

本地文字切片-mapbox本地化

  • 1. 本地文字切片
  • 2. 安装
  • 3. 使用

1. 本地文字切片

mapbox/node-fontnik工具使用介绍

node-fontnik

2. 安装

  1. 下载源码node-fontnik-release
wget https://github.com/mapbox/node-fontnik/archive/v0.5.0.tar.gz
  1. 安装
#解压缩
tar -xzf v0.5.0.tar.gz
cd node-fontnik-0.5.0
#安装库文件
#这个必须执行到,未执行需要卸载重装,需要curl
apt-get install curl
#一定要使用全局代理运行
#一定要使用全局代理运行
#一定要使用全局代理运行
./install_mason.sh 
#安装node相关
npm install
#编译
make

3. 使用

  1. 准备需要转换字体的ttf文件,这里使用微软雅黑 msyh.ttf
  2. 编写需要转换使用的js convert.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);
            }
        });
    });
}

convert("./msyh.ttf", "./msyh");
  1. 将msyh.ttf 和convert.js 复制到node-fontnik-0.5.0路径下
  2. 运行js转换文字,出现 done! 则为转换成功。
node convert.js

5.转换结果为XX-YY.pbf的字体文件夹

你可能感兴趣的:(本地文字切片-mapbox本地化)