2012-02-02 26 views
0

我在xcode/interface builder中构建了一个非常简单的应用程序,只有一个NSTextView。除了将字体改为“Arial”并增加字体大小之外,我对文本视图没有任何作用。但是,它在OS X 10.5上比在10.7上看起来要少得多。这里发生了什么?为什么在OS X 10.5中与10.7相比,此文本看起来“不那么粗壮”?

10.5 in the top window, 10.7 in the bottom window

(10.5在顶部窗口,10.7在窗口的底部)

我曾与黑体测试,并得到了相同的结果,所以它不是做这个特定的字体。

+2

Apple已更改每个主要版本的OS X中使用的字体消除锯齿算法。另外,虽然系统设置可能设置为一个选项,但系统可能会根据所连接的屏幕覆盖该选项。 – 2012-02-02 20:39:55

+0

你应该做任何事情来弥补这一点,或者只是接受它会在不同的操作系统上看起来不同,并将其留在那里?我希望我们的应用程序能够在不同版本之间保持一致,但是如果Apple不断改变某些内容,那么不经调整就不会发生这种情况。 – Colen 2012-02-02 21:49:20

回答

1

如果放大该图像足够了,您会在10.7示例中看到色彩边缘。这表明该文本使用subpixel antialiasing来呈现,更具体地说,使用RGB子像素排序。 10.5示例使用灰度抗锯齿。尽管使用子像素渲染通常是一个好主意,但它在低分辨率屏幕或CRT上可能看起来很糟糕,并且不能用于需要应对多个子像素排列的多显示器设置。这意味着一些用户将为他们的系统启用子像素渲染,有些用户不会。不要尝试以任何方式绕过该设置,或者通过覆盖系统偏好进行字体平滑处理,或者通过将文本预渲染为图像。用户更可能注意到其系统中文本看起来不正确的应用,而不是注意到两台不同机器之间渲染的差异。

相关问题