ISO 8859-2 或 ISO Latin 2 是 ISO 8859 八位字符集家族的成员,该家族涵盖了字母文字的需求(拉丁字母和西里尔字母以及阿拉伯语、希伯来语和希腊语文字;亚美尼亚语和格鲁吉亚语文字也在准备中)。该家族由欧洲计算机制造商协会 (European Computer Manufacturer's Association, ECMA) 设计,并由位于日内瓦的标准化组织 ISO 确认为国际标准。
ISO Latin 2 字符集包含用阿尔巴尼亚语、英语、波斯尼亚语、捷克语、芬兰语、克罗地亚语、爱尔兰语、卢萨蒂亚塞尔维亚语、匈牙利语、德语、波兰语、罗马尼亚语、斯洛伐克语、斯洛文尼亚语以及拉丁转写的塞尔维亚语书写所需的所有字符。
一些硬件和软件制造商,包括 IBM、Apple 和 Microsoft,使用他们自己的代码页来编码中欧和东欧民族的字符。这些代码页通常彼此不兼容,也与 ISO 标准不兼容。
系统控制台的字符集可以在荷兰埃因霍温大学 Andries Brouwer 的 kbd 软件包中找到。该软件包是所有 Linux 发行版的一部分,并在系统安装时自动加载。字体和转换表存储在 /usr/lib/kbd 目录中。(喜欢冒险的用户可以使用 Yann Dirson 的原型 Linux Console Tools 代替 kbd
软件包。)
在较旧的 Slackware 发行版中,编译后的软件包名为 keytbls。我们像安装其他软件包一样安装它,使用命令 pkgtool
或 installpkg
。
一旦我们安装了软件包,我们就可以使用 setfont
命令在屏幕上选择不同的字体。下面的示例选择了一种字体,其字符集符合 ISO Latin 2 标准,大小为 16 像素
setfont lat2-16
我们感兴趣的字体是 iso02.f08、iso02.f14 和 iso02.f16,以及 lat2-08.psf、lat2-10.psf、lat2-12.psf、lat2-14.psf 和 lat2-16.psf(在 setfont
命令中可以省略 .psf
扩展名)。所选字体在控制台的所有虚拟终端(参见 console(4)
)中有效。如果我们不喜欢这样,而是希望在每个虚拟终端中都有自己的字体,我们可以使用 Ian Zimmerman 的 vtfontd
程序。每次我们离开虚拟终端时,它都会保存选定的控制台字体,并在我们返回时恢复它。
ftp://sizif.mf.uni-lj.si/pub/linux/vtfontd-1.0.1.tar.gz
通过选择字体,我们只完成了在文本环境中用斯洛文尼亚语书写所需的所有工作的三分之一左右。我们至少还必须执行键盘映射,并允许在命令 shell 中输入八位字符。心急的读者可以在“键盘”章节的 控制台 部分和关于命令 shell 的章节中 bash 部分阅读必要的内容。
使用 X Window System 和 XFree86 服务器安装带有我们字符的字体的简短说明。
ftp://ftp.arnes.si/software/unix/Latin-2-fonts/
ISO8859-2-bdf.tar.gz 文件包含最完整的 ISO 8859-2 编码字体集,而 xfonts-iso2-0.84.tar.gz 也包含大多数有用的字体。按照常规步骤 (tar -xzf ...
) 解压缩并解包它们。
/usr/X11R6/lib/X11/fonts/iso_8859.2/75dpi/
/usr/X11R6/lib/X11/fonts/iso_8859.2/100dpi/
/usr/X11R6/lib/X11/fonts/iso_8859.2/misc/
如果还没有具有此名称的目录,请创建它们。bdftopcf
程序将它们从 BDF(二进制分发格式)格式转换为 PCF(可移植编译格式)格式。较旧版本的 X Window System 使用 SNF(服务器本机格式)代替后者,但今天已不再使用。for FILE in *.bdf do bdftopcf $FILE -o `basename $FILE .bdf`.pcf done
bash
中的命令也可以跨越多行)。我们不再需要 BDF 格式的字体,可以删除它们。
gzip *.pcf
较旧版本的 X 服务器仅支持使用 compress
进行压缩。
mkfontdir
我们必须在每个字体子目录中运行该命令。xset
命令执行此操作
xset +fp /usr/X11R6/lib/X11/fonts/iso_8859.2/75dpi/
xset +fp /usr/X11R6/lib/X11/fonts/iso_8859.2/100dpi/
xset +fp /usr/X11R6/lib/X11/fonts/iso_8859.2/misc/
xset fp rehash
如果一切顺利,xlsfonts -fn "*-iso8859-2"
命令应显示所有新安装字体的列表。xset
命令仅在退出 X Window System 之前有效。我们通过修改配置文件来实现永久更改。 XFree86 服务器将其设置存储在 /etc/XF86Config 文件中(这些行的作者在多年使用不同发行版的 XFree86 中,也曾在 /etc/X11/XF86Config、/usr/X11R6/lib/X11/XF86config 和 /usr/X11/lib/X11/Xconfig 文件中看到过设置)。我们找到字符串 FontPath
并添加行
FontPath "/usr/X11R6/lib/X11/fonts/iso_8859.2/75dpi"
FontPath "/usr/X11R6/lib/X11/fonts/iso_8859.2/100dpi"
FontPath "/usr/X11R6/lib/X11/fonts/iso_8859.2/misc"
就这样。从现在开始,X Window System 将能够在程序请求时显示我们的字符。有关如何准备程序(例如 xterm
)以使其请求我们的字符的更多信息,请阅读终端仿真器章节的 xterm 部分。
X 服务器可以使用 PCF、SNF 和 BDF 格式的栅格字体以及 Speedo 和 Type 1 格式的矢量字体。在小尺寸(最多 10 印刷点)下,栅格字体在屏幕上通常更漂亮,而在较大尺寸下,例如在图形程序中,矢量字体明显更漂亮。
Peter Soos 准备了一些 ISO Latin 2 代码布局的 Type 1 矢量字体。在安装过程中,我们完全遵循 在屏幕上显示我们的字符 章节的 X Window System 部分中描述的过程。从服务器下载 zip
格式的文件
ftp://ftp.arnes.si/software/unix/Latin-2-fonts/l2pfb005.zip
捷克小组收集了更多字体,RPM 包(使用命令 rpm -Uvh ...
安装内容)可以在以下位置找到
ftp://crash.fce.vutbr.cz/pub/linux_fonts/X11fonts-ulT1mo-beta-1.0-4.noarch.rpm
创建一个新目录,例如 /usr/X11R6/lib/X11/fonts/iso_8859.2/Type1,并将 l2pfb004.zip 存档的内容放入其中。作者已经准备好了 fonts.scale 和 fonts.dir 文件。使用 xset
重复该练习,并在配置文件中添加行
FontPath "/usr/X11R6/lib/X11/fonts/iso_8859.2/Type1"
这次从 X Window System 窗口环境运行 xfontsel
而不是 xlsfonts
。如果我们按第一个列 (fndry
) 中的 ``字体厂商'' (英文 type foundry) sp
(根据作者的首字母)搜索,我们可以最快地找到新安装的字体。选择一些大的放大倍数 (pxlsz
) 并与栅格字体进行比较!
TrueType 字体的光栅化器还不是 X Window System 软件包的标准部分。The XFree86 Project, Inc. 的伙计们计划在 XFree86 4.0 版本中包含对它们的支持。
Mark Leisher 和 Juliusz Chroboczek 使用 FreeType 补充了来自 X Window System 环境的标准字体服务器,FreeType 是 David Turner、Robert Wilhelm、Werner Lemberg 及其同事编写的 TrueType 字体的免费光栅化器。服务器可以作为源代码使用,您可以使用它来修补 X 服务器的源代码,也可以作为 Linux 的预编译程序使用。
http://www.freetype.org/
http://www.dcs.ed.ac.uk/home/jec/programs/xfsft/
我们将假设您已经以某种方式成功获得了 xfsft 可执行文件。
5 times.ttf -monotype-times-medium-r-normal--0-0-0-0-p-0-iso8859-1 times.ttf -monotype-times-medium-r-normal--0-0-0-0-p-0-iso8859-2 times.ttf -monotype-times-medium-r-normal--0-0-0-0-p-0-iso8859-5 times.ttf -monotype-times-medium-r-normal--0-0-0-0-p-0-koi8-r times.ttf -monotype-times-medium-r-normal--0-0-0-0-p-0-iso10646-1
http://www.darmstadt.gmd.de/~pommnitz/xfsft.html
clone-self = off use-syslog = off client-limit = 20 catalogue = /usr/X11R6/lib/X11/fonts/TrueType,/usr/X11R6/lib/X11/fonts/Type1 error-file = /usr/X11R6/lib/X11/fs/fs-errors # in decipoints default-point-size = 120 # x,y default-resolutions = 100,100,75,75
xfs(1)
手册。
xfsft -port 7100 -config /usr/X11R6/lib/X11/fs/config &
fslsfonts -server localhost:7100
xset fp+ tcp/localhost:7100
当然,字体服务器也可以在另一台计算机上运行,因此无需在本地网络中的所有计算机上都安装所有字体。最后,我们将字体服务器添加到 /etc/XF86Config 配置文件中
FontPath "tcp/localhost:7100"
另一个支持 TrueType 字体的 X11 字体服务器是 Xfstt。这些行的作者没有使用它的经验,但很乐意在此处包含其他人的经验。您可以在指定的位置及其所有镜像中找到 Xfstt。
ftp://metalab.unc.edu/pub/Linux/X11/fonts/Xfstt-0.9.10.tgz