分享
 
 
 

FreeBSDXWindow下的中文环境

王朝system·作者佚名  2008-05-21
窄屏简体版  字體: |||超大  

Unix的中文化对于Unix的推广使用一向是个难题,对于象FreeBSD这样的操作系统来讲,中文化工作比较零乱,虽然有不少X下的中文软件,但是由于国内软件发展的水平还不高,自由软件的开发水平更是如此,并且自由软件的开发者之间也没有被有效的组织起来,因此还没有出现一个很完整的中文系统。

然而中文相关的软件却相当丰富,在Ports Collection中,有一个类别就是chinese,专门收集中文相关的处理软件,但其中绝大多数是台湾的BIG5 版本。因为台湾在FreeBSD领域的发展相当快,很多软件都是先由台湾出现相应BIG5版本之后,再出现GB版本。bash-2.02$ ls /usr/ports/chineseCJK

big5fonts

gbfonts

nvi-big5

tedCVS

c2t

gbscript

nvi-euc-cn

tinMakefile

celvis

hc

nvi-euc-tw

xcinREADME.html

cless

hztty

pine3Wnn

cnsfonts

kcfonts

pine4bg5ps

cxterm

lunar

pkgbig5con

gb2ps

mule-wnn4

rxvt

中文X应用软件

在X Window下使用中文的基本条件之一就是需要安装合适的中文字库。当前的XFree86发行版本中带有一些基本中文字库,在系统安装选择X组件的设置时需要将其包括在内,然而中文存在不同的编码方式,使用不同编码的应用程序就使用不同的字体文件,XFree86中提供的中文字体对于另外一些中文程序还是不够的。

Packages Collection中的chinese类别中也提供了其他的一些BIG5和GB 编码的字体,如gbfonts、kcfonts、big5fongs等软件包,需要使用pkg_add命令将其安装入系统。在真正执行中文X应用程序时,可以使用xlsfont命令可以查看系统中是否有相应字库,如:$ xlsfonts *gb*-cc-song-medium-r-normal-jiantizi-0-0-75-75-c-0-gb2312.1980-0-cc-song-medium-r-normal-jiantizi-40-400-75-75-c-400-gb2312.1980-0-cc-song-medium-r-normal-jiantizi-48-480-75-75-c-480-gb2312.1980-0-isas-fangsong ti-medium-r-normal--0-0-72-72-c-0-gb2312.1980-0-isas-fangsong ti-medium-r-normal--16-160-72-72-c-160-gb2312.1980-0-isas-song ti-medium-r-normal--0-0-72-72-c-0-gb2312.1980-0-isas-song ti-medium-r-normal--16-160-72-72-c-160-gb2312.1980-0-isas-song ti-medium-r-normal--24-240-72-72-c-240-gb2312.1980-0hanzigb16fshanzigb16sthanzigb24st

当一个字体不存在但同时存在同样编码的其他字体的时候,可以通过在 fonts.alias中定义别名的方法来帮助解决这个问题。

除了Packages Collection提供的字体之外,从网络上也可以得到其他的一些中文字体。在ftp://ftp.ifcss.org站点中收集了很多自由或共享中文字体和中文软件。cxterm

cxterm是一个使用非常广泛的中文X终端程序,已经被移植到很多种类的Unix系统中。它已经被FreeBSD的爱好者做成Packages,因此安装起来非常简单。cxterm支持GB、BIG5以及日、韩文等编码和多种输入法。

直接启动cxterm只能用于浏览中文而不能进行输入,这是由于cxterm需要X系统的一些资源设置,以使用快捷键切换不同输入法,并根据设置寻找其输入法对应的数据文件。要输入中文必须进行设置,将资源文件预先载入,指定热键、输入法和输入字典所在的目录。cxterm软件包中提供了一个缺省的资源文件 CXterm.ad,一些使用者将这个文件中的相应资源定义放入~/.Xdefault中,用户登录进入X Window时就载入这些资源。另外,cxterm还提供了一个shell脚本 ── CXterm,可以在启动cxterm之前完成相应的资源设置工作,所以一般应该 用如下CXterm命令来启动cxterm,这种启动方式更为简易。

$ CXterm &

