java jdk-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代码层级的实现,不用改动服务器环境,但是一直不成功

 

1、先从你本机 C:\Windows\Fonts 拷贝或者网络上下载你想要安装的字体文件(*.ttf文件)到 /usr/share/fonts/chinese/TrueType 目录下(如果系统中没有此目录,则自行mkdir创建,亦可重命名为自己喜欢的文件夹名)

2、修改字体文件的权限,使root用户以外的用户也可以使用

# cd /usr/share/fonts/chinese/TrueType
# chmod 755 *.ttf

3、建立字体缓存

# mkfontscale (如果提示 mkfontscale: command not found,需自行安装 # yum install mkfontscale )
# mkfontdir 
# fc-cache -fv (如果提示 fc-cache: command not found,则需要安装# yum install fontconfig )

4、重启计算机
# reboot

 

posted @ 2017-09-23 11:12  彼扬  阅读(5010)  评论(1编辑  收藏  举报

感谢您的阅读,如果有了您的奉献系统会更加完善