如何减少缩放时自定义图标 Web 字体周围出现的锯齿?

平面设计 adobe-illustrator svg 网络字体 调整大小 抗锯齿
2022-02-08 00:32:36

我正在尝试制作自己的图标并将它们嵌入到自定义 Web 字体中。为此,我正在使用 Illustrator 和 Icomoon。

我将图标设计成一个14x14px正方形,然后使用 Icomoon 创建我的 Web 字体,当我在 Chrome 中看到结果时,它看起来像像素一样完美,但只有font-size: 14px;.

font-size如果我将to16px23px任何不是 的倍数的数字缩放14px,则图标看起来不清晰:

14px处,图标看起来很清晰:

14px的图标,看起来很清晰

18px,可能会更好...

18px 的图标

我知道这是意料之中的,但我注意到像 FontAwsome 或 Glyphicons 这样的图标比我的自定义字体更好地缩放。

注释(在 Illustrator 中):

  • 我正在使用“网格”
  • 我正在使用“对齐像素”设置
  • 我正在使用“像素预览”设置

所以我问自己在将图标保存为 SVG 时是否缺少 Illustrator 中的某些设置?

或者如果我在 Icomoon 中遗漏了一些东西,或者我应该使用其他程序吗?

当我的自定义 Web 字体不能与其原始大小完全成比例时,如何使我的自定义 Web 字体能够更好地缩放?

2个回答

据我了解,这是关于Font Hinting的。设计字体时,它需要有特定的规则才能在不同的大小下看起来很棒。大多数图标字体对于很多大小都没有这种提示,因此会出现“舍入”错误,从而为您提供半像素线。这使图标变得模糊。正确提示图标“捕捉”到像素。

在较大的尺寸通常没有问题。恕我直言,您实际上无能为力。

作为对 Chrome 修复的回应:Chrome 现在使用Windows 图形设备接口(?) 作为字体,因此它看起来与 IE 中的相同。

也许你应该研究一个官方字体应用程序来创建像Fontographer这样的字体?这样你就可以控制提示。

如果您使用的是 windows 和 chrome,那么字体渲染会略有不同(与基于 OSX 和 Linux 的系统相比)。我不确定这是否会对您有所帮助,但请查看以下链接(代码强制 -webkit 浏览器使用 SVG 字体)。

固定的!字体 Chrome 渲染