有什么办法可以减小 .ttf 字体的大小?即,如果我们想删除一些我们不使用的 glyp。
7 回答
使用Google Web Fonts,您可以限制字符集,例如:
//fonts.googleapis.com/css?family=FontName&text=Lorem%20Ipsum
如果 Google 有Font Awesome之类的图标字体,这将特别有用
您可以使用 fontforge 来减小文件大小
这在http://www.cnx-software.com/2010/02/19/reducing-truetype-font-file-size-for-embedded-systems/有解释
我执行以下操作以从字体中删除所有西里尔字形(字母),从而将文件大小减半,因为我只需要拉丁字母。
- 获取 FontForge ( https://fontforge.github.io/en-US/ )
- 启动 FontForge 并打开你的 ttf 字体文件
- 转到编辑->选择->按脚本选择
- 在弹出的选择窗口中,从下拉菜单中选择 Cyrillic。正如您可能已经猜到的那样,这只会标记西里尔字母。
- 转到编码-> 分离和删除字形,确认问题。看看西里尔字母是如何消失的?
- 转到编码 -> 紧凑以更好地了解剩余字母,从而更容易选择更多删除候选者。(但我不敢手动删除/删除它们。)
- 转到文件-> 生成字体,不要忘记选择 ttf 作为输出格式。
请考虑到我不是这方面的专家。但我需要一个快速的解决方案。
在这里您可以阅读有关此主题的更多信息:http ://wiki.unity3d.com/index.php?title=Create_a_new_TrueType_font_using_a_subset_of_characters_from_an_existing_TrueType_font
我正在使用fontmin从 ttf 字体中删除字形。
它成功地将 Noto Sans (weight=medium) 从 20MB 减少到不到 10 个,但仍然覆盖了常见的中文/日文字符。
这是什么申请?大多数字体相对较轻。TTF 存储矢量数据而不是位图数据,因此描述每个字形的形状所需的字节数相对较少。即使是非常繁忙的字体也可以保持在 100kb 以下。许多现代字体都带有 ClearType 提示,但即使这样也增加了很小的文件大小。
如果您真的想从字体中提取某些字形,那么您将需要一个字体编辑工具(Macromedia 有一个名为Fontographer的工具,现在归 FontLab 所有)。但是你最好选择一个更轻的字体。例如,OCR A Std
只有 30kb,包括 ClearType 提示以及所有美国 ASCII 字符。尽量避免使用 Unicode 字体,因为完整的 Unicode 支持需要大量字形。但大多数字体不提供完整的 Unicode 支持。
最后,如果您决定修改字体,请确保将其命名为其他名称。命名冲突可能会给用户带来一些非常恼人的惊喜。