----- Forwarded message from [EMAIL PROTECTED] ----- From: [EMAIL PROTECTED] Date: Sun, 15 Oct 2000 22:48:34 +0800 To: [EMAIL PROTECTED] Cc: [EMAIL PROTECTED], [EMAIL PROTECTED] Subject: [Anno] xcin-2.5.2 X-Mailer: Mutt 1.0pre3us Precedence: bulk Reply-To: [EMAIL PROTECTED]
各位好: 這次總算沒有黃牛了, 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 [EMAIL PROTECTED] 0.1.7 版,它 [EMAIL PROTECTED] ET26 鍵盤的問題,同時也加入了 <[EMAIL PROTECTED]> 的 malloc 與 bims_GTK 的 patch,再此特別謝謝他。 [EMAIL PROTECTED] xcin [EMAIL PROTECTED] (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 [EMAIL PROTECTED] [EMAIL PROTECTED] :-)) 若有任何問題,也請大家回報 :-)) T.H.Hsieh ========================================================================= ------------------ A. 簡介: XCIN (X window Chinese INput) [EMAIL PROTECTED] X Window 下的中文輸入法程式,其原 [EMAIL PROTECTED] Edward Der-Hua [EMAIL PROTECTED] 1994 年十月發表。之後歷經許多網友 加入開發,而目前是由 XCIN 計畫 (http://xcin.linux.org.tw) 負責主要的維 [EMAIL PROTECTED]@。 XCIN-2.5 是 XCIN 改寫計畫 (Redesigning XCIN Project, 1999-2000) 的成果。 [EMAIL PROTECTED] xcin 系統中,並引進、實驗新的設計概念與中文處理技術,同時也希望藉此修正 舊版 xcin 長久以來不易修正的問題。 有關 XCIN 的版權宣告,請見 CopyRight 與 COPYING 二文的說明。 目前 xcin-2.5 已進入實用階段,其特色有: 1. rcfile 讀取系統: 過去 xcin-2.3.X [EMAIL PROTECTED] 影響了所有的輸入法行為,這對很多人來說造成不少的困擾。 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 [EMAIL PROTECTED] I18N (InternationalizatioN) 的程式,其視窗中所有的文 字顯示全部採用 fontset,而不再使用傳統的內碼判讀以分辦 ASCII 與 Big5 的方式。這意味著程式的 GUI 介面可以與內碼無關,故可適用與各種內碼系 統下。未來我們將持續改進其底層的字元處理系統,使其可以適用於更多樣化 的內碼系統。 此外,目前 xcin 所有的訊息輸出已全部採用 GNU gettext (debug 訊息除外), 只要我們為各 locale 翻譯好所有的訊息,並在執行 xcin 之前做好 locale 的 設定,我們就會[EMAIL PROTECTED] xcin 了。 4. 輸入法模組動態載入: xcin-2.5 所有的輸入法均已模組化,並且可以依需要而動態載入。目前已有的 輸入法模組為: a. zh_hex: 內碼輸入法模組。可做為各種內碼 (如 Big5 或 GB 碼) 的內碼輸入,只 要系統環境有適當的 locale 支援,並有所需的 sys.cin (見後述) 即可。 b. gen_inp: [EMAIL PROTECTED] xcin [EMAIL PROTECTED] .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 [EMAIL PROTECTED] cin 檔,再分別 經由 cin2tab 編譯成 tab 檔後即可。 cin 分為以下三大類,均可使用 cin2tab 進行編譯: a. sys.cin: [EMAIL PROTECTED] 放了與 locale [EMAIL PROTECTED] b. gen_inp 模組所使用的 .cin: [EMAIL PROTECTED] xcin-2.3 常見的 .cin 檔。但它的 格式與目前的 .cin 檔已有不同,但大家依然可以很容易地將舊的格式 改成新的格式而直接使用。此 .cin 的格式是針對 gen_inp 模組而設計。 c. bimspinyin (bimsphone 模組) 所使用的 bimscin: 現在 bimsphone 除了原有的注音自動選字以外,還增加了拼音自動選字 的輸入模式 (bimspinyin), [EMAIL PROTECTED] bimscin 格式的 [EMAIL PROTECTED] 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 [EMAIL PROTECTED] xcin。當時的套件名稱是 big5-pack.tgz, 內含 xcin 與 crxvt。而 xcin 只 有輸入法程式本而已,其輸入法表格與中文字型等必須用程式自倚天中文系統 中轉換過來使用。 2. 1997/03, XCIN [EMAIL PROTECTED]@由謝東翰 (Tung-Han Hsieh <[EMAIL PROTECTED]>) 接手。當時主要以修改其 Makefile,盡可能讓 xcin 成為獨立的 UNIX 套件, 而不要過分倚賴倚天中文系統為目標。 3. 1997/03/10, 王緩正 <[EMAIL PROTECTED]> [EMAIL PROTECTED] xcin 的嘸蝦米 (http://www.liu.com.tw) 修正 patch: ``xcinbosh.tgz'', 從那時 起他陸續引入了方便的輸入功能,但都是以嘸蝦米輸入法為主。 4. 於越來越多人對 xcin 加入貢獻,使得 source code [EMAIL PROTECTED] 故我們決定重新改寫 xcin, [EMAIL PROTECTED]|解決所有的問題。而舊系列的 xcin 則 到了 1999/04 xcin-2.3.04-3 [EMAIL PROTECTED] 5. [EMAIL PROTECTED] 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 的開發公佈網站原本是由 [EMAIL PROTECTED]@ (中文化 Linux 計劃網站), 直到 1998/06 之後才移到中央研究院計算機中心 (http://www.sinica.edu.tw), [EMAIL PROTECTED] 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 [EMAIL PROTECTED]): (版本: 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 [EMAIL PROTECTED] AUTO_UPCHAR: 在注音非自動選字模式中,開啟自動上字功能。 同時也支援 bimsphone_default 的全域設定。 c. 已完成組字但仍存放於 xcin 視窗的字串,以底線來標示各別完整的詞。 d. [EMAIL PROTECTED] 可選,則按上鍵直接進入選字列表。 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 [EMAIL PROTECTED] .cin 檔,放在 big5 目錄下;而 gb2312/gbk [EMAIL PROTECTED] .cin 檔,放在 gb 目錄下。而編譯過後的 .tab 檔則依不同內碼分別存放。同時也加入了幾個 新的 .cin 表格。 c. cin2tab 加入 -l <encoding/LC_CTYPE> 以及 -h、 -o 等命令列選項。 d. cin2tab gencin: 可以在 %chardef 與 %keyname 小節中使用十六進位碼代 [EMAIL PROTECTED] %chardef 小節中有超出內碼定義範圍的字 時, cin2tab 會直接忽略,而不會印出錯誤訊息。 6. xcinrc 的改變: a. 新增 DISABLE_WM_CTRL、KEEP_POSITION_ON、以及 DIFF_BEEP 選項。 b. 所有的輸入法設定可以採用 "<IM name>@<encoding>" 的設定格式,如此可 [EMAIL PROTECTED] xcinrc [EMAIL PROTECTED] encoding 做設定。 7. 輸入法模組 API 改變: a. inpinfo_t: 新增 lcch_grouping 與 mcch_grouping 項。 新增 suggest_skeystroke 項。 新增 zh_ascii 項。 新增 gui_request 機制。 b. module_t: 新增 terminate() [EMAIL PROTECTED] 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 [EMAIL PROTECTED] 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 [EMAIL PROTECTED] 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 資料檔。 請注意: [EMAIL PROTECTED]: 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/): [EMAIL PROTECTED] Xi18n 測試程式,與 xcin [EMAIL PROTECTED] 系統是否已準備好 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 [EMAIL PROTECTED]@有興趣,可以參考 10. internal/*: xcin 程式設計與模組架構文件。 若您需要英文翻譯文件,請見: 11. En/*: xcin 文件英文翻譯 (部分)。 若您有其他的問題與建議,歡迎與我們連絡。 謝東翰 (Tung-Han Hsieh) <[EMAIL PROTECTED]> Physics Department of National Taiwan University, R.O.C. XCIN Team. <mailing-list: [EMAIL PROTECTED]> <www: http://xcin.linux.org.tw> <ftp: ftp://xcin.linux.org.tw/pub/xcin> To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe xcin" in the body of the message ----- End forwarded message -----

