Xorg 使用默认使用的字体不是很理想。 大字体显得参差不齐, 看起来很不专业, 小字体简直无法看清。 不过也有一些免费的、 高质量的 Type1 (PostScript®) 字体可供 Xorg 使用。 例如: URW字体集合 (x11-fonts/urwfonts)就包含高质量的 type1 字体 (Times Roman®, Helvetica®, Palatino® 和一些其他字体)。 在 Freefont 集合中(x11-fonts/freefonts)包括更多的字体, 但它们中的绝大部分使用在图形软件中, 如 Gimp , 在屏幕中使用并不完美。 此外, Xorg 致力于最少的配置就能使用 TrueType® 字体。 欲了解更多这方面更多详细信息, 请参阅 X(7) 联机手册或 TrueType® 字体一节。
如果希望使用 Ports Collection 来安装上面的 Type1 字体, 只需运行下面的命令:
#
cd /usr/ports/x11-fonts/urwfonts
#
make install clean
freefont 或其他的字库和上面所说的大致相同。 为了让 X 服务器能够检测到这些字体,
需要在 X 服务器的配置文件 (/etc/X11/xorg.conf
) 中增加以下配置:
FontPath "/usr/local/lib/X11/fonts/URW/"
或者, 也可以在 X 会话(X session)中运行以下命令:
%
xset fp+ /usr/local/lib/X11/fonts/URW
%
xset fp rehash
这样当前 X 会话中立即生效, 但是 X 会话结束后自动失效。
除非它被添加到针启动器配置文件中去, (使用startx
会话方式启动的写到 ~/.xinitrc
中,
或者当您使用类似 XDM 的图形登录管理器的则写到 ~/.xsession
中。
第三种方法是创建新的 /usr/local/etc/fonts/local.conf
文件,
详见: anti-aliasing 章节。
Xorg 内建了对 TrueType® 字体的支持。
有两种不同的模块能够启用这个功能。在这个例子中使用 freetype 这个模块,
因为它与其他的字体描绘后端有更好兼容性。
要启用 freetype 模块, 只需要将下面这行添加到 /etc/X11/xorg.conf
文件的 “Module”
部分。
Load "freetype"
现在, 为 TrueType® 字体创建一个目录 (比如,/usr/local/lib/X11/fonts/TrueType) 然后把所有的 TrueType® 字体复制到这个目录。
记住您不能直接从 Macintosh® 计算机中提取 TrueType® 字体;
能被 X11 使用的必须是 UNIX®/MS-DOS®/Windows® 格式的。 一旦您已经将这些文件复制到了这个目录,
就可以用 ttmkfdir
来创建 fonts.dir
文件,
以便让 X 字体引擎知道您已经安装了这些新字体。
ttmkfdir 可以在 FreeBSD Ports Collection 中的 x11-fonts/ttmkfdir 中找到。
#
cd /usr/local/lib/X11/fonts/TrueType
#
ttmkfdir -o fonts.dir
现在可以把 TrueType® 字体目录添加到字体路径中。 这和上面 Type1 字体的步骤是一样的, 使用以下命令:
%
xset fp+ /usr/local/lib/X11/fonts/TrueType
%
xset fp rehash
或者把 FontPath
这行加到 xorg.conf
文件中。
就是这样。现在 Gimp、 Apache OpenOffice 和所有其他的 X 应用程序应该可以认出安装的 TrueType® 字体。 一些很小的字体(如在网页中高分辨率显示的文本)和一些很大的字体(在 StarOffice™下)现在看起来已经很美观了。
对于所有支持 Xft 的应用程序,
所有放在 /usr/local/lib/X11/fonts/
和 ~/.fonts/
目录中的Xorg 字体都会自动启用反锯齿支持。
绝大多数较新的程序都提供了 Xft 支持,包括 KDE 、
GNOME 和 Firefox 。 GNOME 以及 Firefox。
要控制哪些字体需要开启反锯齿,或者需要配置反锯齿功能,需要创建(或编辑,如果文件已存)/usr/local/etc/fonts/local.conf
这个文件。
Xft 字体系统中的几个高级特性都可以使用这个文件来调整; 本章只介绍了几种最简单的用法。 要了解更多的细节, 请查阅 fonts-conf(5) 。
这个文件必须是XML格式的。 注意确保所有的标签都完全闭合。 这个文件头部是普通的 XML 头,
接着是 DOCTYPE 定义, <fontconfig>
标签:
<?xml version="1.0"?> <!DOCTYPE fontconfig SYSTEM "fonts.dtd"> <fontconfig>
像前面所做的那样,所有支持 Xft 的应用程序都已经可以使用 /usr/local/lib/X11/fonts/
和
~/.fonts/
目录下的字体。如果您想添加这两个目录以外的其他字体目录,
只需要简单的添加下面这行到 /usr/local/etc/fonts/local.conf
文件中:
<dir>/path/to/my/fonts</dir>
添加了新的字体,尤其是添加了新的字体目录后, 您应该运行以下命令重建字体缓存:
#
fc-cache -f
反锯齿会让字体边缘有些模糊, 这样增加了非常小的文本的可读性, 并从大文本字体中删除 “锯齿” 。 但如果使用在普通的文本, 则可能引起视力疲劳。 要禁止 14磅 以下字体的反锯齿, 需要增加以下配置:
<match target="font"> <test name="size" compare="less"> <double>14</double> </test> <edit name="antialias" mode="assign"> <bool>false</bool> </edit> </match> <match target="font"> <test name="pixelsize" compare="less" qual="any"> <double>14</double> </test> <edit mode="assign" name="antialias"> <bool>false</bool> </edit> </match>
使用反锯齿来分割一些等宽字体也是不合适的。 似乎 KDE 就有这问题。 要修复这个问题需要确保每个字体之间的间距保持在100。 添加一下内容:
<match target="pattern" name="family"> <test qual="any" name="family"> <string>fixed</string> </test> <edit name="family" mode="assign"> <string>mono</string> </edit> </match> <match target="pattern" name="family"> <test qual="any" name="family"> <string>console</string> </test> <edit name="family" mode="assign"> <string>mono</string> </edit> </match>
(this aliases the other common names for fixed fonts as
"mono"
), and then add:
<match target="pattern" name="family"> <test qual="any" name="family"> <string>mono</string> </test> <edit name="spacing" mode="assign"> <int>100</int> </edit> </match>
某些字体, 比如 Helvetica, 当开启反锯齿时可能存在些问题。 通常的表现为字体本身似乎被垂直的切成两半。糟糕的时候,
还可能导致应用程序崩溃。 为了避免这样的现象, 考虑添加以下几行到 local.conf
文件中:
<match target="pattern" name="family"> <test qual="any" name="family"> <string>Helvetica</string> </test> <edit name="family" mode="assign"> <string>sans-serif</string> </edit> </match>
一旦您完成对 local.conf
文件的编辑, 确保您使用了 </fontconfig>
标签来闭合文件。
不使用它将导致您的更改被忽略。
最后, 用户可以通过他们自己的 ~/.fonts.conf
配置文件来添加自己的设置。
要做到这一点, 用户只需要简单的创建 ~/.fonts.conf
文件,这个文件必须是 XML 格式的。
最后, 对于LCD屏幕, 可能希望使用子像素的取样。 简单而言, 就是通过分别控制 (水平方向分开的) 红、
绿、 蓝 像素, 来改善水平分辨率;这样做的效果一般会非常明显。
要启用它, 只需在 local.conf
文件的某个地方加入:
<match target="font"> <test qual="all" name="rgba"> <const>unknown</const> </test> <edit name="rgba" mode="assign"> <const>rgb</const> </edit> </match>
根据您显示器的种类不同, 可能需要把 rgb
改为 bgr
、
vrgb
或 vbgr
。 试验一下看看那个更好。
本文档和其它文档可从这里下载: ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.
如果对于FreeBSD有问题,请先阅读
文档,如不能解决再联系
<questions@FreeBSD.org>.
关于本文档的问题请发信联系
<doc@FreeBSD.org>.