Next Previous Contents

3. 设定显示和应用程序

大部份的应用程序必须被编译为 ``8-bit-clean'' 才能成功使用欧洲的字元, 有些甚至还需要额外的一些修改.

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 包裹中有 bug, 你得把文档 /etc/profile.d/lang.sh 中的 ``linux-lat'' 改为 ``linux''. Red Hat Linux 6.0 则没有此问题.

3.2 欧元符号

丹麦字元集里新增了一个符号: 欧元符号 (欧洲货币联盟的新币值). 新的字元集叫作 ISO-8859-15, 也就是 latin0 (或 latin9) 以取代原先的 ISO-8859-1 (latin1). 为取得 latin0 支持, 你必须使用 EURO 包裹. 这个包裹中包含字型和 keymap.

3.3 Linux 环境下可显示的字元

在字元提示输入 dumpkeys -l | less 即可知道哪些字元是可用的. 你可以依 载入 keytable 中所述的将它对应到你的键盘.

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 里你应该可以使用死键 (对我而言, 两者都没问题); 因此你将不需要特地去找像是有 ``electric keys'' 设定的 elisp 包裹. 如果你想要在 emacs 中使用欧洲键盘设定, 却不打算升级, 你最好从 SunSite DK 下载 remap 包裹. 除此之外, iso-acc.elciso-trans.elc 这两个包含 emacs 的包裹也有类似的功能, 只是没有那么强大.

groff:

若你想要 ISO-8859-1 的文字输出, 执行指令

groff -Tlatin1 <your_groff_input_file>

请注意: 要让 latin1 的字元在 man (不要移除 -mandoc 的 switch) 成功运作, 必须在 /etc/man.config 中执行这项变更.

ispell --- 丹麦语拼字检查:

首先, 确定你安装的是版本 3.1.20 而不是 4.0 的 ispell. 后者不但过时, 而且设计很糟糕. 你可以从 the GNU archive 下载 ispell, 并从 SSLUG 取得丹麦语字典. 依照文档中的编译指示去做, 就应该不会有问题. (警告: 在为编译作变数定义时, 如果你的 Linux 是 Sys V typs OS, 你必须定义 USG 这个变数以告知 ispell.)

ispell 安装好字典后, 你可以执行以下指令来做一个丹麦语文档的拼字检查:

ispell -d danish -T latin1 -w "?暲媗" <你的丹麦语文字档> 

(注, 给非丹麦语读者: 你可以在 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
如果你的系统支持区域化资料库 (locale), 就不需要做这项更改, 只需要设定 LANG, LC_CTYPELC_ALL (请参见 在 libc 5.4.x 以上版本中支持区域化资料库 (locale).)

ls:

执行指令

ls -N
或是
ls --8bit

lynx:

在文档 ~/.lynxrc 中加入定义:

character_set=ISO Latin 1

你也可以在 lynxOptions 选单中做出同样结果的设定. 键入 `o' 并设定相关选项.

man:

请参见本节中的 groff 部分.

metamail:

设定环境变数:

MM_CHARSET=ISO-8859-1

nn:

在文档 ~/.nn/init 中加入:

set data-bits 8

pine:

在文档 ~/.pinerc 中加入定义:

character-set=ISO-8859-1

你也可以在 pineSetup, Config 选单选项中做出相同结果的设定. 另外, 你也可以放心地在选单中选择 enable-8bit-esmtp-negotiationenable-8bit-nntp-posting (for news).

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 man page 以获得更多信息.

telnet:

在文档 ~/.telnetrc 中, 为"每一个"你想要使用 telnet 登入的 host 加入以下句子:

<hostname> set outbinary true

例如:

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

TeX/LaTeX:

在使用 TeX/LaTeX 时,会碰到个问题是: 你希望能在 LaTeX 中使用特殊字元, 又不希望 LaTeX 在每个章节的开头加入像 "Chapter'' 之类的英文字, 也不想要使用英文的文字排版.

在 LaTeX2e 下, 你汇入的文档的 header 应该会看起来像这样:

\documentclass[a4paper]{article}

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

第一个 usepackage 的句子确保 LaTeX 会正确解读欧洲字元, 因此, 你不必特地使用 escape 字元来输入欧洲字元. 第二个 usepackage 的句子并非必要, 但若要使用新的 EC 字型 (以前被称作 DC 字型), 则建议加入. 第三个 usepackage 的句子定义若干丹麦语的文字排版.

所有主要的 Linux 版本都包含 teTeX 包裹. 若要设定 teTex, 你必须执行命令稿 (script) texconfig. 在此你可选择丹麦语的连字符号 (dansk: ``orddeling''), 为 dvipsxdvi 设定 A4 纸张大小等等.

所有够新的 Linux 版本都包含 LaTeX2e, 但在比较老旧的系统里, 你使用的可能是 LaTeX 2.09. 如果是这样的话, 你可以用

\documentstyle[a4,isolatin]{article}
来支持 ISO-8859-1 字元和欧洲纸张大小规格. 但我建议你最好要求系统 administrator 升级到 LaTeX2e.

你可以从任一 CTAN servers 网站下载 isolatin.sty.

某些人偏好使用特殊模式下的 emacs, 因为可以将"特殊"字母转变成 TeX escape 码. 这个方法已经不适用了.

tin:

在你的文档 ~/.tin/headers 中加入:

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

如此一来, 你就可以在信息中使用丹麦字元.


Next Previous Contents