[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: