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

[thhsieh@linux.org.tw: [Anno] xcin-2.5.2]



----- Forwarded message from thhsieh@linux.org.tw -----
From: thhsieh@linux.org.tw
Date: Sun, 15 Oct 2000 22:48:34 +0800
To: xcin@linux.org.tw
Cc: cle-devel@linux.org.tw, debian-chinese@lists.debian.org
Subject: [Anno] xcin-2.5.2
X-Mailer: Mutt 1.0pre3us
Precedence: bulk
Reply-To: xcin@linux.org.tw

各位好:

这次总算没有黄牛了, xcin-2.5.2 正式 release。如果您还在用 under-devel
或旧的 2.5.0/2.5.1 的版本,建议您可以更新到 2.5.2 版。

新版 xcin 与 libtabe 可以在此取得:

ftp://xcin.linux.org.tw/pub/xcin/xcin/xcin-2.5.2.tar.gz
ftp://xcin.linux.org.tw/pub/xcin/xcin/libtabe-0.1.8.tar.gz

请注意,本版 xcin 需要搭配 libtabe-0.1.8 使用,比起上一个 0.1.7 版,它
又修正了一个 ET26 键盘的问题,同时也加入了 <keith@bsdvm.jtjang.idv.tw>
的 malloc 与 bims_GTK 的 patch,再此特别谢谢他。

由于这一版的 xcin 比起上一版 (2.5.1) 变动太大,其 patch 档的压缩大小恐
怕超过 xcin-2.5.2.tar.gz 本身的大小,故在此就不放出 patch 了。如果您是
安装旧稳定版的 xcin, 请您直接抓 2.5.2 的 tarball 回去编译。如果您是安
装 under-devel 版的 xcin, 您需要的 patch 在这:

ftp://xcin.linux.org.tw/pub/xcin/xcin/patch/2.5.2.pre6_2.5.2.diff.gz
ftp://xcin.linux.org.tw/pub/xcin/libtabe/patch/0.1.7_0.1.8.diff.gz

至于其他的 patch 也可以在这两个目录中找到。

底下附上 xcin-2.5.2 的 README,做为这个 release 的介绍,至于 xcin 网站

	http://xcin.linux.org.tw

上的内容,将在一周之内更新。

愿大家使用愉快 :-)) 若有任何问题,也请大家回报 :-))

T.H.Hsieh

=========================================================================

------------------
A. 简介:

