解决在linux字体下的显示问题及几种办法

Linux就该这么学

将润乾报表部署到linux系统上时,往往在报表展现时会出现一些显示问题,例如:报表没有自动换行、统计图或表头斜线上的中文变成小方框、报表导出pdf后中文出问题等。

 

出现此类问题主要为操作系统中缺少中文字体所致,由于linux系统上没有对应的中文字体,将会导致导出pdf或参与图形计算时中文乱码。解决办法主要为系统增加相应的字体。增加字体有多种方式,下面以宋体为例介绍几种比较常见的操作:

 

一、将windows系统下的字体拷贝到linux下

将WINDOWS下的C:\WINDOWS\Fonts下的SIMSUN.TTC拷贝到linux下的/usr/share/fonts/TrueType/路径下,重启linux,让系统加载该字体即可,这样就能解决绝大多数字体问题。

注意:这里放置完字体后要重启系统,让系统加载字体,否则设置无效。也可以不重启系统,通过命令强制加载字体。在终端运行命令:

 

sudomkfontscale

sudomkfontdir

sudo fc-cache –fv

 

强制更新字体缓存,这样也能够是新加入的字体生效。

 

 

二、更改jre中字体

上述方法为解决操作系统字体,由于报表是通过java计算,所以也可以更改jre中的字体,从而也能解决该问题。

找到java安装目录下的/jre/lib/fonts目录,在下新建fallback文件夹,注意此处的目录一定要为当前web服务器使用的jdk目录,将windows下的字体文件拷贝到fallback文件夹下,重启web服务器即可解决该问题。

注意:如果系统中只需要宋体,则只将宋体拷贝到该目录下,否则有可能会造成报表展现时中文不乱码,但是字体也并不是想要的宋体。

 

如果系统中需要多种字体,则还需要更改jre的字体配置文件,该文件位于jdk安装目录java_home/jre/lib目录下,名称为font.properties.zh_CN.Redhat(不同操作系统该配置文件名称可能不同),在font.properties.zh_CN.Redhat中找到

dialog.1=-misc-zysong18030-medium-r-normal *-%d-*-*-c-*-iso10646-1

把zysong18030改成我们想要的宋体simsun

filename.-misc-zysong18030-medium-r-normal *-%d-*-*-c-*-iso10646-1=/usr/share/fonts/zh_CN/TrueType/zysong.ttf

把zysong18030改为simsun;zysong.ttf改为simsun.ttc

 

然后重启web服务器,字体能正常展示。

本文由来源 Sxb_Cry5tal,由 centos 整理编辑,其版权均为 Sxb_Cry5tal 所有,文章内容系作者个人观点,不代表 CentOS中文站 - 专注Linux技术 对观点赞同或支持。如需转载,请注明文章来源。

相关文章

发表评论

邮箱地址不会被公开。 必填项已用*标注