linux安装中文字体
项目中包含了一项生成JPG图片的功能,该功能需要使用JAVA的Graphics2D动态生成图片中的文字,原来在Windows平台中没有发现问题,但是迁移至Linux平台后发现生成的中文变成了乱码。
百度发现是因为Linux下没有相应的字体引起的,解决办法如下:
- 1、找到Windows平台下的字体文件;
常规路径为:C:\Windows\Fonts
宋体文件为:simsun.ttc
楷体文件为:simkai.ttf
- 2. 放到 /usr/share/fonts目录下
mkfontscale
mkfontdir
fc-cache
-----------------------------Exception Info----------------------
----net.sf.jasperreports.engine.util.JRFontNotFoundException: Font ‘瀹嬩綋‘ is not available to the JVM. See the Javadoc for more details.
-----------font xx not found in linux environment
---解决方案具体总结有两种,第一种不受部署环境的限制,第二种受部署环境的限制,没部署到一个地方的Linux环境都需要去设置,不符合松耦合的软件设计原则,
故建议使用第一种
第一种方式,加入字体jar
具体步骤:在ireport中导入需要的字体文件,然后导入成jar包,添加到项目的classPath目录下,并build path 加进去
第二种方式,在linux服务上添加需要的字体,因为默认windows是使用gb编码(GB18050或者GB2312)的而Linux默认是使用Unicode编码的
把windows的中文字体(一般在C:\Windows\Fonts目录),复制到linux的/usr/share/fonts/chinese/TrueType目录下即可
-----例如:下面以仿宋字体为例
安装步骤:
1、simfang.ttf拷贝到/usr/share/fonts下面
2、依次执行下列命令
mkfontscale
mkfontdir
fc-cache
simfang.ttf这个是字体文件,在C:\WINDOWS\Fonts这个目录中有
linux下jdk中文乱码
参考博客地址:http://blog.csdn.net/a19881029/article/details/9031743
原文:http://yangsj.blog.51cto.com/8702844/1697065