字体
来自 维基百科:计算机字体
- 计算机字体是一种数字数据文件,其中包含一组图形相关的 字形。计算机字体使用字体编辑器进行设计和创建。专为计算机屏幕设计而非用于打印的计算机字体称为屏幕字体。
请注意,某些字体许可证可能施加法律限制。
字体格式
当今大多数计算机字体都采用“位图”或“轮廓”数据格式。
- 位图字体
- 由点或像素矩阵组成,表示每个字形在每个面和大小下的图像。
- 轮廓字体或矢量字体
- 使用贝塞尔曲线、绘图指令和数学公式来描述每个字形,这使得字符轮廓可以缩放到任何大小。
位图格式
- Adobe 的 位图分发格式 (BDF)
- OpenType 位图字体 (OTB)
- PC 屏幕字体 (PSF) 由内核用于控制台字体,Xorg 不支持(对于 Unicode PSF 文件,扩展名为
psfu) - Xorg 的 便携式编译格式 (PCF)
这些格式也可以被 gzip 压缩。有关可用的位图字体,请参阅 #位图。
轮廓格式
- Adobe 的 PostScript 字体 – 有多种格式,例如:Printer Font ASCII (PFA) 和 Printer Font Binary (PFB)
- Apple 和 Microsoft 的 TrueType(文件扩展名:
ttf) - Microsoft 的 OpenType,基于 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。
为了让 X服务器直接加载字体(而不是使用字体服务器),必须使用 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 中的许多字体包以及官方存储库中的字体包。
位图
- pango 1.44 放弃了对 FreeType 的支持,转而支持 HarfBuzz,因此不再支持传统的 BDF/PCF 位图字体,所以一些应用程序(例如 gnome-terminal)将不再支持这些字体,显示方框而不是字形。请参阅 FS#63297、Pango issue #386 和 HarfBuzz issue #1897。
- 默认 8x16
- 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)– 8x16、16x16(任何字体中最广泛的 Unicode 覆盖范围)
- Gohu(gohufontAUR)– 11px、14px,常规和粗体
- Kissinger 2 – 8x16、16x16(Unifont 竞争者)
- Lime(artwiz-fontsAUR)
- ProFont(ttf-profont-iixAUR)– 10px、11px、12px、15px、17px、22px、29px,常规
- Proggy(proggyfontsAUR)– 有不同的变体
- Tamsyn(tamsyn-fontAUR)
适用于 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 的代码字体
- ttf-input-nerd – 包含 nerd font 符号的修补版 Input 字体
- Liberation 字体(ttf-liberation)– Helvetica、Times 和 Courier 的度量兼容字体,但视觉上有所不同
- Microsoft 字体(ttf-ms-win11AUR)– Windows 11 字体(需要 Windows 11 安装或安装介质)
- Noto 字体(noto-fonts)– Google 字体系列,如果安装了其表情符号和 CJK 可选依赖项,则具有完整的 Unicode 覆盖范围
- Roboto(ttf-roboto)– 较新 Android 版本的默认字体,并辅以 Noto 字体以支持 CJK 等不支持的语言
未提供基本字体集的软件包
- B612(ttf-b612AUR)– 空中客车赞助的开源字体系列(无衬线和等宽),专为飞机驾驶舱屏幕的舒适阅读而设计
- Ghostscript(gsfonts)– 由 URW 捐赠的 Ghostscript 字体,包括 Helvetica、Times、Courier 等的克隆。GNU FreeFont(gnu-free-fonts)和 TeX Gyre 字体(tex-gyre-fonts)部分基于 Ghostscript 字体
- Libertinus 字体(otf-libertinus)– Linux Libertine 和 Linux Biolinum 的分支,具有扩展的数学支持,请参阅 #数学
- Luxi 字体(font-bh-ttfAUR)– 类似于 Lucida 的 X.Org 字体系列
- 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)⟶ – 由 Microsoft 根据 Open Font License 发布,旨在增强 Windows Terminal 的外观,具有编程连字
- Courier Prime(ttf-courier-primeAUR)– Courier 的替代品,已补充了无衬线字体和一个针对编程优化的版本,根据 Open Font License 发布
- 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,旨在成为理想的编程字体;它支持编程连字以及超过 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:推荐的编程字体
- 编程字体 - 试用
- 编程字体比较
- 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 的等宽字体伴侣(参见 #Monospaced)。
- FreeSans (gnu-free-fonts) – 视觉上类似于 Helvetica,但度量不同,参见 #Families
- Inter (inter-font) – 为用户界面设计的几何新无衬线字体
- Jost* (otf-jostAUR) – 基于 Futura 的开源字体
- Liberation Sans (ttf-liberation) – 与 Helvetica 度量兼容但视觉上不同,参见 #Families
- Montserrat (otf-montserrat) – 一种与 Gotham 和 Proxima Nova 有相似之处的开源字体
- Nunito (ttf-nunito) – 一种末端圆润的开源字体,因此与 Gotham Rounded 和 Proxima Soft 有相似之处
- Open Sans (ttf-opensans) – 由 Google commissioned 的无衬线字体,基于 Droid sans 但略宽
- PT Sans (ttf-google-fonts-gitAUR) – 3 种主要变体:normal、narrow 和 caption - Unicode:拉丁语、西里尔语
- Source Sans (adobe-source-sans-fonts) – 来自 Adobe 的开源无衬线字体,设计基于 News Gothic 和 Franklin Gothic
- Tahoma (Wine Replacement) (ttf-tahomaAUR) – Tahoma 的开源替代品,由 Wine 项目开发。它被创建是因为许多 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,但度量不同,参见 #Families
- Gentium (ttf-gentium, ttf-gentium-book) – Unicode,全面支持拉丁语、希腊语、西里尔语、国际音标(IPA)字符
- Heuristica (ttf-heuristicaAUR) – 基于在免费许可下发布的Utopia版本
- Liberation Serif (ttf-liberation) – 与 Times New Roman 度量兼容但视觉上不同,参见 #Families
- 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(但有一些细微的度量差异),参见 #Families
- Tinos (ttf-croscore) – 与 Times New Roman 度量兼容但视觉上不同(并且看起来与 Liberation Serif 相似),参见 #Families
手写体
- 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 – 覆盖了整个第一平面和几种脚本
- open-dyslexic-fontsAUR – 供阅读障碍者使用的 OpenDyslexic 字体
- xorg-fonts-type1 – IBM Courier 和 Adobe Utopia 的 PostScript 字体集
非拉丁文字符
古代文字
- ttf-ancient-fontsAUR – 包含爱琴海、埃及、楔形文字、安纳托利亚、玛雅和 Analecta 脚本 Unicode 符号的字体
阿拉伯语
孟加拉语
有关详情,请阅读 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。
韩语 (Korean)
越南语
- ttf-hannom – 越南语 TrueType 字体,支持 chữ Nôm 字符
西里尔文
另见 #Latin script。
- ttf-paratypeAUR – ParaType 的字体系列:无衬线、衬线、等宽、扩展西里尔文和拉丁文,OFL 许可
- otf-russkopisAUR – 一种用于西里尔文字符的免费 OpenType 手写体
希腊语
几乎所有 Unicode 字体都包含希腊字符集(包括多音)。一些额外的字体包,可能不包含完整的 Unicode 集,但使用高质量的希腊语(当然还有拉丁语)字体是
- otf-gfsAUR – 希腊字体学会的 OpenType 字体选集
- ttf-mgopenAUR – Magenta 的专业 TrueType 字体
- ttf-sbl-biblitAUR – SBL BibLit,包含 SBL 希腊语和 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 希伯来语和 SBL 希腊语的字符
等宽字体
- Cousine (ttf-croscore) – Chrome OS Core Fonts 的一部分
- 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 标准的一部分专门用于称为“表情符号”的象形字符。
Emoji 字体有不同的格式:CBDT/CBLC(Google)、SBIX(Apple)、COLR/CPAL(Microsoft)、SVG(Mozilla/Adobe)。
一旦您安装了至少一种支持格式的表情符号字体,表情符号应该就可以直接使用。然而,一些表情符号字体将它们的字形编码为大型固定大小的位图,因此,为了在预期大小显示,它们依赖于位图字体缩小,该功能默认启用。
根据标准,表情符号字体回退需要额外的代码来处理表情符号。
有关表情符号的发现和输入,请参阅 List of applications/Utilities#Text input。
| 软件 | CBDT/CBLC | SBIX | COLR/CPAL | SVG | 表情符号字体回退 |
|---|---|---|---|---|---|
| FreeType | 是 | 是 | 是 | 否 | – |
| Chromium | FreeType | – | 是 | ||
| Firefox | FreeType | 是 | 否,请参阅 Firefox#Font troubleshooting 以获取解决方法。 | ||
| Pango | FreeType | – | 是 | ||
| Qt | FreeType | – | 否 [1] [2] [3] | ||
| WebKitGTK | FreeType | – | 是 | ||
- Font Awesome (woff2-font-awesome) – 图标 SVG 字体
- JoyPixels (ttf-joypixelsAUR) – 前 EmojiOne,表情符号即服务的一部分,专有
- 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 Fonts for Ancient Scripts”;第 9 版是最后一个免费版本,当前版本以“付费使用”许可
- BabelStone Pseudographica - 一种字体,涵盖 Unicode 标准中定义的各种几何形状、框线字符、箭头、几何符号和符号类标点符号
- Twemoji (Twitter Emoji) (ttf-twemojiAUR) – 供所有人使用的表情符号,最初由 Twitter 创建
- Twitter Color Emoji (ttf-twemoji-colorAUR) – 基于 Twemoji artwork 构建的 SVG-OpenType(SVGinOT)字体;此字体也包含黑白表情符号,原始 Twemoji 字体也包含彩色表情符号
Kaomoji 有时被称为“日式表情符号”,由各种字符集中的字符组成,包括 CJK 和印度语言字体。以下软件包集涵盖了大多数现有的 kaomoji
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 fonts (otf-stixAUR) – STIX 被设计为一种免费的替代品,外观类似于 Times New Roman。当前版本称为 STIX Two,并包含一个名为 STIX Two Math 的数学伴侣。
- TeX Gyre math fonts (tex-gyre-math-fontsAUR) – TeX Gyre 字体的数学伴侣(参见 #Families)。特别是,TeX Gyre Termes Math 是 Times New Roman 的数学伴侣。
- JuliaMono (ttf-juliamonoAUR) – 一种等宽字体,对数学符号有广泛支持,包括草书、黑板(双线)和 Fraktur 字母数字字符。
此外,texlive-basic 和 texlive-fontsextra 包含许多数学字体,如 Latin Modern Math 和 STIX 字体。有关配置,请参阅 TeX Live#Making fonts available to 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 配置所需的顺序。如果您希望在您喜欢的衬线字体之后选择一种特定的中文字体,您的文件将如下所示:
<?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>
- 如果您使用中文区域设置,请将
FC_LANG设置为und或en-US:zh-CN以便正常工作。否则,英文和中文文本都将以中文字体呈现。 - 如果您想查看与模糊模式(即可能不完全匹配)的字体列表,例如通用字体系列名称,您可以使用
fc-match --sort或fc-match --all。 fc-match --sort不会显示其 Unicode 覆盖范围由已显示字体提供的字体,请参阅 fc-match(1) 和 FcFontSort(3)。- 更改配置后,运行
fc-match --all serif | head来验证您的回退字体是否设置正确。
您也可以为 sans-serif 和 monospace 添加部分。
有关更多信息,请查阅 Fontconfig 手册。另请参阅 Font configuration#Set default or fallback fonts。
技巧与提示
列出特定语言已安装的字体
应用程序根据 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 语言问题的疑难解答,请参阅 Bidirectional text。
盲文字体在终端中无法正确显示
如果终端中的盲文字符出现 渲染问题,请尝试 安装 盲文字体并卸载 gnu-free-fonts。
应用程序特定字体配置技巧
Emacs
Emacs 的尺寸计算方式与标准的 Linux 桌面应用程序不同,并且 Emacs 包并非都使用相同的配置格式,因此如果磅值或像素值不起作用,请尝试使用另一个值。
Visual Studio Code
如果您的等宽字体在缩放某些字符时出现问题,请将设置 Editor: Experimental Whitespace Rendering 从“svg”更改为“font”。已知这对“Terminus (TTF)”和“IBM 3270”字体有帮助。
参见
- 文本渲染状态
- Font Library — 免费许可下的字体