服务器中文字体问题

本文介绍了如何在Linux系统中安装fc-list和fc-cache命令,检查和安装中文字体,特别是NotoSansCJKJP,以及如何在PythonMatplotlib中设置中文字体,包括字体下载、缓存清理等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先,确保fc-listfc-cache命令可用,如果该命令不存在,需要安装该命令:https://command-not-found.com/fc-list

fc-list
输出:
/usr/share/fonts/truetype/dejavu/DejaVuSerif-Bold.ttf: DejaVu Serif:style=Bold
/usr/share/fonts/truetype/dejavu/DejaVuSansMono.ttf: DejaVu Sans Mono:style=Book
/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf: DejaVu Sans:style=Book
/usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf: DejaVu Sans:style=Bold
/usr/share/fonts/truetype/dejavu/DejaVuSansMono-Bold.ttf: DejaVu Sans Mono:style=Bold
/usr/share/fonts/truetype/dejavu/DejaVuSerif.ttf: DejaVu Serif:style=Book

fc-list :lang=zh
输出为空,代表系统里不存在中文字体,需要安装你想要的中文字体

下载中文字体

通过sudo apt-get install直接下载

一些中文字体是可以直接apt-get install来下载的:

sudo apt-get install fonts-noto-cjk fonts-arphic-uming ttf-wqy-zenhei

通过复制字体ttf文件到特定目录安装字体

通过各种方法获得字体的ttf文件后,可以将它们放在用户目录下:

~/.fonts
~/.local/share/fonts

如果希望为服务器上的所有用户安装字体,可以将它们放在系统目录下:

/usr/share/fonts
/usr/local/share/fonts

将文件放好之后,需要刷新字体缓存:

fc-cache -fv

此时terminal内也会输出会从哪些目录读取字体ttf文件

matplotlib

在使用python的matplotlib库时,为了画中文图表,我们需要用任意一种中文字体,这里以Noto Sans CJK JP为例

matplotlib.rcParams['font.family'] = 'Noto Sans CJK JP'

但此时系统里并不存在该字体,运行会失败,所以需要先下载中文字体

sudo apt-get install fonts-noto-cjk

并清除matplotlib缓存:

rm -rf ~/.cache/matplotlib

完成后即可成功运行

cv2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值