XCIN (X window Chinese INput) 是一个 X Window 下的中文输入法程式,其原
始作者为 Edward Der-Hua Liu,第一版于 1994 年十月发表。之后历经许多网友
加入开发,而目前是由 XCIN 计画 (http://xcin.linux.org.tw) 负责主要的维
护工作。

XCIN-2.5 是 XCIN 改写计画 (Redesigning XCIN Project, 1999-2000) 的成果。
其目的是希望藉由重新设计,将较好的演算法与严紧且模组化的程式架构实作在 
xcin 系统中,并引进、实验新的设计概念与中文处理技术,同时也希望藉此修正
旧版 xcin 长久以来不易修正的问题。

有关 XCIN 的版权宣告,请见 CopyRight 与 COPYING 二文的说明。

目前 xcin-2.5 已进入实用阶段,其特色有:

1. rcfile 读取系统:

   过去 xcin-2.3.X 有相当复杂的命令列选项,而且这些选项一经设定后,则
   影响了所有的输入法行为,这对很多人来说造成不少的困扰。 xcin-2.5 对
   此做了改变,它将大部分的命令列选项移到了 rcfile 中,且所有关于输入
   法的微调设定,是每个输入法彼此独立的。因此使用者可以自己的喜好为每
   个输入法分别做不同的设定,比起 xcin-2.3.X 更有弹性。

2. 支援 locale 与 XIM 协定:

   目前 xcin 已放弃原本的 xcin-crxvt 协定,而采用标准的 XIM 协定,可能
   未来也是如此。这意味著我们无法在原有的 crxvt 中直接使用本 xcin 输入
   中文字。这么做的目的是希望做到 X window 下的中文输入能够「标准化」,
   也就是遵循 X11R6 的标准。未来的 X window 应用软体应该渐渐会朝向 XIM 
   的标准,这样才可以真正做到 xcin anywhere。

   目前新版的 rxvt-2.6/2.7 已支援 XIM 协定, 且能正确地接受来自 xcin-2.5
   的中文输入。故 xcin-2.5/rxvt-2.6 的组合未来将可以取代传统的 xcin-2.3/
   crxvt。

3. 完整的 I18N 设计:

   xcin-2.5 是一个 I18N (InternationalizatioN) 的程式,其视窗中所有的文
   字显示全部采用 fontset,而不再使用传统的内码判读以分办 ASCII 与 Big5
   的方式。这意味著程式的 GUI 介面可以与内码无关,故可适用与各种内码系
   统下。未来我们将持续改进其底层的字元处理系统,使其可以适用于更多样化
   的内码系统。

   此外,目前 xcin 所有的讯息输出已全部采用 GNU gettext (debug 讯息除外),
   只要我们为各 locale 翻译好所有的讯息,并在执行 xcin 之前做好 locale 的
   设定,我们就会有一个「多国语文讯息」的 xcin 了。

4. 输入法模组动态载入:

   xcin-2.5 所有的输入法均已模组化,并且可以依需要而动态载入。目前已有的
   输入法模组为:

   a. zh_hex:  
	内码输入法模组。可做为各种内码 (如 Big5 或 GB 码) 的内码输入,只
	要系统环境有适当的 locale 支援,并有所需的 sys.cin (见后述) 即可。

   b. gen_inp:
	一般性输入法模组。本模组可以处理绝大部分的输入法,如同旧版的 xcin
	一样,只要您准备好适当的 .cin 档,并经由 cin2tab 将它转换成 .tab
	档,就能直接套用此输入法模组,并能达到大部分在 xcin-2.3 上见得到的
	输入功能。

   c. bimsphone:
	bims 注音输入法模组。本模组采用萧百翔兄与其在中研院的同仁所开发的 
	libtabe 与 bims 模组,可以视为「专业」的注音输入法。它提供了 gen_inp
	+ phone.cin 所达不到的功能,如稳定的自动选字、大量的词库、各种注音
	键盘对应 .... 等等。

   除此之外, xcin-2.5 承袭了旧版的特色,还提供了如下的输入功能:

   d. 全形字键输入 (shift+space 切换)

   e. shift+alt+? 快速键片语输入: 这就是传统的 xcin 中打 shift+alt+i 出现顿
      号, shift+alt+o 出现句号等,而且片语内容可以让使用者依喜好自行设定。

5. 新的 cin 资料表格档系统:

   cin (即输入法表格档) 其实是与 locale 与 encoding 相关的,故 xcin-2.5
   将 cin 档依不同的 encoding 分别存放。若使用者希望在 Big5 或 GB 的环境
   下使用某输入法,则他只需分别为这些 encoding 准备好一个 cin 档,再分别
   经由 cin2tab 编译成 tab 档后即可。 cin 分为以下三大类,均可使用 cin2tab
   进行编译:

   a. sys.cin:
	这是系统表格档,它的格式与一般的输入法表格档有很大的不同。它存
	放了与 locale 相关的资讯,供程式内部运作参考用的。

   b. gen_inp 模组所使用的 .cin:
	这是一般的输入法表格档,即目前 xcin-2.3 常见的 .cin 档。但它的
	格式与目前的 .cin 档已有不同,但大家依然可以很容易地将旧的格式
	改成新的格式而直接使用。此 .cin 的格式是针对 gen_inp 模组而设计。

   c. bimspinyin (bimsphone 模组) 所使用的 bimscin:
	现在 bimsphone 除了原有的注音自动选字以外,还增加了拼音自动选字
	的输入模式 (bimspinyin), 而在此模式下,需要一个 bimscin 格式的
	资料档方可运作。此资料档即定义了注音与拼音之间的对应表。
	

6. 多平台支援:

   理论上, xcin-2.5 可以在任何具备 I18N/locale 支援,使用 X11R6 的 UNIX
   系统上执行。而目前已测试成功的计有以下平台:

   a. GNU/Linux / GCC:  i386, Alpha  (使用 glibc-2.1.x 以上的系统)

   b. FreeBSD / GCC:  i386  (FreeBSD-4.0 / 使用 ELF 的系统)

   c. HP-UX / ANSI-C compiler:  32-bits HP workstation

   至于 Solaris 以及 OpenBSD 的移植仍在进行中,需要大家多多测试与回报。

------------------
B. 发展简史:
   
1. 1994/10/25, Edward Der-Hua Liu 在   tw.bbs.comp.linux 发表了第一版的 
   xcin。当时的套件名称是 big5-pack.tgz, 内含 xcin 与 crxvt。而 xcin 只
   有输入法程式本而已,其输入法表格与中文字型等必须用程式自倚天中文系统
   中转换过来使用。

2. 1997/03, XCIN 的维护工作由谢东翰 (Tung-Han Hsieh <thhsieh@linux.org.tw>)
   接手。当时主要以修改其 Makefile,尽可能让 xcin 成为独立的 UNIX 套件,
   而不要过分倚赖倚天中文系统为目标。

3. 1997/03/10, 王缓正 <vvvv.bbs@bbs.cis.nctu.edu.tw> 发表了第一个对 xcin
   的呒虾米 (http://www.liu.com.tw) 修正 patch: ``xcinbosh.tgz'', 从那时
   起他陆续引入了方便的输入功能,但都是以呒虾米输入法为主。

4. 于越来越多人对 xcin 加入贡献,使得 source code 越显得凌乱,难以维护。
   故我们决定重新改写 xcin, 希望能一举解决所有的问题。而旧系列的 xcin 则
   到了 1999/04 xcin-2.3.04-3 发表后,正式停止维护。

5. 新一代的 xcin 在 1998 年底、1999 年初正式展开,当时主要的开发表包括:
   a. 高嘉良: xcin 模组架构原始设计。

   b, 萧永庆: 引入 XIM server 设计 (IMdkit)、 Xi18n 与 locale 程式设计概
              念、 xcin rcfile 读取系统 siod lib。 

   c. 庄明哲: Locale/I18N/XIM/rcfile 读取系统建议与讨论。 

   d. 萧百翔: 引入 libtabe,让 xcin 拥有注音自动选字输入能力 (bimsphone)。

   e. Steve Underwood: IMdkit lib 问题修正、 xcin 输入法模组架构的再改进。

   f. 郑原忠: 协助建立完整 I18N/zh_TW.Big5 locale 环境, 提供 xcin 测试与
              开发平台。

   g. 谢东翰: XCIN 系统整体规画与程式码编写。

   而 xcin 的开发公布网站原本是由  陈永升维护 (中文化 Linux 计划网站),
   直到 1998/06 之后才移到中央研究院计算机中心 (http://www.sinica.edu.tw),
   由袁天□及其同仁协助维护。

6. 1999/06/21 发表 xcin-2.5.0: xcin 基本模组架构,基本 XIM server, zh_hex, 
   gen_inp, bimsphone 模组。 

7. 1999/08/24 发表 xcin-2.5.1。

8. 目前, xcin-2.5.2 (发展中)。

------------------
C. 本版改进 (详见 Changes 一文的说明):

(版本: xcin-2.5.2, 需搭配 libtabe-0.1.8)

1. bimsphone 模组改进:
   a. 目前 bimsphone 模组支援三种输入模式:

      bimsphone 模式:  即传统的注音自动选字模式。
      bimssimple 模式: 非自动选字注音输入,用以提供 gen_inp 模组无法提供的
		       的特殊注音输入习惯。
      bimspinyin 模式: 拼音自动选字模式。

   b. 在 xcinrc 的 bimsphone 设定中,额外增加了如下的选项:

      AUTO_SELECTION:  使用注音自动/非自动选字模式。
      NSELKEY:         设定选择键的个数。
      SPACE_SELECTION: 开启可用 space 键来选择第一个重复字。
      AUTO_UPCHAR:     在注音非自动选字模式中,开启自动上字功能。

      同时也支援 bimsphone_default 的全域设定。

   c. 已完成组字但仍存放于 xcin 视窗的字串,以底线来标示各别完整的词。

   d. 在一个词之前,按上键可进入选词列表,按下键可进入选字列表。若无词
      可选,则按上键直接进入选字列表。

   e. 增加倚天 26 键支援。

2. gen_inp 模组改进:
   在 xcinrc 的 gen_inp 设定中,加入 DISABLE_SEL_LIST 与 KEYSTROKE_REMAP
   项目设定,以增加对行列 30 输入法的支援。同时也支援 gen_inp_default 的
   全域设定。

3. zh_hex 模组改进:
   在 xcinrc 的 zh_hex 设定中,加入 INP_CNAME_<encoding name> 的设定项,
   使其可以同时为多个 encoding 设定其 INP_CNAME。

4. 快速键选词 (qphrase) 的扩充:
   在 default.phr 中可以将快速键分成以下 4 个小节:
   a. %trigger: 设定按下 trigger+X 的输出词,其中 trigger 预设是 ctrl+alt。
   b. %shift:   设定按下 shift+X 的输出词。
   c. %ctrl:    设定按下 ctrl+X 的输出词。
   d. %alt:     设定按下 alt+X 的输出词。

   同时在 xcinrc 中所有的模组都新增 MOD_PHR 选项,用以设定使用上述四个
   qphrase 的模式。

5. cin2tab 与 .cin 表格档的改进:
   a. cin2tab 新增 bimscin 编译模式,用以编译 bimsphone 的 bimspinyin 输
      入模式所需的资料档,同时新增 bims_pinyin.cin 资料原始档。

   b. 将原始码中所有的 .cin 表格移至 encoding 目录下存放,其中 big5/big5hkscs
      共用 .cin 档,放在 big5 目录下;而 gb2312/gbk 共用 .cin 档,放在 gb
      目录下。而编译过后的 .tab 档则依不同内码分别存放。同时也加入了几个
      新的 .cin 表格。

   c. cin2tab 加入 -l <encoding/LC_CTYPE> 以及 -h、 -o 等命令列选项。

   d. cin2tab gencin: 可以在 %chardef 与 %keyname 小节中使用十六进位码代
      替一般的中文字串。同时,如果 %chardef 小节中有超出内码定义范围的字
      时, cin2tab 会直接忽略,而不会印出错误讯息。

6. xcinrc 的改变:
   a. 新增 DISABLE_WM_CTRL、KEEP_POSITION_ON、以及 DIFF_BEEP 选项。

   b. 所有的输入法设定可以采用 "<IM name>@<encoding>" 的设定格式,如此可
      在同一个 xcinrc 档中用同一个输入法名为多个 encoding 做设定。

7. 输入法模组 API 改变:
   a. inpinfo_t: 新增 lcch_grouping 与 mcch_grouping 项。
		 新增 suggest_skeystroke 项。
		 新增 zh_ascii 项。
		 新增 gui_request 机制。

   b. module_t:  新增 terminate() 介面函式。当输入法模组结束运作时使用。

   c. 新增输入法模组静态连接编译模式。

8. GUI 系统改进:
   a. winlist_t 设计,使得 xcin 具备开启多重视窗的能力。

   b. 新增 OverTheSpot 类别视窗,以及 gui_request, menusel 类别视窗。

   c. 新增 gui_main2 视窗,可以 xcinrc 的 START_MAINWIN2 与 MAINWIN2_GEOMETRY
      控制。

9. XIM 系统改进:
   a. 新增 OverTheSpot input style, 同时修改工具程式 testprog 使其支援
      OverTheSpot。在 xcinrc 中也增加了 INPUT_STYLE, OVERSPOT_DRAW_AREA3,
      OVERSPOT_DRAW_LCCH, 与 OVERSPOT_USE_CLICOLOR 等选项。

   b. get_ic_value(): 新增 XNPreeditState 的处理。

   c. 修改 IMdkit, 新增 IMSyncXlib(),使 XIM server 可以主动发送 XIM_SYNC
      讯号给 XIM client, 并等待 client 的 XIM_SYNC_REPLY 讯号。

   d. 使用 IMdkit 可发送 XIM_SYNC 讯号的功能,在 xcin 结束前将目前连线中
      的 XIM client 的讯号同步化。同时间 xcin 的结束过程修改如下:

      1. Call xim_close(), turn on XCIN_RUN_EXIT flag, and check if currently
         there is an IC on focus:

         if yes: Send XIM Sync signal to the client, and waits for the reply.
         if no:  turn on XCIN_RUN_EXITALL flag.

      2. If XCIN_RUN_EXIT on, turn off any XIM action (do nothing but only
         return True), but loop continuous, untill the reply for the Sync
         signal from the client to xim_sync_reply_handler(). Then call
         IMCloseIM() and turn on XCIN_RUN_EXITALL flag.

      3. If XCIN_RUN_EXITALL on, stop the loop and terminate the XIM engine
         and all the IM modules. Then exits.

      同时 xcin 也拦截了 SIGTERM, SIGQUIT, SIGINT 三个 signal, 以达到完整
      的程式结束处理。

10. 新增 IMC 系统:
    a. 将所有输入法相关的资料结构自 IC 结构中分离,放入 IM_Context_t 结构中。
       如此, IC 只负责来自 XIM client 的 XIC 的资料,而输入法的处理运作则由
       IMC 来负责。

    b. 在 xcinrc 中新增 SINGLE_IM_CONTEXT 选项。

11. 新增 HP-UX 与 ANSI C compiler 系统的移植。

12. 许多 bug 的修正与文件更新。

------------------
D. 套件内容:

1. xcin (安装于 $(prefix)/bin/):
   这是 xcin 输入法主程式。

2. cin2tab (安装于 $(prefix)/bin/):
   这是输入法表格 .cin ==> .tab 的转换程式。

3. xcinrc (安装于 $(prefix)/etc/):
   这是 xcin 系统的公用设定档。

4. IM modules (安装于 $(XCIN_DIR)/, 预设是 $(prefix)/lib/xcin/):
   这是输入法模组,需要时才会动态载入 xcin 中使用,目前已有:
   zh_hex.so, gen_inp.so, bimsphone.so

   ps. 在 HP-UX 平台中,由于尚未支援模组动态载入的部分,故实际上这些输入
       法模组是与 xcin 主程式静态连结在一起的,故在此目录中没有这些档案。

5. tab 档 (安装于 $(XCIN_DIR)/tab/$(ENCODING)/):
   这大部分是 gen_inp 输入法表格档与资料档,依不同的 encoding 分别存放。
   目前所包含的表格计有:

   $(BIG5)/:
	a. sys.tab:		big5 内码资讯档。
	b. array30.tab:		行列 30 输入法表格。
        c. cj.tab:		仓颉输入法表格。
	d. phone.tab:		注音输入法表格。
        e. pinyin.tab:		拼音输入法表格。
        f. simplex.tab:		简易输入法表格。
	g. bims_pinyin.tab:	bimspinyin 的注音、拼音对照表。
	h. jyutping.tab:	粤语拼音输入法表格。
	i. jyutping0.tab:	粤语拼音输入法表格 (没有音调)。
	j. default.phr:		qphrase 资料档。

   $(BIG5HKSCS)/:
	a. sys.tab:		big5hkscs 内码资讯档。
	b. cj.tab:		仓颉输入法表格。
	c. default.phr:		qphrase 资料档。

   $(GB2312)/:
	a. sys.tab:		gb2312 内码资讯档。
	b. jtcj_gb.tab:		仓颉输入法表格。
	c. pinyin.tab:		拼音输入法表格。
	d. phonegb2.tab:	注音输入法表格。
	e. shuangpin.tab:	双拼输入法表格。
	f. wubizixing.tab:	五笔输入法表格。
	g. default.phr:		qphrase 资料档。

   $(GBK)/:
	a. sys.tab:		gbk 内码资讯档。
	b. default.phr:		qphrase 资料档。

   请注意: 这些内码名称随著作业系统不同而不同,如下表所列:

   GNU/Linux:	$(BIG5):	big5
		$(BIG5HKSCS):	big5hkscs
		$(GB2312):	gb2312
		$(GBK):		gbk

   FreeBSD:	$(BIG5):	big5
		$(GB2312):	euc

   HP-UX:	$(BIG5):	big5
		$(BIG5HKSCS):	hkbig5
		$(GB2312):	hp15cn

6. testprog (放在 xcin-2.5/src/util/testprog/):
   这是一个很简单的 Xi18n 测试程式,与 xcin 的运作无关,只是用来测试看您的
   系统是否已准备好 i18n 的环境,同时也可以让您测试用 xcin 在其上直接输入。
   make install 时并不会将它安装到您系统中的任何地方。

7. 参考文件 (放在 xcin-2.5/doc/)。

------------------
E. 安装与测试:

由于 xcin-2.5 与旧版的 xcin 有相当大的不同,故当您要安装、使用 xcin-2.5 前,
请注意仔细阅读以下文件:

1. SETUP:  xcin-2.5 的安装步聚。

2. UserGuide:  xcin-2.5 与各 XIM client 使用快速指引。

3. Usage 与 modules/*:  xcin-2.5 与其所附的输入法模组的使用方式。

4. FAQ:  常见问题与解答。

5. Bugs:  xcin-2.5 目前尚未解决的问题。

6. Todo:  未来的发展方向。

若您想要自行准备 .cin 输入法表格,或想将旧的 .cin 档转成 xcin-2.5 的 .cin
档,请参考:

7. Cin:  .cin 表格档格式说明以及 cin2tab 使用方法。

有关 xcin-2.5 的版权宣告,请见:

8. CopyRight:  xcin 版权宣告。

9. COPYING:  GNU General Public License (含英文原版及中文 Big5 翻译)

若您对于 xcin 内部程式实作以及模组写作有兴趣,可以参考

10. internal/*:  xcin 程式设计与模组架构文件。

若您需要英文翻译文件,请见:

11. En/*:  xcin 文件英文翻译 (部分)。

若您有其他的问题与建议,欢迎与我们连络。

谢东翰 (Tung-Han Hsieh)  <thhsieh@linux.org.tw>
Physics Department of National Taiwan University, R.O.C.
XCIN Team.  <mailing-list:  xcin@linux.org.tw>
	    <www:	    http://xcin.linux.org.tw>
	    <ftp:	    ftp://xcin.linux.org.tw/pub/xcin>
To Unsubscribe: send mail to majordomo@linux.org.tw
with "unsubscribe xcin" in the body of the message

----- End forwarded message -----

-- 
| This message was re-posted from debian-chinese-big5@lists.debian.org
| and converted from big5 to gb2312 by an automatic gateway.



Reply to: