ClearType抗鋸齒技術
Microsoft ClearType 平滑技術是一種平滑方法,可改善傳統反鋸齒方法下的字型顯示效果。 其可顯著改善使用數位介面的彩色 LCD 顯示器的可讀性,例如在筆記型電腦和高品質平面桌上顯示器中的應用。 CRT 畫面上的可讀性也有些改善。
不過,ClearType 取決於 LCD 條紋的方向和順序。 目前,ClearType 只會針對具有已排序 RGB 之垂直條紋的 LCD 實作。 特別是,這會影響平板電腦,其中顯示器可以面向任何方向,以及可以從橫向轉為直向的螢幕。
允許 ClearType 反鋸齒:
- 針對 16 位、24 位和 32 位色彩(256 種色彩或更少時停用)
- 螢幕 DC 和記憶體 DC (不適用於印表機 DC)
- 針對 TrueType 字型和具有 TrueType 外框的 OpenType 字型
ClearType 反鋸齒功能已停用:
- 在終端伺服器客戶端環境中
- 針對位圖字型、向量字型、裝置字型、類型 1 字型或 Postscript OpenType 字型,不含 TrueType 外框
- 如果字型已微調內嵌位圖,則僅適用於包含內嵌位圖的字型大小
若要啟用 ClearType 反鋸齒功能,請呼叫 SystemParametersInfo 一次以開啟字型平滑,然後第二次將平滑類型設定為 FE_FONTSMOOTHINGCLEARTYPE,如下列程式代碼範例所示:
SystemParametersInfo(SPI_SETFONTSMOOTHING,
TRUE,
0,
SPIF_UPDATEINIFILE | SPIF_SENDCHANGE);
SystemParametersInfo(SPI_SETFONTSMOOTHINGTYPE,
0,
(PVOID)FE_FONTSMOOTHINGCLEARTYPE,
SPIF_UPDATEINIFILE | SPIF_SENDCHANGE);
您可以變更 ClearType 演算法中使用的對比值,以調整文字的外觀。 默認值為 1,400,但可以是 1,000 到 2,200 的任何值。 視顯示裝置和使用者的色彩敏感度而定,較高或較低的對比值可能會改善可讀性。 若要變更對比,請使用 SPI_SETFONTSMOOTHINGCONTRAST 呼叫 SystemParametersInfo。 下列程式代碼會將對比值設定為 1,600。
SystemParametersInfo(SPI_SETFONTSMOOTHINGCONTRAST,
0,
(PVOID)1600,
SPIF_UPDATEINIFILE | SPIF_SENDCHANGE);
您應該考慮下列應用程式相容性的詳細資料:
- 使用 ClearType 的文字渲染比標準反鋸齒稍微慢一點。
- 應用程式不應該使用 XOR 來顯示選取的文字。 應用程式應該設定背景色彩,並重新顯示選取的文字。
- 應用程式不應該以透明模式在本身上方繪製相同的文字。 如果發生這種情況,反鋸齒處理的邊緣像素將與自身的顏色融合,而不是與背景色彩融合。 這會導致變暗和五顏六色的邊緣。
- 當處於不透明模式時,應用程式不應該透過分別繪製每個字元來繪製文字,因為字元的邊緣可能會被接下來的字元遮蓋。 這是因為使用 ClearType 平滑的字元可能有負 A 或 C 寬度,其中一般字元有正 A 或 C 寬度。 只有字符的 B 寬度能保證一致。 同樣地,如果平滑文字位於未平滑的文字旁邊,應用程式應該小心。
- 如果應用程式呈現文字後再進行位圖處理,則應該將字型平滑化功能關閉,方法是將 LOGFONT 結構中的 lfQuality 成員設定為 NONANTIALIASED_QUALITY。 例如,遊戲可能會新增位圖陰影效果,或轉譯成位圖的文字可能會縮放以產生拇指檢視。
- 如果使用者在直向模式下執行(也就是監視器的條紋是水平的),則應該停用 ClearType 平滑處理功能。
CreateFont 中的 fdwQuality 參數,以及 LOGFONT 成員的 lfQuality 接受 CLEARTYPE_QUALITY 旗標。 使用此旗標建立之字型的光柵化將會使用 ClearType 光柵化器。 這個旗標不會影響舊版的作系統。