WPF中的字體改善
WPF4對字體渲染做了很大的改善,增加了TextOptions屬性,該屬性可以設置TextFormattingMode,TextRenderingMode,TextHintingMode
1.TextFormattingMode
它提供了兩種設置:
· Ideal —— WPF4之前的模式
· Display —— 新的模式,可以使字體顯示更清晰
(一般將TextFormattingMode設置為Display,可以提高字體顯示的清晰度)
2.TextRenderingMode
設置渲染模式,可以有以下設置:
Auto – This mode will use ClearType unless system settings have been set to specifically disable ClearType on the machine.
Aliased – No antialiasing will be used to draw text.
Grayscale – Grayscale antialiasing will be used to draw text.
ClearType – ClearType antialising will be used to draw text.
(一般用ClearType渲染出來的字體會比較平滑)
3.TextHintingMode
獲取或設置一個值,該值影響文本元素的呈現行為,這是一種性能優化方式,當您對文本元素的任何文本屬性進行動畫處理時,可以使用此方式。
此屬性的值采用以下兩種可能的值:
Animated 通過使用一個更高效、但視覺精確下降的平滑算法來針對動畫進行優化。(文本仍然是可讀的;精度損失並不嚴重。)
Fixed(默認值)使用的算法針對視覺上精確的字體平滑效果進行了優化,但當將動畫應用於字體元素的屬性時,可能導致性能問題以及抖動,尤其是對於 FontSize 或轉換/定位/投影。
(在需要對字體做一些動態效果,例如將字體縮放時,使用Animated能獲取較高的性能,但同時也影響了其顯示的清晰度)
4.WPF4.0中同時針對東亞字體的渲染進行了優化,現在它支持點陣字體了,而開啟這個新特性十分簡單,只需為FontFamily設置一種點陣字體就可以了
以下是一張推薦設置表:
Language |
Font |
Traditional Chinese |
MingLiu |
Simplified Chinese |
SimSun |
Japanese |
MS Gothic |
Korean |
Gulium |
Korean |
Batang |
WPF中的字體改善