Windows 7 和 OS X 都使用無襯線字體,為什麼 Windows 的看起來和 OS X 效果差別很大呢?


首先,Windows與Mac的文字渲染(Font-rendering, 我不認同翻譯,但暫且使用)誰好誰差,不在此定義。因為字體設計師相信肉眼較易接受相對輪廓圓潤的視覺文字(visual language),

mac是基於這個想法去調較osx的font rendering engine (Apple quartz, 有錯謝謝指正),在外國文字設計論壇http://typophile.com上字體愛好者幾乎一面倒支持mac的文字渲染方法;然而另一陣營,windows一方以工程師為主的,相信文字一定要「清晰」,「清晰」即時易認性。因此無論GDI、cleartype等技術的「喜好」也偏向將文字硬性拆成細碎的點陣,這也解釋了為何字體到了Windows都變了形,又有Hinting,而OSX上字較「濛」,但字體的設計優劣就容易看出,也沒有Hinting的需要。

總括來說,mac一方是以字體設計師喜好的方向出發,而Windows一方則以工程師喜好的方向出發。而Windows 7新的渲染API DirectWrite, 比起GDI 和 Cleartype都較人性化了,不過與OSX的分別仍然很大。

然而最終極影響可讀性的因素:習慣與否。

以下提供一些額外資料:

在外國的編程網站就找到以下,關於OSX與Windows在字體渲染上背後不同的哲學:

"The primary difference is that Microsoft try to align everything to whole pixels vertically and sub-pixels horizontally.

Apple just scale the font naturally – sometimes it fits into whole pixels other times it doesn』t.

This means Windows looks sharper at the expense of not actually being a very accurate representation of the text. The Mac with it』s design/DTP background is a much more accurate representation and scales more naturally than Windows which consequently jumps around a lot vertically."

http://damieng.com/blog/2007/06/13/font-rendering-philosophies-of-windows-and-mac-os-x (內有Times New Roman在Mac和PC的環境下操作的不同)

-----

Font smoothing, anti-aliasing, and sub-pixel rendering

by Joel Spolsky

http://www.joelonsoftware.com/items/2007/06/12.html

-----

在外國文字討論區、Typohile關於mac與pc文字渲染討論

http://www.typophile.com/node/34393

-----

MSDN上關於DirectWrite的資訊

http://msdn.microsoft.com/en-us/library/windows/desktop/dd368038(v=vs.85).aspx

-----

舊式渲染器GDI與DirectWrite的分別

http://www.basschouten.com/blog1.php/font-rendering-gdi-versus-directwrite

-----

Typekit上關於IE9改善了的文字渲染技術

http://blog.typekit.com/2011/07/26/new-from-typekit-improved-font-rendering-on-windows/

-----

Font Rendering: Respecting The Pixel Gridhttp://www.codinghorror.com/blog/2007/06/font-rendering-respecting-the-pixel-grid.html

-----

因本人不是電腦技術專業,有甚麼詞匯或內容錯了還望指正,謝謝


Windows和Mac字體渲染效果,是比較主觀的評價,不同的人會有不同的看法。從技術上講,最主要的區別有:

  1. Windows使用次像素渲染,只用於文字反走樣(anti-aliasing)。單個字元的定位是像素級而不是次像素級的。假設要把"tomorrow"這個詞顯示出來,在從矢量字體光柵化(rasterization)時,單個字母的X坐標必定會出現小數,不可能全都是整數,比如"t"的X坐標是0,"o"可能是5.2,『m"可能是11.7,等等。如果字元定位是次像素級,這些坐標會四捨五入到1/3個像素大小,變成0,5.333, 11.6666。如果是像素級,就只能四捨五入到0, 5, 12。

    這意味著什麼呢?同樣一句話,在windows裡面顯示出來,仔細觀察,你會發現同一行字母之間的間距並不均勻,而mac或Linux上面,字母的間距是基本均勻的,或者說,要均勻三倍。

    需要說明的是,上面說的Windows渲染字體僅限於經典的GDI。從Windows 7開始的DirectWrite API也已經是次像素定位,作為對比,你可以觀察IE 9(DirectWrite)和Chrome裡面文字渲染的區別。另外Adobe Reader也是明顯使用了自己的字體渲染,很容易對比出來不同的效果。
  2. Windows的文字渲染,強調屏幕顯示字體的美觀,特別是對於小點陣字體,因而常用的字型檔加了很多hinting。hinting這裡就不解釋了,請自行google。Apple Adobe這些長期搞出版業的,則強調屏幕顯示和印刷效果的一致性。肉眼能觀察到的區別就是,Windows上的顯示字體,特別是小字體,筆劃都相當清楚;Mac則是給人的感覺比較虛/糊,特別是小字體。這是因為桌面屏幕的DPI(&<150)和印刷(300入門)相比差了很多,即使有反走樣也補不好。Windows加了大量hinting的字型檔,在大字型大小下面就容易出現筆劃變形,粗細不一,等等。

    還有一點需要補充,Windows的字型檔有一些乾脆是自帶了小號字體的點陣字型檔。Tahoma是不是我記不太清,但宋體字型檔是非常明顯的內置了至少三種字型大小(12px, 14px, 16px)的點陣。

總之,Windows字體渲染的考慮,一是為了效率(怕麻煩只做整像素定位),二是為了小號字體屏顯效果。從DirectWrite開始,和其他平台的差別就越來越小了。


轉載一篇文章

——————————————————————————————————————

Windows Mac 字體差異

任何字體在windows上都會比在mac上更清晰。

