Next Previous Contents

3. 显示和应用程序设置

大多数应用程序需要编译为“8 位清除”才能与欧洲字符良好地工作。有些需要一些额外的提示才能使其正确。

3.1 在控制台上加载 ISO-8859-1 字体

从你的 shell 提示符执行以下命令

setfont lat1u-16.psf

在 Red Hat Linux 5.2 及更高版本中,你可以通过将以下行添加到 /etc/sysconfig/i18n 来完成此操作

SYSFONT=lat1u-16.psf
SYSTERM=linux
由于 Red Hat Linux 5.2 上的 ncurses 软件包中的一个错误,你还必须将 /etc/profile.d/lang.sh 中的 “linux-lat” 更改为 “linux”。这在 Red Hat Linux 6.0 中不是必需的。

3.2 欧元符号

一个新符号已添加到丹麦字符集中:欧元符号(欧洲货币联盟的新货币)。已创建名为 ISO-8859-15,也称为 latin0(或 latin9)的新字符集来替换 ISO-8859-1(latin1)。你必须使用 EURO 软件包才能获得对 latin0 的支持。该软件包包括字体和键盘映射。

3.3 你可以在 Linux 下显示的字符

在提示符下键入 dumpkeys -l | less 以找出哪些字符是立即可用的。你可以通过 加载键盘映射表 部分中提到的键盘映射文件将它们映射到你的键盘。

3.4 特定应用程序中的国际字符集

许多应用程序需要特别注意。本节介绍如何为它们设置配置文件。

bash:

将以下内容放入你的 ~/.inputrc 文件中

set meta-flag on
set convert-meta off
set output-meta on

elm:

将以下定义放入你的 ~/.elm/elmrc 文件中

charset = iso-8859-1
displaycharset = iso-8859-1
textencoding = 8bit

这可能在某些版本的 elm 上不起作用。如果你使用 metamail,你可以在 elm 中获得部分 MIME 支持。

emacs:

将以下内容放入你的 ~/.emacs 或系统范围的初始化文件(可能是 /usr/lib/emacs/site-lisp/default.el/usr/share/emacs/site-lisp/default.el)中

(standard-display-european t)
(set-input-mode (car (current-input-mode))
        (nth 1 (current-input-mode))
        0) 

只要你使用 GNU emacs v19.30 或更高版本和 XFree86 v3.1.2 或更高版本(无论如何对我来说是有效的),组合键应该可以在 GNU emacs 下工作,所以不要开始研究实现“电动按键”或类似功能的可用 elisp 软件包。 如果你想在不升级的情况下在 emacs 中实现欧洲键盘约定,最好的选择可能是从 SunSite DK 获得的 remap 软件包。 emacs 还包含两个名为 iso-acc.elciso-trans.elc 的软件包,它们具有类似的功能,但功能远不如 remap 强大。

groff:

发出命令为

groff -Tlatin1 <your_groff_input_file>
如果你想要 ISO-8859-1 文本输出。

记住在 /etc/man.config 中更改此设置,以使 latin1 字符在 man 中工作(不要删除 -mandoc 开关。)

ispell --- 丹麦语拼写检查

首先确保你安装的是 ispell 的 3.1.20 版本而不是 4.0 版本。后者已过时且存在多个严重问题。你可以从 GNU 存档下载 ispell 的源代码,你可以从 SSLUG 获得丹麦语词典。 按照编译说明进行操作,你应该没有问题(一个注意事项:在定义编译所需的变量时,你必须通过定义变量 USG 告诉 ispell Linux 是 SysV 类型的操作系统。)

当你为 ispell 安装了丹麦语词典后,你可以通过执行以下命令来检查丹麦语语言文件的拼写

ispell -d danish -T latin1 -w "������" <your_danish_text_file>

(非丹麦语读者请注意:你可以通过阅读 ispell 源代码中包含的 Where 文件来找到大多数西方语言的词典。)

joe:

发出命令为

joe -asis
或者将以下内容放入你的 ~/.joerc 文件中
-asis

连字符 必须 在第一列。

kermit:

