当前位置: 首页 > 工具软件 > sfntly > 使用案例 >

利用谷歌开源工具 sfntly ,修改字体文件制作想要的字体文件

文寒
2023-12-01

游戏开发的过程中,总免不了要使用一些字体库。

文章《引用地址

然而字体库中的字不可能全部需要使用到,一个字体库小则几百K,大则十几M,这无疑增加了客户的流量费用,更增加了游戏的下载时间,使得游戏的体验更差。

不过,网络上有些字体提取工具,可以提取出指定的文字,避免了上述的情况。

下面我来说一下,最近找到的一款Google开源的字体提取神器——sfntly

开源地址:https://github.com/googlei18n/sfntly

(由于墙的原因,下载速度够慢,于是我mirror到OSC上了):http://git.oschina.net/cachegit/sfntly

下面介绍下编译及使用方式(因为PC安装的是java环境,所以编译的是java文件夹下的):

1. 下载源码到本地,并进入 java 目录,再使用 ant 方式编译 jar 包

git clone http://git.oschina.net/cachegit/sfntly
cd sfntly/java
ant

编译出来的包在当前目录的 dist 文件夹下

├─lib
├─sample
│  ├─sflint
│  └─sfntdump
└─tools
    ├─conversion
    │  ├─eot
    │  └─woff
    ├─fontinfo
    ├─sfnttool
    └─subsetter

2. 真正使用到的工具在 dist/tools/sfnttool 目录下,执行命令行查看 参数

### 命令行
java -jar sfnttool.jar -h
 
### 参数介绍
Subset [-?|-h|-help] [-b] [-s string] fontfile outfile
Prototype font subsetter
        -?,-help        print this help information
        -s,-string       String to subset
        -b,-bench        Benchmark (run 10000 iterations)
        -h,-hints        Strip hints
        -w,-woff         Output WOFF format
        -e,-eot  Output EOT format
        -x,-mtx  Enable Microtype Express compression for EOT format

3. 下面进行字体提取,使用命令行 (源字体库放于此目录下,导出的字体库也在此目录)

java -jar sfnttool.jar -s '需要提取的字体' 源字体库 导出的最终字体库
 
###ex
java -jar sfnttool.jar -s '0123456789' llk.ttf llk2.ttf

注意:

我的运行环境是:

### ant
$ ant -v
Apache Ant(TM) version 1.9.7 compiled on April 9 2016
Trying the default build file: build.xml
Buildfile: build.xml does not exist!
Build failed
 
### java
$ java -version
java version "1.8.0_111"
Java(TM) SE Runtime Environment (build 1.8.0_111-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.111-b14, mixed mode)
 类似资料: