我正在寫鞦韆上的一個小應用程序。我使用Ratpoison作爲我的窗口管理器(使用wmname LG3D)和Netbeans作爲IDE。我的應用程序字體從KDE啓動或直接從Netbeans啓動時看起來沒問題。從ratpoison開始他們看起來是這樣的:ratpoison下的醜陋擺動字體
Screenshot http://img195.imageshack.us/img195/8079/swingfontsratpoison.png 點擊查看全尺寸啓動時
我正在寫鞦韆上的一個小應用程序。我使用Ratpoison作爲我的窗口管理器(使用wmname LG3D)和Netbeans作爲IDE。我的應用程序字體從KDE啓動或直接從Netbeans啓動時看起來沒問題。從ratpoison開始他們看起來是這樣的:ratpoison下的醜陋擺動字體
Screenshot http://img195.imageshack.us/img195/8079/swingfontsratpoison.png 點擊查看全尺寸啓動時
KDE可能是添加更多的字體到系統中。
在KDE和在ratpoison執行此:
fc-list -v | grep "file:\|fullname:\|^$"
,並比較字體列表,看看有什麼缺失。
如果某個目錄丟失,請將其添加到/etc/fonts/fonts.conf中,並添加到新條目中。
如果只是缺少一些字體,您可以複製然後到〜/ .fonts即可(假設你有這個目錄中fonts.conf配置)
如果所有字體都是一樣的,儘量將所有的configs在/etc/fonts/conf.d到臨時目錄並運行
fc-cache -f
並測試。
如果看起來更好,開始添加一個更多配置,再次運行fc-cache -f,重新啓動java應用程序並測試。
重複,直到找到打破java字體的配置。最後你應該把所有的配置減去打破java的配置。
通常它的一些配置將字體設置爲首選,java將盲目使用字體。
實際上,您可以在Swing中使用任何系統字體。您只需添加一句話:您的組件。
或者你也可以改變整體設置:UIManager.put( 「label.font」,新的字體( 「宋體」,Font.BOLD,16));
put方法的「鑰匙」通常是表示你想改變什麼像弦: label.font,button.font,label.color,textfield.font等所有在小的情況下。
而且不要忘記導入java.awt.Font中 AND/OR javax.swing.UIManager中開頭!
添加鏈接。另見http://java.sun.com/javase/6/docs/technotes/guides/intl/fontconfig.html – trashgod 2010-06-14 13:32:47