在中文的仿真终端下使用bash作为shell时,会发现在命令行中无法输入中文,这是因为bash对输入进行了额外处理,可以在~/.bashrc中设置bash让其通过中文(另一个可能的因素为stty的终端设置):stty pass8bind 'set convert-meta off'bind 'set meta-flag on'bind 'set output-meta on'

在FreeBSD下的预编译的cxterm软件包中,cxterm的输入法及输入字典放在了/usr/X11R6/lib/X11/cxterm.dic目录中。由于cxterm的影响,它的输入法被相当多的X Window下的中文软件所使用。

标准的CXterm是黑白的,但也存在一个补丁,使CXterm能显示彩色。然而,Packages Collecion中预编译好的CXterm为标准程序,要使用彩色CXterm就需要自己下载补丁并重新编译CXterm。Xcin与crxvt

crxvt是另一个中文X仿真终端软件,与cxterm相比,它更小巧,占用更少的内存,并能以ANSI标准显示彩色。Xcin是一个独立的输入服务器,它独立于具体的X程序之外来提供中文输入功能,X应用程序可以使用其接口支持中文输入。crxvt 就使用Xcin作输入系统。与cxterm的将输入与仿真终端集成在一起的方式不同, Xcin在crxvt外打开一个单独的窗口,但在crxvt中可以使用Ctrl-Space进行Xcin 下的中英文输入切换。可以看出Xcin的设计目的是作为一个通用输入模块来实现的,以便多个应用软件都能使用同一个输入模块来进行中文输入,而不是象cxterm 一样,每个程序使用自己的输入模块。

FreeBSD的Packages Collection中,也包括了Xcin与crxvt,但遗憾的是,他们是台湾big5版本。当然这也容易理解,这个软件本来就是由台湾人开发的。其中 crxvt可以通过使用hztty使其能显示gb数据,但使用者显然不会使用台湾的输入法输入中文。幸好这个软件已经被移植到GB环境下,并也有编译好的软件包形式(未被正式FreeBSD发行版本收录),这样就可以使用pkg_add等工具进行管理,而不再需要手工编译。

执行时,需要启动xcin和cxrvt,注意要使用Xcin而不是xcin启动Xcin,主要是Xcin能使用正确的输入法参数启动真正的xcin程序,直接启动xcin由于没有指定输入模块的设置,就会导致程序启动失败。$ Xcin &$ cxrvt &

其他支持中文的软件与中文本地化

除了cxterm、cxrvt之外,Ports Collection还包括其他一些软件,如hztty 用于终端上hz、big5、gb等不同编码的动态转换,big5con用于在控制台上显示中文 big5码(在hztty的帮助下可以显示gb码),cvi用于替换vi进行中文编辑工作,cless 用于替换more显示中文,gb2ps用于中文文本文件的打印处理等。$ LANG=zh_CN.EUC; export LOCALE$ LC_ALL=zh_CN.EUC; export LC_ALL

对于支持多语言的软件,使用环境变量LANG和LC_ALL来标识不同的语言、及不同的环境。缺省情形下使用的语言LANG被设置为C,如果要支持中文,应该设置为 zh_EUC.GB,同样LC_ALL用于设置不同语言使用的信息格式的不同,如日期、时间的表示方式等。虽然当前不是每个应用程序都支持这些环境变量,但随着FreeBSD系统的升级,应用程序国际化程度的提高,以后的软件越来越多会对各种语言提供更完善的支持。

另外,FreeBSD下的一些传统工具程序不支持国际化的语言,应该使用较新的 GNU工具代替。例如标准的ls命令不能显示中文文件名,可以安装gnuls软件包,使用 gnuls -N命令来代替缺省的ls命令,可以通过shell中的alias设置,使得用户感觉不同执行命令的差异。外挂式中文显示与输入软件

对于支持中文的软件,可以使用自己的方式处理中文的显示与输入。然而更一般的软件中,都没有直接提供中文支持,有些能够部分识别中文但无法处理中文输入,如Netscape Navigator。有些根本不能识别中文,有些甚至将8位字符作为非法字符来看待。对于最后一种过滤8 位字符的情况,是没有办法能使其正常显示、输入中文,但对于前两种情况,就有变通的方式使其正常显示和输入汉字。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有