字体软件包指南
32 位 – CLR – CMake – Cross – DKMS – Eclipse – Electron – 字体 – Free Pascal – GNOME – Go – Haskell – Java – KDE – Kernel modules – Lisp – Meson – MinGW – Node.js – Nonfree – OCaml – Perl – PHP – Python – R – Ruby – Rust - Security – Shell – VCS – Web – Wine
本文档涵盖了关于为 字体 编写 PKGBUILD 的提议标准和指南。
通用指南
软件包命名
如果字体是可变字体,添加后缀 -variable
。
软件包描述
软件包描述应至少包含字体一词,以及字体的类型:无衬线字体、衬线字体或等宽字体。
架构
字体是独立于架构的。使用 arch=(any)
。
依赖
字体不依赖于任何东西。然而,仓库中的许多软件包都包含了 fontconfig 和 xorg-mkfontscale 作为依赖项。当字体软件包需要使用安装脚本来更新字体缓存时,这些是必需的 —— 现在很多重复的工作都由 pacman hooks 完成了。如果您安装了 fontconfig 或 xorg-mkfontscale,则 /usr/share/fonts/
中的所有现有字体都将被缓存,从而无需强制人们使用 fontconfig 或 mkfontscale。
提供
许多应用程序依赖于虚拟软件包 ttf-font
。如果您的字体系列符合标准,请添加 provides=('ttf-font')
。
来源
查看字体是否可以从以下来源获得,按此顺序
- 代码托管平台,如 GitHub 或官方网站
- github.com/google/fonts(您应该下载单独的文件,而不是克隆存储库,例如,请参阅 ttf-roboto-mono)
- Font Squirrel, Font Library, FFonts, 1001 Fonts, 1001 Free Fonts, DaFont
不推荐以下站点
- fonts.google.com(它不再提供稳定的下载 URL)
- FontSpace(校验和因未知原因而更改)
打包
以下代码段是一个 OTF 字体的示例,该字体根据 SIL Open Font License 1.1 with Reserved Font Name 发布。
license=('OFL-1.1-RFN') ... package() { install -Dm644 -t "$pkgdir/usr/share/fonts/OTF" "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 和可变版本
参见
- 关于本文的论坛讨论