Re: [問題] JVM中執行Java程式 中文顯示"口口"

看板java作者 (眾生都是未來佛)時間13年前 (2011/01/27 21:02), 編輯推噓0(002)
留言2則, 1人參與, 最新討論串3/4 (看更多)
※ 引述《zxvc (眾生都是未來佛)》之銘言: : 標題: Re: [問題] JVM中執行Java程式 中文顯示"口口" : 時間: Tue Jan 25 11:36:52 2011 : : 經過兩天的戰鬥,這中文字變□的問題終於找到一個滿意的答案及解法。 : : 有種Java程式中文字變方框的問題發生在一很特殊的情形下: : 1. 使用Windows 7,但顯示語言為English。 : 2. Java程式的特定look-and-feel,如Plastic。 : : 基本上: : Windows 7 English+Plastic look-and-feel+中文 = 方框 : : 反之: : Windows 7 TW+Plastic look-and-feel+中文 = 正常 : Windows 7 English+Metal look-and-feel+中文 = 正常 : Windows 7 English+System look-and-feel+中文 = 正常 : : 那方框的組合可能來自於Plastic look-and-feel的bug。 : 問題是不少程式只要用非System (native) look-and-feel就會有方框。 : 這是因為這些look-and-feel在找字型的時候, : 會使用作業系統的預設字型。 : : 作業系統的預設字型與顯示語言有很大的關係。 : 例如:Windows 7 English的預設字型是Segoe UI,它不支援中文。 : Windows 7 TW的預設字型是微軟正黑體。 : : 有些較笨的look-and-feel在Windows 7 English就會用Segoe UI去顯示中文。 : Windows 7 Enterprise/Ultimate是可以切換顯示語言的, : 切成繁體中文你就會發現那些方框的問題不見了。 : : 至於想在Windows 7 English中解決這方框問題要把Icon的字型 : 從Segoe UI改成中文字體如微軟正黑體。 : http://pic.pimg.tw/zxvc/142ce706fc9c64eec567d09e82b7c371.png
: : 其它的Windows Apperance Items不必改,只要改Icon就可以了。 : : 我目前測試JabRef 2.6與Pdfsam 2.2.1的方框問題用上述方法都解決了。 : 這篇文章應該也可試試在Windows XP上。 : : 以上的文章是搜尋Google與自己try and error所得到的心得。 : : -- : 信佛的人要知道:佛絕不會說謊。但請把握時光。 : 法滅盡經: : http://www.cbeta.org/result/normal/T12/0396_001.htm : 共勉之。 : : -- : ※ 發信站: 批踢踢實業坊(ptt.cc) : ◆ From: 140.115.73.168 : → sbrhsieh:如果你要 release 你的軟體給別人使用怎麼辦? 01/26 23:04 : ※ 編輯: zxvc 來自: 140.115.221.79 (01/27 20:54) s大的意思是說"叫使用者去改字型設定不是個終極解決方案"? 的確,如果把有bug的look-and-feel的bug處理掉是能根除問題, 但這已超過我的能力範圍。 我不太常寫Java的GUI程式,不過要是我寫, 我一定會提供多個look-and-feels給使用者選(像Pdfsam), 尤其是較穩定的metal與native。 至於當自己遇到別人的程式有look-and-feel的問題, 又不給換look-and-feel,就用改字型解決。 -- 信佛的人要知道:佛絕不會說謊。但請把握時光。 法滅盡經: http://www.cbeta.org/result/normal/T12/0396_001.htm 共勉之。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.115.221.79 ※ 編輯: zxvc 來自: 140.115.221.79 (01/27 21:04)

01/27 21:05, , 1F
我沒有使用 Vista or Windows 7,但我印象無法正確顯示
01/27 21:05, 1F

01/27 21:08, , 2F
中文字的 LookAndFeel 是因為使用了 Tahoma 字型。
01/27 21:08, 2F
文章代碼(AID): #1DGMpqBv (java)
討論串 (同標題文章)
文章代碼(AID): #1DGMpqBv (java)