Difference between revisions of "Fonts (简体中文)"

From ArchWiki
Jump to: navigation, search
(Sync to latest English version.)
m (字体别名: link to better sources of definition.)
 
(65 intermediate revisions by 11 users not shown)
Line 3: Line 3:
 
[[Category:Graphics and desktop publishing (简体中文)]]
 
[[Category:Graphics and desktop publishing (简体中文)]]
 
[[cs:Fonts]]
 
[[cs:Fonts]]
 +
[[de:Schriftarten]]
 
[[en:Fonts]]
 
[[en:Fonts]]
 
[[es:Fonts]]
 
[[es:Fonts]]
 
[[it:Fonts]]
 
[[it:Fonts]]
 +
[[ja:フォント]]
 
[[ru:Fonts]]
 
[[ru:Fonts]]
 
[[tr:Yazıtipleri]]
 
[[tr:Yazıtipleri]]
 
[[zh-TW:Fonts]]
 
[[zh-TW:Fonts]]
{{TranslationStatus (简体中文)|Fonts|2012-10-11|227928}}
+
{{translateme (简体中文)}}
{{Translateme (简体中文)}}
+
{{Related articles start (简体中文)}}
{{Article summary start|摘要}}
+
{{Related2|Font Configuration (简体中文)|字体设定}}
{{Article summary text|包含了在 Arch Linux 中安装和使用字体的信息}}
+
{{Related2|MS Fonts (简体中文)|微软字体}}
{{Article summary heading|合法性}}
+
{{Related2|Java Fonts - Sun JRE|Java 环境字体(英文)}}
{{Article summary text|某些字体包可能会遇到一些法律限制。}}
+
{{Related2|Infinality|Infinality(英文)}}
{{Article summary heading|相关页面}}
+
{{Related articles end}}
{{Article summary wiki|Font Configuration (简体中文)}}
+
{{TranslationStatus (简体中文)|Fonts|2014-05-24|312432}}
{{Article summary wiki|Java Fonts - Sun JRE}}
+
引自 [[Wikipedia:zh:计算机字体|维基百科]]:
{{Article summary wiki|MS Fonts}}
+
:'''计算机字体'''(computer font),简称'''字体'''(font),是包含有一套字形与字符的电子数据文件。」
{{Article summary end}}
+
 
From [[Wikipedia:Computer font|Wikipedia]]:
+
注意,部分字体在许可协议中规定了使用时的法律限制。
:''A computer font (or font) is an electronic data file containing a set of glyphs, characters, or symbols such as dingbats.''
+
 
 
== 字体类型 ==
 
== 字体类型 ==
  
大多数当代电脑使用的不是点阵字体就是矢量字体。
+
现今计算机使用的绝大多数字体,都是属于'''点阵字体'''或者'''轮廓字体'''二者之一。
;点阵字体: 每种字形的每种形式和每种尺寸的图像都由点或者像素组成的矩阵构成。由于位图的原故,点阵字体很难进行缩放,特定的点阵字体只能清晰地显示在相应的字号下。但对于 12-16px 这样小的汉字,点阵字体常常比其它类型的字体在屏幕上更好的显示效果。常见的点阵字体有 bdf,pcf,fnt,hbf 等格式。
+
;点阵字体: 每种字形的每种形式和每种尺寸的图像都由点或者像素组成的矩阵构成。由于位图的原故,点阵字体很难进行缩放,特定的点阵字体只能清晰地显示在相应的字号下。但对于 12-16 px 的小号汉字来说,点阵字体往往比其它类型的字体在屏幕上有更好的显示效果。
;矢量字体: 使用贝塞尔曲线, 绘图指令和数学公式来描述每种字形,使得字体可以适应各种尺寸。
+
;轮廓字体或称矢量字体: 使用贝塞尔曲线、绘图指令和数学公式来描述每种字形,使得字体可以适应各种尺寸。
  
=== 通用类型 ===
+
=== 常见格式 ===
  
