[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. 拼音的聲調鍵全部可以在 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


Reply to: