字体打包指南
外观
本文档涵盖了编写PKGBUILD以打包字体的建议标准和指南。
通用指南
包命名
如果字体是可变字体,则添加后缀-variable。
软件包说明
软件包描述至少应包含“字体”一词以及字体类型:无衬线、衬线或等宽。
Architecture
字体与架构无关。使用arch=(any)。
依赖
字体不依赖任何东西。然而,仓库中的许多软件包都将fontconfig和xorg-mkfontscale包含为依赖项。当字体包需要使用安装脚本来更新字体缓存时,这些是必需的——现在很多重复工作都由Pacman钩子完成。如果您安装了fontconfig或xorg-mkfontscale,`/usr/share/fonts/`中的所有现有字体都将被缓存,这使得没有必要强制人们使用fontconfig或mkfontscale。
Provides
许多应用程序依赖于虚拟包ttf-font。如果您的字体系列符合标准,请添加provides=('ttf-font')。
Source(生效配置)
请按以下顺序查看字体是否可从以下来源获得:
- 代码托管平台(如GitHub)或官方网站
- github.com/google/fonts(您应该下载单个文件而不是克隆仓库,例如请参阅ttf-roboto-mono)
- Font Squirrel、Font Library、FFonts、1001 Fonts、1001 Free Fonts、DaFont
以下网站不推荐使用
- fonts.google.com(它不再提供稳定的下载URL)
- FontSpace(校验和因未知原因而更改)
软件包 (Package)
以下代码片段是一个OTF字体在SIL Open Font License 1.1 with Reserved Font Name下发布的示例
license=('OFL-1.1-RFN')
...
package() {
install -Dm644 -t "$pkgdir/usr/share/fonts/$pkgname" "path/to/font/*.otf"
install -Dm644 -t "$pkgdir/usr/share/licenses/$pkgname" "path/to/license/OFL.txt"
}
- OFL在技术上是一个自定义许可证,因此每个字体包的许可证文件都需要安装在
/usr/share/licenses/$pkgname下。 - 如果字体包含许多字体文件,请考虑使用
$pkgname而不是OTF作为目标目录。
示例包
- ttf-merriweather-sansAUR
- otf-commissionerAUR – 分离包,包含OTF、TTF和可变版本