Windows上的Mac字体渲染
我喜欢Mac OS精美呈现字体的方式(不仅仅是浏览器)。我想知道我们是否能够以某种方式在Windows上运行的浏览器中获得相同的渲染?
有人建议使用sIFR,但是我想在需要使用非标准字体时有用吗?
解决方案
回答
不确定这是否是设置,但是当然,Windows上的Safari使用OS X渲染算法进行渲染。
回答
布拉德说得对:如果要Mac字体渲染算法,请使用Safari。
杰夫(Jeff)和乔尔(Joel)之前都曾对此写过博客(不足为奇,大约在Safari发布用于Windows的时候),如果我们想了解更多详细信息,请执行以下操作:
http://www.codinghorror.com/blog/archives/000885.html
回答
我假设我们想在全球范围内(至少在IE / Firefox中)使用,而不只是像其他建议那样安装Safari。
早在Mac OS X仍处于开发阶段的时候,就有计划发布Windows的Cocoa框架,以允许写入其中的应用程序在Windows上通过重新编译本机运行。我怀疑这套Cocoa Windows库(不是Yellow Box吗?)会为我们提供Mac OS X样式的字体渲染,但我认为它从未发布过(尽管我们可能会获得非常旧的Beta版它来自某个地方,我感觉其中有些是WebObjects的一部分或者类似的东西。
我怀疑Safari的Windows版本使用的是Windows的内部版本的Cocoa库,这就是为什么它具有Mac OS X字体渲染的原因(尽管我相信最近的夜间版本至少可以选择使用Windows的本机字体渲染谁在抱怨它看起来不合适。
无论如何,长期存储很短,除非我们要编写自己的字体渲染器,否则我认为没有任何简单的方法可以做到(除了使用Safari之外)
回答
Someone recommended sIFR but I guess that's useful when I need to use non-standard fonts?
sIFR不会给我们预期的效果。像Windows的ClearType一样,Flash的抗锯齿(sIFR使用)针对像素网格进行优化,而不是针对字体的准确表示进行优化。
我们也许可以使用Safari捆绑的CoreGraphics库进行字体渲染,但是我们可能会违反Apple的许可协议(尤其是在尝试发布应用程序后)。
回答
签出GDI ++ / FreeType(链接,链接)。它是Windows的高度可配置的字体渲染替代品。通过一些提示,抗锯齿等配置,我们应该能够相当接近地近似OSX样式的字体渲染。
回答
我正在编写一个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字体有效。
回答
我们可以等到使用DirectX的IE9(显然具有更好的文本呈现):http://blogs.msdn.com/ie/archive/2009/11/18/an-early-look-at-ie9-for-developers .aspx