awt.font在centos上中文乱码的问题

现在有需求生成一个二维码,并且有一段文本说明,但是使用awt.font来生成中文时,一直存在乱码的问题。网上的解决办法有几种,但是在centos上亲测有用的就是如下的方法。

Java代码如下:new java.awt.Font("宋体",Font.BOLD,13);

1,从windows上拷贝simsun.ttc宋体文件(有的说改后缀为ttf,没有试),拷贝到/usr/share/fonts下,可以新建一个文件夹,比如我创建的是chinese,即路径为/user/share/fonts/chinese

2,上传simsun.ttc到/usr/share/fonts/chinese下,执行chmod 777 simsun.ttc (修改执行权限)

3,在/usr/share/fonts/chinese路径下执行fc-cache -fv,安装字体到系统

4,执行fc-list能够看到已经安装过的字体,能够看到安装的字体。

5,重启tomcat即可。


之前的思路一直是想使用java.awt.Font的public static Font createFont(int fontFormat,File fontFile) 方法来做,即传入一个ttf文件(把simsun.ttc改名为simsun.ttf,这个地方一定要求是ttf后缀不然会报错),因为这样毕竟是api代码层级的实现,不用改动服务器环境,但是一直不成功,最后只能改服务器配置。


另外网上很多说的在$JAVA_HOME/jre/lib/fonts创建fallback的方式,一直尝试也没有成功。

因为迭代催得紧,也没有时间细细研究了,使用了比较简单的办法完成了,之后再考虑。

参考:http://blog.csdn.net/typa01_kk/article/details/50615453




本文转自 斯然在天边 51CTO博客,原文链接:http://blog.51cto.com/13172906/1966886,如需转载请自行联系原作者

上一篇:《极客与团队》一第一章 天才程序员的传说


下一篇:自带全文检索的jekyll主题