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

[Update] xcin-2.5.2-pre3



各位好:

有兴趣的朋友请试试这一版:

ftp://xcin.linux.org.tw/pub/xcin/xcin/devel/xcin-2.5.2-pre3.tar.gz
ftp://xcin.linux.org.tw/pub/xcin/xcin/patch/2.5.2-pre2_2.5.2-pre3.diff.gz

ftp://xcin.linux.org.tw/pub/xcin/libtabe/devel/libtabe-0.1-4.tar.gz
ftp://xcin.linux.org.tw/pub/xcin/libtabe/patch/0.1-2_0.1-4.tar.gz

(ps. 网路实在很慢,已经 upload 一个钟头了,还没完成,也许请各位稍晚再来
     download)

请注意: 如果您要使用 patch 的话,请自 ftp://xcin.linux.org.tw/pub/xcin
抓回上一版的原始版本,再将 patch 加入。

这一版已差不多是 xcin-2.5.2 的「前身」了,其 99.9% 的程式码已经确定,
不会再有大变动了。与 pre2 主要不同之处为 (使用者看得见的部分):

1. OverTheSpot 若干 bug 修正与 xcinrc 的相关 option:

	OVERSPOT_DRAW_AREA3	让 OverTheSpot 视窗显示组字资讯
	OVERSPOT_DRAW_LCCH	让 OverTheSpot 视窗显示 cache buffer 资讯
				(用于词音类 bimsphone 的输入法)
	OVERSPOT_USE_CLICOLOR	让 OverTheSpot 视窗采用 XIM client 提供的
				颜色


2. 输入法设定可附代 encoding label: 例如,在 gen_inp 模组中,我们同时
   提供了 zh_TW.Big5 与 zh_CN.GB2312 locale 下的 pinyin.cin, 要如何将
   二者写在同一个 xcinrc 档中?

(define zh_TW.Big5
	........
	(CINPUT             (pinyin .....)
	.......)

(define zh_CN.GB2312
	........
	(CINPUT             (pinyin .....)
	.......)

(define pinyin@big5
	'((SETKEY	1)
	  .......)

(define pinyin@gb2312
	'((SETKEY	3)
	  .......)

   以往我们不允许在同一个 xcinrc 档中定义两个 pinyin 输入法 (给不同的
   locale), 现在可以采用如上的方式,在输入法名之后加上 @<encoding label>
   即可。其中 <encoding label> 必须全部小写。


3. bimsphone 内含拼音模组:
   在此要特别感谢 <kirin@ms7.url.com.tw> 先生所提供的 patch, 同时我也要
   向 kirin 先生致歉,因为他给我这个 patch 已经很久了,而直到现在我才将
   它放入 xcin source tree 中。

   在此一模式中,您可以在 bimsphone 中启动拼音输入的功能,同时具备 bimsphone
   原有的「猜字」功能。启动方式如下: 请在 xcinrc 中加入这一段:

(define zh_TW.Big5
	........
	(CINPUT             (bimspinyin .....)
	.......)

(define bimspinyin@big5
        '((SETKEY               4)
          (MODULE               "bimsphone")
          (N_SELECTION_KEY      9)
          (SELECTION_KEYS       0)      ; 0: "1234567890", 1: "asdfgjkl;"
          (PAGE_KEYS            5)      ; 1:<> 2:,. 4:(Rt)(Lt)
          (QPHRASE_MODE         1)      ; 1: shift, 2: ctrl, 4: alt
          (TSI_FNAME    	"<path of>/tsi.db")
          (YIN_FNAME    	"<path of>/yin.db")
          (SPACE_SELECTION      YES)
          (PHRASE_SELECTION     YES)
          (N_SELECTION_PHR      4)
          (PINPHO_MAP           "bims_pinyin")))

   请注意,这里的输入法名必须是 bimspinyin, 但仍然使用 bimsphone 模组。
   使用 bimspinyin 这个名字,目的只是为了与原来的 bimsphone 有别,并方
   便设定而已。 bimspinyin 需要一个 PINPHO_MAP 档,目前只有一个为
   bims_pinyin.cin, 这是从旧版的 xcin-2.3 的 pinyin 表格中改过来的。它
   定义了注音与拼音的对应方式,有兴趣的朋友可以参考。

   这部分功能是根据 kirin 先生给我的 patch 完成的,但仍有相当大的改变A
   如下:

   a. 拼音的声调键全部可以在 bims_pinyin.cin 中设定,即 %tone1, %tone2,
      %tone3, %tone4, %tone5, 分别代表一声、二声、三声、四声、与轻声。
      有位网友告诉我轻声应设为 1 键,而一声不需要设,也就是 space 键即
      代表一声。目前我是这样做,有意见的朋友请提出。

   b. bims_pinyin.cin 的拼音码与注音码全部经编码后储存,此一考量是为了
      搜寻时的比对速度。原来是采用 strcmp 来做搜寻比对,现在则是用编码
      后的 4-bytes integer 来比对。同时写出的 .tab 档包含两个表格: 以
      拼音码顺序排列,以及以注音码顺序排列,用做正向与反向搜寻用 (这与
      gen_inp 的设计原理相同)。而搜寻函式则采用 binary search。

   c. 原来的 patch 中有一段程式是可以在 xcin 视窗的 cache buffer 中做
      到中英混杂的,但由于 libtabe/libbims 本身不支援中英混杂的处理,
      因此这部分可能造成 xcin 的 cache buffer 与 libbims buffer 内容不
      一致,而造成混乱。为了安全起见,我暂时将这段 code 拿掉了。未来等
      到 libtabe 加入中英混杂处理的支援,或者有更安全的处理方式时,我
      会将这段 code 再放回来 (同时也让原有的 bimsphone 享有同等的功能)。

4. Module GUI Request API 的改进。这在我之前几个礼拜前的 2.5.2-pre2-X
   patch 就已经完成了。目前这部分的 doc 尚未完成,是接下来的目标。

5. 其他部分的改变,请见其 source code 内附的 Changes 档。



目前距离 xcin-2.5.2 正式 release 尚差临门几脚,包括:

1. gen_inp module pinyin.cin 的问题修正。这是之前有网友回报给我的,我还
   要仔细检验一遍。

2. 完成所有的说明文件,这之中还包括网友寄给我的 man page (呜,向您说抱
   歉,您也是寄给我很久了 ....)

3. 更新 po 档与 Big5 的翻译 (有没有人愿意帮忙呢? :-)))

4. 持续修正 bug 。

5. 将 xcin-2.5.2 与 libtabe porting 到 HP-UX 系统上。
   (因为有厂商提供了机器与环境,因此我很乐意做此 porting 工作。将 xcin-2.5
    尽量 porting 到各 UNIX 环境下本来就是我的初衷)


如有任何问题,请尽速回报,谢谢您 :-))


T.H.Hsieh


-- 
[ This mail was originally sent to  debian-chinese@lists.debian.org ]
[ and was forwarded to this list automatically. Big5 characters are ]
[ also converted to GB at the same time, Please note that there may ]
[ be errors during the conversion as this is not done by a human!   ]


Reply to: