34

有什么办法可以减小 .ttf 字体的大小?即,如果我们想删除一些我们不使用的 glyp。

4

7 回答 7

16

FontSquirrel 的Webfont 生成器可以很容易地减小字体的文件大小。

  • 上传你的字体
  • 选择专家...
  • 选择要包含的字形
  • 下载您的套件

我能够将 263kb 的字体缩小到 34kb。

FontSquirrel 网络字体生成器

于 2018-06-21T18:47:24.037 回答
15

使用Google Web Fonts,您可以限制字符集,例如:

//fonts.googleapis.com/css?family=FontName&text=Lorem%20Ipsum

如果 Google 有Font Awesome之类的图标字体,这将特别有用

于 2012-05-20T03:35:09.183 回答
9

您可以使用 fontforge 来减小文件大小

这在http://www.cnx-software.com/2010/02/19/reducing-truetype-font-file-size-for-embedded-systems/有解释

于 2011-01-19T13:12:32.700 回答
5

我执行以下操作以从字体中删除所有西里尔字形(字母),从而将文件大小减半,因为我只需要拉丁字母。

  1. 获取 FontForge ( https://fontforge.github.io/en-US/ )
  2. 启动 FontForge 并打开你的 ttf 字体文件
  3. 转到编辑->选择->按脚本选择
  4. 在弹出的选择窗口中,从下拉菜单中选择 Cyrillic。正如您可能已经猜到的那样,这只会标记西里尔字母。
  5. 转到编码-> 分离和删除字形,确认问题。看看西里尔字母是如何消失的?
  6. 转到编码 -> 紧凑以更好地了解剩余字母,从而更容易选择更多删除候选者。(但我不敢手动删除/删除它们。)
  7. 转到文件-> 生成字体,不要忘记选择 ttf 作为输出格式。

请考虑到我不是这方面的专家。但我需要一个快速的解决方案。

在这里您可以阅读有关此主题的更多信息:http ://wiki.unity3d.com/index.php?title=Create_a_new_TrueType_font_using_a_subset_of_characters_from_an_existing_TrueType_font

于 2017-06-08T16:23:43.593 回答
4

您可以使用fonttools从字体中删除不需要的字形。

pip install fonttools
pyftsubset myFont.ttf --output-file=mySmallerFont.ttf --unicodes=U+0020-007E

mySmallerFont.ttf将仅包含从 U+0020 到 U+007E(基本拉丁文)的 unicode 字符。

完整的文档可在此处获得。

对于 unicode 字符列表,您可以查看Wikipedia

于 2021-02-17T09:07:12.000 回答
3

我正在使用fontmin从 ttf 字体中删除字形。

它成功地将 Noto Sans (weight=medium) 从 20MB 减少到不到 10 个,但仍然覆盖了常见的中文/日文字符。

于 2016-06-01T05:36:27.637 回答
1

这是什么申请?大多数字体相对较轻。TTF 存储矢量数据而不是位图数据,因此描述每个字形的形状所需的字节数相对较少。即使是非常繁忙的字体也可以保持在 100kb 以下。许多现代字体都带有 ClearType 提示,但即使这样也增加了很小的文件大小。

如果您真的想从字体中提取某些字形,那么您将需要一个字体编辑工具(Macromedia 有一个名为Fontographer的工具,现在归 FontLab 所有)。但是你最好选择一个更轻的字体。例如,OCR A Std只有 30kb,包括 ClearType 提示以及所有美国 ASCII 字符。尽量避免使用 Unicode 字体,因为完整的 Unicode 支持需要大量字形。但大多数字体不提供完整的 Unicode 支持。

最后,如果您决定修改字体,请确保将其命名为其他名称。命名冲突可能会给用户带来一些非常恼人的惊喜。

于 2010-08-25T14:51:21.670 回答