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

时间:2010-04-14 06:56:07

标签: fonts filesize true-type-fonts

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

7 个答案:

答案 0 :(得分:8)

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

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

如果Google拥有Font Awesome

等图标字体,这将特别有用

答案 1 :(得分:7)

您可以使用fontforge缩小文件大小

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

解释了这一点

答案 2 :(得分:4)

FontSquirrel的Webfont generator使缩小字体的文件大小变得非常容易。

  • 上传字体
  • 选择专家...
  • 选择要包含的字形
  • 下载您的工具包

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

FontSquirrel Webfont Generator

答案 3 :(得分:3)

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

它成功地将Noto Sans(重量=中等)从20MB减少到不到10,但仍然涵盖普通的中文/日文字符。

答案 4 :(得分:2)

我做了以下操作,从字体中删除所有西里尔字形(字母),因此只需要拉丁字母就可以将文件大小减半。

  1. 获取FontForge(https://fontforge.github.io/en-US/
  2. 启动FontForge并打开您的ttf字体文件
  3. 转到编辑 - >选择 - >选择按脚本
  4. 弹出选择窗口中的
  5. 从下拉菜单中选择了西里尔文。你可能已经猜到这只会标记西里尔字母。
  6. 转到编码 - >分离&删除字形,确认问题。看看西里尔字母是如何消失的?
  7. 转到编码 - >紧凑,以更好地概述剩余的字母,这使得更容易选择更多删除候选人。 (但我不敢手动删除/删除它们。)
  8. 转到文件 - >生成字体并且不要忘记选择ttf作为输出格式。
  9. 请考虑我不是这方面的专业人士。但我需要一个快速的解决方案。

    您可以在此处详细了解此主题:http://wiki.unity3d.com/index.php?title=Create_a_new_TrueType_font_using_a_subset_of_characters_from_an_existing_TrueType_font

答案 5 :(得分:1)

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

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

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

答案 6 :(得分:1)

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

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

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

完整的文档可用 here

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