Windows 中文版默认拥有非常多的中文字体。但是 Arch Linux 的中文字体则需要自己手动安装。目前有文泉驿微米黑、文泉驿正黑、Google Noto Font 和思源黑体等字体可以选择。

以上字体的 Arch Linux 包名称分别为 wqy-microheiwqy-zenheinoto-fonts-cjkadobe-source-han-sans-cn-fontsadobe-source-han-serif-cn-fonts。通过 pacman 命令即可安装。这些开源字体只提供黑体和宋体,而我们中文办公有时还需要仿宋和楷体,前端开发和设计工作更是对字体有着更大的需求。此时需要额外安装字体。

将你需要使用的字体文件,一般后缀名为 otf、ttf 或 ttc 拷贝到/usr/share/fonts/(全局安装)或~/.local/share/fonts(为当前用户安装)文件夹中,最后在字体文件夹执行:

1
fc-cache && mkfontscale && mkfontdir

即可安装成功。

不过在 Arch Linux 下推荐你创建字体包来安装字体。这样使得 pacman 在以后能够更新或者移除这些字体。我上一篇文章介绍了如何创建软件包。我们以安装方正黑体、方正书宋、方正楷体、方正仿宋为例来介绍如何创建字体包。这四款方正字体都是免费商用的。但是需要去方正字体官网获得授权并下载。

准备字体文件和许可证

在上文所说的方正官网获得授权并下载这四款免费字体。

下载字体

登录并获得字体就可以下载了,会出现“方正字库家庭用户许可协议”和“方正字库字体软件评估协议”,同意就好了。可以选择下载TTF版和OTF版,我选择的是OTF版。

将字体放在你准备打包的文件夹里面。然后创建 PKGBUILD 文件。进入下一步。

编辑 PKGBUILD 文件

以下是我编辑的 PKGBUILD 文件。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
pkgname=otf-FangZheng-fonts
pkgver=2.1
pkgrel=6
url=https://www.foundertype.com/
pkgdesc="some usefull FangZheng fonts"
arch=(any)
depends=(fontconfig xorg-mkfontscale)
source=("FZFSK.OTF"
"FZHTK.OTF"
"FZKTK.OTF"
"FZSSK.OTF"
)

package() {
install -d "$pkgdir/usr/share/fonts/$pkgname"
install -m644 "$srcdir/"*.OTF "$pkgdir/usr/share/fonts/$pkgname/"
}

md5sums=('214f0e0c2024f30b153751f55f8a7909'
'fddd058751d1a60997067ee423f81b6c'
'4eaec25691c093789d347b90c21448d5'
'7398f27075d73916282e2615ced6049f')

pkgname=''

一般字体包命名原则为:

  • TTF字体:ttf-FontName
  • OTF字体:otf-FontName

如果字体是可变字体,则添加后缀 -variable。

pkgver 为版本号;

pkgrel 为编译次数;

url 软件包官网,我这里写得方正字库官网;

pkgdesc=''

包描述应至少包含单词字体以及它是什么类型的字体:Sans-Serif,Serif 或 Monospace。

arch = ()

字体是架构无关的。使用 arch = (any)

license=()

这里写 OFL,GPL 等许可协议。方正字体有他自己的协议,所以我没有写这个。

depends=()

字体不依赖于任何东西。但是,包库中的许多包写着依赖 fontconfigxorg-mkfontscale。当使用安装脚本更新字体缓存时,确实需要这两个依赖。但是,其实如果您安装了 fontconfigXorg-mkfontscale,则所有/usr/share/fonts/ 中的字体都将被创建缓存。

source=()

一般我们把字体压缩打包为 tar.bz2 格式,然后把这个压缩包设置为 source 。

但是如果你要安装的字体不多时,你可以把每个字体文件挨个写入 source。我这里是每个文件分别写入的。

大多数情况下字体包只需要一个 package 函数就够用了。

我写的package 函数的意义是。

创建文件夹 /usr/share/fonts/$pkgname

将字体文件安装到 /usr/share/fonts/$pkgname

注意,该函数内 $pkgdir/ 为虚拟根目录(fakeroot),$srcdir/ 为源文件目录。

最后在文件下进入终端,用 makepkg -g >> PKGBUILD 命令生成 md5sums 就完成了 PKGBUILD 文件的编写。

生成字体软件包

确保已经安装 base-devel 包组。

在文件夹下运行

1
makepkg

就自动构建出了 otf-FangZheng-fonts-2.1-6-any.pkg.tar.zst 软件包。

生成字体包

安装字体包

使用命令:

1
sudo pacman -U  otf-FangZheng-fonts-2.1-6-any.pkg.tar.zst

即可安装该字体包。

打开 WPS 或者 liberoffice 就可以愉快的使用这几个字体了。

使用字体

进阶

高端玩家还可以对字体配置 fontconfig。对你的字体包所包含的字体进一步优化调整。

配置文件一般安装在

/usr/share/fontconfig/conf.avail/

/usr/share/fontconfig/conf.default/

文件夹中。default 中放置配置,软链接到 avail 中启用配置。

具体玩法参见 fontconfig 用户文档

你可以对你的字体进行微调,也可以设置你的字体属于哪个家族。也可以设置一些映射替代方案。