减少.ttf字体大小的方法?

Aja*_*jay 26 fonts filesize truetype

有没有办法减少.ttf字体的大小?即如果我们想要删除一些我们不使用的glyps.

rem*_*eus 12

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

pip install fonttools
pyftsubset myFont.ttf --output-file=mySmallerFont.ttf --unicodes=U+0020-007E
Run Code Online (Sandbox Code Playgroud)

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

完整文档可在此处获取。

对于 unicode 字符列表,您可以查看维基百科


Web*_*per 11

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

//fonts.googleapis.com/css?family=FontName&text=Lorem%20Ipsum
Run Code Online (Sandbox Code Playgroud)

如果谷歌拥有像Font Awesome这样的图标字体,这将特别有用


Jue*_*gen 5

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

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

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

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


ben*_*ree 5

FontSquirrel的Webfont生成器使减少字体的文件大小变得非常容易。

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

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

FontSquirrel Webfont生成器

  • 单击*自定义子集...*单选框可进一步减小文件大小。 (2认同)

Lès*_*sté 1

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

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

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

  • 复杂的 .ttf 字体很容易达到 1MB 或更大。 (7认同)
  • 但你要求申请。:) 我现在正在处理确切的问题。 (3认同)
  • 例如,中文字体通常为 8-12MB。它们包含 20K-40K 个单独的字形。 (2认同)