关于ZhXwin中文系统

1,什么是ZhXwin中文系统

  ZhXwin中文系统用于为Linux和其他UNIX下的X-Window提供中文支持。或者,
套用别人的术语,是X-Wwindow的“外挂式中文平台”。在ZhXwin的支持下,X
window的应用程序能够在不重新进行编译的情况下得到中文输入输出的能力。

2,ZhXwin中文系统的组成部分和来历

  ZhXwin中文系统由两个相对独立的模块构成,它们是输入模块和输出模块。输
入模块chinput由余明俭根据cxterm的有关模块改写而成,由宫敏修改了个别毛病
(16位或32位真彩色输出)。
  输出模块libZhXwin.so(libst.so)由宫敏草创,整个系统由宫敏进行集成。
为了不污染X11库的名字空间,整个libZhXwin.so由一个文件cxlib.c,加上一个
与chinput接口的client.c组成,所有内部的函数都是静态函数。

3,ZhXwin中文系统的现状(1998,7,11)

  netscape等X程序可以直接输出,输入中文。

4,存在的问题

 4.1 中文字体还没有能够和西文字体同步缩放,
 4.2 中文字体还不能随西文字体同时指定,
 4.3 glibc和libc5的兼容性目前是通过生成两个libZhXwin的
     方法,人工指定用哪一个。
 4.4 当默认的库是glibc(libc6)的情况下,在运行libc5兼容
        netscape的时候不能成功调用midi、au、wav等演奏程序和
        其它的应用程序。
 4.5 用错兼容库的情况下有时会“段违例错”
        Segmentation fault (core dumped)
 4.6 输入方法可能还不尽人意。

5,收藏地址:

ftp://freesoft.cei.gov.cn/pub/freesoft.sic/freesoft/Linux/ZhXwin.tar.gz

6,作者地址:

  输出、集成和安装脚本:

 宫敏 (Min Gong)

 芬兰,赫尔辛基理工大学
 Otakaari 1,
 Helsinki University of Technology
 02150 Espoo,
 Finland

 Email: min@foto.hut.fi
 

  输入:
 Yu Mingjian(于明俭)
 Computing Center
 Institute of High Energy Physics,
 Academia Sinica,
 Beijing 100039,  P.R.China
 (中国北京高能物理研究所计算中心 100039)

Email yumj@sun.ihep.ac.cn or yumj@yumj.kek.jp
Homepage http://yumj.kek.jp/ (or http://www.ihep.ac.cn/~yumj/)
 
-------------------------------------------------
常见问答集:

1. 必须安装cxterm(主要是要用它的输入法词典)
2. 安装之前要运行updatedb来更新locate搜索数据库
3. 如果用rpm包安装的cxterm,如:
   cxterm-color-p503.i386.rpm
   cxterm-color-p503-gb.i386.rpm
   cxterm-color-p503-big5.i386.rpm
   会有个cxtermgb的脚本,但ZhXwin的安装程序locate后会出错,宿宝臣的建议是把它改个名字
   如gb,ZhXwin安装完后再改回来。
4. 如果安装之后输入法不能用,去查看$HOME/Chinput.ad(~/Chinput.ad),最后一行看起来应该像这样:
   chinput.dictionary: /usr/X11R6/lib/X11/cxterm.dic
   具体的路径应该是你具体的配置,最好是到这个目录下看看,各个目录(big5/gb...)及文件(PY.cit等)
   是否存在,如果不知道在哪里,可以用locate PY.cit或find /usr -name PY.cit等命令查找。
   如果你用RPM安装的CXterm,很可能有这问题。
   建议去下载一个单独的Chinput最新版本看看。
5. 为什么对基于libc5的应用程序无效?请参考ZhXwin自带的FAQ.针对netscape,回答如下:
   修改/usr/bin/netscape , 这是一个shell脚本, 里面有一行LD_PRELOAD= ,
   把/usr/local/lib/libst.so.4 加到=号后面. 象这样
   原来的: LD_PRELOAD=/usr/lib/libBrokenLocale.so
   现在的: LD_PRELOAD=/usr/local/lib/libst.so.4:/usr/lib/libBrokenLocale.so
   或者把原来的netscape脚本(用type netscape查看路径)改名,自己构造一个netscape脚本:
   #!/bin/sh
   export LD_PRELOAD=/usr/local/lib/libst.libc5.so.4;
   exec /usr/local/netscape/netscape  #你的netscape目录
   export LD_PRELOAD=/usr/i486-linux-libc5/lib/libc.so.5
6. 如何让窗口的标题栏也能显示汉字?
   让libst.so.4先于窗口管理器(如fvwm,fvwm95,kde,gnome...)运行即可。主要是编辑
   /etc/X11/xinit/下的两个脚本文件Xinitrc及Xclients,具体请参考ZhXwin自带的FAQ.
   注意,就ZhXwin目前的版本(0.0.1),它与KDE有很大的冲突(我估计在Ksession上),
   如果用KDE的话就不要用这种方式。
7. 如何删除ZhXwin?其实没什么,只是安装ZhXwin时会修改$HOME/.Xdefault,把它改回来就行了,
   你要是不喜欢可以先备份这个文件,装完后再改回来。其余的简单删除即可。
   我用ZhXwin就不用它的安装程序,先把Chinput调好,然后在必要的地方export LD_PRELOAD即可。
 
 

-----------------------------------
我就不用RH原来的设置,因为我不喜欢。我把它放在我自己的.xsesson
中了,我在所有Linux/UNIX机器上的界面完全统一,任何一个系统专有的
东西我都不喜欢用。估计没几个人会喜欢我的设置,太平凡,太传统的
UNIX/X的设置,没有一点花哨的东西。我就喜欢简单、实用。太多的
icon和工具条使我头疼。 :-(

顺便说一下,这个ZhXwin我在HPUX、Dec UNIX、AIX、和Irix下都可以
使用,并不是Linux专用的,这实际上就是POSIX的真正的兼容性。 :-(
:-)? 并且当Xserver和跑ZhWin的机器不是同种机器时也没有问题。

宫敏

--
----
NT=No Thanks, WWW=World Wide Wait
Does PnP mean "Plug and Pray"?
 
 

本文转自中文Linux论坛