java jdk-awt.font在centos上中文乱码的问题, 安装中文字体
Posted 彼扬
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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
以上是关于java jdk-awt.font在centos上中文乱码的问题, 安装中文字体的主要内容,如果未能解决你的问题,请参考以下文章