下一页 上一页 目录

9. 与其他中文问题相关

9.1 Netscape 浏览器

Netscape 2.0 或更高版本支持 BIG5 和 GB 编码,这已经在一些主页上讨论过了。要在 Netscape 中显示中文,需要三个步骤

  1. 安装 X 的中文字体。请参考 安装中文字体 章节。
  2. 运行 netscape,并将 Document Encoding 配置为 繁体中文 (Big5)简体中文
  3. 选择你想要的中文字体。
你可能会觉得很奇怪,为什么你只能使用 Fixed(HKU) Size 16.0,这是由 /usr/X11R6/lib/X11/app-defaults/Netscape 中的设置引起的。假设你有以下 BIG5 字体
# xlsfonts | grep big5
-hku-fixed-medium-r-normal--0-0-72-72-c-0-big5.hku-0
-hku-fixed-medium-r-normal--16-160-72-72-c-160-big5.hku-0
-kc-kai-medium-r-normal-fantizi-0-0-75-75-c-0-big5.eten.3.10-1
-kc-kai-medium-r-normal-fantizi-20-200-75-75-c-200-big5.eten.3.10-1
-kc-kai-medium-r-normal-fantizi-24-240-75-75-c-240-big5.eten.3.10-1
-kc-ming-medium-r-normal-fantizi-0-0-75-75-c-0-big5.eten.3.10-1
-kc-ming-medium-r-normal-fantizi-15-150-75-75-c-160-big5.eten.3.10-1
-kc-ming-medium-r-normal-fantizi-24-240-75-75-c-240-big5.eten.3.10-1
/usr/X11R6/lib/X11/app-defaults/Netscape 中添加一行
*documentFonts.charset*big5.eten.3.10-1:              x-x-big5
然后,Netscape 就可以很好地使用这些字体了。

另一个解决方案是为你的字体名称创建别名:在你的字体目录下的 fonts.alias 文件中添加别名(如果没有这个文件,请自己创建)。

-big5-taipeik-medium-r-normal--16-160-72-72-c-160-big5.hku-1 taipei16
-big5-taipeik-medium-r-normal--20-200-72-72-c-200-big5.hku-1 taipeik20
-big5-taipeik-medium-r-normal--24-240-72-72-c-240-big5.hku-1 taipeik24

字体文件名,如 taipeik20,是你需要为其创建别名的文件名。修改后,执行

# xset fp rehash
以重新加载字体名称,使其可用。

你可能会发现在中英文混合主页中,中文和英文的尺寸不成比例(例如,英文单词太小),这是因为你为英文字体和中文字体选择的尺寸大小不平衡。返回字体配置,选择 Western(iso-8859-1)。然后,根据你的看法,更改英文字体的大小,使其比例完美。

9.2 sendmail

因为 sendmail 8.8.x 的默认设置会在发送所有 8-bit 邮件之前先对其进行编码,这可能会或可能不会减少对接收者的影响。(有关解决方案,请参阅 下一小节)。现在大多数主机都可以直接发送 8-bit 邮件,所以你最好重新编译 sendmail 并关闭编码功能。

9.3 procmail

procmail 是一个电子邮件过滤器,它可以在邮件存储到你的邮箱之前先对其进行处理,例如,邮件分类等等。但是,我想教你如何使用 procmail 将编码邮件解码为纯文本文件,以及如何将各种编码邮件转换为你在此处使用的通用编码。

在你的主目录下创建 .procmailrc 文件,内容如下


# To avoid accidents, store mails before using procmail. 
# You can filter mails to ensure which mail doesn't need to duplicate
# by, for example, MAILER-DAEMON. 
:0 c
* !^From.*MAILER-DAEMON
mail/procmail-backup

# Uncode mails encoded by quoted-printable or base64. 
:0
* ^Content-Type: *text/plain
{
    :0 fbw
    * ^Content-Transfer-Encoding: *quoted-printable
    | mimencode -u -q

        :0 Afhw
        | formail -I "Content-Transfer-Encoding: 8bit" \
                  -I "X-Mimed-Autoconverted: quoted-printable to 8bit by procmail"

    :0 fbw
    * ^Content-Transfer-Encoding: *base64
    | mimencode -u -b

        :0 Afhw
        | formail -I "Content-Transfer-Encoding: 8bit" \
                  -I "X-Mimed-Autoconverted: base64 to 8bit by procmail"
}