* {{ic|bdf}} and {{ic|bdf.gz}} – 点阵字体,“b”代表点阵,“d”代表布局,“f”代表形式,用gzip压缩 {{ic|bdf}}。
+
* {{ic|bdf}} {{ic|bdf.gz}} – 点阵字体,'''b'''itmap '''d'''istribution '''f'''ormat(位图布局格式)的缩写,后者表示以 gzip 压缩的 {{ic|bdf}}。
* {{ic|pcf}} and {{ic|pcf.gz}} – 点阵字体,“p”代表可移植,“c”代表编译 “f”代表字体,用gzip压缩 {{ic|pcf}}。
+
* {{ic|pcf}} {{ic|pcf.gz}} – 点阵字体, '''p'''ortable '''c'''ompiled '''f'''ont(可移植编译字体)的缩写,后者表示以 gzip 压缩的 {{ic|pcf}}。
* {{ic|psf}},{{ic|psfu}}{{ic|psf.gz}} and {{ic|psfu.gz}} – 点阵字体,“PC”,“s”代表屏幕,“f”代表字体,“PC”,“s”代表屏幕,“f”代表字体,“U”代表Unicode,用gzip压缩(不适用于X.Org)。
+
* {{ic|psf}},{{ic|psfu}}{{ic|psf.gz}}{{ic|psfu.gz}} – 点阵字体,前两者分别是 '''P'''C '''s'''creen '''f'''ont(电脑屏幕字体)与 '''P'''C '''s'''creen '''f'''ont '''U'''nicode(Unicode 电脑屏幕字体)的缩写。两者分别表示用 gzip 压缩的 {{ic|psf}} 与 {{ic|psfu}(不适用于 X.Org)。
* {{ic|pfa}} and {{ic|pfb}} – 矢量字体,“P”代表PostScript,“f”代表字体,“A”代表ASCII。“P”代表PostScript,“f”代表字体,“b”代表二进制。PostScript字体包含内嵌打印令。
+
* {{ic|pfa}} {{ic|pfb}} – 矢量字体,分别是 '''P'''ostScript '''f'''ont '''A'''SCII 与 '''P'''ostScript '''f'''ont '''b'''inary 的缩写。PostScript 字体内带有打印指令。
* {{ic|ttf}} – outline,“T”rue“T”ype,“f”代表字体。作为PostScript字体的替代。
+
* {{ic|ttf}} – outline,'''T'''rue'''T'''ype 字体。作为 PostScript 字体的替代。
* {{ic|otf}} – outline,“O”pen“T”ype,“f”代表字体。带有PostScript打印指令的TrueType字体。
+
* {{ic|otf}} – outline,'''O'''pen'''T'''ype 字体。带有 PostScript 打印指令的 TrueType 字体。
  
在多数情况下,TrueType和OpenType的技术差异可以忽略,一些带有{{ic|ttf}}扩展的字体实际上是OpenType字体。
+
在多数情况下,TrueType 和 OpenType 的技术差异可以忽略,一些带有 {{ic|ttf}} 扩展的字体实际上是 OpenType 字体。
  
=== 其它类型 ===
+
=== 其它格式 ===
  
排版程序“TeX”和配套的字体软件“Metafont”用它们自己的方法渲染字体。一些用于这两个程序的字体的文件后缀是{{ic|*pk}}, {{ic|*gf}}, {{ic|mf}} and {{ic|vf}}。
+
排版程序 '''TeX''' 和配套的字体软件 '''Metafont''' 用它们自己的方法渲染字体。部分用于这两个程序的字体的文件后缀有 {{ic|*pk}}, {{ic|*gf}}, {{ic|mf}} {{ic|vf}}。
  
“FontForge”, 一个字体编辑程序,可能用自己的格式来储存字体,例如{{ic|sfd}}, “s”代表线条,“f”代表字体,“d”代表数据库。
+
'''FontForge''',一个字体编辑程序,可以用自己的格式来储存字体,例如 {{ic|sfd}} (''s''pline ''f''ont ''d''atabase)。
  
[http://www.w3.org/TR/SVG/fonts.html SVG]格式也有自己的字体描述方法
+
[http://www.w3.org/TR/SVG/fonts.html SVG] 格式也有自己的字体描述方法。
  
== Installation ==
+
== 安装 ==
  
There are various methods for installing fonts.
+
你可以使用多种方法安装字体。
  
 
=== Pacman ===
 
=== Pacman ===
  
Fonts and font collections in the enabled repositories can be installed using [[Pacman|pacman]]. Available fonts may be found by using:
+
有效的源中的字体和字体集可以使用 [[pacman]] 来安装。 可以使用以下方式查找字体:
 
  $ pacman -Ss font
 
  $ pacman -Ss font
Or to search for {{ic|ttf}} fonts only:
+
或者也可以只查找 {{ic|ttf}} 字体:
 
  $ pacman -Ss ttf
 
  $ pacman -Ss ttf
  
Some fonts like terminus are installed in {{ic|/usr/share/fonts/local}}, which is not added to the font path by default. By adding the following lines to {{ic|~/.xinitrc}} the fonts can be used in X11:
+
=== 创建字体包 ===
{{bc|
+
xset +fp /usr/share/fonts/local
+
xset fp rehash
+
}}
+
 
+
=== Creating a package ===
+
  
If you want to give pacman the ability to manage your fonts, you can create an Arch package.  These can also be shared with the community in the [[AUR]].  Here is an example of how to create a basic package.  To learn more about building packages, read [[PKGBUILD]].
+
如果您想用 pacman 来管理你自己的字体,可以创建一个 Arch 软件包。这些包也可以在 [[Arch User Repository (简体中文)|AUR]] 中与社区成员分享。下面是一个创建软件包的基本样例。您还可以参考 [[PKGBUILD (简体中文)|PKGBUILD]] 来获取更多有关创建软件包的资料。
  
 
{{bc|<nowiki>
 
{{bc|<nowiki>
Line 72: Line 68:
 
pkgver=1.0
 
pkgver=1.0
 
pkgrel=1
 
pkgrel=1
depends=('fontconfig' 'xorg-font-utils')
 
 
pkgdesc="custom fonts"
 
pkgdesc="custom fonts"
arch=('any')
+
arch=(any)
source=(http://someurl.org/$pkgname.tar.bz2)
+
depends=(fontconfig xorg-font-utils)
 +
source=("http://someurl.org/$pkgname.tar.bz2")
 
install=$pkgname.install
 
install=$pkgname.install
  
build()
+
package() {
{
+
   install -d "$pkgdir/usr/share/fonts/TTF"
   mkdir -p $pkgdir/usr/share/fonts/TTF
+
   install -m644 "$srcdir/$pkgname/"*.ttf "$pkgdir/usr/share/fonts/TTF/"
   cp $srcdir/$pkgname/*.ttf $pkgdir/usr/share/fonts/TTF
+
 
}
 
}
 
</nowiki>}}
 
</nowiki>}}
  
This PKGBUILD assumes the fonts are TrueType.  An install file ({{ic|ttf-fontname.install}}) will also need to be created to update the font cache:
+
PKGBUILD 推断这些字体是 TrueType 字体。需要创建一个安装文件 ({{ic|ttf-fontname.install}}) 以便更新字体缓存:
  
 
{{bc|<nowiki>
 
{{bc|<nowiki>
 
post_install() {
 
post_install() {
 
   echo -n "Updating font cache... "
 
   echo -n "Updating font cache... "
   fc-cache -fs >/dev/null
+
   fc-cache >/dev/null -f
   mkfontscale /usr/share/fonts/TTF /usr/share/fonts/Type1
+
   mkfontscale /usr/share/fonts/TTF
   mkfontdir /usr/share/fonts/TTF /usr/share/fonts/Type1
+
   mkfontdir   /usr/share/fonts/TTF
   echo "done"
+
   echo done
 
}
 
}
  
Line 105: Line 100:
 
</nowiki>}}
 
</nowiki>}}
  
=== Manual installation ===
+
如果想更方便地从TTFs创建自己的包,可以使用 [[Arch User Repository (简体中文)|AUR]] 中的 {{AUR|makefontpkg}}。
  
The recommended way of adding fonts that are not in the repositories to your system is described in [[#Creating a package]].  This gives pacman the ability to remove or update them at a later time.  Fonts can alternately be installed manually as well.
+
=== 手动安装字体 ===
  
To install fonts system-wide (available for all users), move the folder to the {{ic|/usr/share/fonts/}} directory.  To install fonts for only a single user, use {{ic|~/.fonts/}} instead.
+
要安装不在源中的字体,推荐的方法请参考[[#创建字体包]]。这样使得 pacman 在以后能够更新或者移除它们。当然字体也可以通过手工方式安装。
  
Also you may need to update {{ic|/etc/X11/xorg.conf}} or {{ic|/etc/xorg.conf}} with the new directory. Search for {{ic|FontPath}} to find the correct location within the file to add your new path. See [[#Fonts with X.Org]] for more detail.
+
要在系统范围内(对所有用户有效)安装字体,请将文件夹移动到 {{ic|/usr/share/fonts/}} 目录。这些文件需要对每个用户而言都是可读的,使用 [[chmod]] 来设置合理的权限 (比如,文件至少为 {{ic|0444}} ,而目录至少为 {{ic|0555}})。要为单个用户安装字体,请使用 {{ic|~/.local/share/fonts}} ({{ic|~/.fonts/}} 现在已经过时了)。
 +
要让 Xserver 能直接载入字体(而不使用某些'''字体服务'''),就需要将新增字体的目录加入到 FontPath 中。它位于[[Xorg#Configuration|您的 Xorg 设置目录]]中(例如 {{ic|/etc/X11/xorg.conf}} {{ic|/etc/xorg.conf}}) 中。更多详细内容请查阅[[#X.Org 中的字体]]
  
Then update the fontconfig font cache:
+
然后更新 fontconfig 的字体缓存:
  
 
  $ fc-cache -vf
 
  $ fc-cache -vf
  
==== Older applications ====
+
==== 手动安装:高级模式 ====
  
With older applications that do not support fontconfig (e.g. GTK+ 1.x applications, and {{ic|xfontsel}}) the index will need to be created in the font directory:
+
如果您有特殊的字体收集需求,例如使用商业字体、使用不同格式的字体、安装/删除字体相当频繁,或只是希望可以更能够控制访问自己的字体资源,那就相当适合用手动的方式来安装维护字体。采用这种方案会获得很多好处:
 +
 
 +
* 避免重复安装不同版本、格式的同一种字体集 (经常容易导致渲染问题)。
 +
* 字体可使用多个非标准的实体来源 (例如额外的硬盘、分区)。
 +
* 避免依赖隐晦又占体积的本地字体来源(例如 TeX Live & {{ic|09-texlive-fonts.conf}},或是 AUR 中的某个字体包);使用这些字体来源时,您可能只需要其中的 5 种字体,却必须连带安装其它 55 种不需要的字体。
 +
* 避免字体渲染问题,在您的 fontconfig 配置文件已被修改成与安装在系统的那份不同的格式。
 +
* 只要观察主字体目录下的内容,就能够确定系统上有哪种格式的字体集可供应用程序使用。您不需要复杂、占用大量资源的字体管理程序;{{Pkg|gtk2fontsel}} 和基本的指令工具 (如 {{Pkg|fontconfig}} 软件包下的 {{ic|fc-query}}) 就可以将这件差事办得又快又好。
 +
* 当您安装或升级单一字体,所有应用程序都可以使用新版本字体,包括 LaTeX 相关软件。
 +
* 有必要的话,可以快速启用 / 停用某个字体集,因为您知道它们在哪个目录下(调试时很好用)。
 +
* 不需担心有任何多余的 {{ic|/etc/fonts/conf.avail/nn-foo.conf}} fontconfig 文件会可能与您的渲染设置起冲突 (特别是当您使用[[Font configuration (简体中文)#补丁包|自定的字体设置与修补过的函式库]]时)。
 +
* 长远来看,可以省下那些因软件包管理器的失误,解决问题和清除冲突所浪费的宝贵时间。
 +
 
 +
实际操作上有几种方式,有必要的话可任由软件包管理员采用。以下所举出的操作方式相当有效率,即使字体数目众多也相当安全。
 +
 
 +
* 我们要将字体来源位置 (例如 {{ic|/usr/share/fonts.avail}}:这是我们要存放字体的位置) 和包含字体集软链接的目录 ({{ic|/usr/share/fonts}}) 给分隔开来。
 +
 
 +
* 将每个字体集分别放在一个明确命名的子目录下。命名规则必须一致且明确,例如这样:
 +
 
 +
{{bc|<nowiki>
 +
<ttf|otf|t1>-<字体作者或组织(选用)>-<字体集名称>
 +
</nowiki>}}
 +
 
 +
字体来源目录的内容会长得像这样:
 +
 
 +
{{bc|<nowiki>
 +
$ ls /usr/share/fonts.avail
 +
 
 +
/usr/share/fonts.avail/otf-heuristica
 +
/usr/share/fonts.avail/ttf-liberation
 +
/usr/share/fonts.avail/ttf-ms-arial
 +
...
 +
</nowiki>}}
 +
 
 +
* 我们不会涉及到 TeX Live 的字体目录,以避免 LaTeX 软件发生任何问题。既然我们可以使用多个位置,我们将在 {{ic|/usr/share/fonts}} 创建软链接,让应用程序可以访问特定的字体集:
 +
 
 +
{{bc|<nowiki>
 +
# cd /usr/share/fonts
 +
# ln -s ../fonts.avail/otf-heuristica .
 +
# ln -s /opt/texlive/texmf-dist/fonts/truetype/public/opensans ttf-texlive-open.sans
 +
</nowiki>}}
 +
 
 +
结果如下:
 +
 
 +
{{bc|<nowiki>
 +
$ 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
 +
...
 +
</nowiki>}}
 +
 
 +
最后,依照惯例执行:
 +
 
 +
{{bc|<nowiki>
 +
# fc-cache && mkfontscale && mkfontdir
 +
</nowiki>}}
 +
 
 +
[[TeXLive (简体中文)|TeX Live]] Wiki 文章内也有一个类似做法,比较简单,但更适用于单一用户的情形,而非全局设置。
 +
 
 +
==== 过老的应用程序 ====
 +
 
 +
过老而不支持 fontconfig 的应用程序(例如 GTK+ 1.x 应用,及 {{ic|xfontsel}}),需要在字体目录创建索引:
  
 
  $ mkfontscale
 
  $ mkfontscale
 
  $ mkfontdir
 
  $ mkfontdir
  
Or to include more than one folder with one command:
+
或在一条命令中包含多个目录:
  
 
  $ for dir in /font/dir1/ /font/dir2/; do xset +fp $dir; done && xset fp rehash
 
  $ for dir in /font/dir1/ /font/dir2/; do xset +fp $dir; done && xset fp rehash
  
At times the X server may fail to load the fonts directory and you will need to rescan all the {{ic|fonts.dir}} files:
+
或者如果字体被安装在一个不同的子文件夹,比如在 {{ic|/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 可能会不能成功加载字体目录,这时你需要重新扫描 {{ic|fonts.dir}} 文件:
  
 
  # xset +fp /usr/share/fonts/misc # Inform the X server of new directories
 
  # xset +fp /usr/share/fonts/misc # Inform the X server of new directories
 
  # xset fp rehash                # Forces a new rescan
 
  # xset fp rehash                # Forces a new rescan
  
To check that the font(s) is included:
+
查询字体是否已经生效,可以使用:
  
 
  $ xlsfonts | grep fontname
 
  $ xlsfonts | grep fontname
  
=== Pango Warnings ===
+
{{注意|许多软件包会自动配置 Xorg 安装时需要的字体。若这样,便可跳过此步。}}
When [http://www.pango.org/ Pango] is in use on your system it will read from [http://www.freedesktop.org/wiki/Software/fontconfig fontconfig] to sort out where to source fonts.
+
 
 +
为了让 [[Xorg]] 找到并使用你新安装的字体,你必须把字体路径加入到 {{ic|/etc/X11/xorg.conf}}(另一个 X.Org 配置文件或许也可以)。
 +
 
 +
这个例子演示了必须加入到 {{ic|/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 警告 ===
 +
当你的系统中安装了[http://www.pango.org/ Pango],它会从 [http://www.freedesktop.org/wiki/Software/fontconfig 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='common'
 
  (process:5741): Pango-WARNING **: failed to choose a font, expect ugly output. engine-type='PangoRenderFc', script='latin'
 
  (process:5741): Pango-WARNING **: failed to choose a font, expect ugly output. engine-type='PangoRenderFc', script='latin'
  
If you are seeing errors similar to this and/or seeing blocks instead of characters in your application then you need to add fonts and update the font cache.  This example uses the {{Pkg|ttf-liberation}} fonts to illustrate the solution and runs as root to enable them system-wide.
+
如果你看到类似的错误,或在应用程序中看到方块而不是文字,这表示你需要添加字体并更新字体缓存。以下示例使用{{Pkg|ttf-liberation}}字体讲解如何解决这个问题。使用 root 权限运行如下命令可以使字体在系统范围内生效。
  
 
  # pacman -S ttf-liberation
 
  # pacman -S ttf-liberation
Line 157: Line 240:
 
  fc-cache: succeeded
 
  fc-cache: succeeded
  
You can test for a default font being set like so:
+
你可以这样测试一个正在设置的默认字体:
  
 
  # fc-match
 
  # fc-match
 
  LiberationMono-Regular.ttf: "Liberation Mono" "Regular"
 
  LiberationMono-Regular.ttf: "Liberation Mono" "Regular"
  
=== Fonts with X.Org ===
+
== 终端字体 ==
  
In order for [[Xorg]] to find and use your newly installed fonts, you must add the font paths to {{ic|/etc/X11/xorg.conf}} (another X.Org configuration file may work too).
+
{{注意|这部分是关于 [[Wikipedia:Linux console|Linux console]]。如果您想获取其它的更加丰富的关于终端的解决方案 (完备的 Unicode 字体, 现代的图形化配适器,等等。), 请参照 [[fbterm]], [[KMSCON]] 或者类似的项目.}}
  
Here is an example of the section that must be added to {{ic|/etc/X11/xorg.conf}}. Add or remove paths based on your particular font requirements.
+
默认情况下, [[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> 但是这个设置可以非常容易改变.
# 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/local"
+
    FontPath    "/usr/share/fonts/misc"
+
    FontPath    "/usr/share/fonts/truetype"
+
    FontPath    "/usr/share/fonts/TTF"
+
    FontPath    "/usr/share/fonts/util"
+
EndSection
+
  
==Font packages==
+
[[Wikipedia:Linux console|Linux console]] 默认使用 UTF-8 编码, 但是由于使用的是标准的兼容 VGA 的帧缓存, 终端字体限定为 256 或 512 个字形。如果字体超出了256个字形, 那么颜色的数量就会从 16 减少到 8。为了针对给定的 Unicode z值分配正确的可显示符号,一种特殊的翻译映射,通常叫做 ''unimap'',是必须的。 就目前来看大多数终端字体都具有内置的 ''unimap'', 但是历史上它是需要被单独载入的。
This is a selective list that includes many font packages from the [[AUR]] along with those in the official repositories. Fonts are tagged "Unicode" if they have wide Unicode support, see the project or Wikipedia pages for detail.
+
  
===Braille===
+
{{Pkg|kbd}} 包提供了改变虚拟终端字体和字体映射的工具。可以使用的字体存储在 {{ic|/usr/share/kbd/consolefonts/}} 目录下, 那些以 ''.psfu'' 或者 ''.psfu.gz'' 结尾的具有一个内嵌的 Unicode 翻译映射。
*{{Pkg|ttf-ubraille}} - Font containing Unicode symbols for ''braille''
+
  
===International users===
+
键盘映射 (Keymap) 是按键和计算机使用字符的对应关系表,可以在 {{ic|/usr/share/kbd/keymaps/}} 的子目录下找到,详情请查看 [[Keyboard configuration in console]] 。
  
====Arabic====
+
{{注意|Replacing the font can cause issues with programs that expect a standard VGA-style font, such as those using line drawing graphics.}}
*{{AUR|ttf-sil-lateef}} - Unicode Arabic font from SIL ''(AUR)''
+
*{{AUR|ttf-sil-scheherazade}} - Unicode Arabic font from SIL ''(AUR)''
+
*{{AUR|ttf-arabeyes-fonts}} - Collection of free Arabic fonts ''(AUR)''
+
  
====Birman====
+
=== 预览和测试 ===
*{{AUR|ttf-myanmar3}} - Font for Myanmar/Burmese script ''(AUR)''
+
  
====Chinese, Japanese, Korean, Vietnamese====
+
{{提示|这里有一个整理过的预览影像数据库:[http://alexandre.deverteuil.net/pages/consolefonts/ Linux 终端字体截图]。}}
  
=====(Mainly) Chinese=====
+
''showconsolefont'' 指令会以表格形式显示可用字与字符:
*{{AUR|ttf-tw}} -(繁體字)國字標準字體(楷書/宋體)母稿——中華民國教育部''(AUR)''.
+
*{{AUR|wqy-microhei}} - 一种Sans-Serif风格的高质量CJK轮廓字体。"(AUR)''
+
*{{Pkg|wqy-zenhei}} - 嵌入点阵宋体的黑体风格(sans-serif)中文轮廓字体(也支持部分日文和韩文).
+
*{{Pkg|ttf-arphic-ukai}} -  楷體 Kaiti (brush stroke) unicode TTFonts  (建议开启抗锯齿)
+
*{{Pkg|ttf-arphic-uming}} -  明體 Mingti (打印) unicode TTFonts 
+
*{{Pkg|opendesktop-fonts}} - ''新宋'' 字体, 之前是 ttf-fireflysung 软件包
+
*{{Pkg|wqy-bitmapfont}} - 中文点阵宋体(serif)
+
*{{Pkg|ttf-hannom}} - 中文和越南文TrueType字体
+
  
=====Japanese=====
+
$ showconsolefont
*{{AUR|otf-ipafont}} - Formal style Japanese Gothic (sans-serif) and Mincho (serif) fonts set; one of the highest quality open source font. Default of openSUSE-ja. ''(AUR)''
+
*{{AUR|ttf-vlgothic}} - Japanese Gothic fonts. Default of Debian/Fedora/Vine Linux ''(AUR)''
+
*{{AUR|ttf-mplus}} - Modern Gothic style Japanese outline fonts. It includes all of Japanese Hiragana/Katakana, Basic Latin, Latin-1 Supplement, Latin Extended-A, IPA Extensions and most of Japanese Kanji, Greek, Cyrillic, Vietnamese with 7 weights (proportional) or 5 weights (monospace).
+
*{{AUR|ttf-ipa-mona}}, {{AUR|ttf-monapo}} - Japanese fonts to show [http://en.wikipedia.org/wiki/2channel_Shift_JIS_art 2channel Shift JIS art] properly. ''(AUR)''
+
*{{Pkg|ttf-sazanami}} - Japanese free TrueType font. This is outdated and not maintained any more, but may be defined as a fallback font on several environment.
+
  
=====Korean=====
+
''setfont'' 工具可以暂时改变字体,让用户可以决定是否要设为永久性设置。只要指定字体名称即可 (这些字体位于 {{ic|/usr/share/kbd/consolefonts/}}),比如:
*{{Pkg|ttf-baekmuk}} - Collection of Korean TrueType fonts
+
*{{AUR|ttf-alee}} - Set of free Hangul TrueType fonts (''AUR'')
+
*{{AUR|ttf-unfonts-core}} - Un fonts (default Baekmuk fonts may be unsatisfactory) (''AUR'')
+
*{{AUR|ttf-nanum}} - Nanum series TrueType fonts (''AUR'')
+
*{{AUR|ttf-nanumgothic_coding}} - Nanum series fixed width TrueType fonts (''AUR'')
+
  
====Cyrillic====
+
$ setfont lat2-16
''Also see [[#Monospace]], [[#Sans]] and [[#Serif]]''
+
*{{AUR|font-arhangai}} - Mongolian Cyrillic (''AUR'')
+
*{{AUR|ttf-pingwi-typography}} - PingWi Typography (PWT) fonts (''AUR'')
+
  
====Greek====
+
如果对新换的字体不满意,可以用以下指令撤消至默认字体 (就算终端显示乱码,这个指令依然可以执行,将指令「盲打」进去即可)
Almost all Unicode fonts contain the Greek character set (polytonic included). Some additional font packages, which might not contain the complete Unicode set but utilize high quality Greek (and Latin, of course) typefaces are:
+
*{{AUR|otf-gfs}} - Selection of OpenType fonts from the Greek Font Society ''(AUR)''
+
*{{AUR|ttf-mgopen}} - Professional TrueType fonts from Magenta ''(AUR)''
+
  
====Hebrew====
+
$ setfont
*{{AUR|culmus}} - Nice collection of free Hebrew fonts
+
  
====Indic====
+
{{注意|''setfont'' 只作用于当前正在使用的终端。其它终端无论活跃与否都不受影响。}}
*{{Pkg|ttf-freebanglafont}} - Font for Bangla
+
*{{Pkg|ttf-indic-otf}} - Indic OpenType Fonts collection (containing ttf-freebanglafont)
+
:(This one contains a "look of disapproval" that might be more to your liking than the {{Pkg|bdf-unifont}} one mentioned elsewhere in this document)
+
* {{Pkg|lohit-font}} - Indic TrueType fonts from Fedora Project (containing Oriya Fonts and more) ''(AUR)''
+
  
====Khmer====
+
=== 持久性配置 ===
*{{Pkg|ttf-khmer}} - Font covering glyphs for Khmer language
+
*[http://code.google.com/webfonts/family?family=Hanuman&subset=khmer Hanuman] ({{AUR|ttf-google-webfonts}})
+
  
====Sinhala====
+
{{ic|/etc/vconsole.conf}} 的 {{ic|FONT}}  变量可以用来在启动时设置字体, 对于所有的终端都具有持久性作用。详情请查看 {{ic|man 5 vconsole.conf}} 。
*{{AUR|ttf-lklug}} - Sinhala Unicode font (''AUR'')
+
  
====Tamil====
+
若要显示 ''Č, ž, đ, š'' 或 ''Ł, ę, ą, ś'' 之类的字符,请使用 {{ic|lat2-16.psfu.gz}} 这个字体:
*{{AUR|ttf-tamil}} - Tamil Unicode fonts (''AUR'')
+
  
====Thai====
+
{{hc|/etc/vconsole.conf|2=
*{{Pkg|ttf-thai}} - Font covering glyphs for Thai
+
...
====Tibetan====
+
FONT=lat2-16
*{{Pkg|ttf-tibetan-machine}} - Tibetan Machine TTFont
+
 +
}}
  
===Math===
+
这代表使用 ISO/IEC 8859 字符的第二部分,尺寸设置为 16。您可以使用其它值更改字体尺寸 (如 {{ic|lat2-08}})。您可以在[[wikipedia:ISO/IEC_8859#The_Parts_of_ISO.2FIEC_8859|Wikipedia的这张表]]查询 8859 规范定义的本地。
*{{Pkg|font-mathematica}} - Mathematica fonts by Wolfram Research, Inc.
+
*{{AUR|ttf-mathtype}} - MathType fonts ''(AUR)''
+
*{{AUR|ttf-computer-modern-fonts}} - ''(AUR)''
+
  
===Microsoft fonts===
+
若要为早期的用户空间套用指定字体,请在 {{ic|/etc/mkinitcpio.conf}} 使用 {{ic|consolefont}} 勾子。更多信息请参阅 [[Mkinitcpio (简体中文)#钩子(HOOKS)]]
See [[MS Fonts]].
+
  
===Apple Mac OS X fonts===
+
如果开机时字体没有任何变化,或只变化一下就恢复原样,则有可能是因为显卡驱动引导时字体被复位,然后终端被切至帧缓冲 (framebuffer)。提早装入图形驱动可以避免这个问题。若要在套用 {{ic|/etc/vconsole.conf}} 之前将帧缓冲准备好,请参阅[[Kernel mode setting (简体中文)#KMS 早启动|核心模式设置#提早引导 KMS]]、[https://bbs.archlinux.org/viewtopic.php?id=145765] 或其它方式。
*{{AUR|ttf-mac}} - Mac OS X TrueType fonts. ''(AUR)''
+
  
===Monospaced===
+
==字体包==
Here are some suggestions. Every user has their own favorite, so experiment to find yours.
+
以下是官方源和 [[Arch User Repository (简体中文)|AUR]] 中提供的安装包列表以供参考。支持 Unicode 的字体都标注上了“Unicode”字样。欲知详情请查看具体项目或维基百科。
If you're in a hurry, you read Dan Benjamin's blog post: [http://hivelogic.com/articles/top-10-programming-fonts ''Top 10 Programming Fonts''].
+
  
Here's a long list of fonts by Trevor Lowing: http://www.lowing.org/fonts/.
+
Github用户Ternstor编写了一段python脚本,可以通过在 AUR 和官方源中所有字体的 PNG 图像产生 HTML 文件: [https://github.com/ternstor/distrofonts/blob/master/archfonts.py].
 +
=== 盲文点字 ===
 +
*{{Pkg|ttf-ubraille}} - 包含 Unicode '''盲文点字'''符号的字体。
  
====TrueType====
+
=== 非英文使用者 ===
* [[Wikipedia:Andalé Mono|Andalé Mono]] ({{AUR|ttf-ms-fonts}})
+
应用程序与浏览器会根据 fontconfig 设置和 Unicode 文字可用的字体来选择其显示字体。用指令 {{ic|<nowiki>fc-list :lang="双字母的语言代码"</nowiki>}} 枚举系统安装了哪些可对应该语言的字体。例如,枚举已经安装的阿拉伯文字体,以及支持阿拉伯字的字体:
* Anka/Coder ({{AUR|ttf-anka-coder}})
+
{{hc|$ fc-list :lang&#61;ar &#124; cut -d: -f1|2=
* Anonymous Pro ({{AUR|ttf-anonymous-pro}}, included in {{AUR|ttf-google-webfonts}})
+
<nowiki>
* [[Wikipedia:Bitstream Vera|Bitstream Vera Mono]] ({{Pkg|ttf-bitstream-vera}})
+
/usr/share/fonts/TTF/FreeMono.ttf
* [[Wikipedia:Consolas|Consolas]] ({{AUR|ttf-vista-fonts}})
+
/usr/share/fonts/TTF/DejaVuSansCondensed.ttf
* [[Wikipedia:Courier New|Courier New]] ({{AUR|ttf-ms-fonts}})
+
/usr/share/fonts/truetype/custom/DroidKufi-Bold.ttf
* Cousine ({{AUR|ttf-google-webfonts}}) - Chrome/Chromium OS replacement for Courier New (metric-compatible)
+
/usr/share/fonts/TTF/DejaVuSansMono.ttf
* [[Wikipedia:DejaVu fonts|DejaVu Sans Mono]] ({{Pkg|ttf-dejavu}}) - Unicode
+
/usr/share/fonts/TTF/FreeSerif.ttf
* [[Wikipedia:Droid (font)|Droid Sans Mono]] ({{Pkg|ttf-droid}}, included in {{AUR|ttf-google-webfonts}})
+
</nowiki>
* Envy Code R ({{AUR|ttf-envy-code-r}})
+
}}
* [[Wikipedia:GNU FreeFont|FreeMono]] ({{Pkg|ttf-freefont}}) - Unicode
+
* [[Wikipedia:Inconsolata|Inconsolata]] ({{Pkg|ttf-inconsolata}})
+
* [[Wikipedia:Inconsolata|Inconsolata-g]] ({{AUR|ttf-inconsolata-g}}) - adds some programmer-friendly modifications
+
* [[Wikipedia:Liberation fonts|Liberation Mono]] ({{Pkg|ttf-liberation}}) - Alternative to Courier New (metric-compatible)
+
* [[Wikipedia:Lucida Console|Lucida Console]] ({{AUR|ttf-ms-fonts}})
+
* [[Wikipedia:Lucida Typewriter|Lucida Typewriter]] (included in package {{Pkg|jre}})
+
* [[Wikipedia:Monaco (typeface)|Monaco]] ({{Pkg|monaco-linux-font}})
+
* Monofur ({{AUR|ttf-monofur}})
+
  
====Bitmap====
+
若要在多国语言的网站(如维基百科、Arch Linux wiki)中正确显示字形,需要安装下列一项软件包:
*Default 8x16
+
* 谷歌的 [http://www.google.com/get/noto/ Noto] 字体家族旨在支持所有语言。请安装 {{Pkg|noto-fonts}}, {{Pkg|noto-fonts-cjk}} {{Pkg|noto-fonts-emoji}} 软件包。
*Dina ({{Pkg|dina-font}})
+
* An alternative set of fonts which has a good coverage of languages is {{Pkg|ttf-freefont}} with {{Pkg|ttf-arphic-uming}} and {{Pkg|ttf-baekmuk}}.
*Lime ({{Pkg|artwiz-fonts}})
+
*[[Wikipedia:ProFont|ProFont]] ({{Pkg|profont}})
+
*[[Wikipedia:Proggy Programming Fonts|Proggy Programming Fonts]] ({{AUR|proggyfonts}})
+
*Proggy opti cyrillic ({{AUR|proggyopticyr-font}})
+
*Tamsyn ({{AUR|tamsyn-font}})
+
*[[Wikipedia:Terminus (typeface)|Terminus]] ({{Pkg|terminus-font}})
+
*Unifont (glyphs like (look of disapproval)) ({{Pkg|bdf-unifont}})
+
  
===Sans-serif===
+
==== 阿拉伯和乌尔都文字 ====
 +
*{{AUR|ttf-qurancomplex-fonts}} - 位于麦地那的 King Fahd Glorious Quran Printing Complex 制作的字体
 +
*{{AUR|ttf-amiri}} - 一个典型的阿拉伯文誊抄体 (Naskh) 字体,一开始由 Amiria Press 采用
 +
*{{AUR|ttf-sil-lateef}} - 来自 SIL 的 Unicode 阿拉伯文字体
 +
*{{AUR|ttf-sil-scheherazade}} - 来自 SIL 的 Unicode 阿拉伯文字体
 +
*{{AUR|ttf-arabeyes-fonts}} - 自由的阿拉伯文字体集合
  
*[http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&id=andika Andika] ({{AUR|ttf-andika}}, included in {{AUR|ttf-sil-fonts}})
+
==== 波斯文字 ====
*[[Wikipedia:Arial|Arial]] ({{AUR|ttf-ms-fonts}})
+
*{{AUR|ttf-irfonts}} - 伊朗信息与通信技术高级理事会(SCICT)的官方标准波斯字体集
*[[Wikipedia:Arial Black|Arial Black]] ({{AUR|ttf-ms-fonts}})
+
*{{AUR|ttf-borna}} - Borna Rayaneh 波斯 B 字体系列
*Arimo ({{AUR|ttf-google-webfonts}}) - Chrome/Chromium OS replacement for Arial (metric-compatible)
+
*{{AUR|ttf-x2}} - X 系列 2 字体是建立在开源可使用的字体基础上并扩展支持波斯语,阿拉伯语,乌尔都语,普什图语,达里语,乌兹别克语,库尔德语,维吾尔语,老土耳其(奥斯曼)和现代土耳其(罗马).
*[[Wikipedia:Calibri|Calibri]] ({{AUR|ttf-vista-fonts}})
+
*{{AUR|ttf-iran-nastaliq}} - 由伊朗信息高级理事会公布的一款 Unicode 书法字体
*[[Wikipedia:Candara|Candara]] ({{AUR|ttf-vista-fonts}})
+
*[[Wikipedia:Constantia (typeface)|Constantia]] ({{AUR|ttf-vista-fonts}})
+
*[[Wikipedia:Corbel (typeface)|Corbel]] ({{AUR|ttf-vista-fonts}})
+
*[[Wikipedia:DejaVu fonts|DejaVu Sans]] ({{Pkg|ttf-dejavu}}) - Unicode
+
*[[Wikipedia:Droid (font)|Droid Sans]] ({{Pkg|ttf-droid}}, included in {{AUR|ttf-google-webfonts}})
+
*[[Wikipedia:GNU FreeFont|FreeSans]] ({{Pkg|ttf-freefont}}) - Unicode
+
*[[Wikipedia:Impact (typeface)|Impact]] ({{AUR|ttf-ms-fonts}})
+
*[[Wikipedia:Liberation fonts|Liberation Sans]] ({{Pkg|ttf-liberation}}, improved/reworked Cyrillic: {{Pkg|ttf-liberastika}}) - Alternative to Arial  (metric-compatible)
+
*[[Wikipedia:Liberation fonts|Liberation Sans Narrow]] ({{Pkg|ttf-liberation}}) - Alternative to Arial Narrow (metric-compatible)
+
*[[Wikipedia:Linux Libertine|Linux Biolinum]] ({{Pkg|ttf-linux-libertine}})
+
*[[Wikipedia:Lucida Sans|Lucida Sans]] ({{AUR|ttf-ms-fonts}})
+
*[[Wikipedia:Microsoft Sans Serif|Microsoft Sans Serif]] ({{AUR|ttf-ms-fonts}})
+
*[[Wikipedia:PT Sans|PT Sans]] ({{AUR|ttf-google-webfonts}}) - 3 major variations: normal, narrow, and caption - Unicode: Latin, Cyrillic
+
*[[Wikipedia:Tahoma (typeface)|Tahoma]] ({{AUR|ttf-tahoma}})
+
*[[Wikipedia:Trebuchet MS|Trebuchet]] ({{AUR|ttf-ms-fonts}})
+
*[[Wikipedia:Ubuntu-Title|Ubuntu-Title]] ({{AUR|ttf-ubuntu-title}})
+
*[[Wikipedia:Ubuntu Font Family|Ubuntu Font Family]] ({{Pkg|ttf-ubuntu-font-family}})
+
*[[Wikipedia:Verdana|Verdana]] ({{AUR|ttf-ms-fonts}})
+
  
===Script===
+
==== 缅甸文字 ====
 +
*{{AUR|ttf-myanmar-fonts}} -  源自myordbok.com的121款字体''(AUR)''
  
*[[Wikipedia:Comic Sans|Comic Sans]] ({{AUR|ttf-ms-fonts}})
+
==== 中日韩越文字 ====
  
===Serif===
+
===== Pan-CJK =====
*[[Wikipedia:Cambria (typeface)|Cambria]] ({{AUR|ttf-vista-fonts}})
+
*{{Pkg|adobe-source-han-sans-otc-fonts}} - '''思源黑体''' 是由 Adobe 与 Google 合资开发的,囊括简体中文、繁体中文、日文、韩文字形和来自 Source Sans 字体家族的拉丁文、希腊文和西里尔文字形的高质量无衬线 OpenType 字体
*[[Wikipedia:Charis SIL|Charis]] ({{AUR|ttf-charis}}, included in {{AUR|ttf-sil-fonts}}) - Unicode: Latin, Cyrillic
+
*[[Wikipedia:DejaVu fonts|DejaVu Serif]] ({{Pkg|ttf-dejavu}}) - Unicode
+
*[[Wikipedia:Doulos SIL|Doulos]] ({{AUR|doulos-sil}}, included in {{AUR|ttf-sil-fonts}}) - Unicode: Latin, Cyrillic
+
*[[Wikipedia:Droid (font)|Droid Serif]] ({{Pkg|ttf-droid}}, included in {{AUR|ttf-google-webfonts}})
+
*[[Wikipedia:GNU FreeFont|FreeSerif]] ({{Pkg|ttf-freefont}}) - Unicode
+
*[[Wikipedia:Gentium|Gentium]] ({{Pkg|ttf-gentium}}, included in {{AUR|ttf-sil-fonts}}) - Unicode: Latin, Greek, Cyrillic, Phonetic Alphabet
+
*[[Wikipedia:Georgia (typeface)|Georgia]] ({{AUR|ttf-ms-fonts}})
+
*[[Wikipedia:Liberation fonts|Liberation Serif]] ({{Pkg|ttf-liberation}}) - Alternative to Times New Roman (metric-compatible)
+
*[[Wikipedia:Linux Libertine|Linux Libertine]] ({{Pkg|ttf-linux-libertine}}) - Unicode: Latin, Greek, Cyrillic, Hebrew
+
*[[Wikipedia:Times New Roman|Times New Roman]] ({{AUR|ttf-ms-fonts}})
+
*Tinos ({{AUR|ttf-google-webfonts}}) - Chrome/Chromium OS replacement for Times New Roman (metric-compatible)
+
  
===Unsorted===
+
===== 中文字 =====
<!--This section should be absorbed into the Monospace/Serif/Sans-Serif structure-->
+
*{{Pkg|adobe-source-han-sans-cn-fonts}} - 思源黑体简体中文部分
*{{AUR|ttf-google-webfonts}} and {{AUR|ttf-google-webfonts-hg}} — a huge collection of free fonts (including ubuntu, inconsolata, droid, etc.) - Note: Your font dialog might get very long as >100 fonts will be added ''(AUR)''
+
*{{Pkg|adobe-source-han-sans-tw-fonts}} - 思源黑体繁体中文部分
*{{Pkg|ttf-mph-2b-damase}} — Covers full plane 1 and several scripts
+
*{{AUR|ttf-tw}} - (繁体)台湾教育部发行的标准楷书、宋体字体
*{{AUR|ttf-symbola}} — Provides emoji and many many other symbols. ''(AUR)''
+
*{{Pkg|wqy-microhei}} - 文泉驿微米黑:无衬线形式的高质量中日韩越 (CJKV) 轮廓字体,自 Google Droid 字体衍生而来。
*{{AUR|ttf-sil-fonts}} — Gentium, Charis, Doulos, Andika and Abyssinica from SIL ''(AUR)''
+
*{{Pkg|wqy-zenhei}} - 文泉驿正黑:黑体 (无衬线) 的中文轮廓字体,附带文泉驿点阵宋体 (也支持部分日韩字符)。
*{{Pkg|font-bh-ttf}} — X.Org Luxi fonts
+
*{{Pkg|ttf-arphic-ukai}} - '''楷书''' (带有笔触) Unicode 字体 (推荐启用反锯齿)
*{{Pkg|ttf-cheapskate}} — Font collection from ''dustismo.com''
+
*{{Pkg|ttf-arphic-uming}} - '''明体''' (印刷) Unicode 字体
*{{Pkg|ttf-isabella}} — Calligraphic font based on the ''Isabella Breviary'' of 1497
+
*{{Pkg|opendesktop-fonts}} - '''新宋'''字体,之前为 ttf-fireflysung
*{{Pkg|ttf-junicode}} — Junius font containing almost complete medieval latin script glyphs
+
*{{Pkg|wqy-bitmapfont}} - 文泉驿点阵宋体 (衬线) 中文字体
*arkpandorafonts {{AUR|ttf-arkpandora}} — Alternative to Arial and Times New Roman fonts ''(AUR)''
+
*{{Pkg|ttf-hannom}} - 中文、越南文 TrueType 字体
*{{Pkg|xorg-fonts-type1}} — IBM Courier and Adobe Utopia sets of [[Wikipedia:PostScript fonts|PostScript fonts]]
+
  
==Console fonts==
+
===== 日文字 =====
 +
*{{Pkg|adobe-source-han-sans-jp-fonts}} - 思源黑体日文部分
 +
*{{Pkg|otf-ipafont}} - 正规的日文哥特体 (无衬线) 与明朝体 (衬线) 字形集;其中一项高质量的开放原始码字形。openSUSE-ja 的缺省字形。
 +
*{{AUR|ttf-vlgothic}} - 日文哥特体字形。Debian/Fedora/Vine Linux 的缺省字体
 +
*{{AUR|ttf-mplus}} - 现代哥特体的日文轮廓字体。包含所有日文平假名/片假名、Basic Latin、Latin-1 Supplement、Latin Extended-A、IPA Extensions。另外还有大部分日文汉字、希腊字母、西里尔字与越南文字,可以 7 磅 (等比例) 或 5 磅 (等宽) 字重显示。
 +
*{{AUR|ttf-monapo}} - 日文字体,可正确显示 [[wikipedia:2channel_Shift_JIS_art|2ch 的 Shift JIS 艺术创作]]。
 +
*{{Pkg|ttf-sazanami}} - 自由的日文 TrueType 字体。已经过期无人维护,但在某些环境下可当作备案字体使用。
 +
*{{Pkg|ttf-hanazono}} - 一款免费的日文汉字字体,Mincho (serif)风格。
  
The console, meaning a terminal running with no ''X'' Window System, uses the ASCII character set as the default. This font and the keymap used are easily changed.
+
===== 韩文字 =====
 +
*{{Pkg|adobe-source-han-sans-kr-fonts}} - 思源黑体韩文部分
 +
*{{Pkg|ttf-baekmuk}} - 韩文 TrueType 字体集合
 +
*{{AUR|ttf-nanum}} - 共享体 (Nanum) 系列 TrueType 字体
 +
*{{AUR|ttf-nanumgothic_coding}} - 共享体 (Nanum) 系列 TrueType 等宽字体
  
A console font is limited to either 256 or 512 characters. The fonts are found in {{ic|/usr/share/kbd/consolefonts/}}.
+
==== 西里尔文字 ====
 +
另请参阅[[#等宽字体]]、[[#无衬线字体]]和[[#衬线字体]]
 +
*{{AUR|ttf-paratype}} - ParaType类别的字体: sans, serif, mono, 扩展的西里尔和拉丁文字, OFL 认证
  
''Keymaps, ''the connection between the key pressed and the character used by the computer, are found in the subdirectories of {{ic|/usr/share/kbd/keymaps/}}.
+
==== 希腊文字 ====
 +
几乎所有 Unicode 字体都包含希腊代码集 (也包含多调变音符号)。某些额外的字体软件包未包含完整的 Unicode 集,但拥有高质量的希腊字字形 (当然包含拉丁字):
 +
*{{AUR|otf-gfs}} - 由 Greek Font Society 选用的 OpenType 字体
 +
*{{AUR|ttf-mgopen}} - 来自 Magenta 的专业 TrueType 字体
  
=== Previewing and testing ===
+
==== 希伯来文字 ====
 +
*{{AUR|culmus}} - 自由的希伯来文字体集合
  
An organized library of images for previewing is available at http://alexandre.deverteuil.net/consolefonts/consolefonts.html.
+
==== 印地文字 ====
 +
*{{Pkg|ttf-freebanglafont}} - 孟加拉文字体
 +
*{{Pkg|ttf-indic-otf}} - 印地文 OpenType 字体集合 (包含 ttf-freebanglafont)
 +
:(This one contains a "look of disapproval" that might be more to your liking than the {{Pkg|bdf-unifont}} one mentioned elsewhere in this document)
 +
* {{AUR|lohit-fonts}} - 来自 Fedora 专案的印地文 TrueType 字体 (包含 Oriya 字体以及更多)
 +
* {{AUR|ttf-devanagarifonts}} - 梵文TrueType字体(包含 283 种字体)
 +
* {{AUR|ttf-gujrati-fonts}} - TTF 古吉拉特 fonts (Avantika,Gopika,Shree768)
 +
* {{AUR|ttf-gurmukhi-fonts_sikhnet}} - TrueType Gurmukhi fonts (gurbaniwebthick,prabhki)
 +
* {{AUR|ttf-gurmukhi_punjabi}} - TTF Gurmukhi / Punjabi (contains 252 fonts)
 +
* {{AUR|ttf-kannada-font}} - Kannada, the language of Karnataka state in India
 +
* {{AUR|ttf-tamil}} - Tamil Unicode fonts
  
Moreover, the user can use {{ic|setfont}} to temporarily change the font and be able to consider its use as the default. The available ''glyphs ''or letters in the font can also be viewed as a table with the command {{ic|showconsolefont}}.
+
==== 高棉文字 ====
 +
*{{Pkg|ttf-khmer}} - 涵盖高棉语 (Khmer) 文字的字体
 +
*[https://www.google.com/fonts/specimen/Hanuman Hanuman] ({{AUR|ttf-google-fonts-git}})
  
If the newly changed font is not suitable, a return to the default font is done by issuing the command {{ic|setfont}} without any arguments. If the console display is totally unreadable, this command will still work—the user just types in {{ic|setfont}} while "working blind."
+
==== 僧伽罗文字 ====
 +
*{{AUR|ttf-lklug}} - 僧伽罗文 (Sinhala) Unicode 字体
  
Note that {{ic|setfont}} only works on the console currently being used. Any other consoles, active or inactive, remain unaffected.
+
==== 塔米尔文字 ====
 +
*{{AUR|ttf-tamil}} - 塔米尔文 (Tamil) Unicode 字体
  
==== Examples ====
+
==== 藏文字 ====
 +
*{{Pkg|ttf-tibetan-machine}} - 藏文 (Tibetan) Machine TTFont
  
Change the font. This example is distinctive:
+
=== 数学字体 ===
$ setfont /usr/share/kbd/consolefonts/gr737b-9x16-medieval.psfu.gz
+
*{{Pkg|font-mathematica}} - Wolfram 公司的 Mathematica 字体
 +
*{{AUR|ttf-mathtype}} - MathType 字体 ''(AUR)''
 +
*{{AUR|ttf-computer-modern-fonts}} - ''(AUR)''
  
Or change the font to one with 512 glyphs and set the keymap to ''ISO 8859-5'' using the {{ic|-m}} option:
+
=== Microsoft 字体 ===
$ setfont /usr/share/kbd/consolefonts/LatArCyrHeb-16.psfu.gz -m 8859-5
+
参阅[[Microsoft Fonts (简体中文)|微软字体]]。
  
Then issue commands that send text to the display, perhaps view a ''manpage'' and try ''vi'' or ''nano'', and view the table of glyphs with the command, {{ic|showconsolefont}}.
+
=== Apple OS X 字体 ===
  
Return to the default font with:
+
* {{AUR|ttf-mac-fonts}} - Mac OS X TrueType 字体
$ setfont
+
* {{AUR|ttf-mac}}{{Broken package link|{{aur-mirror|ttf-mac}}}} - Mac OS X TrueType 字体。这个软件包没有内含 ttf 字体 (只有 otf 字体),用户必须自备这些字体。
  
=== Changing the default font ===
+
=== 等宽字体 ===
 +
建议:每位用户偏爱的字体不尽不同,如想找到您心目中的理想字体,还请多加尝试。
 +
如果您没有太多时间,可以阅读 Dan Benjamin 博客的文章:[http://hivelogic.com/articles/top-10-programming-fonts 十大最适合编程的字体](英文)。
  
To change the default font, the {{ic|FONT<nowiki>=</nowiki>}} and {{ic|FONT_MAP<nowiki>=</nowiki>}} settings in {{ic|/etc/vconsole.conf}} (this file may need to be created) must be altered. Again, the fonts can be found in {{ic|/usr/share/kbd/consolefonts/}} directory and keymaps can be found in the subdirectories of {{ic|/usr/share/kbd/keymaps/}}.
+
这里内还有 Trevor Lowing 整理的一长串字体清单:http://www.lowing.org/fonts/ (英文)。
  
==== Examples ====
+
Slant 上的字体图片比较: [http://www.slant.co/topics/67/~what-are-the-best-programming-fonts 最好的编程字体是什么?](英文)
For displaying characters such as ''Č, ž, đ, š'' or ''Ł, ę, ą, ś'' using the font {{ic|lat2-16.psfu.gz}}:
+
FONT=lat2-16
+
It means that second part of ISO/IEC 8859 characters are used with size 16. You can change font size using other values like lat2-08...16. For the regions determined by 8859 specification, look at the [http://en.wikipedia.org/wiki/ISO/IEC_8859#The_Parts_of_ISO.2FIEC_8859 Wikipedia]. You can use a Terminus font which is recommended if you work a lot in console without X server. ter-216b for example is latin-2 part, size 16, bold. ter-216n is the same but normal weight. Terminus fonts have sizes up to 32.
+
  
Now, set the proper keymap, for lat2-16 it will be:
+
还有 Stack Overflow 上的带一些图片的回答: [http://stackoverflow.com/questions/4689/recommended-fonts-for-programming 推荐编程字体](英文)。
FONT_MAP=8859-2
+
  
To use the specified font in early userspace, that is, early in the bootup process, add the {{ic|consolefont}} hook to {{ic|/etc/mkinitcpio.conf}}:
+
==== TrueType 字体 ====
HOOKS="base udev autodetect pata scsi sata filesystems '''consolefont''' '''keymap'''"
+
* Agave ({{AUR|ttf-agave}}{{Broken package link|{{aur-mirror|ttf-agave}}}})
 +
* [[Wikipedia:zh:Andalé Mono|Andalé Mono]] ({{AUR|ttf-ms-fonts}})
 +
* Anka/Coder ({{AUR|ttf-anka-coder}}{{Broken package link|{{aur-mirror|ttf-anka-coder}}}})
 +
* [http://www.marksimonson.com/fonts/view/anonymous-pro Anonymous Pro] ({{Pkg|ttf-anonymous-pro}},也包含在 {{AUR|ttf-google-fonts-hg}}{{Broken package link|{{aur-mirror|ttf-google-fonts-hg}}}} 和 {{AUR|ttf-google-fonts-git}})
 +
* [[Wikipedia:zh:Bitstream Vera|Bitstream Vera Mono]] ({{Pkg|ttf-bitstream-vera}})
 +
* [[Wikipedia:zh:Consolas|Consolas]] ({{AUR|ttf-vista-fonts}}) - Windows 下的编程用字体
 +
* [[Wikipedia:zh:Courier|Courier New]] ({{AUR|ttf-ms-fonts}})
 +
* Cousine ({{AUR|ttf-chromeos-fonts}} 或 {{AUR|ttf-google-fonts-hg}}{{Broken package link|{{aur-mirror|ttf-google-fonts-hg}}}} 或 {{AUR|ttf-google-fonts-git}}) - Chrome/Chromium OS 的 Courier New 替换 (metric-compatible)
 +
* [[Wikipedia:zh:DejaVu字体|DejaVu Sans Mono]] ({{Pkg|ttf-dejavu}}) - Unicode
 +
* [[Wikipedia:zh:Droid|Droid Sans Mono]] ({{Pkg|ttf-droid}},也包含在 {{AUR|ttf-google-fonts-hg}}{{Broken package link|{{aur-mirror|ttf-google-fonts-hg}}}} 和 {{AUR|ttf-google-fonts-git}})
 +
* Envy Code R ({{AUR|ttf-envy-code-r}})
 +
* Fantasque Sans Mono ({{AUR|ttf-fantasque-sans}} 或 {{AUR|ttf-fantasque-sans-git}})
 +
* [[Wikipedia:GNU FreeFont|FreeMono]] ({{Pkg|ttf-freefont}}) - Unicode
 +
* [[Wikipedia:Inconsolata|Inconsolata]] ({{Pkg|ttf-inconsolata}}) - 极佳的编程用字体
 +
* [[Wikipedia:Inconsolata|Inconsolata-g]] ({{AUR|ttf-inconsolata-g}}) - 加入一些亲近编程人员的调整
 +
* [[Wikipedia:Liberation fonts|Liberation Mono]] ({{Pkg|ttf-liberation}}) - 取代 Courier New,基于Cousine (metric-compatible)。
 +
* [[Wikipedia:Lucida Typewriter|Lucida Typewriter]] (包含于 {{AUR|jre}} 软件包)
 +
* [[Wikipedia:zh:Monaco|Monaco]] ({{AUR|ttf-monaco}}) - OSX/Textmate 下知名的编程用字体
 +
* Monofur ({{AUR|ttf-monofur}})
 +
* [[Wikipedia:Source_Code_Pro|Source Code Pro]] ({{pkg|adobe-source-code-pro-fonts}})
  
Then rebuild the image:
+
==== 点阵字体 ====
# mkinitcpio -p linux
+
*Default 8x16
 +
*Dina ({{Pkg|dina-font}})
 +
*[http://font.gohu.org/ Gohu] ({{AUR|gohufont}})
 +
*Lime ({{Pkg|artwiz-fonts}})
 +
*[[Wikipedia:ProFont|ProFont]] ({{Pkg|profont}})
 +
*[[Wikipedia:Proggy Programming Fonts|Proggy Programming Fonts]] ({{AUR|proggyfonts}})
 +
*Proggy opti cyrillic ({{AUR|proggyopticyr-font}}{{Broken package link|{{aur-mirror|proggyopticyr-font}}}})
 +
*Tamsyn ({{Pkg|tamsyn-font}})
 +
*[http://terminus-font.sourceforge.net/ Terminus] ({{Pkg|terminus-font}})
 +
*Unifont (glyphs like (look of disapproval)) ({{Pkg|bdf-unifont}})
  
{{Note|The above steps must be repeated for each kernel if more than one kernel package is installed.}}
+
=== 无衬线字体 ===
  
See [[Mkinitcpio#HOOKS]] for more information.
+
*[http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&id=andika Andika] ({{AUR|ttf-andika}},包含于 {{AUR|ttf-sil-fonts}})
 +
*[[Wikipedia:zh:Arial|Arial]] ({{AUR|ttf-ms-fonts}})
 +
*[[Wikipedia:zh:Arial|Arial Black]] ({{AUR|ttf-ms-fonts}})
 +
*Arimo ({{AUR|ttf-chromeos-fonts}} 或 {{AUR|ttf-google-fonts-hg}}{{Broken package link|{{aur-mirror|ttf-google-fonts-hg}}}} 或 {{AUR|ttf-google-fonts-git}}) - Chrome/Chromium OS 的 Arial 替换 (metric-compatible)
 +
*[[Wikipedia:zh:Calibri|Calibri]] ({{AUR|ttf-vista-fonts}})
 +
*[[Wikipedia:zh:Candara|Candara]] ({{AUR|ttf-vista-fonts}})
 +
*[[Wikipedia:Constantia (typeface)|Constantia]] ({{AUR|ttf-vista-fonts}})
 +
*[[Wikipedia:Corbel (typeface)|Corbel]] ({{AUR|ttf-vista-fonts}})
 +
*[[Wikipedia:zh:DejaVu字体|DejaVu Sans]] ({{Pkg|ttf-dejavu}}) - Unicode
 +
*[[Wikipedia:zh:Droid|Droid Sans]] ({{Pkg|ttf-droid}},包含于 {{AUR|ttf-google-fonts-hg}}{{Broken package link|{{aur-mirror|ttf-google-fonts-hg}}}} 和 {{AUR|ttf-google-fonts-git}})
 +
*[[Wikipedia:GNU FreeFont|FreeSans]] ({{Pkg|ttf-freefont}}) - Unicode
 +
*[[Wikipedia:Impact (typeface)|Impact]] ({{AUR|ttf-ms-fonts}})
 +
*[[Wikipedia:Liberation fonts|Liberation Sans]] ({{Pkg|ttf-liberation}},取代 Arial, 基于 Arimo (metric-compatible)
 +
*[[Wikipedia:Linux Libertine|Linux Biolinum]] ({{Pkg|ttf-linux-libertine}})
 +
*[[Wikipedia:Lucida Sans|Lucida Sans]] ({{AUR|ttf-ms-fonts}})
 +
*[[Wikipedia:Microsoft Sans Serif|Microsoft Sans Serif]] ({{AUR|ttf-ms-fonts}})
 +
*[[Wikipedia:PT Sans|PT Sans]] ({{AUR|ttf-google-fonts-hg}}{{Broken package link|{{aur-mirror|ttf-google-fonts-hg}}}} 或 {{AUR|ttf-google-fonts-git}}) - 3 种主要变体:正常、变窄与标题 - Unicode:拉丁字、西里尔字
 +
*[[Wikipedia:Source Sans Pro|Source Sans Pro]] ({{pkg|adobe-source-sans-pro-fonts}})
 +
*[[Wikipedia:zh:Tahoma (typeface)|Tahoma]] ({{AUR|ttf-tahoma}})
 +
*[[Wikipedia:Trebuchet MS|Trebuchet]] ({{AUR|ttf-ms-fonts}})
 +
*[[Wikipedia:Ubuntu-Title|Ubuntu-Title]] ({{AUR|ttf-ubuntu-title}}{{Broken package link|{{aur-mirror|ttf-ubuntu-title}}}})
 +
*[[Wikipedia:Ubuntu Font Family|Ubuntu Font Family]] ({{Pkg|ttf-ubuntu-font-family}})
 +
*[[Wikipedia:zh:Verdana|Verdana]] ({{AUR|ttf-ms-fonts}})
  
If the fonts seems to not change on boot, or change only temporarily, it is most likely that they got reset when graphics driver was initialized and console was switched to framebuffer. To avoid this, load your graphics driver earlier. See for example [[KMS#Early_KMS_start]] or other ways to setup your framebuffer before {{ic|/etc/vconsole.conf}} gets applied.
+
=== 手写体 ===
  
==== Boot Error ====
+
*[[Wikipedia:zh:Comic Sans|Comic Sans]] ({{AUR|ttf-ms-fonts}})
  
If "Loading Console Font" fails at boot time, this is probably because you didn't choose a valid font during your Arch Linux install.
+
=== 衬线字体 ===
 +
*[[Wikipedia:Cambria (typeface)|Cambria]] ({{AUR|ttf-vista-fonts}})
 +
*[[Wikipedia:Charis SIL|Charis]] ({{AUR|ttf-charis}}{{Broken package link|{{aur-mirror|ttf-charis}}}},包含于 {{AUR|ttf-sil-fonts}}) - Unicode:拉丁字、西里尔字
 +
*[[Wikipedia:zh:DejaVu字体|DejaVu Serif]] ({{Pkg|ttf-dejavu}}) - Unicode
 +
*[[Wikipedia:Doulos SIL|Doulos]] ({{AUR|doulos-sil}}{{Broken package link|{{aur-mirror|doulos-sil}}}},包含于 {{AUR|ttf-sil-fonts}}) - Unicode:拉丁字、西里尔字
 +
*[[Wikipedia:zh:Droid|Droid Serif]] ({{Pkg|ttf-droid}},包含于 {{AUR|ttf-google-fonts-hg}}{{Broken package link|{{aur-mirror|ttf-google-fonts-hg}}}} 和 {{AUR|ttf-google-fonts-git}})
 +
*[[Wikipedia:GNU FreeFont|FreeSerif]] ({{Pkg|ttf-freefont}}) - Unicode
 +
*[[Wikipedia:Gentium|Gentium]] ({{Pkg|ttf-gentium}},包含于 {{AUR|ttf-sil-fonts}}) - Unicode:拉丁字、希腊字、西里尔字、音标字母
 +
*[[Wikipedia:zh:Georgia (字型)|Georgia]] ({{AUR|ttf-ms-fonts}})
 +
*[[Wikipedia:Liberation fonts|Liberation Serif]] ({{Pkg|ttf-liberation}}) - 取代 Times New Roman,基于Tinos (metric-compatible)
 +
*[[Wikipedia:Linux Libertine|Linux Libertine]] ({{Pkg|ttf-linux-libertine}}) - Unicode:拉丁字、希腊字、西里尔字、希伯来字
 +
*[[Wikipedia:zh:Times New Roman|Times New Roman]] ({{AUR|ttf-ms-fonts}})
 +
*Tinos ({{AUR|ttf-chromeos-fonts}} 或 {{AUR|ttf-google-fonts-hg}}{{Broken package link|{{aur-mirror|ttf-google-fonts-hg}}}} 或 {{AUR|ttf-google-fonts-git}}) - Chrome/Chromium OS 的 Times New Roman 替换 (metric-compatible)
  
To get rid of this message, simply empty the {{ic|CONSOLEFONT}} variable in {{ic|/etc/rc.conf}}. It will fallback on default font at boot.
+
=== 未分类字体 ===
 +
<!--这里的内容应该被分类放入衬线字体,无衬线字体和等宽字体小节内-->
 +
*{{AUR|ttf-google-fonts-git}} {{AUR|ttf-google-fonts-hg}}{{Broken package link|{{aur-mirror|ttf-google-fonts-hg}}}} — 一个免费字体的大合集(囊括里 ubuntu、inconsolata、droid 等字体)-注意:如果安装这个包,您的系统内将添加 100 多个字体,这将会使您的字体对话框变得很长。{{AUR|ttf-google-fonts-hg}}{{Broken package link|{{aur-mirror|ttf-google-fonts-hg}}}} 会从上游网络字体项目中拖下整个 Mercurial 库。{{AUR|ttf-google-fonts-git}}则会从 Git 中拖下一个更小,更精简的非官方库。''(AUR)''
 +
*{{Pkg|ttf-mph-2b-damase}} — Covers full plane 1 and several scripts
 +
*{{Pkg|ttf-symbola}} — 提供了绘文字及其它一些符号。
 +
*{{AUR|ttf-sil-fonts}} — STL 内的 Gentium, Charis, Doulos, Andika and Abyssinica ''(AUR)''
 +
*{{Pkg|font-bh-ttf}} — X.Org Luxi 字体
 +
*{{Pkg|ttf-cheapskate}} — 从 ''dustismo.com'' 收集来的字体库
 +
*{{AUR|ttf-isabella}}{{Broken package link|{{aur-mirror|ttf-isabella}}}} — 一款书法字体,基于 1497 年的 ''Isabella Breviary''
 +
*{{Pkg|ttf-junicode}} — Junius 字体,几乎包括了所有中世纪的拉丁文字形
 +
*arkpandorafonts {{AUR|ttf-arkpandora}}{{Broken package link|{{aur-mirror|ttf-arkpandora}}}} — Arial 与 Times New Roman 字体的一个替代字体 ''(AUR)''
 +
*{{Pkg|xorg-fonts-type1}} — IBM Courier 和 Adobe Utopia 的 [[Wikipedia:PostScript fonts|PostScript 字体]]
  
== Fallback font order with X11 ==
+
== X11中的字体回滚顺序 ==
Fontconfig automatically chooses a font that matches the current requirement. That is to say, if one is looking at a window containing English and Chinese for example, it will switch to another font for the Chinese text if the default one doesn't support it.
+
Fontconfig 会自动选择一个符合当前场景的字体。也就是说,如果有人正在浏览一个既有英文又有中文的窗口,而默认的字体不支持中文,它会自动切换到另一种字体以便显示中文。
  
Fontconfig lets every user configure the order they want via {{ic|$XDG_CONFIG_HOME/fontconfig/fonts.conf}}.
+
Fontconfig 让每个用户能够通过{{ic|$XDG_CONFIG_HOME/fontconfig/fonts.conf}}来调整字体被使用的顺序。
If you want a particular Chinese font to be selected after your favorite Serif font, your file would look like this:
+
如果你想要在最喜欢的Serif字体之后使用某个特定的中文字体,你的配置文件看起来会是这样:
 
  <?xml version="1.0"?>
 
  <?xml version="1.0"?>
 
  <!DOCTYPE fontconfig SYSTEM "fonts.dtd">
 
  <!DOCTYPE fontconfig SYSTEM "fonts.dtd">
Line 434: Line 528:
 
     <family>serif</family>
 
     <family>serif</family>
 
     <prefer>
 
     <prefer>
       <family>Your favorite Latin Serif font name</family>
+
       <family>你喜欢的拉丁衬线字体名称</family>
       <family>Your Chinese font name</family>
+
       <family>你的中文衬线字体名称</family>
 
     </prefer>
 
     </prefer>
 
   </alias>
 
   </alias>
 
  </fontconfig>
 
  </fontconfig>
  
You can add a section for Sans-serif and monospaced as well. For more informations, have a look at the fontconfig manual.
+
当然你也可以为 Sans-serif和 monospace 字体像上面一样添加一段。更多信息请参考 fontconfig 说明。
  
== Font alias ==
+
== 字体别名 ==
In Linux there are several font aliases which represent other fonts in order that applications may use similar fonts. The most common aliases are: {{ic|serif}} for a font of the serif type (e.g. DejaVu Serif); {{ic|sans-serif}} for a font of the sans-serif type (e.g. DejaVu Sans); and {{ic|monospace}} for a monospaced font (e.g. DejaVu Sans Mono). However, the fonts which these aliases represent may vary and the relationship is often not shown in font management tools such as those found in KDE and other desktop environments.
+
Linux 系统中有几种字体别名,它们实际代表着别的字体,这样以达到让应用程序的字体看起来类似。最常见的别名有:{{ic|serif}} 代表一种[[Wikipedia:zh:衬线体|衬线体]](关于衬线体与非衬线体概念请参考[http://wiki.ubuntu.org.cn/%E5%AD%97%E4%BD%93#.E5.9F.BA.E7.A1.80.E7.9F.A5.E8.AF.86 UbuntuCN:字体#基础知识]——译注)(例如 DejaVu Serif、宋体);{{ic|sans-serif}}代表一种[[Wikipedia:zh:无衬线体|无衬线体]](例如 DejaVu Sans 和各种黑体);而{{ic|monospace}} 则代表[[Wikipedia:zh:等宽字体|等宽字体]](例如 DejaVu Sans Mono)。 然而,这些别名所代表的字体有可能会变化,而且通常 KDE 和其他桌面环境中的字体管理工具不会显示其内在联系。
  
To reverse an alias and find which font it is representing, run:
+
如果想通过别名反向查找是哪种字体被展现出来,运行:
 
  $ fc-match monospace
 
  $ fc-match monospace
 
  DejaVuSansMono.ttf: "DejaVu Sans Mono" "Book"
 
  DejaVuSansMono.ttf: "DejaVu Sans Mono" "Book"
  
In this case DejaVuSansMono.ttf is the font represented by the monospace alias.
+
在这种情况下 Monospace 别名展现的是 DejaVuSansMono.ttf 字体。
 
+
==2 英文字和中文字等宽==
+
{{Merge|Font Configuration (简体中文)|配置方法应该放入字体配置页面.}}
+
TrueType 字体分成两种,一种是可变字距,也就是每个字符宽度不一样,比如 "x" 与 "i",这两个字符就不等宽,它是在每个字符中记录该字符的宽度,大多数的 TrueType 字体都是这种格式。
+
 
+
另一种就是固定字距。也就是每个字符宽度都一样,这样显示或打印時,用会有对齐效果,比较美观,在英语环境中,不会有任何问题,但是CJK 的等宽字体,包含『半角英数字符』与『全角 CJK 字符』,字体引擎会把全角字宽度套用在半角字上,造成半宽字看起来间距太大。
+
+
a. 让字体引擎(FreeType)取消CJK字体的指定宽度
+
 
+
<pre>
+
<match target="font">
+
                <test target="pattern" name="lang" compare="contains">
+
                        <string>zh</string>
+
                        <string>ja</string>
+
                        <string>ko</string>
+
                </test>
+
                <edit name="spacing">
+
                        <const>proportional</const>
+
                </edit>
+
                <edit name="globaladvance">
+
                <bool>false</bool>
+
                </edit>
+
        </match>
+
 
+
</pre>
+
 
+
==3 字体替换==
+
 
+
一些网页编写时候,对使用的字体预先设定,(如英文部分使用了simsun,使得英文显示很不美观)所以可以使用字体替换使得字体显示更美观。
+
 
+
a. 把Simsun , SimSun-18030 , AR PL ShanHeiSun Uni等这个几个中文字体的英文部分,用 Tahoma,Arial 等替换。
+
 
+
<pre>
+
<match target="pattern">
+
<test name="family">
+
<string>SimSun</string>
+
<string>SimSun-18030</string>
+
<string>AR PL ShanHeiSun Uni</string>
+
<string>AR PL New Sung</string>
+
<string>MingLiU</string>
+
<string>PMingLiU</string>
+
</test>
+
<edit binding="strong" mode="prepend" name="family">
+
<string>Tahoma</string>
+
<string>Arial</string>
+
<string>Verdana</string>
+
<string>DejaVu Sans</string>
+
<string>Bitstream Vera Sans</string>
+
</edit>
+
</match>
+
 
+
</pre>
+
 
+
b. 把 AR PL ShanHeiSun Uni , AR PL New Sung 字体中12~16号的中文字用 WenQuanYi Bitmap Song 点阵字替换, WenQuanYi Bitmap Song 比  AR PL ShanHeiSun Uni , AR PL New Sung中的内嵌点阵更加完善,美观。
+
 
+
 
+
<pre>
+
<match target="pattern">
+
<test name="family" qual="any">
+
<string>AR PL ShanHeiSun Uni</string>
+
<string>AR PL New Sung</string>
+
</test>
+
<test compare="more_eq" name="pixelsize" >
+
<double>12</double>
+
</test>
+
<test compare="less_eq" name="pixelsize" >
+
<double>16</double>
+
</test>
+
<edit name="family" mode="prepend" binding="strong">
+
<string>WenQuanYi Bitmap Song</string>
+
</edit>
+
</match>
+
</pre>
+
 
+
==4 使用内嵌点阵字==
+
 
+
 
+
a. 当字体有内嵌字体时,优先使用内嵌字体。
+
 
+
<pre>
+
<match target="font">
+
<edit name="embeddedbitmap" mode="assign">
+
<bool>true</bool>
+
</edit>
+
</match>
+
</pre>
+
 
+
'''注意:'''libXft 还没有embeddedbitmap选项的支持。可以到[https://bugzilla.redhat.com/bugzilla/attachment.cgi?id=124032  这里]得到libXft2.1.8.2的embeddedbitmap patch,通过ABS重新编译安装libXft 。
+
 
+
==5 必须使用hinting的字体==
+
  
 +
== 小提示 ==
  
a. 有些 CJK 字体要the byte code interpreter (hinting)才能正确的显示,因为这些字体使用了hinting的一些技术制作。常见的MingLiu 就是这类字体。
+
=== 列出已安装字体 ===
 +
你可以使用以下命令来列出当前系统中所有已安装字体的字体:
  
 +
$ fc-list
  
<pre>
+
=== 应用程序专用的字体高速缓冲 ===
        <match target="font">
+
                <test name="family">
+
                        <string>MingLiU</string>
+
                        <string>PMingLiU</string>
+
                </test>
+
                <edit name="autohint">
+
                        <bool>false</bool>
+
                </edit>
+
                <edit name="hinting">
+
                        <bool>true</bool>
+
                </edit>
+
        </match>
+
  
</pre>
+
Matplotlib ({{pkg|python-matplotlib}} 或 {{pkg|python2-matplotlib}}) 使用自己的字体高速缓冲,因此更新字体后记得删除 {{ic|$HOME/.matplotlib/fontList.cache}},{{ic|$HOME/.cache/matplotlib/fontList.cache}}, {{ic|$HOME/.sage/matplotlib-1.2.1/fontList.cache}} 等文件。这样它才会再一次产生高速缓冲并找到新字体 [http://matplotlib.1069221.n5.nabble.com/getting-matplotlib-to-recognize-a-new-font-td40500.html]。

Latest revision as of 13:25, 25 April 2016

Tango-preferences-desktop-locale.png本页面需要更新翻译,内容可能已经与英文脱节。要贡献翻译,请访问简体中文翻译组Tango-preferences-desktop-locale.png

附注: please use the first argument of the template to provide more detailed indications.
翻译状态: 本文是英文页面 Fonts翻译,最后翻译时间:2014-05-24,点击这里可以查看翻译后英文页面的改动。

引自 维基百科:

计算机字体(computer font),简称字体(font),是包含有一套字形与字符的电子数据文件。」

注意,部分字体在许可协议中规定了使用时的法律限制。

字体类型

现今计算机使用的绝大多数字体,都是属于点阵字体或者轮廓字体二者之一。

点阵字体
每种字形的每种形式和每种尺寸的图像都由点或者像素组成的矩阵构成。由于位图的原故,点阵字体很难进行缩放,特定的点阵字体只能清晰地显示在相应的字号下。但对于 12-16 px 的小号汉字来说,点阵字体往往比其它类型的字体在屏幕上有更好的显示效果。
轮廓字体或称矢量字体
使用贝塞尔曲线、绘图指令和数学公式来描述每种字形,使得字体可以适应各种尺寸。

常见格式

  • bdfbdf.gz – 点阵字体,bitmap distribution format(位图布局格式)的缩写,后者表示以 gzip 压缩的 bdf
  • pcfpcf.gz – 点阵字体, portable compiled font(可移植编译字体)的缩写,后者表示以 gzip 压缩的 pcf
  • psfpsfupsf.gzpsfu.gz – 点阵字体,前两者分别是 PC screen font(电脑屏幕字体)与 PC screen font Unicode(Unicode 电脑屏幕字体)的缩写。两者分别表示用 gzip 压缩的 psf 与 {{ic|psfu}(不适用于 X.Org)。
  • pfapfb – 矢量字体,分别是 PostScript font ASCII 与 PostScript font binary 的缩写。PostScript 字体内带有打印指令。
  • ttf – outline,TrueType 字体。作为 PostScript 字体的替代。
  • otf – outline,OpenType 字体。带有 PostScript 打印指令的 TrueType 字体。

在多数情况下,TrueType 和 OpenType 的技术差异可以忽略,一些带有 ttf 扩展的字体实际上是 OpenType 字体。

其它格式

排版程序 TeX 和配套的字体软件 Metafont 用它们自己的方法渲染字体。部分用于这两个程序的字体的文件后缀有 *pk, *gf, mfvf

FontForge,一个字体编辑程序,可以用自己的格式来储存字体,例如 sfdspline 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 安装时需要的字体。若这样,便可跳过此步。

为了让 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"

终端字体

注意: 这部分是关于 Linux console。如果您想获取其它的更加丰富的关于终端的解决方案 (完备的 Unicode 字体, 现代的图形化配适器,等等。), 请参照 fbterm, KMSCON 或者类似的项目.

默认情况下, 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

注意: Replacing the font can cause issues with programs that expect a standard VGA-style font, such as those using line drawing graphics.

预览和测试

提示: 这里有一个整理过的预览影像数据库:Linux 终端字体截图

showconsolefont 指令会以表格形式显示可用字与字符:

$ showconsolefont

setfont 工具可以暂时改变字体,让用户可以决定是否要设为永久性设置。只要指定字体名称即可 (这些字体位于 /usr/share/kbd/consolefonts/),比如:

$ setfont lat2-16

如果对新换的字体不满意,可以用以下指令撤消至默认字体 (就算终端显示乱码,这个指令依然可以执行,将指令「盲打」进去即可):

$ setfont
注意: setfont 只作用于当前正在使用的终端。其它终端无论活跃与否都不受影响。

持久性配置

/etc/vconsole.confFONT 变量可以用来在启动时设置字体, 对于所有的终端都具有持久性作用。详情请查看 man 5 vconsole.conf

若要显示 Č, ž, đ, šŁ, ę, ą, ś 之类的字符,请使用 lat2-16.psfu.gz 这个字体:

/etc/vconsole.conf
...
FONT=lat2-16

这代表使用 ISO/IEC 8859 字符的第二部分,尺寸设置为 16。您可以使用其它值更改字体尺寸 (如 lat2-08)。您可以在Wikipedia的这张表查询 8859 规范定义的本地。

若要为早期的用户空间套用指定字体,请在 /etc/mkinitcpio.conf 使用 consolefont 勾子。更多信息请参阅 Mkinitcpio (简体中文)#钩子(HOOKS)

如果开机时字体没有任何变化,或只变化一下就恢复原样,则有可能是因为显卡驱动引导时字体被复位,然后终端被切至帧缓冲 (framebuffer)。提早装入图形驱动可以避免这个问题。若要在套用 /etc/vconsole.conf 之前将帧缓冲准备好,请参阅核心模式设置#提早引导 KMS[2] 或其它方式。

字体包

以下是官方源和 AUR 中提供的安装包列表以供参考。支持 Unicode 的字体都标注上了“Unicode”字样。欲知详情请查看具体项目或维基百科。

Github用户Ternstor编写了一段python脚本,可以通过在 AUR 和官方源中所有字体的 PNG 图像产生 HTML 文件: [3].

盲文点字

  • 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-irfontsAUR - 伊朗信息与通信技术高级理事会(SCICT)的官方标准波斯字体集
  • ttf-bornaAUR - Borna Rayaneh 波斯 B 字体系列
  • ttf-x2AUR - X 系列 2 字体是建立在开源可使用的字体基础上并扩展支持波斯语,阿拉伯语,乌尔都语,普什图语,达里语,乌兹别克语,库尔德语,维吾尔语,老土耳其(奥斯曼)和现代土耳其(罗马).
  • ttf-iran-nastaliqAUR - 由伊朗信息高级理事会公布的一款 Unicode 书法字体

缅甸文字

中日韩越文字

Pan-CJK
  • adobe-source-han-sans-otc-fonts - 思源黑体 是由 Adobe 与 Google 合资开发的,囊括简体中文、繁体中文、日文、韩文字形和来自 Source Sans 字体家族的拉丁文、希腊文和西里尔文字形的高质量无衬线 OpenType 字体
中文字
日文字
  • adobe-source-han-sans-jp-fonts - 思源黑体日文部分
  • otf-ipafont - 正规的日文哥特体 (无衬线) 与明朝体 (衬线) 字形集;其中一项高质量的开放原始码字形。openSUSE-ja 的缺省字形。
  • ttf-vlgothicAUR - 日文哥特体字形。Debian/Fedora/Vine Linux 的缺省字体
  • ttf-mplusAUR - 现代哥特体的日文轮廓字体。包含所有日文平假名/片假名、Basic Latin、Latin-1 Supplement、Latin Extended-A、IPA Extensions。另外还有大部分日文汉字、希腊字母、西里尔字与越南文字,可以 7 磅 (等比例) 或 5 磅 (等宽) 字重显示。
  • ttf-monapoAUR - 日文字体,可正确显示 2ch 的 Shift JIS 艺术创作
  • ttf-sazanami - 自由的日文 TrueType 字体。已经过期无人维护,但在某些环境下可当作备案字体使用。
  • ttf-hanazono - 一款免费的日文汉字字体,Mincho (serif)风格。
韩文字

西里尔文字

另请参阅#等宽字体#无衬线字体#衬线字体

  • ttf-paratypeAUR - ParaType类别的字体: sans, serif, mono, 扩展的西里尔和拉丁文字, OFL 认证

希腊文字

几乎所有 Unicode 字体都包含希腊代码集 (也包含多调变音符号)。某些额外的字体软件包未包含完整的 Unicode 集,但拥有高质量的希腊字字形 (当然包含拉丁字):

  • otf-gfsAUR - 由 Greek Font Society 选用的 OpenType 字体
  • ttf-mgopenAUR - 来自 Magenta 的专业 TrueType 字体

希伯来文字

  • culmusAUR - 自由的希伯来文字体集合

印地文字

(This one contains a "look of disapproval" that might be more to your liking than the bdf-unifont one mentioned elsewhere in this document)

高棉文字

僧伽罗文字

  • ttf-lklugAUR - 僧伽罗文 (Sinhala) Unicode 字体

塔米尔文字

  • ttf-tamilAUR - 塔米尔文 (Tamil) Unicode 字体

藏文字

数学字体

Microsoft 字体

参阅微软字体

Apple OS X 字体

  • ttf-mac-fontsAUR - Mac OS X TrueType 字体
  • ttf-macAUR[broken link: archived in aur-mirror] - Mac OS X TrueType 字体。这个软件包没有内含 ttf 字体 (只有 otf 字体),用户必须自备这些字体。

等宽字体

建议:每位用户偏爱的字体不尽不同,如想找到您心目中的理想字体,还请多加尝试。 如果您没有太多时间,可以阅读 Dan Benjamin 博客的文章:十大最适合编程的字体(英文)。

这里内还有 Trevor Lowing 整理的一长串字体清单:http://www.lowing.org/fonts/ (英文)。

Slant 上的字体图片比较: 最好的编程字体是什么?(英文)

还有 Stack Overflow 上的带一些图片的回答: 推荐编程字体(英文)。

TrueType 字体

点阵字体

无衬线字体

手写体

衬线字体

未分类字体

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 代表一种衬线体(关于衬线体与非衬线体概念请参考UbuntuCN:字体#基础知识——译注)(例如 DejaVu Serif、宋体);sans-serif代表一种无衬线体(例如 DejaVu Sans 和各种黑体);而monospace 则代表等宽字体(例如 DejaVu Sans Mono)。 然而,这些别名所代表的字体有可能会变化,而且通常 KDE 和其他桌面环境中的字体管理工具不会显示其内在联系。

如果想通过别名反向查找是哪种字体被展现出来,运行:

$ fc-match monospace
DejaVuSansMono.ttf: "DejaVu Sans Mono" "Book"

在这种情况下 Monospace 别名展现的是 DejaVuSansMono.ttf 字体。

小提示

列出已安装字体

你可以使用以下命令来列出当前系统中所有已安装字体的字体:

$ fc-list

应用程序专用的字体高速缓冲

Matplotlib (python-matplotlibpython2-matplotlib) 使用自己的字体高速缓冲,因此更新字体后记得删除 $HOME/.matplotlib/fontList.cache$HOME/.cache/matplotlib/fontList.cache, $HOME/.sage/matplotlib-1.2.1/fontList.cache 等文件。这样它才会再一次产生高速缓冲并找到新字体 [4]