作者qrtt1 (null)
看板java
标题Re: [J2SE] Un*x中Swing GUI中文乱码解决方法
时间Wed Mar 31 23:42:52 2010
※ 引述《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://webptt.com/cn.aspx?n=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
1F:推 tonytonyjan:学习了,谢谢指教^^ 原来可以这样 03/31 23:57