字体
- 计算机字体以数字数据文件形式实现,其中包含一组图形相关的字形。计算机字体是使用字体编辑器设计和创建的。专门为计算机屏幕而非打印设计的计算机字体是屏幕字体。
请注意,某些字体许可证可能会施加一些法律限制。
字体格式
当今使用的大多数计算机字体都采用位图或轮廓数据格式。
- 位图字体
- 由点或像素矩阵组成,表示每个字面和尺寸中每个字形的图像。
- 轮廓或矢量字体
- 使用贝塞尔曲线、绘图指令和数学公式来描述每个字形,这使得字符轮廓可以缩放到任何尺寸。
位图格式
- 位图分发格式 (BDF),由 Adobe 开发
- OpenType 位图字体 (OTB)
- PC 屏幕字体 (PSF),内核用于控制台字体,Xorg 不支持(对于 Unicode PSF 文件,扩展名为
psfu
) - 可移植编译格式 (PCF),由 Xorg 开发
这些格式也可以进行 gzip 压缩。请参阅 #位图 以获取可用的位图字体。
轮廓格式
- PostScript 字体,由 Adobe 开发 – 具有多种格式,例如:Printer Font ASCII (PFA) 和 Printer Font Binary (PFB)
- TrueType,由 Apple 和 Microsoft 开发(文件扩展名:
ttf
) - OpenType,由 Microsoft 开发,基于 TrueType 构建(文件扩展名:
otf
、ttf
)
对于大多数用途,可以忽略 TrueType 和 OpenType 之间的技术差异。
其他格式
字体编辑应用程序 FontForge (fontforge) 可以将其原生基于文本的格式(Spline Font Database (.sfd
))存储字体。
排版应用程序 TeX Live 及其配套字体软件 Metafont 传统上使用自己的方法渲染字符。这两个程序中用于字体的某些文件扩展名是 *pk
、*gf
、mf
和 vf
。现代版本也可以使用 TrueType 和 OpenType 字体。
SVG 格式也有自己的字体描述方法。
安装
有多种安装字体的方法。
Pacman
可以使用 pacman 安装已启用仓库中的字体和字体集合。
可以通过查询软件包(例如,font
或 ttf
)来查找可用的字体。
创建软件包
您应该让 pacman 能够管理您的字体,这可以通过创建 Arch 软件包来完成。这些软件包也可以在 AUR 中与社区共享。安装字体的软件包特别相似;请参阅 字体打包指南。
可以使用 fc-query
获取字体文件的字族名称,例如:fc-query -f '%{family[0]}\n' /path/to/file
。格式在 FcPatternFormat(3) 中描述。
手动安装
将系统中仓库中没有的字体添加到系统中的推荐方法是在 #创建软件包 中描述的方法。这使 pacman 能够在以后删除或更新它们。
或者,可以手动安装字体
- 对于单个用户,将字体安装到
~/.local/share/fonts/
。- 在许多情况下,这已经足够了,除非您以其他用户身份运行图形应用程序。
- 过去使用
~/.fonts/
,但现在已弃用。
- 对于系统范围(所有用户)安装,请将字体放在
/usr/local/share/fonts/
下。- 您可能需要先创建目录:
mkdir -p /usr/local/share/fonts
。 /usr/share/fonts/
在软件包管理器的管辖范围内,不应手动修改。
- 您可能需要先创建目录:
子目录结构的创建取决于用户,并且在不同的 Linux 发行版中有所不同。为了清晰起见,最好将每个字体保存在其自己的目录中。Fontconfig 将递归搜索其默认路径,确保嵌套文件被拾取。
一个示例结构可能是
/usr/local/share/fonts/ ├── otf │ └── SourceCodeVariable │ ├── SourceCodeVariable-Italic.otf │ └── SourceCodeVariable-Roman.otf └── ttf ├── AnonymousPro │ ├── Anonymous-Pro-B.ttf │ ├── Anonymous-Pro-I.ttf │ └── Anonymous-Pro.ttf └── CascadiaCode ├── CascadiaCode-Bold.ttf ├── CascadiaCode-Light.ttf └── CascadiaCode-Regular.ttf
字体文件需要对所有用户具有足够的读取权限,即文件至少 chmod 444
,目录至少 555
。
为了让 Xserver 直接加载字体(而不是使用字体服务器),必须使用 FontPath 条目添加新添加字体的目录。此条目位于 Xorg 配置文件(例如 /etc/X11/xorg.conf
或 /etc/xorg.conf
)的 Files 部分。有关更多详细信息,请参阅 #旧应用程序。
最后,更新 Fontconfig 缓存(通常是不必要的,因为使用 Fontconfig 库的软件会执行此操作)
$ fc-cache
旧应用程序
对于不支持 Fontconfig 的旧应用程序(例如 GTK 1.x 应用程序和 xfontsel
),需要在字体目录中创建索引
$ mkfontscale $ mkfontdir
或使用一个命令包含多个文件夹
$ for dir in /font/dir1/ /font/dir2/; do xset +fp $dir; done && xset fp rehash
或者,如果字体安装在例如 /usr/share/fonts
下的不同子文件夹中
$ for dir in * ; do if [ -d "$dir" ]; then cd "$dir";xset +fp "$PWD" ;mkfontscale; mkfontdir;cd .. ;fi; done && xset fp rehash
有时 X 服务器可能无法加载字体目录,您需要重新扫描所有 fonts.dir
文件
# xset +fp /usr/share/fonts/misc # Inform the X server of new directories # xset fp rehash # Forces a new rescan
要检查是否包含字体
$ xlsfonts | grep fontname
也可以在 /etc/X11/xorg.conf
或 /etc/X11/xorg.conf.d
中全局设置。
这是必须添加到 /etc/X11/xorg.conf
的部分的示例。根据您的特定字体要求添加或删除路径。
# Let X.Org know about the custom font directories Section "Files" FontPath "/usr/share/fonts/100dpi" FontPath "/usr/share/fonts/75dpi" FontPath "/usr/share/fonts/cantarell" FontPath "/usr/share/fonts/cyrillic" FontPath "/usr/share/fonts/encodings" FontPath "/usr/share/fonts/misc" FontPath "/usr/share/fonts/truetype" FontPath "/usr/share/fonts/TTF" FontPath "/usr/share/fonts/util" EndSection
Pango 警告
当您的系统上使用 Pango 时,它将从 Fontconfig 读取以找出从哪里获取字体。
(process:5741): Pango-WARNING **: failed to choose a font, expect ugly output. engine-type='PangoRenderFc', script='common' (process:5741): Pango-WARNING **: failed to choose a font, expect ugly output. engine-type='PangoRenderFc', script='latin'
如果您看到类似于此的错误和/或在应用程序中看到块而不是字符,则需要添加字体并更新字体缓存。此示例使用 ttf-liberation 字体来说明解决方案(在成功安装软件包后),并以 root 身份运行以在系统范围内启用它们。
# fc-cache
/usr/share/fonts: caching, new cache contents: 0 fonts, 3 dirs /usr/share/fonts/TTF: caching, new cache contents: 16 fonts, 0 dirs /usr/share/fonts/encodings: caching, new cache contents: 0 fonts, 1 dirs /usr/share/fonts/encodings/large: caching, new cache contents: 0 fonts, 0 dirs /usr/share/fonts/util: caching, new cache contents: 0 fonts, 0 dirs /var/cache/fontconfig: cleaning cache directory fc-cache: succeeded
您可以像这样测试是否设置了默认字体
$ fc-match
LiberationMono-Regular.ttf: "Liberation Mono" "Regular"
字体包
这是一个选择列表,其中包括来自 AUR 以及官方仓库中的许多字体包。
位图
- 默认 8×16
- Berry (pcf-spectrum-berryAUR) – 8px
- Dina (dina-fontAUR) – 6pt、8pt、9pt、10pt、等宽、基于 Proggy
- Efont (efont-unicode-bdfAUR) – 10px、12px、14px、16px、24px、正常、粗体和斜体
- GNU Unifont (bdf-unifontAUR) – 8×16、16×16(最广泛的任何字体的 Unicode 覆盖范围)
- Gohu (gohufontAUR) – 11px、14px、正常和粗体
- Kissinger 2 – 8×16、16×16(Unifont 竞争对手)
- Lime (artwiz-fontsAUR)
- ProFont (ttf-profont-iixAUR) – 10px、11px、12px、15px、17px、22px、29px、正常
- Proggy (proggyfontsAUR) – 具有不同的变体
- Tamsyn (tamsyn-fontAUR)
- Tewi (bdf-tewi-gitAUR)
适用于 Pango 1.44 及更高版本
- Cozette (cozette-otbAUR)
- Gohufont (gohufont-otbAUR)
- Misc Fixed (xorg-fonts-misc-otbAUR)
- ProFont (profont-otbAUR) – ProFont 的 OpenType 位图 (OTB) 变体
- Terminus (terminus-font)
- AUR 上更多的 OTB 字体
拉丁文字
字族
软件包提供基本字体集
- Bitstream Vera (ttf-bitstream-vera) – 包括无衬线字体、衬线字体和等宽字体。Bitstream Vera Sans 在度量上与 Verdana 兼容。
- Croscore 字体 (ttf-croscore) – Helvetica、Times、Courier 和 Georgia 的度量兼容字体 — 分别命名为 Arimo、Tinos、Cousine 和 Gelasio,随 Chrome OS 一起提供
- DejaVu 字体 (ttf-dejavu) – 修改后的 Bitstream Vera,具有更广泛的 Unicode 覆盖范围
- Droid (ttf-droid) – 较旧 Android 版本的默认字体,具有广泛的 Unicode 覆盖范围,包括 CJK,但不包括符号和表情符号
- GNU FreeFont (gnu-free-fonts) – 包括三种字体 — FreeSans、FreeSerif 和 FreeMono — 分别是 Helvetica、Times 和 Courier 的克隆。大多数拉丁字符来自 URW Ghostscript 字体(例如,Nimbus Roman、Nimbus Sans),非拉丁字符来自许多来源,具有良好的 Unicode 覆盖范围,但不包括 CJK。
- IBM Plex (ttf-ibm-plex) – 衬线字体、无衬线字体、紧缩无衬线字体和等宽字体,带有真正的斜体
- Input (ttf-input) – 来自 DJR & Font Bureau 的代码字体
- Liberation 字体 (ttf-liberation) – Helvetica、Times 和 Courier 的度量兼容字体,但在视觉上有所不同
- Libertinus 字体 (otf-libertinus) – Linux Libertine 和 Linux Biolinum 的分支,具有扩展的数学支持,请参阅 #数学
- Microsoft 字体 (ttf-ms-win11AUR) – Windows 11 字体(需要 Windows 11 安装或安装介质)
- Noto 字体 (noto-fonts) – Google 字体系列,如果安装了表情符号和 CJK 可选依赖项,则具有完整的 Unicode 覆盖范围
不提供基本字体集的软件包
- B612 (ttf-b612AUR) – Airbus 赞助的开源字体系列(无衬线和等宽字体),专为在飞机驾驶舱屏幕上舒适阅读而设计
- Ghostscript (gsfonts) – 由 URW 捐赠的 Ghostscript 字体,包括 Helvetica、Times、Courier 和其他字体的克隆。GNU FreeFont (gnu-free-fonts) 和 TeX Gyre 字体 (tex-gyre-fonts) 都部分基于 Ghostscript 字体
- Luxi 字体 (font-bh-ttfAUR) – 类似于 Lucida 的 X.Org 字体系列
- Roboto (ttf-roboto) – 较新 Android 版本的默认字体,其中 Noto 字体补充了不支持的语言,如 CJK
- TeX Gyre 字体 (tex-gyre-fonts) – 由波兰 TeX 用户协会 GUST 创建,主要基于 URW Ghostscript 字体,包括 Helvetica、Times、Courier 和其他字体的克隆。有些有自己的数学配套字体,请参阅 #数学。
- Ubuntu 字体系列 (ttf-ubuntu-font-family)
旧版 Microsoft 字体包
- Microsoft 字体 (ttf-ms-fontsAUR) – Andalé Mono、Courier New、Arial、Arial Black、Comic Sans、Impact、Lucida Sans、Microsoft Sans Serif、Trebuchet、Verdana、Georgia、Times New Roman
- Vista 字体 (ttf-vista-fontsAUR) – Consolas、Calibri、Candara、Corbel、Cambria、Constantia
等宽字体
支持“编程连字”的字体(例如,将“->”序列显示为双倍宽度的“⟶”字形)在下面用 ⟶ 符号标识。有关更多等宽字体,另请参阅 #位图 和 #字族。
- Anonymous Pro (ttf-anonymous-pro,包含在 ttf-google-fonts-gitAUR 中)
- Cascadia Code (ttf-cascadia-code) ⟶ – 旨在增强 Windows 终端外观,具有编程连字,由 Microsoft 在开放字体许可下发布
- Courier Prime (ttf-courier-primeAUR) – Courier 替代字体,已补充无衬线字体和针对编程优化的版本,在开放字体许可下发布
- Envy Code R (ttf-envy-code-rAUR) – 专为程序员设计的字体
- Fantasque Sans Mono (ttf-fantasque-sans-mono, otf-fantasque-sans-mono)
- Fira Mono (ttf-fira-mono, otf-fira-mono) – 针对小屏幕优化的字体,Mozilla 为 Firefox OS 采用
- Fira Code (ttf-fira-code) ⟶ – Fira Mono 的扩展,具有用于常见编程多字符组合的编程连字
- Hack (ttf-hack) - 开源等宽字体,用作 KDE Plasma 中的默认字体
- Hasklig (otf-haskligAUR) - 带有等宽连字的代码字体
- Hermit (otf-hermit) - 程序员的字体,由程序员设计
- Inconsolata (ttf-inconsolata,包含在 ttf-google-fonts-gitAUR 中) – 专为源代码列表设计,灵感来自 Consolas 和 Letter Gothic
- Inconsolata-g (ttf-inconsolata-gAUR) – 添加了一些程序员友好的修改
- Iosevka (ttc-iosevka) ⟶ – 受 Pragmata Pro、M+ 和 PF DIN Mono 启发的细长无衬线字体和 Slab-serif 字体,旨在成为编程的理想字体;它支持编程连字和 2000 多个拉丁文、希腊文、西里尔文、语音和 PowerLine 字形
- JetBrains Mono (ttf-jetbrains-mono) ⟶ – 由 JetBrains 开发的免费开源字体
- Lilex (ttf-lilexAUR) ⟶ – 免费开源的现代编程字体,包含一组用于常见编程多字符组合的连字
- Lucida Typewriter (包含在软件包 jreAUR 中)
- Menlo (ttf-mesloAUR) – Apple 的 Menlo Regular 字体针对 OS X 的定制版本,具有更大的垂直间距
- Monaco (ttf-monacoAUR) – Apple 为 OS X 设计的专有字体
- Monofur (ttf-monofur)
- Mononoki (ttf-mononokiAUR) – 用于编程和代码审查的字体
- Roboto Mono (ttf-roboto-mono) – 基于 Roboto (ttf-roboto)
- Source Code Pro (adobe-source-code-pro-fonts, 包含在 ttf-google-fonts-gitAUR 中)
- Comic Mono (ttf-comic-mono-gitAUR) 一种清晰的等宽字体……您从小就被训练识别的字体,即 Comic Sans
相关网站
- Trevor Lowing 的字体列表
- Slant:最佳编程字体有哪些?
- Stack Overflow:推荐的编程字体
- Programming Fonts - Test Drive
- Programming Fonts Compare
- Coding Font by Typogram
无衬线字体
- Andika (ttf-andikaAUR)
- Cantarell (cantarell-fonts) – GNOME 默认提供的字体,GNOME 和 GTK 3 相关软件包需要此字体
- DMCA Sans Serif (ttf-dmcasansserifAUR) – 通用无衬线字体,度量兼容 Microsoft Consolas
- Fira Sans (ttf-fira-sans, otf-fira-sans) – 由 Erik Spiekermann 为 Mozilla 和 Firefox OS 设计的无衬线字体。Fira Mono 和 Fira Code 是 Fira Sans 的等宽字体伴侣(参见 #等宽字体)。
- FreeSans (gnu-free-fonts) – 视觉上类似于 Helvetica,但在度量上有所不同,参见 #字体族
- Inter (inter-font) – 一款为用户界面设计的几何新怪体字体
- Jost* (otf-jostAUR) – 一款基于 Futura 的开源字体
- Liberation Sans (ttf-liberation) – 度量兼容 Helvetica,但 视觉上有所区别,参见 #字体族
- Montserrat (otf-montserrat) – 一款开源字体,与 Gotham 和 Proxima Nova 相似
- Nunito (ttf-nunito) – 一款末端圆润的开源字体,因此与 Gotham Rounded 和 Proxima Soft 相似
- Open Sans (ttf-opensans) – Google 委托设计的无衬线字体,基于 Droid sans 但稍宽
- PT Sans (ttf-google-fonts-gitAUR) – 3 种主要变体:正常、窄体和 caption - Unicode 编码:拉丁文、西里尔文
- Source Sans (adobe-source-sans-fonts) – Adobe 的开源无衬线字体,设计基于 News Gothic 和 Franklin Gothic
- Tahoma (Wine 替代品) (ttf-tahomaAUR) – 由 Wine 项目开发的 Tahoma 开源替代品。它的创建是因为许多 Windows 应用程序期望 Tahoma 可用。
衬线字体
- Bitstream Charter (ttf-bitstream-charterAUR, otf-bitstream-charterAUR) – 最初是由 Matthew Carter 设计的商业字体。一个版本以自由许可发布,后来 转换 为现代格式(以上述软件包形式提供)。
- Bodoni* (otf-bodoniAUR) – 一款开源 Bodoni 复刻版
- Crimson (otf-crimson) – 一款开源字体,与 Minion 相似
- EB Garamond (ebgaramond-otfAUR) – 一款开源 Garamond 复刻版,上述软件包是由 Octavio Pardo 开发的版本
- FreeSerif (gnu-free-fonts) – 视觉上类似于 Times New Roman,但在 度量上有所不同,参见 #字体族
- Gentium (ttf-gentium-plus) – Unicode 编码,全面支持拉丁文、希腊文、西里尔文、国际音标 (IPA) 字符
- Heuristica (ttf-heuristicaAUR) – 基于 Utopia 的一个版本,该版本以自由许可发布
- Liberation Serif (ttf-liberation) – 度量兼容 Times New Roman,但 视觉上有所区别,参见 #字体族
- Libre Baskerville (ttf-librebaskervilleAUR) – 一款由 Impallari Type 设计的开源 Baskerville 复刻版
- BaskervilleF (otf-baskervillefAUR) – 一款 PDF 优化的衬线字体,Libre Baskerville 的分支,增加了粗斜体样式
- Libre Caslon (otf-libre-caslonAUR) – 一款由 Impallari Type 设计的开源 Caslon 复刻版
- Linux Libertine (ttf-linux-libertine) – 开发作为 Times New Roman 的替代品,但在视觉和度量上都有所不同(度量差异在斜体和粗体字体中更为明显)。它的分支 Libertinus Fonts (otf-libertinus) 是正在积极开发的版本。
- TeX Gyre Termes (tex-gyre-fonts) – 视觉上类似于 Times New Roman(但存在一些细微的度量差异),参见 #字体族
- Tinos (ttf-croscore) – 度量兼容 Times New Roman,但在视觉上有所区别(并且看起来类似于 Liberation Serif),参见 #字体族
手写字体
- ttf-nothingyoucoulddoAUR – 一位摄影师的手写字体
- ttf-indieflowerAUR – 一款带有气泡状和圆角的无衬线手写字体
- ttf-pacificoAUR – 画笔脚本手写字体,灵感来自 1950 年代的美国冲浪文化,并扩展到西里尔文
- otf-londrinaAUR – 一款灵感来自巴西圣保罗街头的手写字体
- otf-teslaAUR – 一款基于尼古拉·特斯拉手写重建的脚本字体
- ttf-architects-daughterAUR – 一款融合了建筑书写的图形化、方正外观和日常手写自然感的字体
未分类
- all-repository-fontsAUR – 官方仓库中所有字体的元数据包
- ttf-cheapskateAUR – 来自 dustismo.com 的字体合集
- ttf-google-fonts-gitAUR – 大量免费字体合集(包括 Ubuntu、Inconsolata、Roboto 等)注意: 随着添加超过 100 种字体,您的字体对话框可能会变得非常长。
- ttf-junicode – Junius 字体,包含几乎完整的中古拉丁文字符字形
- ttf-mph-2b-damaseAUR – 涵盖完整的平面 1 和多个脚本
- ttf-opendyslexicAUR – 专为阅读障碍人士设计的 OpenDyslexic 字体
- xorg-fonts-type1 – IBM Courier 和 Adobe Utopia 的 PostScript 字体集
非拉丁文字
古代文字
- ttf-ancient-fontsAUR – 包含爱琴海、埃及、楔形文字、安纳托利亚、玛雅和 Analecta 文字的 Unicode 符号的字体
阿拉伯文
请参阅 Localization/Arabic#Fonts。
孟加拉文
阅读 Localization/Bengali#Fonts 了解详情。
盲文
- ttf-ubrailleAUR – 包含 盲文 Unicode 符号的字体
中文、日文、韩文、越南文
泛 CJK
Adobe Source Han 字体和 Noto CJK 字体具有 相同的字形和度量,但由于该项目由 Adobe 和 Google 共同委托,因此品牌不同。
这两个字体合集全面支持简体中文、繁体中文、日文和韩文,具有一致的设计和外观。Noto Sans CJK 字体缺少本地化的菜单名称,这不是必需的,但可能会使母语是字体目标语言的客户更易于使用。
- Adobe Source Han 字体
- Noto CJK 字体 (noto-fonts-cjk) – 包括 Noto Sans CJK 和 Noto Serif CJK
中文
请参阅 Localization/Chinese#Fonts。
日文
请参阅 Localization/Japanese#Fonts。
韩文
请参阅 Localization/Korean#Fonts。
越南文
- ttf-hannom – 越南文 TrueType 字体,用于 chữ Nôm 字符
西里尔文
另请参阅 #拉丁文字。
- ttf-paratypeAUR – ParaType 字体系列:无衬线、衬线、等宽、扩展西里尔文和拉丁文,OFL 许可
- otf-russkopisAUR – 一款用于西里尔文字的免费 OpenType 草书字体
希腊文
几乎所有 Unicode 字体都包含希腊字符集(包括多音希腊文)。一些额外的字体软件包,可能不包含完整的 Unicode 集,但使用了高质量的希腊文(当然还有拉丁文)字体是
- otf-gfsAUR – 来自希腊字体协会的 OpenType 字体精选
- ttf-mgopenAUR – 来自 Magenta 的专业 TrueType 字体
- ttf-sbl-greekAUR – SBL Greek,由圣经文学学会 (SBL) 创建
- ttf-sbl-biblitAUR – SBL BibLit,包含来自 SBL Greek 和 SBL Hebrew 的字符
希伯来文
- opensiddur-hebrew-fontsAUR – 大量开源许可的希伯来文字体合集。也有少量拉丁文、希腊文、西里尔文、阿拉伯文和阿姆哈拉文。
- culmusAUR – 优秀的免费希伯来文字体合集
- alefbetAUR – 4 款希伯来文字体(目前):常用的 "David Libre"、手写字体 "Gveret Levin"、"Varela Round" 和 "open-sans"
- ttf-ms-fontsAUR – 包含 Arial 和其他字体
- ttf-sbl-hebrewAUR – SBL Hebrew,由圣经文学学会 (SBL) 创建
- ttf-sbl-biblitAUR – SBL BibLit,包含来自 SBL Hebrew 和 SBL Greek 的字符
等宽字体
- Cousine (ttf-croscore) – Chrome OS 核心字体的一部分
- Everson Mono (ttf-everson-monoAUR) – 比 Courier 更轻盈、更宽松,支持广泛的 Unicode 区块
- FreeMono (gnu-free-fonts) – GNU FreeFont 的一部分
印度文字
高棉文
- ttf-khmer – 涵盖高棉语字形的字体
- Hanuman (ttf-google-fonts-gitAUR)
蒙古语和通古斯语
- ttf-abkaiAUR – 用于锡伯语、满语和达斡尔语文字的字体(不完整,目前正在开发中)
波斯语
像 ttf-scheherazade-new 这样的阿拉伯文字体也涵盖波斯字母。阿拉伯文字体列表可以在 Localization/Arabic#Fonts 中查看。
- persian-fontsAUR – 用于安装 AUR 中所有波斯语字体的元数据包
- borna-fontsAUR – Borna Rayaneh Co. 波斯语 B 字体系列
- iran-nastaliq-fontsAUR – 一款免费的 Unicode 波斯语书法字体
- iranian-fontsAUR – Iranian-Sans 和 Iranian-Serif 波斯语字体系列
- ir-standard-fontsAUR – 伊朗最高信息和通信技术委员会 (SCICT) 标准波斯语字体
- persian-hm-ftx-fontsAUR – 一款从 X Series 2、Metafont 和 FarsiTeX 字体派生的波斯语字体系列,带有 Kashida 功能
- persian-hm-xs2-fontsAUR – 一款从 X Series 2 字体派生的波斯语字体系列,带有 Kashida 功能
- gandom-fontsAUR, parastoo-fontsAUR, sahel-fontsAUR, samim-fontsAUR, shabnam-fontsAUR, tanha-fontsAUR, vazirmatn-fontsAUR, vazir-code-fontsAUR – 由 Saber RastiKerdar 制作的精美波斯语字体
- ttf-yasAUR – Yas 波斯语字体系列(带有空心零)
- ttf-x2AUR – 免费字体,支持波斯语、阿拉伯语、乌尔都语、普什图语、达里语、乌兹别克语、库尔德语、维吾尔语、古土耳其语(奥斯曼)和现代土耳其语(罗马)
侗台语系
- fonts-tlwgAUR – 可缩放的泰文字体合集
- ttf-google-thaiAUR – 来自 Google 的高质量泰文字体和针对泰国国家字体的新 改进
- ttf-laoAUR – 老挝文 TTF 字体 (Phetsarath_OT)
藏缅语族
- ttf-tibetan-machine – Tibetan Machine TTFont
- ttf-sil-padaukAUR – 一款 Unicode 字体,支持使用缅甸文字的多种不同语言
表情符号和符号
Unicode 标准的一部分被指定用于称为“表情符号”的象形字符。
表情符号字体有不同的格式:CBDT/CBLC (Google)、SBIX (Apple)、COLR/CPAL (Microsoft)、SVG (Mozilla/Adobe)。
一旦您安装了至少一种受支持格式的表情符号字体,表情符号应该就可以开箱即用。但是,一些表情符号字体将其字形编码为大型固定尺寸的位图,因此,为了以预期尺寸显示,依赖于默认启用的 位图字体缩小。
根据 标准,表情符号字体回退需要 额外的代码来处理表情符号。
有关表情符号的发现和输入,请参阅 应用程序列表/实用工具#文本输入。
软件 | CBDT/CBLC | SBIX | COLR/CPAL | SVG | 表情符号字体回退 |
---|---|---|---|---|---|
FreeType | 是 | 是 | 是 | 否 | – |
Chromium | FreeType | – | 是 | ||
Firefox | FreeType | 是 | 否,有关解决方法,请参阅 Firefox#字体故障排除。 | ||
Pango | FreeType | – | 是 | ||
Qt | FreeType | – | 否 [1] [2] [3] | ||
WebKitGTK | FreeType | – | 是 |
- Font Awesome (ttf-font-awesome) – 标志性的 SVG 字体
- JoyPixels (ttf-joypixels) – 前身为 EmojiOne,Emoji as a Service 的一部分,专有
- Nerd Fonts (nerd-fonts) – 针对开发人员的字体,已修补大量图标
- Noto Color Emoji (noto-fonts-emoji) – Google 开源表情符号字体,彩色
- Noto Emoji (ttf-noto-emoji-monochromeAUR) – Google 开源表情符号字体,黑白
- OpenMoji (otf-openmojiAUR) – 德国施韦比施格明德设计大学开源表情符号
- Symbola (ttf-symbola-freeAUR) – Unicode 古文字字体的一部分;版本 9 是最后一个免费版本,当前版本许可为“付费使用”
- Twemoji (Twitter Emoji) (ttf-twemojiAUR) – 适用于所有人的表情符号,最初由 Twitter 创建
- Twitter Color Emoji (ttf-twemoji-colorAUR) – 从 Twemoji 作品构建的 SVG-OpenType (SVGinOT) 字体;此字体还包含黑白表情符号,而原始 Twemoji 字体也包含彩色表情符号
颜文字有时被称为“日式表情符号”,由来自各种字符集的字符组成,包括 CJK 和印度文字体。以下软件包集涵盖了大多数现有的颜文字
Teranoptia (ttf-teranoptia-furiaeAUR) – 是一种没有字母的字体(一种说明性字体),一种奇特的装置,允许您仅通过键盘输入字母来想象嵌合生物。
数学
- Computer Modern (ttf-cm-unicodeAUR, otf-cm-unicodeAUR)
- Computer Modern (otf-latin-modern, otf-latinmodern-math) – LaTeX 中使用的改进版本
- Libertinus Math (otf-libertinus) – 基于 Libertinus Serif 的数学字体,Libertinus Serif 是 Linux Libertine 的分支 (ttf-linux-libertine)
- STIX 字体 (otf-stixAUR) – STIX 旨在成为类似于 Times New Roman 的免版税替代品。当前版本名为 STIX Two,包含一个名为 STIX Two Math 的数学字体伴侣。
- TeX Gyre 数学字体 (tex-gyre-math-fontsAUR) – TeX Gyre 字体的数学字体伴侣(参见 #字体族)。值得注意的是,TeX Gyre Termes Math 是 Times New Roman 的数学字体伴侣。
此外,texlive-basic 和 texlive-fontsextra 包含许多数学字体,例如 Latin Modern Math 和 STIX 字体。请参阅 TeX Live#使字体可用于 Fontconfig 以进行配置。
其他操作系统字体
- ttf-mac-fontsAUR - Apple MacOS TrueType 字体
字体别名
存在多个字体别名,它们代表其他字体,以便应用程序可以使用类似的字体。最常见的别名有:serif
代表衬线字体(例如 DejaVu Serif);sans-serif
代表无衬线字体(例如 DejaVu Sans);以及 monospace
代表等宽字体(例如 DejaVu Sans Mono)。但是,这些别名代表的字体可能会有所不同,并且这种关系通常不会在字体管理工具中显示,例如在 KDE Plasma 和其他桌面环境中找到的那些工具。
要反向查找别名并找到它代表的字体,请运行
$ fc-match monospace
DejaVuSansMono.ttf: "DejaVu Sans Mono" "Book"
在这种情况下,DejaVuSansMono.ttf
是 monospace
别名代表的字体。
后备字体顺序
Fontconfig 会自动选择符合当前需求的字体。也就是说,例如,如果有人正在查看包含英语和中文的窗口,如果默认字体不支持中文文本,它将切换到另一种字体来显示中文文本。
Fontconfig 允许每个用户通过 $XDG_CONFIG_HOME/fontconfig/fonts.conf
配置他们想要的顺序。如果您希望在您最喜欢的 Serif 字体之后选择特定的中文字体,您的文件将如下所示
<?xml version="1.0"?> <!DOCTYPE fontconfig SYSTEM "fonts.dtd"> <fontconfig> <alias> <family>serif</family> <prefer> <family>Your favorite Latin Serif font name</family> <family>Your Chinese font name</family> </prefer> </alias> </fontconfig>
- 如果您使用中文区域设置,请将
LC_LANG
设置为und
以使其工作。否则,英语和中文文本都将以中文字体呈现。 - 如果您想查看针对模糊模式(即可能不完全匹配的模式)的字体列表,例如通用字体族名称,您可以使用
fc-match --sort
或fc-match --all
。 - 如果已显示的字体提供了 Unicode 覆盖范围,则
fc-match --sort
不会显示字体,请参阅 fc-match(1) 和 FcFontSort(3)。 - 更改配置后,运行
fc-match --all serif | head
以验证您的后备字体是否已正确设置。
您也可以为 sans-serif
和 monospace
添加一个部分。
有关更多信息,请查看 Fontconfig 手册。另请参阅 字体配置#设置默认字体或后备字体。
技巧与窍门
列出特定语言的已安装字体
应用程序根据 Fontconfig 首选项和可用的 Unicode 文本字体字形来选择和显示字体。要列出特定语言的已安装字体,请发出命令 fc-list :lang="双字母语言代码"
。例如,要列出已安装的阿拉伯字体或支持阿拉伯字形的字体
$ fc-list -f '%{file}\n' :lang=ar
/usr/share/fonts/TTF/FreeMono.ttf /usr/share/fonts/TTF/DejaVuSansCondensed.ttf /usr/share/fonts/truetype/custom/DroidKufi-Bold.ttf /usr/share/fonts/TTF/DejaVuSansMono.ttf /usr/share/fonts/TTF/FreeSerif.ttf
列出特定 Unicode 字符的已安装字体
要列出支持特定 Unicode 代码点的所有字体——在本例中为黑色向上等边三角形箭头 (⮝)
$ fc-list :charset=2B9D
fc-list 不会规范化请求,它将列出完全匹配的字体。它不适用于通用字体族名称(如 monospace
)和其他模糊模式。要搜索支持特定 Unicode 代码点的等宽字体,您可以尝试以下操作
$ fc-match --sort monospace:charset=2B9D | head
但您必须自行解释结果。fc-match 本质上不保证输出列表中的字体是等宽字体,也不保证它们包含所讨论的代码点。
应用程序特定的字体缓存
Matplotlib (python-matplotlib) 使用自己的字体缓存,因此在更新字体后,请务必删除 ~/.matplotlib/fontList.cache
、~/.cache/matplotlib/fontList.cache
、~/.sage/matplotlib-1.2.1/fontList.cache
等,以便它重新生成其缓存并找到新字体 [5]。
双向文本支持
请参阅 双向文本 以解决与 RTL 语言相关的问题。
盲文字体在终端中显示不正确
如果终端中的盲文字符出现渲染问题,请尝试安装盲文字体并卸载 gnu-free-fonts。
应用程序特定的字体配置技巧
Emacs
Emacs 计算尺寸的方式与标准 Linux 桌面应用程序不同,并且 Emacs 包并非都使用相同的配置格式,因此如果磅值或原始像素大小不起作用,请尝试使用另一个值。
Visual Studio Code
如果您的等宽字体在正确缩放某些字符时遇到问题,请将Editor: Experimental Whitespace Rendering设置从“svg”更改为“font”。已知这有助于解决“Terminus (TTF)”和“IBM 3270”字体的问题。
参见
- 文本渲染状态
- Font Library — 采用自由许可的字体