修改netbeans字體顯示的終極方法(適用於任何版本)

netbeans字體難看的原因:
netbeans代碼編輯器和輸出窗口使用monospaced字體來顯示,而monospaced代表着等寬字體,應該是顯示程序源代碼的合理選擇。 monospaced是種邏輯字體,它在不同語言和操作系統上映射爲不同的物理字體。一般英文操作系統將monospaced字體映射爲Courier New。這種字體非常美觀,適宜於顯示源代碼,在Eclipse和Microsoft Visual Studio等IDE中是顯示源代碼的缺省字體,它也是許多技術網站、博客或者論壇顯示源代碼的缺省字體。

問題就出在這兒。一般中文操作系統上,monospaced字體是被映射到宋體上的,雖然宋體顯示中文非常好看,但它的英文顯示非常糟糕。由於 monospaced被映射成宋體,所以netbeans在剛裝上後沒做任何配置之前,其編輯器和輸出窗口裏的字體都是宋體,其英文顯示也就比較難看。

解決方法:
今天看的這個文檔指出JRE的字體映射是可以配置的。簡單來說就是在jre/lib下用戶可以創建一個fongconfig.properties,配置 自定義的字體映射關係。當然不需要從頭創建一個字體配置文件,只需拷貝一份字體配置模板文件,然後稍做改動就可以了。具體操作步驟如下:

1.將JDK_HOME/jre/lib目錄下的fontconfig.properties.src複製一份文件fontconfig.properties,並放在該目錄下。

2.編輯文件fontconfig.properties,查找到下面一行:

sequence.monospaced.GBK=chinese-ms936, alphabetic,dingbats,symbol

可以發現由於中文monospaced字體缺省查找順序是先使用chinese-ms936,結果造成了英文被宋體來顯示。糾正非常簡單,只需將chinese-ms936和alphabetic調換順序就可以了:

sequence.monospaced.GBK=alphabetic,chinese-ms936,dingbats,symbol

同理把這行---sequence.monospaced.GB18030=chinese-gb18030,alphabetic,dingbats,symbol
也修改成---sequence.monospaced.GB18030=alphabetic,chinese-gb18030,dingbats,symbol

3.保存該文件後啓動netbeans,這時就會發現netbeans編輯器和輸出窗口的字體都變成了Courier New,很好看。如果你已經改了缺省字體設置,不妨再把它改回到缺省的monospaced,再看看結果是不是如你所願。
注意上面的方法不是隻針對netbeans英文版,中文版的netbeans也是這樣。對於任何swing應用程序都起作用。

本文爲轉貼的轉貼,原出處已不可考。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章