[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

ucdospy



Hi, Su Yong,
I am back from Nagasaki and have just tried your scheme. 
It is very nice! Thank you so much for your great help!

Regards,

--Wen
wen@japan.email.ne.jp

From: Su Yong <ysu@gnocis.org>
Subject: Re: About wnn
Date: Wed, 04 Apr 2001 13:57:14 +0800 (CST)
Message-ID: <20010404.135714.74740244.ysu@gnocis.org>

ysu> ----- Original Message -----
ysu> > ysu> 我现在用的就是quail, 输入法是用UCDOS的 "智能全拼"的 .tit文件
ysu> > ysu>                                        ~~~~~~~~~~~~~~~
ysu> > ysu>                                     Debian的cxterm里有
ysu> > ysu>                                     ucdos的输入法, 大概
ysu> > ysu>                                     它的source里有这个文件.
ysu> > ysu> 转化而来的, 然后再自己手动(不要笑)做了修改, 我的一个
ysu> > ysu> 朋友为此写了一个script, 可惜现在不在手上.
ysu> > 
ysu> > UCDOS我只是听说过,但不知如何作. 你要是有时间能详悉介绍一下,不胜感激.
ysu> 以Debian的GB编码用户为例:
ysu>         apt-get source cxterm-gb
ysu> 得到cxterm的source, 
ysu>         如比说 source 的目录名为 cxterm-5.1p1 (也可能是别的名字)
ysu> 的文件, 启动一个emacs会话, 然后输入
ysu>         M-x titdic-convert cxterm-5.1p1/dict/UCDOSPY.tit RET
ysu> 你会发现当前目录下多了一个叫 UCDOSPY.el的文件.
ysu> 这个文件能干活, 但是干得很糟, 主要是不能输入词(组).
ysu> 
ysu> 我们需要把象下面这样的项
ysu>         ("buduan" "(不断)")
ysu>         ("budui" "(不对)(部队)")
ysu> 变成
ysu>         ("buduan" ["不断"])
ysu>         ("budui" ["不对" "部队"])
ysu> ;
ysu> 把
ysu>         ("xian" "籼酰跣跹霰(西安)")
ysu> 变成
ysu>         ("xian" ["籼" "酰" "跣" "跹" "霰" "西安"])
ysu> 当时我用vim完成了这件事情,
ysu> 我的一个朋友为此写了个script(不过我发觉它不能对付"xian"这种情况).
ysu> 
ysu> #!/bin/bash
ysu> 
ysu> EMACS="emacs -batch --no-init-file --no-site-file --multibyte"
ysu> EMACSLISPDIR=/usr/share/emacs/21.0.100/lisp/
ysu> MV="mv -f"
ysu> 
ysu> ${EMACS} -l ${EMACSLISPDIR}/international/titdic-cnv --eval '(batch-titdic-convert t)' $1.tit
ysu> 
ysu> sed -e '/"(.*)")$/{ 
ysu> 	s/"(\(.*\))")$/["\1"])/ 
ysu> 	s/)(/""/g 
ysu> }' $1.el > $1.el.tmp
ysu> 
ysu> ${MV} $1.el.tmp $1.el
ysu> 
ysu> ${EMACS} -l ${EMACSLISPDIR}/international/quail -f batch-byte-compile $1.el
ysu> 
ysu> 当时我在vim直接修改的.
ysu> 首先先做下列变换:
ysu>        "(  => ["
ysu>        ~~     ~~
ysu>        )"  => "]
ysu>        ~~     ~~
ysu>        )(  => " "
ysu>        ~~     ~~~
ysu> 在得到新文件 UCDOSPY.el.1中,
ysu> 需要把象下面这样的项:
ysu>         ("xian" "籼酰跣跹霰(西安"])
ysu> 变成
ysu>         ("xian" ["籼" "酰" "跣" "跹" "霰" "西安"])
ysu> 用sed该怎么做我不清楚.
ysu> 不过因为象 "xian"这种特殊情况在汉语中实在太少了, 所以当时我
ysu> 是在emacs里手动修改(在vi里不好做, 因为UCDOSPY.el是mule编码的)的.
ysu> 
ysu> 最后, 把修改后的 UCDOSPY.el 放到比如你的 $HOME 下,
ysu> 并且在你的.emacs里加上:
ysu> ;;; Customize the Chinese Environment
ysu> (load-file "~/UCDOSPY.el")
ysu> (set-input-method "chinese-py-ucdos")
ysu> (set-default-font "-*-fixed-medium-r-normal-*-16-*-*-*-*-*-fontset-standard")
ysu> 
ysu> BTW: 别忘了把coding system设为 Chinese GB
ysu> 
ysu> 重新启动emacs, 现在你可以在emacs里使用ucdos拼音了(不过只是部分功能).
ysu> 
ysu> 附件里是我一直在用的ucdospy.el(gziped), 我已经在其中添加了许多词条.
ysu> 不知道该如何给它加上联想功能?
ysu> 
ysu> > 
ysu> > 十分感谢你提供的宝贵信息!




Reply to: