Re: [J2SE] Un*x中Swing GUI中文亂碼解決方法

看板java作者 (null)時間14年前 (2010/03/31 23:42), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串2/3 (看更多)
※ 引述《tonytonyjan (南洋大兜蟲)》之銘言: : JavaHome 是各位jdk的安裝路徑,我這裡是/usr/local/diablo-jdk1.6.0 : $ mkdir fallback : 此資料夾代表存放擴充字型的地方 : 接下來就是把想要的字型,看是用複製的或是symbolic link,方到fallback目錄下 : 這時可以運用find /usr/local -name *.ttf 來尋找 : 以下拿我的當例子 : $ find /usr/local -name "*.ttf" : 發現/usr/local/lib/X11/fonts有很多字型 : 其中有一個資料夾叫TTF裡面有個"文鼎PL中楷",這是我要的 : $ cd /usr/local/lib/X11/fonts/TTF : $ ln -s ln -s *.ttf /usr/local/diablo-jdk1.6.0/jre/lib/fonts/fallback/ : 這樣就完成了,之後只要在main的開頭加上以下程式碼(或寫在constructor),凡是SwingGUI(JLabel, FileChooser...etc)從此就都能正常顯示中文了,祝各位使用愉快^^: : Font f = new Font("文鼎PL中楷",Font.PLAIN,12); 不需要自己指定字形才對. 不然別人寫的 gui 程式要怎麼解決中文方塊酥的問題呢? 弟查了一下,原來自己先前PO過的文章沒在這個版 orz http://www.ptt.cc/bbs/LinuxDev/M.1162116470.A.43D.html 簡單地說, 您應該在 fallback 複製好字形後,跑一下 mkfontscale 產生 fonts.scale 檔 [qrtt1@qrtt1-laptop fallback]$ cat fonts.scale 14 wqy-zenhei.ttc -misc-wenquanyi zen hei-medium-r-normal--0-0-0-0-p-0-ascii-0 wqy-zenhei.ttc -misc-wenquanyi zen hei-medium-r-normal--0-0-0-0-p-0-cns11643-1 wqy-zenhei.ttc -misc-wenquanyi zen hei-medium-r-normal--0-0-0-0-p-0-cns11643-2 wqy-zenhei.ttc -misc-wenquanyi zen hei-medium-r-normal--0-0-0-0-p-0-cns11643-3 wqy-zenhei.ttc -misc-wenquanyi zen hei-medium-r-normal--0-0-0-0-p-0-gb18030.2000-0 wqy-zenhei.ttc -misc-wenquanyi zen hei-medium-r-normal--0-0-0-0-p-0-gb2312.1980-0 wqy-zenhei.ttc -misc-wenquanyi zen hei-medium-r-normal--0-0-0-0-p-0-iso10646-1 wqy-zenhei.ttc -misc-wenquanyi zen hei-medium-r-normal--0-0-0-0-p-0-iso8859-1 wqy-zenhei.ttc -misc-wenquanyi zen hei-medium-r-normal--0-0-0-0-p-0-iso8859-5 wqy-zenhei.ttc -misc-wenquanyi zen hei-medium-r-normal--0-0-0-0-p-0-jisx0208.1983-0 wqy-zenhei.ttc -misc-wenquanyi zen hei-medium-r-normal--0-0-0-0-p-0-jisx0208.1990-0 wqy-zenhei.ttc -misc-wenquanyi zen hei-medium-r-normal--0-0-0-0-p-0-jisx0212.1990-0 wqy-zenhei.ttc -misc-wenquanyi zen hei-medium-r-normal--0-0-0-0-p-0-koi8-e wqy-zenhei.ttc -misc-wenquanyi zen hei-medium-r-normal--0-0-0-0-p-0-ksc5601.1987-0 將這些內容附加在 jre/lib/fonts/fonts.dir 檔案內 就會在找不到適當字形時,自動 fallback 成您設定的中文字形 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.224.172.36

03/31 23:57, , 1F
學習了,謝謝指教^^ 原來可以這樣
03/31 23:57, 1F
文章代碼(AID): #1Bisr_rV (java)
文章代碼(AID): #1Bisr_rV (java)