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