Difference between revisions of "Fonts (简体中文)"
m (→过老的应用程序) |
(→终端字体) |
||
Line 246: | Line 246: | ||
== 终端字体 == | == 终端字体 == | ||
− | [[Wikipedia: | + | {{注意|这部分是关于 [[Wikipedia:Linux console|Linux console]]。如果您想获取其它的更加丰富的关于终端的解决方案 (完备的 Unicode 字体, 现代的图形化配适器,等等。), 请参照 [[fbterm]], [[KMSCON]] 或者类似的项目.}} |
− | + | 默认情况下, [[Wikipedia:Virtual console|virtual console]] 使用内核的内置字体,其包含 [[Wikipedia:CP437|CP437]] 字体集,<sup>[https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/drivers/tty/vt/Makefile#n4]</sup> 但是这个设置可以非常容易改变. | |
− | 键盘映射 (Keymap) 是按键和计算机使用字符的对应关系表,可以在 {{ic|/usr/share/kbd/keymaps/}} | + | [[Wikipedia:Linux console|Linux console]] 默认使用 UTF-8 编码, 但是由于使用的是标准的兼容 VGA 的帧缓存, 终端字体限定为 256 或 512 个字形。如果字体超出了256个字形, 那么颜色的数量就会从 16 减少到 8。为了针对给定的 Unicode z值分配正确的可显示符号,一种特殊的翻译映射,通常叫做 ''unimap'',是必须的。 就目前来看大多数终端字体都具有内置的 ''unimap'', 但是历史上它是需要被单独载入的。 |
+ | |||
+ | {{Pkg|kbd}} 包提供了改变虚拟终端字体和字体映射的工具。可以使用的字体存储在 {{ic|/usr/share/kbd/consolefonts/}} 目录下, 那些以 ''.psfu'' 或者 ''.psfu.gz'' 结尾的具有一个内嵌的 Unicode 翻译映射。 | ||
+ | |||
+ | 键盘映射 (Keymap) 是按键和计算机使用字符的对应关系表,可以在 {{ic|/usr/share/kbd/keymaps/}} 的子目录下找到,详情请查看 [[Keyboard configuration in console]] 。 | ||
+ | |||
+ | {{注意|Replacing the font can cause issues with programs that expect a standard VGA-style font, such as those using line drawing graphics.}} | ||
=== 预览和测试 === | === 预览和测试 === |
Revision as of 03:29, 12 December 2014
引自 维基百科:
- 「计算机字体(computer font),简称字体(font),是包含有一套字形与字符的电子数据文件。」
注意,部分字体在许可协议中规定了使用时的法律限制。
Contents
字体类型
现今电脑所使用的绝大多数字体,不是属于点阵字体就是属于矢量字体。
- 点阵字体
- 每种字形的每种形式和每种尺寸的图像都由点或者像素组成的矩阵构成。由于位图的原故,点阵字体很难进行缩放,特定的点阵字体只能清晰地显示在相应的字号下。但对于 12-16 px 的小号汉字来说,点阵字体往往比其它类型的字体在屏幕上有更好的显示效果。
- 矢量字体
- 使用贝塞尔曲线(Bézier curves), 绘图指令和数学公式来描述每种字形,使得字体可以适应各种尺寸。
常见格式
bdf
与bdf.gz
– 点阵字体,bitmap distribution format(位图布局格式)的缩写,后者表示以 gzip 压缩的bdf
。pcf
与pcf.gz
– 点阵字体, portable compiled font(可移植编译字体)的缩写,后者表示以 gzip 压缩的pcf
。psf
,psfu
与psf.gz
,psfu.gz
– 点阵字体,前两者分别是 PC screen font(电脑屏幕字体)与 PC screen font Unicode(Unicode 电脑屏幕字体)的缩写。两者分别表示用 gzip 压缩的psf
与 {{ic|psfu}(不适用于 X.Org)。pfa
与pfb
– 矢量字体,分别是 PostScript font ASCII 与 PostScript font binary 的缩写。PostScript 字体内带有打印指令。ttf
– outline,TrueType 字体。作为 PostScript 字体的替代。otf
– outline,OpenType 字体。带有 PostScript 打印指令的 TrueType 字体。
在多数情况下,TrueType 和 OpenType 的技术差异可以忽略,一些带有 ttf
扩展的字体实际上是 OpenType 字体。
其它格式
排版程序 TeX 和配套的字体软件 Metafont 用它们自己的方法渲染字体。部分用于这两个程序的字体的文件后缀有 *pk
, *gf
, mf
与 vf
。
FontForge,一个字体编辑程序,可以用自己的格式来储存字体,例如 sfd
(spline font database)。
SVG 格式也有自己的字体描述方法。
安装
你可以使用多种方法安装字体。
Pacman
有效的源中的字体和字体集可以使用 pacman 来安装。 可以使用以下方式查找字体:
$ pacman -Ss font
或者也可以只查找 ttf
字体:
$ pacman -Ss ttf
创建字体包
如果您想用 pacman 来管理你自己的字体,可以创建一个 Arch 软件包。这些包也可以在 AUR 中与社区成员分享。下面是一个创建软件包的基本样例。您还可以参考 PKGBUILD 来获取更多有关创建软件包的资料。
pkgname=ttf-fontname pkgver=1.0 pkgrel=1 pkgdesc="custom fonts" arch=(any) depends=(fontconfig xorg-font-utils) source=("http://someurl.org/$pkgname.tar.bz2") install=$pkgname.install package() { install -d "$pkgdir/usr/share/fonts/TTF" install -m644 "$srcdir/$pkgname/"*.ttf "$pkgdir/usr/share/fonts/TTF/" }
PKGBUILD 推断这些字体是 TrueType 字体。需要创建一个安装文件 (ttf-fontname.install
) 以便更新字体缓存:
post_install() { echo -n "Updating font cache... " fc-cache >/dev/null -f mkfontscale /usr/share/fonts/TTF mkfontdir /usr/share/fonts/TTF echo done } post_upgrade() { post_install } post_remove() { post_install }
如果想更方便地从TTFs创建自己的包,可以使用 AUR 中的 makefontpkgAUR。
手动安装字体
要安装不在源中的字体,推荐的方法请参考#创建字体包。这样使得 pacman 在以后能够更新或者移除它们。当然字体也可以通过手工方式安装。
要在系统范围内(对所有用户有效)安装字体,请将文件夹移动到 /usr/share/fonts/
目录。这些文件需要对每个用户而言都是可读的,使用 chmod 来设置合理的权限 (比如,文件至少为 0444
,而目录至少为 0555
)。要为单个用户安装字体,请使用 ~/.local/share/fonts
(~/.fonts/
现在已经过时了)。
要让 Xserver 能直接载入字体(而不使用某些字体服务),就需要将新增字体的目录加入到 FontPath 中。它位于您的 Xorg 设置目录中(例如 /etc/X11/xorg.conf
或 /etc/xorg.conf
) 中。更多详细内容请查阅#X.Org 中的字体
然后更新 fontconfig 的字体缓存:
$ fc-cache -vf
手动安装:高级模式
如果您有特殊的字体收集需求,例如使用商业字体、使用不同格式的字体、安装/删除字体相当频繁,或只是希望可以更能够控制访问自己的字体资源,那就相当适合用手动的方式来安装维护字体。采用这种方案会获得很多好处:
- 避免重复安装不同版本、格式的同一种字体集 (经常容易导致渲染问题)。
- 字体可使用多个非标准的实体来源 (例如额外的硬盘、分区)。
- 避免依赖隐晦又占体积的本地字体来源(例如 TeX Live &
09-texlive-fonts.conf
,或是 AUR 中的某个字体包);使用这些字体来源时,您可能只需要其中的 5 种字体,却必须连带安装其它 55 种不需要的字体。 - 避免字体渲染问题,在您的 fontconfig 配置文件已被修改成与安装在系统的那份不同的格式。
- 只要观察主字体目录下的内容,就能够确定系统上有哪种格式的字体集可供应用程序使用。您不需要复杂、占用大量资源的字体管理程序;gtk2fontsel 和基本的指令工具 (如 fontconfig 软件包下的
fc-query
) 就可以将这件差事办得又快又好。 - 当您安装或升级单一字体,所有应用程序都可以使用新版本字体,包括 LaTeX 相关软件。
- 有必要的话,可以快速启用 / 停用某个字体集,因为您知道它们在哪个目录下(调试时很好用)。
- 不需担心有任何多余的
/etc/fonts/conf.avail/nn-foo.conf
fontconfig 文件会可能与您的渲染设置起冲突 (特别是当您使用自定的字体设置与修补过的函式库时)。 - 长远来看,可以省下那些因软件包管理器的失误,解决问题和清除冲突所浪费的宝贵时间。
实际操作上有几种方式,有必要的话可任由软件包管理员采用。以下所举出的操作方式相当有效率,即使字体数目众多也相当安全。
- 我们要将字体来源位置 (例如
/usr/share/fonts.avail
:这是我们要存放字体的位置) 和包含字体集软链接的目录 (/usr/share/fonts
) 给分隔开来。
- 将每个字体集分别放在一个明确命名的子目录下。命名规则必须一致且明确,例如这样:
<ttf|otf|t1>-<字体作者或组织(选用)>-<字体集名称>
字体来源目录的内容会长得像这样:
$ ls /usr/share/fonts.avail /usr/share/fonts.avail/otf-heuristica /usr/share/fonts.avail/ttf-liberation /usr/share/fonts.avail/ttf-ms-arial ...
- 我们不会涉及到 TeX Live 的字体目录,以避免 LaTeX 软件发生任何问题。既然我们可以使用多个位置,我们将在
/usr/share/fonts
创建软链接,让应用程序可以访问特定的字体集:
# cd /usr/share/fonts # ln -s ../fonts.avail/otf-heuristica . # ln -s /opt/texlive/texmf-dist/fonts/truetype/public/opensans ttf-texlive-open.sans
结果如下:
$ ls /usr/share/fonts ttf-liberation -> ..fonts.avail/ttf-liberation ttf-ms-arial -> ..fonts.avail/ttf-ms-arial otf-heuristica -> ..fonts.avail/otf-heuristica otf-texlive-tex.gyre -> /opt/texlive/texmf-dist/fonts/opentype/public/tex-gyre ttf-texlive-open.sans -> /opt/texlive/texmf-dist/fonts/truetype/public/opensans ...
最后,依照惯例执行:
# fc-cache && mkfontscale && mkfontdir
TeX Live Wiki 文章内也有一个类似做法,比较简单,但更适用于单一用户的情形,而非全局设置。
过老的应用程序
过老而不支持 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 server 可能会不能成功加载字体目录,这时你需要重新扫描 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
为了让 Xorg 找到并使用你新安装的字体,你必须把字体路径加入到 /etc/X11/xorg.conf
(另一个 X.Org 配置文件或许也可以)。
这个例子演示了必须加入到 /etc/X11/xorg.conf
中的代码片断。请根据你的实际需要添加或删除路径。
# 让 X.Org 知道自定义字体目录 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/local" 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 权限运行如下命令可以使字体在系统范围内生效。
# pacman -S ttf-liberation -- output abbreviated, assumes installation succeeded -- # fc-cache -vfs /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"
终端字体
默认情况下, virtual console 使用内核的内置字体,其包含 CP437 字体集,[1] 但是这个设置可以非常容易改变.
Linux console 默认使用 UTF-8 编码, 但是由于使用的是标准的兼容 VGA 的帧缓存, 终端字体限定为 256 或 512 个字形。如果字体超出了256个字形, 那么颜色的数量就会从 16 减少到 8。为了针对给定的 Unicode z值分配正确的可显示符号,一种特殊的翻译映射,通常叫做 unimap,是必须的。 就目前来看大多数终端字体都具有内置的 unimap, 但是历史上它是需要被单独载入的。
kbd 包提供了改变虚拟终端字体和字体映射的工具。可以使用的字体存储在 /usr/share/kbd/consolefonts/
目录下, 那些以 .psfu 或者 .psfu.gz 结尾的具有一个内嵌的 Unicode 翻译映射。
键盘映射 (Keymap) 是按键和计算机使用字符的对应关系表,可以在 /usr/share/kbd/keymaps/
的子目录下找到,详情请查看 Keyboard configuration in console 。
预览和测试
showconsolefont 指令会以表格形式显示可用字与字符:
$ showconsolefont
setfont 工具可以暂时改变字体,让用户可以决定是否要设为默认值。只要指定字体名称即可 (这些字体位于 /usr/share/kbd/consolefonts/
):
$ setfont Lat2-Terminus16
您可以用 -m
选项指定使用的字符集:
$ setfont Lat2-Terminus16 -m 8859-2
如果对新换的字体不满意,可以用以下指令撤消至默认字体 (就算终端显示乱码,这个指令依然可以执行 —— 将指令「盲打」进去即可):
$ setfont
更改默认字体
/etc/vconsole.conf
的 FONT
和 FONT_MAP
变量可以用来改变默认字体。
若要显示 Č, ž, đ, š 或 Ł, ę, ą, ś 之类的字符,请使用 lat2-16.psfu.gz
这个字体:
FONT=lat2-16
这代表使用 ISO/IEC 8859 字符的第二部分,尺寸设置为 16。您可以使用其它值更改字体尺寸 (如 lat2-08
)。您可以在维基百科的这张表查询 8859 规范定义的本地。如果您经常在没有 X 服务器的终端上工作,推荐可以使用一种 Terminus 字体。比如说 ter-216b,代表包含 latin-2 部分,尺寸 16,黑体字。ter-216n 是正常磅数的版本。Terminus 字体尺寸最大可以到 32。
现在设置适当的字体映射,若使用 lat2-16 则会是:
FONT_MAP=8859-2
若要为早期的用户空间套用指定字体,请在 /etc/mkinitcpio.conf
使用 keymap
勾子。更多信息请参阅 Mkinitcpio (简体中文)#钩子(HOOKS)。
如果开机时字体没有任何变化,或只变化一下就恢复原样,则有可能是因为显卡驱动引导时字体被复位,然后终端被切至帧缓冲 (framebuffer)。提早装入图形驱动可以避免这个问题。若要在套用 /etc/vconsole.conf
之前将帧缓冲准备好,请参阅核心模式设置#提早引导 KMS、[2] 或其它方式。
字体包
以下是官方源和 AUR 中提供的安装包列表以供参考。支持 Unicode 的字体都标注上了“Unicode”字样。欲知详情请查看具体项目或维基百科。
盲文点字
- ttf-ubraille - 包含 Unicode 盲文点字符号的字体。
非英文使用者
应用程序与浏览器会根据 fontconfig 设置和 Unicode 文字可用的字体来选择其显示字体。用指令 fc-list :lang="双字母的语言代码"
枚举系统安装了哪些可对应该语言的字体。例如,枚举已经安装的阿拉伯文字体,以及支持阿拉伯字的字体:
$ fc-list :lang=ar | cut -d: -f1
/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
若要在多国语言的网站(如维基百科、Arch Linux wiki)中正确显示字形,请安装这些软件包:ttf-freefont, ttf-arphic-uming, ttf-baekmuk
阿拉伯和乌尔都文字
- ttf-qurancomplex-fontsAUR - 位于麦地那的 King Fahd Glorious Quran Printing Complex 制作的字体 (AUR)
- ttf-amiriAUR - 一个典型的阿拉伯文誊抄体 (Naskh) 字体,一开始由 Amiria Press 采用 (AUR)
- ttf-sil-lateefAUR - 来自 SIL 的 Unicode 阿拉伯文字体 (AUR)
- ttf-sil-scheherazadeAUR - 来自 SIL 的 Unicode 阿拉伯文字体 (AUR)
- ttf-arabeyes-fontsAUR - 自由的阿拉伯文字体集合 (AUR)
缅甸文字
- ttf-myanmar3AUR - 缅甸手写体字体 (AUR)
中日韩越文字
Pan-CJK
- adobe-source-han-sans-otc-fonts - 思源黑体 是由 Adobe 与 Google 合资开发的,囊括简体中文、繁体中文、日文、韩文字形和来自 Source Sans 字体家族的拉丁文、希腊文和西里尔文字形的高质量无衬线 OpenType 字体
中文字
- adobe-source-han-sans-cn-fonts - 思源黑体简体中文部分
- adobe-source-han-sans-twhk-fonts - 思源黑体繁体中文部分
- ttf-twAUR - (繁体)台湾教育部发行的标准楷书、宋体字体 (AUR)
- wqy-microhei - 文泉驿微米黑:无衬线形式的高质量中日韩越 (CJKV) 轮廓字体,自 Google Droid 字体衍生而来。
- wqy-zenhei - 文泉驿正黑:黑体 (无衬线) 的中文轮廓字体,附带文泉驿点阵宋体 (也支持部分日韩字符)。
- ttf-arphic-ukai - 楷书 (带有笔触) Unicode 字体 (推荐启用反锯齿)
- ttf-arphic-uming - 明体 (印刷) Unicode 字体
- opendesktop-fonts - 新宋字体,之前为 ttf-fireflysung
- wqy-bitmapfont - 文泉驿点阵宋体 (衬线) 中文字体
- ttf-hannom - 中文、越南文 TrueType 字体
日文字
- adobe-source-han-sans-jp-fonts - 思源黑体日文部分
- otf-ipafont - 正规的日文哥特体 (无衬线) 与明朝体 (衬线) 字形集;其中一项高质量的开放原始码字形。openSUSE-ja 的缺省字形。
- ttf-vlgothicAUR - 日文哥特体字形。Debian/Fedora/Vine Linux 的缺省字体 (AUR)
- ttf-mplusAUR - 现代哥特体的日文轮廓字体。包含所有日文平假名/片假名、Basic Latin、Latin-1 Supplement、Latin Extended-A、IPA Extensions。另外还有大部分日文汉字、希腊字母、西里尔字与越南文字,可以 7 磅 (等比例) 或 5 磅 (等宽) 字重显示。 (AUR)
- ttf-ipa-monaAUR, ttf-monapoAUR - 日文字体,可正确显示 2ch 的 Shift JIS 艺术创作。 (AUR)
- ttf-sazanami - 自由的日文 TrueType 字体。已经过期无人维护,但在某些环境下可当作备案字体使用。
韩文字
- adobe-source-han-sans-kr-fonts - 思源黑体韩文部分
- ttf-baekmuk - 韩文 TrueType 字体集合
- ttf-aleeAUR - 自由的韩文 (谚文;Hangul) TrueType 字体 (AUR)
- ttf-unfonts-coreAUR - Un 字体 (缺省的 Baekmuk 字体较让人不满意) (AUR)
- ttf-nanumAUR - 共享体 (Nanum) 系列 TrueType 字体 (AUR)
- ttf-nanumgothic_codingAUR - 共享体 (Nanum) 系列 TrueType 等宽字体 (AUR)
西里尔文字
- font-arhangaiAUR - 蒙古文西里尔字 (AUR)
- ttf-pingwi-typographyAUR - PingWi Typography (PWT) 字体 (AUR)
希腊文字
几乎所有 Unicode 字体都包含希腊代码集 (也包含多调变音符号)。某些额外的字体软件包未包含完整的 Unicode 集,但拥有高质量的希腊字字形 (当然包含拉丁字):
- otf-gfsAUR - 由 Greek Font Society 选用的 OpenType 字体 (AUR)
- ttf-mgopenAUR - 来自 Magenta 的专业 TrueType 字体 (AUR)
希伯来文字
- culmusAUR - 自由的希伯来文字体集合 (AUR)
印地文字
- ttf-freebanglafont - 孟加拉文字体
- ttf-indic-otf - 印地文 OpenType 字体集合 (包含 ttf-freebanglafont)
- (This one contains a "look of disapproval" that might be more to your liking than the bdf-unifont one mentioned elsewhere in this document)
- lohit-fontsAUR - 来自 Fedora 专案的印地文 TrueType 字体 (包含 Oriya 字体以及更多) (AUR)
高棉文字
- ttf-khmer - 涵盖高棉语 (Khmer) 文字的字体
- Hanuman (ttf-google-fonts-hgAUR 或 ttf-google-fonts-gitAUR)
僧伽罗文字
- ttf-lklugAUR - 僧伽罗文 (Sinhala) Unicode 字体 (AUR)
塔米尔文字
- ttf-tamilAUR - 塔米尔文 (Tamil) Unicode 字体 (AUR)
藏文字
- ttf-tibetan-machine - 藏文 (Tibetan) Machine TTFont
数学字体
- font-mathematica - Wolfram 公司的 Mathematica 字体
- ttf-mathtypeAUR - MathType 字体 (AUR)
- ttf-computer-modern-fontsAUR - (AUR)
Microsoft 字体
参阅微软字体。
Apple Mac OS X 字体
- ttf-mac-fontsAUR - Mac OS X TrueType 字体
- ttf-macAUR - Mac OS X TrueType 字体。这个软件包没有内含 ttf 字体 (只有 otf 字体),用户必须自备这些字体。
等宽字体
建议:每位用户偏爱的字体不尽不同,如想找到您心目中的理想字体,还请多加尝试。 如果您没有太多时间,可以阅读 Dan Benjamin 博客的文章:十大最适合编程的字体(英文)。
这里内还有 Trevor Lowing 整理的一长串字体清单:http://www.lowing.org/fonts/ (英文)。
Slant 上的字体图片比较: 最好的编程字体是什么?(英文)
还有 Stack Overflow 上的带一些图片的回答: 推荐编程字体(英文)。
TrueType 字体
- Agave (ttf-agaveAUR)
- Andalé Mono (ttf-ms-fontsAUR)
- Anka/Coder (ttf-anka-coderAUR)
- Anonymous Pro (ttf-anonymous-proAUR,也包含在 ttf-google-fonts-hgAUR 和 ttf-google-fonts-gitAUR)
- Bitstream Vera Mono (ttf-bitstream-vera)
- Consolas (ttf-vista-fontsAUR) - Windows 下的编程用字体
- Courier New (ttf-ms-fontsAUR)
- Cousine (ttf-google-fonts-hgAUR 或 ttf-google-fonts-gitAUR) - Chrome/Chromium OS 的 Courier New 替换 (metric-compatible)
- DejaVu Sans Mono (ttf-dejavu) - Unicode
- Droid Sans Mono (ttf-droid,也包含在 ttf-google-fonts-hgAUR 和 ttf-google-fonts-gitAUR)
- Envy Code R (ttf-envy-code-rAUR)
- FreeMono (ttf-freefont) - Unicode
- Inconsolata (ttf-inconsolata) - 极佳的编程用字体
- Inconsolata-g (ttf-inconsolata-gAUR) - 加入一些亲近编程人员的调整
- Liberation Mono (ttf-liberation) - 可代替 Courier New (metric-compatible)
- Lucida Typewriter (包含于 jreAUR 软件包)
- Monaco (ttf-monacoAUR) - OSX/Textmate 下知名的编程用字体
- Monofur (ttf-monofurAUR)
- Source Code Pro (adobe-source-code-pro-fonts)
点阵字体
- Default 8x16
- Dina (dina-font)
- Gohu (gohufontAUR)
- Lime (artwiz-fonts)
- ProFont (profont)
- Proggy Programming Fonts (proggyfontsAUR)
- Proggy opti cyrillic (proggyopticyr-fontAUR)
- Tamsyn (tamsyn-font)
- Terminus (terminus-font)
- Unifont (glyphs like (look of disapproval)) (bdf-unifont)
无衬线字体
- Andika (ttf-andikaAUR,包含于 ttf-sil-fontsAUR)
- Arial (ttf-ms-fontsAUR)
- Arial Black (ttf-ms-fontsAUR)
- Arimo (ttf-google-fonts-hgAUR 或 ttf-google-fonts-gitAUR) - Chrome/Chromium OS 的 Arial 替换 (metric-compatible)
- Calibri (ttf-vista-fontsAUR)
- Candara (ttf-vista-fontsAUR)
- Constantia (ttf-vista-fontsAUR)
- Corbel (ttf-vista-fontsAUR)
- DejaVu Sans (ttf-dejavu) - Unicode
- Droid Sans (ttf-droid,包含于 ttf-google-fonts-hgAUR 和 ttf-google-fonts-gitAUR)
- FreeSans (ttf-freefont) - Unicode
- Impact (ttf-ms-fontsAUR)
- Liberation Sans (ttf-liberation,质量提升的西里尔字:ttf-liberastikaAUR) - 可替换 Arial (metric-compatible)
- Linux Biolinum (ttf-linux-libertine)
- Lucida Sans (ttf-ms-fontsAUR)
- Microsoft Sans Serif (ttf-ms-fontsAUR)
- PT Sans (ttf-google-fonts-hgAUR 或 ttf-google-fonts-gitAUR) - 3 种主要变体:正常、变窄与标题 - Unicode:拉丁字、西里尔字
- Source Sans Pro (adobe-source-sans-pro-fonts)
- Tahoma (ttf-tahomaAUR)
- Trebuchet (ttf-ms-fontsAUR)
- Ubuntu-Title (ttf-ubuntu-titleAUR)
- Ubuntu Font Family (ttf-ubuntu-font-family)
- Verdana (ttf-ms-fontsAUR)
手写体
- Comic Sans (ttf-ms-fontsAUR)
衬线字体
- Cambria (ttf-vista-fontsAUR)
- Charis (ttf-charisAUR,包含于 ttf-sil-fontsAUR) - Unicode:拉丁字、西里尔字
- DejaVu Serif (ttf-dejavu) - Unicode
- Doulos (doulos-silAUR,包含于 ttf-sil-fontsAUR) - Unicode:拉丁字、西里尔字
- Droid Serif (ttf-droid,包含于 ttf-google-fonts-hgAUR 和 ttf-google-fonts-gitAUR)
- FreeSerif (ttf-freefont) - Unicode
- Gentium (ttf-gentium,包含于 ttf-sil-fontsAUR) - Unicode:拉丁字、希腊字、西里尔字、音标字母
- Georgia (ttf-ms-fontsAUR)
- Liberation Serif (ttf-liberation) - Times New Roman 替换 (metric-compatible)
- Linux Libertine (ttf-linux-libertine) - Unicode:拉丁字、希腊字、西里尔字、希伯来字
- Times New Roman (ttf-ms-fontsAUR)
- Tinos (ttf-google-fonts-hgAUR 或 ttf-google-fonts-gitAUR) - Chrome/Chromium OS 的 Times New Roman 替换 (metric-compatible)
未分类字体
- ttf-google-fonts-gitAUR 与 ttf-google-fonts-hgAUR — 一个免费字体的大合集(囊括里 ubuntu、inconsolata、droid 等字体)-注意:如果安装这个包,您的系统内将添加 100 多个字体,这将会使您的字体对话框变得很长。ttf-google-fonts-hgAUR 会从上游网络字体项目中拖下整个 Mercurial 库。ttf-google-fonts-gitAUR则会从 Git 中拖下一个更小,更精简的非官方库。(AUR)
- ttf-mph-2b-damase — Covers full plane 1 and several scripts
- ttf-symbola — 提供了绘文字及其它一些符号。
- ttf-sil-fontsAUR — STL 内的 Gentium, Charis, Doulos, Andika and Abyssinica (AUR)
- font-bh-ttf — X.Org Luxi 字体
- ttf-cheapskate — 从 dustismo.com 收集来的字体库
- ttf-isabellaAUR — 一款书法字体,基于 1497 年的 Isabella Breviary
- ttf-junicode — Junius 字体,几乎包括了所有中世纪的拉丁文字形
- arkpandorafonts ttf-arkpandoraAUR — Arial 与 Times New Roman 字体的一个替代字体 (AUR)
- xorg-fonts-type1 — IBM Courier 和 Adobe Utopia 的 PostScript 字体
X11中的字体回滚顺序
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>你喜欢的拉丁衬线字体名称</family> <family>你的中文衬线字体名称</family> </prefer> </alias> </fontconfig>
当然你也可以为 Sans-serif和 monospace 字体像上面一样添加一段。更多信息请参考 fontconfig 说明。
字体别名
在 Linux 系统中有几种字体别名,它们实际代表着别的字体,这样以达到让应用程序的字体看起来类似。最常见的别名有:serif
代表一种衬线体(关于衬线体与非衬线体概念请参考这里——译注)(例如 DejaVu Serif、宋体);sans-serif
代表一种非衬线体(例如 DejaVu Sans、黑体);而monospace
则代表等宽字体(例如 DejaVu Sans Mono)。 然而,这些别名所代表的字体有可能会变化,而且通常 KDE 和其他桌面环境中的字体管理工具不会显示其内在联系。
如果想通过别名反向查找是哪种字体被展现出来,运行:
$ fc-match monospace DejaVuSansMono.ttf: "DejaVu Sans Mono" "Book"
在这种情况下 Monospace 别名展现的是 DejaVuSansMono.ttf 字体。
小提示
从官方软件库安装字体
您可以将官方软件仓库提供的字体全部下载下来安装。
- 所有字体
# pacman -S $(pacman -Ssq font)
- 所有 TrueType 字体
# pacman -S $(pacman -Ssq ttf)
列出已安装字体
你可以使用以下命令来列出当前系统中所有已安装字体的字体:
$ fc-list
应用程序专用的字体高速缓冲
Matplotlib (python-matplotlib 或 python2-matplotlib) 使用自己的字体高速缓冲,因此更新字体后记得删除 $HOME/.matplotlib/fontList.cache
,$HOME/.cache/matplotlib/fontList.cache
, $HOME/.sage/matplotlib-1.2.1/fontList.cache
等文件。这样它才会再一次产生高速缓冲并找到新字体 [3]。