作者sawfish (板釘龍史)
看板EZsoft
標題[心得]GDI++ 使用設定簡易教學
時間Sun Oct 21 22:21:55 2007
感謝板友delphinus分享這麼好用的字型美化工具,其實我之前就在想說有沒有這
種工具,沒想到竟然真的有,下載回家使用後發覺真的很好用,讓我在閱讀程式碼
上感覺爽很多:D,不過一開始下載回來的設定可能比較不合大家的胃口,所以我分
享一下一些設定的說明。
在gdi++.ini的各項設定中有幾個比較重要的設定:
HookChildProcesses=1
這個設定是讓你可以套用到子程序當中的設定,假如執行了irfanview,那你在
irfanview中又呼叫了paint.exe,那麼GDI++就會將設定套用到paint.exe,當然
提前是你有先將GDI++套用到irfanview
HintingMode=1
這個選項可以讓字體看起來比較稅利一點,不過我設定的時候沒有什麼感覺。
0:使用字體內部設定, 1:不使用, 2:使用freetype的方式微調。
AntiAliasMode=1
這個選項對字體的顯示影響很大,一般螢幕選則1的話,看起來就會像在MAC上顯示
的感覺,拿MAC上的黑體來試就會知道:D
0跟-1就不推薦了,用這兩個選項不如不要用GDI++ :p
2跟3的話呢,是用RGB/BGR的方式來畫字型,cleartype設定工具也會有這選項,這
兩個選項是比較適合LCD上面的使用(不過我家也是LCD,但是看起來確很糟,大概是
我的螢幕太爛了吧:p)
MaxHeight=0
這是設定要用GDI++處理字型的最大可處理大小,如果設定成0,表示所有大小的字
體都會透過GDI++來畫字
FontSubstitutes=0
設定成1就會讀取[FontSubstitutes]當中的設定,可以將某字型換成另一指定字型來
顯示,不過我是不建意,原因在之前的文章中有提到
WidthMode=0
0代表用gdi32.dll來處理字型,1代表用freetype來處理。兩者各有優缺,用gdi32.dll
來處理可能會出現行距不一的狀況,用freetype的方式來處理也許可以讓字體的顯示
更好看一些,但是在某些程式下會有狀況。
FontLoader=0
0代表使用freetype的方式讀取載入字體(不是顯示),1表示用windows核心來載入字體
。不過我使用freetype的方式字體看起來比較好一點,windows核心載入的話,有些字
型的「體」字會在14pt以下的大小無法做平滑處理,這一點要注意,可能還會有其它
字跟「體」有相同的問題。
NormalWeight=0
設定高一點,可讓一些字(如明體)看起來飽滿一些,不過這設定是兩方面的問題,你
設高,那其它本身筆畫比較飽滿的字型就會更厚重,反而不利閱讀,所以這設定以常
用字為基準來設會比較好。範圍是-32到+32
BoldWeight=0
與上一個設定方式一樣,不過是設定粗體字
CacheMaxFaces=8
CacheMaxSizes=12
CacheMaxBytes=8388608
這是快取的設定,基本上是以主機的狀況來設定,等級低的話就不要設太高,我之前
試過沒有設,結果慢的要命,以為當機了:p,所以還是設定了一下。
以上都是在[general]當中來設定
我平常使用的方式是針對想要使用GDI++的程式如網頁瀏覽器,文字編輯器等來各別設定
比如說我用emeditor,它的執行檔是emeditor.exe,那我要套用GDI++到它裡面,就用以
下的方式執行:
gdi++.exe emeditor.exe
gdi++的效果只會在這個程式跟由emeditor呼叫的程式中套用而已,要注意一下。
另外就是可以在捷徑中的目標前面加上gdi++.exe也可以套用GDI++到該程式當中。
圖片範例:
http://pix.nofrag.com/e/c/b/4ddf76d133cc3a6101e7948fd7398.html
使用字型:文鼎PL新宋 Mono
這個字型沒用GDI++顯示出來的效果實在是有夠...的
推 CHCOOBOO:Yo~好久不見~ 10/21 22:29
→ sawfish:哈囉,好久不見了,陸行鳥兄。 10/21 22:30
推 delphinus:感謝 :-) 10/21 22:31
推 NintendoGC:原來可以讓某些特定程式有 GDI++ 的效果啊, 這樣比設定 10/21 23:06
→ NintendoGC:排除使用的程式要方便多了... 10/21 23:07
補充一點:如果使用標楷體字型會壞掉的話,請加入以下兩行
[Individual]
標楷體=0,0
再重新啟動一次gdi++就可以了。
※ 編輯: sawfish 來自: 218.163.219.79 (10/22 00:05)