使用sfntly从字体文件中提出部分字符

作者

汉字中,文字的数量比较多,做网站或者游戏的时候,需要几个特殊字体的文字,如果系统不包含。就需要从服务器端下载。如果就几个文字,把整个子字体文件都传输过来,就含有太多用不到的东西,还影响用户体验。这个时候就要把需要把,仅仅需要用的文字提取出来。谷歌提供了一个开源的字体提取工具 sfntly 可以,方便的把需要的字符提取出来。

sfnttool.jar 从字体文件中提取特定的字符
sfnttool.jar 从字体文件中提取特定的字符

最终需要的工具是 sfnttool.jar, 可以自己构建,也可以直接下载。

链接地址:https://share.weiyun.com/5WEVTID 密码:xxagnq

安装 sfntly

yum install -y java
# 安装构建工具 ant
yum install -y ant
yum install -y git
git clone https://github.com/googlei18n/sfntly
cd sfntly/java/
# 生成jar文件
ant

## 最后输出表示安装成功
#subsetter:
#    [mkdir] Created dir: /root/sfntly/java/dist/tools/subsetter
#      [jar] Building jar: /root/sfntly/java/dist/tools/subsetter/subsetter.jar
#
#BUILD SUCCESSFUL

查看安装的结果

tree dist
dist
├── lib
│   ├── sfntly.jar
│   ├── sfntly-javadoc.jar
│   └── sfntly-src.jar
├── sample
│   ├── sflint
│   │   └── sflint.jar
│   └── sfntdump
│       └── sfntdump.jar
└── tools
    ├── conversion
    │   ├── eot
    │   │   └── eotconverter.jar
    │   └── woff
    │       └── woffconverter.jar
    ├── fontinfo
    │   └── fontinfo.jar
    ├── sfnttool
    │   └── sfnttool.jar
    └── subsetter
        └── subsetter.jar

11 directories, 10 files

所需要的文件就是 sfnttool.jar

所需要的文件是就是 sfnttool.jar

# 复制到工作目录
cp dist/tools/sfnttool/sfnttool.jar  ~

# 查看帮助文件
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

# 使用方法
java -jar sfnttool.jar -s "这里是需要提取的字符" 字体文件 me.ttf
java -jar sfnttool.jar -s "这里是需要提取的字符" 字体文件 -e me.eot

回复

电子邮件地址不会被公开。 必填项已用*标注