问题现象:
已安装中文字体simhei.ttf和simsun.ttc,但是geoserver渲染的WMS图层中文显示乱码,中文显示为框框样式,即变成一个一个的“口”字
问题分析:
之前在其他城市正常使用自动化脚本是没有问题的,都可以正常使用
geoserver中服务器状态的可用字体列表看不到安装的中文字体,但是用fc-list是可以看到的,系统字体目录中也可以查看到字体文件
怀疑是java获取系统字体异常
解决办法:
将字体文件直接放入java字体目录中
操作步骤
- 在jdk安装目录下的/fonts目录中建立一个子目录,例如zhfonts,命令如下:
cd /usr/jdk1.8.0_201-amd64/jre/lib/fonts
mkdir zhfonts - 将simhei.ttf和simsun.ttc复制到该目录下,,使用命令:
cp simhei.ttf zhfonts
cp simsun.ttc zhfonts - 建立字体索引信息,更新字体缓存:
cd zhfonts
mkfontscale
mkfontdir
也可以直接建立字体目录的连接
ln -s $FONTS_PATH/FONT_DIR /usr/jdk1.8.0_201-amd64/jre/lib/fonts