0 0

(JAVA awt)LINUX的中文显示为方框5

代码:
new Font("宋体", Font.BOLD, 15)

问题:在windows上正常,在liunx上中文都显示为小方框。
原因:linux安装的JRE不支持中文字体。

网上查了下,大体有两种方案。
一种是修改jre字体配置的,这个不合适(不能修改系统任何配置)
另一种是直接加载中文字体文件的,我采用的是这一种:
1.从windows复制宋体的字体文件simsun.ttf到linux /tmp目录下.
2.代码中加载:
File simSunFontFile = new File("/tmp/simsun.ttf");
Font font =  Font.createFont(Font.TRUETYPE_FONT, simSunFontFile);


使用第二种方案后,中文仍然显示问小方框,请问原因是什么,或者有什么不修改linux配置而兼容中文的办法



2013年8月20日 10:51

1个答案 按时间排序 按投票排序

0 0

先确定你的文件是能找到的:

File simSunFontFile = new File("/tmp/simsun.ttf"); 
System.out.println(simSunFontFile.isFile());  

如果打印true就没问题。


或者把字体文件打入jar包试试看
InputStream in = getClass.getResourceAsStream("simsun.ttf");
Font font = Font.createFont(Font.TRUETYPE_FONT, in);
Font f=font.deriveFont(Font.PLAIN,24);

2013年8月20日 11:19

相关推荐

Global site tag (gtag.js) - Google Analytics