本地文字切片-mapbox本地化

本地文字切片-mapbox本地化

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的字体文件夹

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容