# Here will judge whether a mail is GB codes or not; if it is, convert it
# into BIG5 codes. If you want to convert BIG5 codes into GB codes, you
# need to exchange big5 with gb2312 and replace 'hc -m b2g' with 'hc -m g2b'. 

:0
* ^Content-Type:.*text/plain;.*charset=gb2312
{
    :0 fw
    | hc -m b2g -t /usr/local/lib/chinese/hc.tab

        :0 Afhw
        | formail -I "Content-Type: text/plain; charset=big5" \
                  -I "X-Charset-Autoconverted: gb2312 to big5 by procmail"
}

# Store mails into mailbox. 
:0:
${ORGMAIL}

在本例中,结合 mimencode, formail 来解码邮件,并使用 hc 将 GB 编码邮件转换为 BIG5 编码邮件。因此,你必须安装这些工具才能使用 procmail。

最后,修改你的 .forward 文件。

"|IFS=' ' && exec /usr/bin/procmail -f- ~/.procmailrc ||exit 75 #login"
注意: 将 login 更改为你的登录名。

9.4 telnet

如果你的机器上可以访问中文,但是在 telnet 到其他机器时无法访问中文,那么问题可能出在 telnet 本身。当 telnet 处于连接状态时,你可以按 Ctrl-] 暂时跳出,并在 telnet> 提示符下输入 set binary,以确保完全传输 bit。你也可以使用 telnet -8 进行连接(但似乎对某些站点不起作用...?)。另一个更简单的方法是直接使用 8-bit 的 telnet 程序。从这里下载二进制文件

ftp://linux.cis.nctu.edu.tw/packages/chinese/misc/

9.5 less

less 本身可以直接显示中文;只需设置以下环境变量即可显示中文

# export LESSCHARSET=latin1

9.6 pine

3.95 或更高版本的 Pine 可以支持读取和输入中文邮件。当你执行 pine 时,在 feature list 中选择 SETUP/Config,选择此项(按 X

   [X]  enable-8bit-esmtp-negotiation
   [X]  enable-8bit-nntp-posting

然后,在 character-set 上按 C,并将其值更改为 big5 或 gb2312。最后,按 E 退出并存储此更改。

你也可以安装能够显示中文信息的 cpine

ftp://ftp.vit.edu.tw/unix/linux/chinese/cpine-3.91.bin.tgz

9.7 samba

9.8 lynx

Lynx v2.7 可以直接查看中文主页。执行 lynx,然后按 O)ption / C)haracter set,然后用箭头键选择 Taipei(Big5),最后按 '>' 存储此设置。

9.9 minicom

使用开关 -l 启动 minicom,然后你就可以在 minicom 中看到中文了。

9.10 fingerd

如果你在你的 .plan 中输入中文,但其他人看不到,这可能是因为 fingerd 无法发送 8-bit 中文字符。从这个站点获取 cfingerd

ftp://nctuccca.edu.tw/OS/Linux/packages/network/finger/cfingerd-1.3.2.tar.gz

解压缩并执行 ./Configure,然后执行 make all

然后,修改 /etc/inetd.conf,将原来的 finger 更改为

finger  stream  tcp     nowait  root    /usr/sbin/tcpd  /usr/sbin/in.cfingerd

inetd 重新读取配置文件

# kill -HUP `cat /var/run/inetd.pid`

9.11 tintin++

TinTin++ 不是中文软件,而只是一个在玩中文 mud 时有用的工具。你可以从这个地方下载它

ftp://ftp.princeton.edu/pub/tintin++

这里有一些中文 mud 站点

FengYun                  fengyun.com       5555
Xi You Ji                129.105.79.24     6905
Xia ke Xing              207.76.64.2       5555


下一页 上一页 目录