實現游戲輸入法
手頭的項目輸入法一直有問題,這幾天抽時間整理一下之前的實現。目前在Win7下通過了對Google拼音、智能ABC、微軟拼音的測試;全拼、雙拼和鄭碼還有問題。
時間太緊,又要去忙別的了。記錄一下當前的問題,以后再繼續。
MS有兩種輸入法實現方式:IME和TSF,WinXp之前只有IME(可以通過安裝補丁包支持TSF);WinXp支持TSF,但是默認情況下是關閉的,可以手動開啟;WinXp之后的版本同時支持IME和TSF。這樣也造成了相應的問題:早期的輸入法試用IME實現(WM_IME_消息與IMM API),現在最新版本的輸入法很多都是用TSF;同時IME的實現機制在不同版本的windows上實現也有差別。所以在編寫app內置輸入法相應的時候,兼容性也成了讓開發者頭痛難題。
相關術語:
TIP (Text Input Processor), a Text service in TSF
Cicero,TSF的開發代號,所以微軟內部通常稱呼TSF框架為Cicero
CUAS (Cicero Unaware Application Support),為所有應用程序和控件提供基本的TIP支持
AIMM(Active Input Method Manager),和CUAS一起工作
Status window,輸入法狀態欄 表示正在處于中文輸入狀態可以知道是什么輸入法
Composition window,當你開始輸入字母的時候,顯示字母
Candidates window,緊靠在composition window下面,指示可能的字符組合(就是中文備選)
收集的一些相關網頁:
權威網站MSDN
微軟拼音輸入法團隊博客 :TSF(Text Service Framework)簡介
對MSDN IME內容的翻譯整理 : 翻譯連連看之--《憶往昔》
對MSDN TSF內容的翻譯整理 : 翻譯連連看之--《看今朝》
Using an Input Method Editor in a Game
UILess Mode Overview
Input Method Editor and Text Services Framework Accessibility in Windows XP
待續。。。
時間太緊,又要去忙別的了。記錄一下當前的問題,以后再繼續。
MS有兩種輸入法實現方式:IME和TSF,WinXp之前只有IME(可以通過安裝補丁包支持TSF);WinXp支持TSF,但是默認情況下是關閉的,可以手動開啟;WinXp之后的版本同時支持IME和TSF。這樣也造成了相應的問題:早期的輸入法試用IME實現(WM_IME_消息與IMM API),現在最新版本的輸入法很多都是用TSF;同時IME的實現機制在不同版本的windows上實現也有差別。所以在編寫app內置輸入法相應的時候,兼容性也成了讓開發者頭痛難題。
相關術語:
TIP (Text Input Processor), a Text service in TSF
Cicero,TSF的開發代號,所以微軟內部通常稱呼TSF框架為Cicero
CUAS (Cicero Unaware Application Support),為所有應用程序和控件提供基本的TIP支持
AIMM(Active Input Method Manager),和CUAS一起工作
Status window,輸入法狀態欄 表示正在處于中文輸入狀態可以知道是什么輸入法
Composition window,當你開始輸入字母的時候,顯示字母
Candidates window,緊靠在composition window下面,指示可能的字符組合(就是中文備選)
收集的一些相關網頁:
權威網站MSDN
微軟拼音輸入法團隊博客 :TSF(Text Service Framework)簡介
對MSDN IME內容的翻譯整理 : 翻譯連連看之--《憶往昔》
對MSDN TSF內容的翻譯整理 : 翻譯連連看之--《看今朝》
Using an Input Method Editor in a Game
UILess Mode Overview
Input Method Editor and Text Services Framework Accessibility in Windows XP
待續。。。