java 8 中文字体_jdk安装中文字体,解决Can't read the embedded font LNUHUF+SimSun

最近在服务器pdf转图片遇到这种问题,导致转出来的图片文字乱码,最后经过百度得知原来是服务器上以及上面的jdk中并不识别SimSun这种字体也就是宋体,所以知道原因就解决呗    先安装字体!!!

环境说明

名称版本

操作系统CENTOS 7

JDK8

远程工具FinalShell

系统添加中文字体

对于服务器而言,我们在安装的时候一般都是最小化安装,所以但部分都不会关注字体这方面带来的影响,这里我们执行命令看下当前系统的字体:

fc-list

效果如图:

84bc20d08383

可以从上图看到,没有任何一个中文出现,这其实就足够说明目前虚拟机是没有中文字体的,分话不多说,开始添加字体:

【1】在我们的 Windows 的C:\Windows\Fonts 下面选择一个中文字体,如宋体,先拷贝到桌面,然后字体就变成了英文的:SIMSUN.TTC

84bc20d08383

备注:我这里只是写了 Windows 的,没有用过 Mac 系列的 ...

【2】在服务器上面建立相关目录,为了便于区分,我们把目录名字叫做 zh_CN:

mkdir /usr/share/fonts/zh_CN

【3】上传我们的字体到该目录下并改名为 simsun.ttf,上传可以在 CENTOS 上面yum 安装 lrzsz,之后我们就能直接敲 rz命令或者拖拽进行交互式上传文件了:

cd /usr/share/fonts/zh_CN

mv SIMSUN.TTC simsun.ttf

【4】收集系统的字体,保存到相关文件,此时会在当前目录生成fonts.scale 文件:

yum -y install ttmkfdir

ttmkfdir -e /usr/share/X11/fonts/encodings/encodings.dir

【5】为了不重启机器,我们手动添加配置,强迫症顺便还帮他调整了一下格式:

vi /etc/fonts/fonts.conf

# 内容如下

如图:

84bc20d08383

【6】刷新一下 cache 在查看一下效果:

fc-cache

fc-list

如下图:

84bc20d08383

总结:和之前相比,明显多了两个中文的项!

给JDK添加中文字体

由于 JDK 添加中文字体比较简单,这里就直接给出方法:

# 进入 JDK 的目录

cd /usr/local/jdk1.7.0_79/jre/lib/fonts

# 创建目录

mkdir fallback

cd fallback

# 将公共系统那个中文字体拷贝过来

cp /usr/share/fonts/zh_CN/simsun.ttf .

# 生效

mkfontscale

mkfontdir

执行成功后目录下面会变成这样:

84bc20d08383

没变成这样也不要怕,操作完成后,把项目一定要重启一遍!!!!!!!然后就成功了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值