Ubuntu 安装 TrueType 字体(支持多语言字体)

安装字体

ttf-mscorefonts-installer 包

如果只需要英文字体,可以安装ttf-mscorefonts-installer包,该包提供了微软(Windows)核心字体:如 Arial、Comic Sans MS、Courier New、Times New Roman、Verdana、Webdings等。

sudo apt-get install ttf-mscorefonts-installer

安装时需要用户同意 EULA 协议,直接回车 OK 即可。完成后需要重新生成 fontconfig 缓存:

sudo apt-get install fontconfig # 需要先安装 fontconfig
fc-cache -fv

能看到输出如下信息(msttcorefonts 目录加载了60个字体),即说明安装成功。

...
/usr/share/fonts/truetype/msttcorefonts: caching, new cache contents: 60 fonts, 0 dirs
...
fc-cache: succeeded

任意 TrueType 字体(中文字体)

  1. /usr/share/fonts目录下建立一个新文件夹,推荐在子目录truetype下建立与该字体同名的目录。以HarmonyOS Sans(可免费商用)为例:
    cd /usr/share/fonts/truetype   # 进入字体索引目录
    sudo mkdir HarmonyOS_Sans_SC   # 也可以随意命名
  2. 将下载的 TrueType 字体(.ttf/.ttc)复制到刚创建的目录。如果你自己的Windows系统已有该字体,可以去C:\Windows\Fonts复制。
  3. 修改字体文件的权限,使所有用户可访问(默认上传的文件权限为000,可以加载到缓存但无法使用):
    sudo chmod 644 *
    # 或者 chmod 644 *.ttf *.ttc
  4. 建立字体配置(可跳过):
    sudo mkfontscale && sudo mkfontdir
  5. 更新字体缓存
    fc-cache -fv
  6. 如果.ttc字体无法识别,可以将文件拓展名改为.ttf,重新更新字体缓存。

/usr/share/fonts 目录

在执行 fc-cache 命令时会打印出它检索了哪些字体目录,其中最主要的目录就是 /usr/share/fonts,其它还包括用户自己的字体目录等等。实际上,许多 Linux 发行版都是在 /usr/share/fonts 目录下存放系统公共字体,比如 Alpine Linux 等,因此这些发行版安装任意字体的步骤和上一节中的介绍是一样的:上传字体、设置文件权限、更新缓存。

查看已安装的字体

可以使用fc-list命令查看所有可用字体。以下是一些用法的实例:

fc-list               # 打印所有字体信息
fc-list : family      # 打印所有字体(:)的名称(family), 冒号表示匹配规则, 前后要空格
fc-list :lang=zh      # 打印所有中文(:lang=zh)字体信息
fc-list :lang=zh file # 打印所有中文(:lang=zh)字体的文件名(file)
fc-list >fonts.txt    # 导出信息至 font.txt

Python 环境下(使用 conda 时可用的字体可能不同)可以使用matplotlibfont_manager库查看:参考

from matplotlib.font_manager import FontManager
fonts = set(f.name for f in FontManager().ttflist)
print('Fonts from matplotlib:')
for f in sorted(fonts): print('\t' + f)

Python 环境下字体仍然不可用

运行 Python 时无法渲染中文字体一般会有如下报错:

UserWarning: Glyph 21629 (\N{CJK UNIFIED IDEOGRAPH-547D}) missing from current font.

如果已经安装字体并且更新缓存之后还是无法渲染中文字体,可能是因为 matplotlib 的字体缓存未刷新。在自己的用户目录下删除缓存文件~/.cache/matplotlib/fontlist-***.json即可:

rm ~/.cache/matplotlib/*.json
最后更新于:2023年4月23日。

版权声明:
作者:dorence
链接:https://wp.dorence.top/archives/167
来源:极客模拟
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>
文章目录
关闭
目 录