这是我能做到的最接近的程度,但还不是完全令人满意。将以下内容放入你的 ~/.kermrc 文件中

set terminal bytesize 8
set command bytesize 8
set file bytesize 8
set language danish
set file character-set latin1-iso
set transfer character-set latin1-iso
set terminal character-set latin1-iso

我认为还有更多变量需要设置,但它们被隐藏了。如果远程系统是基于 DOS 或 OS/2 的,你将不得不修改这些设置。

less:

设置以下环境变量

LESSCHARSET=latin1
如果你的系统支持区域设置,则这是不必要的。然后你只需设置 LANGLC_CTYPELC_ALL(参见 libc 5.4.x 及更高版本中的区域设置支持 部分)。

ls:

发出命令为

ls -N
或者可能
ls --8bit

lynx:

将以下定义放入你的 ~/.lynxrc 文件中

character_set=ISO Latin 1

这也可以通过 lynx 中的 Options 菜单设置。键入 `o` 并设置相关选项。

man:

参见本节中关于 groff 的条目。

metamail:

设置以下环境变量

MM_CHARSET=ISO-8859-1

nn:

将以下内容放入你的 ~/.nn/init 文件中

set data-bits 8

pine:

将以下定义放入你的 ~/.pinerc 文件中

character-set=ISO-8859-1

这也可以通过 pine 中的 SetupConfig 菜单选项设置。在该菜单中启用 enable-8bit-esmtp-negotiationenable-8bit-nntp-posting(用于新闻)也不会有坏处。

rlogin:

发出命令为

rlogin -8 foo.bar.dk

sendmail:

将以下内容放入(或取消注释)你的 /etc/sendmail.cf 文件中

O SevenBitInput=False
O EightBitMode=pass8
O DefaultCharSet=iso-8859-1

tcsh:

将以下内容放入你的 /etc/csh.login~/.tcshrc 文件中

setenv LANG C

实际上,你只需要定义环境变量 LANGLC_CTYPE 中的一个。值并不重要。阅读 tcsh 手册页以获取更多信息。

telnet:

在你的 ~/.telnetrc 文件中为你想使用 telnet 登录的 每个 主机放入以下类型的一行

<hostname> set outbinary true

示例

localhost set outbinary true
foo.bar.dk set outbinary true

TeX/LaTeX

TeX/LaTeX 存在几个问题:你希望 LaTeX 理解特殊字符,并且你不希望 LaTeX 在每章的开头放入像“Chapter”这样的英文单词或使用英文排版约定。

在 LaTeX2e 下,你的输入文件的头部应该看起来像这样

\documentclass[a4paper]{article}

\usepackage[latin1]{inputenc}
\usepackage{t1enc}
\usepackage[danish]{babel}

第一个 usepackage 语句确保 LaTeX 将正确解释欧洲字符,因此你不必对欧洲字符使用转义码。第二个语句不是严格必要的,但建议包含它以使用新的 EC 字体(以前称为 DC 字体)。第三个 usepackage 语句定义了一系列用于排版丹麦语文本的标准。

所有主要的 Linux 发行版现在都包含 teTeX 软件包。 要设置 teTeX,你必须运行脚本 texconfig。 在这里你可以选择丹麦语断字(dansk:“orddeling”),dvipsxdvi 的 A4 纸张尺寸等。

所有新的 Linux 发行版都包含 LaTeX2e,但在较旧的系统上,你可能会遇到 LaTeX 2.09。 如果发生这种情况,你可以使用

\documentstyle[a4,isolatin]{article}
来包含对 ISO-8859-1 字符和欧洲纸张尺寸的支持。 更好的做法是要求你的系统管理员升级到 LaTeX2e。

isolatin.sty 可从所有 CTAN 服务器获得。

有些人喜欢在特殊模式下使用 emacs,该模式将“特殊”字母转换为 TeX 转义码,但这种方法已经过时。

tin:

将以下定义放入你的 ~/.tin/headers 文件中

Mime-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 8bit

现在你可以在消息正文中发布带有正确丹麦语字符的消息。


Next Previous Contents