我喜欢 Mac OS精美呈现字体的方式(不仅仅是浏览器)。我想知道我们是否可以在 Windows 上运行的浏览器中以某种方式获得相同的渲染?
有人推荐了 sIFR,但我想这在我需要使用非标准字体时很有用?
使用 mactype
不确定这是否是一个设置,但当然,Windows 上的 Safari 使用 OS X 渲染算法进行渲染。
Brad 是对的:如果您想要 Mac 字体渲染算法,请使用 Safari。
如果您想了解更多详细信息,Jeff 和 Joel 之前都曾在博客上讨论过这个问题(毫不奇怪,大约在 Safari 为 Windows 发布的时候):
我假设您希望能够在全球范围内使用,或者至少在 IE/Firefox 中使用,而不仅仅是像其他人建议的那样安装 Safari。
早在 Mac OS X 仍处于开发阶段的时候,就有计划发布适用于 Windows 的 Cocoa 框架,以允许使用它编写的应用程序通过重新编译在 Windows 上本地运行。我怀疑一组 Cocoa windows 库(不是黄色框吗?)会给你 Mac OS X 风格的字体渲染,但我认为它从未发布过(尽管你可能可以获得非常旧的 beta 版本它来自某个地方,我感觉其中一些是 WebObjects 的一部分或类似的东西)。
我怀疑 Safari 的 Windows 版本正在使用 Windows 的 Cocoa 库的内部版本,这就是它具有 Mac OS X 字体渲染的原因(尽管我相信最近的夜间构建至少可以选择使用 Windows 的本机字体渲染)谁在抱怨它看起来不合适)。
无论如何,长篇大论,除非您要编写自己的字体渲染器,否则我认为没有任何简单的方法可以做到(除了使用 Safari)
有人推荐了 sIFR,但我想这在我需要使用非标准字体时很有用?
sIFR 不会给您预期的效果。与 Windows 的 ClearType 一样,Flash 的抗锯齿(sIFR 使用)针对像素网格进行优化,而不是针对字体的准确表示。
您也许可以使用 Safari 捆绑的 CoreGraphics 库来进行字体渲染,但您可能会违反 Apple 的许可协议(尤其是当您尝试发布您的应用程序时……)。
我正在编写一个 Java 应用程序,用字体做一些有趣的事情,并与一些图形设计师一起工作,他们想要你所说的那种字体渲染。通过打开分数指标(即亚像素字形放置精度)和抗锯齿,我能够非常接近,这是 Mac 和 Windows 字体渲染之间的主要区别。对于较大的 TrueType 字体看起来相当不错。
这是我使用的 Java 代码。这一切都是用他们的原生字体渲染引擎完成的(我相信它可能是 FreeType,不确定)。
g.setFont(new Font("Century Schoolbook", Font.PLAIN, 36));
g.setRenderingHint(RenderingHints.KEY_FRACTIONALMETRICS,
RenderingHints.VALUE_FRACTIONALMETRICS_ON);
g.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING,
RenderingHints.VALUE_TEXT_ANTIALIAS_ON);
现在只要我能弄清楚如何使 OpenType CFF 字体工作。
Microsoft Powertoy Cleartype Tuner可让您调整 Cleartype 的工作方式。它可能会有所帮助。不确定它是否适用于比 Windows XP 更新的任何东西。
您可以等到 IE9,它显然具有更好的文本渲染,使用 DirectX:http: //blogs.msdn.com/ie/archive/2009/11/18/an-early-look-at-ie9-for-developers .aspx
如果你想在 firefox 中渲染 mac osx,你必须使用扩展 Anti-Aliasing Tuner:
https://addons.mozilla.org/firefox/addon/anti-aliasing-tuner/
只需将抗锯齿模式设置为默认模式,将渲染模式设置为小字体和大字体的大纲即可。