不得不說 linux 對中文字型 ,沒有windows 那麼專業; 看著很不舒服;雖然可以 安裝windows 的字型 但由於渲染的方式不同,效果並不理想
字型種類
常用的是點陣字型和向量字型,具體見computer_font
。點陣字型:
字尾名一般為fon或者是c語言標頭檔案形式。看講字型渲染文章都是吐槽的,但是沒有人以身邊例子說明一下。它的英語原型為bitmap fonts
,直譯過來就是位圖字型。所有的字都是乙個個的。電腦上雖然已經不使用了,但是在其它地方還廣泛使用。
它的應用場合有:
1.linux字元介面
2.windows啟動過程中的字元顯示
3.android的recovery模式的字元顯示 見《android的recovery中font_10x10.h字型檔檔案製作
》4.路邊商家門頭上的滾動led顯示屏
5.工業中常用的12864點陣顯示屏
向量字型:
字尾名一般為ttf。由於點陣字型不方便縮放的特點,就有了向量字型。但是也會有一些其它問題需要解決,如果鋸齒現象。在windows中叫cleartype;在android中是freetype.它們都是truetype的衍生版本。字尾名都以truetype頭字母ttf為準。
字型優化
字型的優化是一般包括反鋸齒和平滑。這裡以比較常用的win7系統中的雅黑字型來說明。結合windows的「相對完美」的顯示效果以及linux的「可訂製性強」的特點來實驗出同一字型在不同的渲染策略中將會呈現什麼樣的顯示效果。
這張win7系統桌面的部分截圖顯示的雅黑字型的windows風格的最佳效果了。如果想要看到反鋸齒和平滑的不同引數組合帶來的最直接的感受就要到linux系統下來調整看看了。除錯不同的渲染效果一般採用ubuntu tweak工具來設定除錯:
引數中英對照
font hinting
(微調/平滑):
1.no hinting. 無微調
2.basic 一般
3.moterate 適中
4.maximum 最大
antialiasing
(反鋸齒
_也指渲染策略):
1.no antialiasing 無邊緣平滑
2.grayscale antialiasing 灰度邊緣平滑
3.subpixel antialiasing 次/亞畫素平滑
通過調節對比windows
上是hinting:maximum和antialiasing:subpixel antialiasing
是達到最好的效果的。
這裡也同時看看不現組合帶來的不同效果:
極端組合效果:
個人評價:再好的字型不使用好的渲染也是渣。且會顯明感覺到這個字型放到手中會產生剌手。這屬於正鋸齒,就需要反(抗)鋸齒來修復。
個人評價:hinting作用比較大,效果明顯。
個人評價:字型模糊/
發虛等問題的根本。反鋸齒可以修復鋸齒現象,卻會產生邊緣模糊的現象。
個人評價:次畫素是目前各個作業系統都在使用的方式,hinting
對字型的顯示效果有很大的影響。
小結:字型最終的顯示效果和字型的型別以及優化程度同時有很大的關係。是向以清晰為目的的windows
看齊還是以真實為效果的
ios/android/ubuntu
看齊就要因地制宜了。在萬惡的
1366x768
以及低ppi
上顯示器上我會選擇前者,因為後者真心就是一坨。在今後的
retina
顯示屏會有第三個選項選擇,那就是不再使用次畫素反鋸齒了。另:有些知識過了很長時間會被串起來的。
wpf 字型模糊 WPF字型或內容模糊的解決方法
本文會給大家介紹嘗試過的一些方法,大家可以一起看看。1 用wpf4.0中的新字型渲染方法,沒有改善 2 給控制項加上snapstodevicepixels屬性,沒有改善 其作用傳說是給整個 ui 上啟用畫素對齊呈現。對於執行在大於 96 dots per inch dpi 的裝置,畫素對齊呈現可以最...
wpf 字型模糊 WPF字型或內容模糊的解決方法
本文會給大家介紹嘗試過的一些方法,大家可以一起看看。1 用wpf4.0中的新字型渲染方法,沒有改善 2 給控制項加上snapstodevicepixels屬性,沒有改善 其作用傳說是給整個 ui 上啟用畫素對齊呈現。對於執行在大於 96 dots per inch dpi 的裝置,畫素對齊呈現可以最...
QML 閃屏 字型模糊
解決,窗體尺寸變化時偶爾閃屏的問題 解決,qml介面字型模糊的問題,設定該項將不能使用文字變換的高階特性,若使用這些高階特性,會引起文字崩碎。qquickwindow settextrendertype qquickwindow nativetextrendering 關於字型模糊的設定,如果不想啟...