Ter*_*den 8 unicode fonts truetype webfonts font-face
我有一个14MB的TTF,主要包含简体中文字符.
我想通过创建一个仅包含HTML页面中特定字符的子集来减小大小.
因此,理想情况下,我想将(Linux)程序传递给一个文本块,并根据所包含的字符重新创建字体.
例如
./magic-font-squisher input.tff "ABC123???"
Run Code Online (Sandbox Code Playgroud)
要么
./magic-font-squisher input.tff /path/to/test.html
Run Code Online (Sandbox Code Playgroud)
然后新字体将只有9个字符.
您可以通过脚本FontForge来实现。尽管可以使其变得更聪明或包含在包含的脚本中,但此方法可行。
#!/usr/bin/env fontforge
Open($1); # first param
SelectAll();
SelectFewer(0u41, 0u43, 0u31, 0u33); # a range
SelectFewer(0u6c34); # or a single codepoint
SelectFewer(0u5c0f);
SelectFewer(0u957f);
DetachAndRemoveGlyphs();
Save($2); # second param
Quit(0);
Run Code Online (Sandbox Code Playgroud)
我必须FONTFORGE_LANGUAGE在运行它之前定义:
FONTFORGE_LANGUAGE=ff ./squish source.ttf squished.ttf
Run Code Online (Sandbox Code Playgroud)
使用过https://bitbucket.org/philip/font-optimizer/src
./subset.pl --chars="ABC 123 ???" input.ttf output.ttf
Run Code Online (Sandbox Code Playgroud)
这正是我想要的.
我怎么找到它
Google字体目录包含一个子集工具.该自述说
--string =:仅为指定的字符串生成子集.用于创建菜单子集.但是,我们通常会使用Font Optimizer中的subset.pl进行此操作.
搜索Font Optimizer将我带到了一个允许您测试脚本的演示站点.
还有一个分叉的GitHub仓库,它有更好的文档.
| 归档时间: |
|
| 查看次数: |
3326 次 |
| 最近记录: |