之前系统登录验证验证码没问题,后来部署到了新服务器就出现字体显示成“”甲骨文“”,看了系统的代码,发现生成验证码的随机类代码如下
families = new ArrayList<String>();
families.add("Verdana");
families.add("Tahoma");
minSize = 45;
maxSize = 45;
字体是Verdana和Tahoma,感觉可能和这个相关,因为centos7没有此字体。
在centos7安装
yum install fontconfig 安装好后,除在/usr/share/生成fonts和fontsconfig文件夹。
在系统windows文件夹下的font文件夹找到这两种字体,拷贝到/usr/share/chinese文件夹下,如果没有新建chniese文件夹。
改变文件夹权限chmod -R 755 /usr/share/fonts/chinese
接下来需要安装ttmkfdir来搜索目录中所有的字体信息,并汇总生成fonts.scale文件
安装 ttmkfdir 执行命令ttmkfdir -e /usr/share/X11/fonts/encodings/encodings.dir
修改字体配置文件
vi /etc/fonts/fonts.conf
在文件内容找到 <!-- Font directory list-->这个文件的前面几行。加入如下一行 <dir>/usr/share/fonts/chinese</dir>
退出保存后,刷新缓存,就不用重启了。命令如下 fc-cache