【问题标题】:Which font embedding technique allows one to suppress anti-aliasing?哪种字体嵌入技术可以抑制抗锯齿?
【发布时间】:2012-03-15 09:24:37
【问题描述】:

我对所有不同的字体嵌入技术感到困惑,Cufon、@font-face、FLIR、Typekit 等,并且不知道从哪里开始,特别是因为我只需要一种特定的行为。是否有任何字体嵌入技术可以在没有抗锯齿/平滑/ClearTyping 的情况下呈现字体?

我一直只是针对我的计算机/显示器呈现的任何内容进行设计,甚至没有考虑过两次。但是对于这个特定的站点,我在一个漂浮在玻璃 PNG 上的 div 上使用不透明度,而 ClearType 只是一场灾难。这个背景组合上的 ClearType 抗锯齿在黑暗中脱颖而出,创造出本质上是粗体的字体。如果我在 IE8 上应用 alpha 不透明度过滤器,它会删除 ClearTyping,只显示单个像素笔划,看起来很完美。

那么,是否有任何字体嵌入技术允许禁用字体跨浏览器上的抗锯齿渲染?我知道 sIFR 可能会,但我真的不想使用 Flash,因为我的目标受众很可能是不会保持更新的主要受众:B&M 公司。

【问题讨论】:

  • 前段时间我走上了这条路,结果以“浏览器决定”结束,希望从那时起事情有所进展!

标签: html css text fonts


【解决方案1】:

从技术上讲,没有字体嵌入技术可以让您抑制抗锯齿。您需要一个 CSS 属性来告诉浏览器,如果您的页面上的某些元素没有消除锯齿,您更愿意这样做。

现在,虽然这可能对您的所有努力都没有帮助,特别是如果您的大部分观众没有使用基于 WebKit 的浏览器,一些 WebKit 浏览器支持类似于 proposed font-smooth CSS property 的东西,如 @987654322 中所述@,使用:

-webkit-font-smoothing: none;

将类似于 W3C 提议的 font-smooth 属性:

font-smooth: never;

Max 的文章还链接到 a demo page by Christoph Zillgens,它向您展示了实际效果,但需要注意的是它似乎只适用于 OS X。

正如 Aram Kocharyan 上面所说,很可能——现在——你不能依赖这个属性,而必须让浏览器来决定。

如果 opacity 设置为 1 以外的任何值,一些早期的 Internet Explorer 引擎也会为文本设置别名 - 您可以尝试将 0.999 作为值,看看那里会发生什么。

【讨论】:

  • 嗨。谢谢。是的,我玩过这个。不幸的是,不行;它似乎在我的 Chrome 中不起作用。另外,我可以告诉你,你掌握了我的人口统计数据,他们很可能不会使用任何 WebKit。
  • 你尝试过不透明度黑客吗?它可能不是 0.999,而是一个(略)低的值。您的另一个选择是尝试-ms-font-smoothing 并将其设置为从不 - 可能只适用于 IE10(可能是 IE9),但我不知道。
  • 是的,我确实尝试过不透明度黑客。这就是我发现 IE8 清除平滑的方式。所以至少对于那些没有更新浏览器的人来说,我会在这个字体上加上别名。不过,这不是很面向未来。我希望font-smooth 成为现实。
猜你喜欢
  • 2011-02-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-11-20
  • 2015-08-08
  • 2011-01-26
  • 2015-07-31
相关资源
最近更新 更多