
linux内置的字体库是不支持来自于中国地区的文字显示的,这也是博主近期在开发LED大屏显示,显示不出汉字的根本原因。所以有必要分享一下怎么在linux系统里面来安装中文字体,本文以安装中文字体 宋体 SimSun为例
1.先查询一下自己的linux发行版系统有没有字体库:
fc-list
如果查询结果如图所示fc-list: command not found 说明自己的linux系统是没有字体库的。针对这种情况,应该首先安装字体库:
yum -y install fontconfig
当看到下图的提示信息时说明已安装成功:
这时在/usr/share目录就可以看到fonts和fontconfig目录了(之前是没有的)
接下来就可以给我们的字体库中添加中文字体了。
1.先查询一下linux内置的字体有哪些,已确认属于你的linux系统主机确实没有安装中文类的字体:
fc-list :lang=zh # 查询有没有支持中文字体列表
如果没有输出,说明系统没有支持中文显示的字体
添加中文字体
在linux所有的发行版系统中,字体库的存放位置正是上图中看到的fonts目录,所以我们首先要做的就是找到中文字体文件放到该目录下,而中文字体文件在我们的windows系统中就可以找到,打开c盘下的Windows/Fonts目录:
如上图,我们只需要将我们需要的字体拷贝出来并上传至linux服务器即可。本文示例宋体SimSun, 字体文件名为simsun.ttc
在这之前我们还需要新建目录,首先在/usr/share/fonts目录下新建一个目录chinese:
然后就是将上面的两个字体上传至/usr/share/fonts/chinese目录下即可:
紧接着需要修改chinese目录的权限为755以上(755也就是root完全拥有读写权限非root账户只能有读取权限)
chmod -R 755 /usr/share/fonts/chinese
接下来需要安装ttmkfdir来搜索目录中所有的字体信息,并汇总生成fonts.scale文件,输入命令:
yum -y install ttmkfdir
当看到下图的提示信息时说明已安装成功:
然后执行ttmkfdir命令即可:
ttmkfdir -e /usr/share/X11/fonts/encodings/encodings.dir
最后一步就是修改字体配置文件了,首先通过编辑器打开配置文件:
vim /etc/fonts/fonts.conf
然后输入:wq保存退出,最后别忘了刷新内存中的字体缓存,这样就不用reboot重启了:
fc-cache # 刷新内存中的字体缓存
这样所有的步骤就算完成了,最后再次通过fc-list看一下字体列表:
可以看到已经成功安装上了中文字体,至此安装过程就全部结束,再次查看报表可以发现中文样式和内容均已可以正常显示了。