字体软件包指南
32 位 – CLR – CMake – Cross – DKMS – Eclipse – Electron – Font – 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
。
软件包描述
软件包描述应至少包含“字体”一词,以及字体类型:sans-serif、serif 或 monospace。
架构
字体是独立于架构的。使用 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 和可变版本的拆分软件包