點陣字體當然不算,只是比較同樣的矢量字體,windows打開「字體清晰」的情況下。

windows的字體渲染單就「清晰度」來說是比mac更清晰的,這個是無可爭議的。

微軟為了字體跟清楚、易於辨認所以如果渲染字體的時候如果會把字體的「筆畫

」挪動到像素點的中心位置,並且改動字體的原有粗細程度,以保證字體不會出現發虛的現象,在大點距的現實設備上體現的尤為明顯。

而蘋果會忠實的按照字體的原有設計把它還原到屏幕上。

也就是說,在windows下你在屏幕上看到的效果和原設計的效果以及列印出來的效果是不同的,而mac下基本是相同的。

總結一下就是:

微軟認為,每個字母的形狀應該做成像素邊界,以防止模糊、提高易讀性,即便違背了字體原來的設計也在所不惜。

蘋果認為,演算法應該盡量保留字體本身的設計,即便會有些模糊也在所不惜。

蘋果和微軟的次像素渲染技術

蘋果公司和微軟公司,對於如何在電腦屏幕上顯示字體,總是有不同看法。目前,這兩家公司都使用次像素渲染(subpixel rendering)技術,使得字體在低解析度的屏幕上,也能顯得很清晰。這兩家公司的根本不同之處在於指導思想。

* 蘋果公司通常認為,字體演算法的首要目的,是儘可能多得保持原始設計的樣子,即使有損屏幕顯示的清晰性,也在所不惜。

* 微軟公司通常認為,字體的形狀一定要適應像素的限制,要保證屏幕顯示不模糊、容易辨識,即使字體的形狀因此背離原始設計,也在所不惜。

現 在,Safari[1]的Windows版本已經發布了。這個軟體克服了許多困難,才將蘋果公司的字體渲染演算法,用到了Windows操作系統上。這實際 上給了你一個機會,在同一台顯示器上直接比較兩種不同的字體哲學。這有助於你理解我下面要舉的例子。我想通過比較,你會注意到兩者的不同。蘋果系統的字體 給人有一點毛茸茸的感覺,邊界不是很清晰。但是,從電腦屏幕上看,在不同的字體族(font family)之間,它會顯示出更多的變化。原因是蘋果公司的渲染演算法,比微軟公司更忠實於字體的原始設計,能夠像印刷品那樣,在高清晰度狀態下,呈現出 字體設計中的細微差別。

微軟與蘋果的字體次像素渲染技術對比

這 種差別的源頭,來自於蘋果公司的歷史傳統,蘋果公司一貫非常重視桌面出版和平面設計。它的演算法有一個好處,就是當你在電腦中打開針對印刷品的設計稿,你在 屏幕上看到的,與最終印刷出來的樣子很接近。當你判斷一個文本區域的顏色深淺時,這個特性尤其有用。微軟公司的處理方法是讓字體盡量適應像素的分布,這意 味著微軟其實不在乎,讓字母毛茸茸的邊緣被一根根細線替代,即使因此文本在屏幕上顯示的顏色比印刷時淺,也無所謂。


簡單地說,渲染的方式不一樣。蘋果的理念是屏幕顯示的效果盡量接近字體真實效果(即列印效果),而微軟追求的是盡量清晰,為此不惜改變字體外形。

有人覺得windows丑,也有人看不慣mac os的模糊。

另外,在windows上可以用軟體來更改字體的渲染方式,您可以搜一下mactype。


討論基於點陣的字體渲染效果時,首先明確像素密度是很重要的。因為更高的像素密度可以秒殺一切優化的演算法。

Windows 歷史上長期以來就是為低像素密度的小尺寸字體顯示而優化的。對於低像素密度的顯示器,並且小尺寸的字體,實話實說 Windows 字體渲染會優於 Mac。

但是這些針對低像素密度的字體渲染優化技術(具體就不點名了,上面已經說得太多了,其實普通用戶根本沒有必要知道這些細節),多少會改變字體對於顯示而列印的真實對照性。所以對於像素密度夠高的情形,蘋果的渲染方式更真實。

如果要比較兩種字體渲染演算法,務必需要用相同像素密度的顯示器以及完全相同的字體去比較。而現實中,真正的區別可能僅僅是:蘋果系統有一個像素密度更高的顯示器,或者是蘋果系統使用的那個字體你更喜歡。。。


個人感覺這和系統無關,只和硬體相關,Mac的屏幕明顯優於windows系列


最主要的原因是喬布斯本身對平面設計就有深入研究,曾經專門修習過平面設計課程,在其著名的演講中提到過「掌握了字間距與行間距的精髓」之類的話。他在OS的界面設計時嚴格執行了美學要求,並對所有的產品都有美的訴求。這種對「美學」的追求是滲透到蘋果軟體整個領域中的。而蓋茨本人的藝術修養和追求則要淡泊很多。

CEO的喜好是直接影響到執行工程師的設計的。CEO的這種分歧大概是兩種UI差異的的根本原因。技術上並沒有太大區別。


個人覺得mac字體圓潤,但windows字體更實用,提高工作效率


因為MAC的PPI普遍比較高,在加上新的retina屏幕可以使無襯線的字看上去更能還原字體。


推薦閱讀:

Mac 該不該裝 Windows?
python有什麼庫可以用來寫錄屏腳本?
微軟內部對於 Windows 在中國市場的盜版情況是否曾經存在過適度縱容的政策?如果有,這樣決定的原因是什麼?
如何用python發送windows通知?
長期linux用戶如何在windows下存活?

TAG:macOS | 字體 | MicrosoftWindows | 字體排印 | 字體渲染 |