我使用大Arial字體大小 - 40px Arial Bold。Arial字體大小
我注意到它在Windows中的Chrome/Firefox瀏覽器中沒有正確呈現。它很接近,但它有微妙的不同。將字體大小增加到46px會使事情變得更好。
我猜這是一個像素級渲染的東西,所以Arial字體的「正確」像素大小是什麼?
我使用大Arial字體大小 - 40px Arial Bold。Arial字體大小
我注意到它在Windows中的Chrome/Firefox瀏覽器中沒有正確呈現。它很接近,但它有微妙的不同。將字體大小增加到46px會使事情變得更好。
我猜這是一個像素級渲染的東西,所以Arial字體的「正確」像素大小是什麼?
定義「呈現準確」?你的意思是的區別到其他應用程序?但如果是這樣的話,哪一個是真正準確的?
如果你真的很幸運,你可能會讓給定平臺上的所有瀏覽器呈現幾乎相同的效果,因爲你似乎已經處理了46px,但它肯定不是給定的,因爲你已經發現了40px 。但是,即使你確實在Windows上的所有瀏覽器中擊敗了一個甜蜜點,但如果你將相同的頁面加載到Mac或Linux PC上的任何瀏覽器中,你將會得到完全不同的效果,它將如何看待手機或平板電腦。
你問是否是像素級的東西。字體實際上是以子像素爲基礎渲染的(請參閱http://en.wikipedia.org/wiki/Subpixel_rendering瞭解更多信息),這意味着您應該獲得非常高的準確性。但是,字體有許多不同的呈現方式,這可能會導致應用程序和平臺之間的顯着差異。
大多數Windows應用程序會將其字體呈現延遲到Windows API。然而,像Web瀏覽器這樣的應用程序需要對操作系統的API提供的字體渲染進行更多的控制,所以他們必須實現自己的。這顯然意味着瀏覽器的字體渲染與其他應用程序的字體渲染可能存在差異。
尤其如此,因爲微軟在字體渲染領域擁有多項專利,這意味着Firefox和Chrome將無法使用某些技術(無需支付版稅)。蘋果公司在這方面也擁有專利。這些技術很容易避免,但同樣意味着Firefox的字體渲染與Windows'有細微的差別。沒有錯;只是不同。
最後,它也歸結爲一個選擇的問題。如果您將Apple Mac與Windows PC進行比較,則很容易發現Mac對PC具有非常不同的字體渲染。 Mac上的文本往往看起來更模糊但更平滑,而PC文本更清晰,但可以有更多鋸齒狀邊緣。這些差異取決於OS設計人員在子像素渲染級別所做的選擇。他們看起來不同,但他們都是有效的選擇,並可以大力捍衛。 Firefox在這方面也做出了自己的選擇。
底線?請不要嘗試在Web瀏覽器中堅持像素完美的字體渲染。
感謝您的回覆。我並不是在尋找像素完美的,我不確定我是否同意你的觀點。這不是它看起來不同 - 而是它看起來不同的尺寸_。在我看來,不同字體大小的字體存在顯着差異。如果你想設置一個例子,只需使用字母'i',你可以看到線和點之間的差距(以及點的大小)差別很大。 – DaisyK 2011-03-08 21:35:48
好問題,但我不確定是否有明確的答案。 – 2011-03-08 21:16:20