服务器中文字体问题

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

sh 复制代码
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来下载的:

sh 复制代码
sudo apt-get install fonts-noto-cjk fonts-arphic-uming ttf-wqy-zenhei

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

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

sh 复制代码
~/.fonts
~/.local/share/fonts

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

sh 复制代码
/usr/share/fonts
/usr/local/share/fonts

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

sh 复制代码
fc-cache -fv

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

matplotlib

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

py 复制代码
matplotlib.rcParams['font.family'] = 'Noto Sans CJK JP'

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

sh 复制代码
sudo apt-get install fonts-noto-cjk

并清除matplotlib缓存:

sh 复制代码
rm -rf ~/.cache/matplotlib

完成后即可成功运行

cv2

相关推荐
island131418 小时前
【C++仿Muduo库#3】Server 服务器模块实现上
服务器·开发语言·c++
茉莉玫瑰花茶19 小时前
LangGraph 介绍
服务器·网络·数据库
mfxcyh19 小时前
如何把对象数据转化为数组
java·服务器·前端
2301_7807896620 小时前
云服务器数据会泄露吗?怎么保护云服务器的数据
运维·服务器·tcp/ip·网络安全
2301_7807896620 小时前
云服务器被黑能恢复吗?云服务器被黑的解决办法
运维·服务器·网络·安全·web安全
淘小白_TXB219620 小时前
头条百家采集改写发布软件用户使用手册
运维·服务器·头条采集·头条号采集·文章采集·头条采集软件
Web极客码21 小时前
Akismet对WordPress防垃圾评论
服务器·搜索引擎·wordpress
渣渣灰95871 天前
解决VMware上终端窗口太小问题
运维·服务器·经验分享
谙弆悕博士1 天前
快速学C语言——第2章:编程规范与代码风格
服务器·c语言·开发语言·经验分享·程序人生·学习方法·业界资讯
线束线缆组件品替网1 天前
Amphenol ICC RJE1Y33610162401解析:工业网络线束为何越来越重要?
运维·服务器·网络·数码相机·智能路由器·电脑·智能音箱