Http://blog.csdn.net/MSPinyin/archive/2011/01/14/6137709.aspx
Several TSF terms
Tip (text input processor), a text service in TSF
Cicero is the development code of TSF. Therefore, Microsoft generally calls the TSF framework Cicero
Cuas (CICERO unaware Application Support), which provides basic tip support for all applications and controls
Aimm (active input method Manager), working with cuas
Input Method Framework
Let's talk a little bit about the history. Windows provides two input methods frameworks: Windows XP and earlier, which are Imm (Input Method Manager) based on pure function APIs. Currently, non-Microsoft Chinese input methods only implement the IMM framework.
After and after Windows XP, Windows provides a new input framework TSF, which is based on COM. In fact, in Windows Vista and Windows 7, all applications and various input controls give priority to the implementation of TSF. However, Windows Vista and Windows 7 users can also use various Imm-based input methods because Windows provides a component to convert all TSF requests to Imm APIs.
According to Microsoft, TSF will eventually replace the IMM framework. Microsoft Pinyin has implemented both frameworks based on compatibility, functionality, and performance.
The following describes the TSF framework input method and interaction with applications.
TSF framework
It aims to provide a simple, universal and scalable framework for advanced text input and natural language processing. A tsf text service provides multi-language support and processing: keyboard input (the input method we usually talk about), handwriting recognition, and language recognition.
TSF Architecture
As shown in the preceding architecture diagram, TSF provides an indirect layer for application and input method implementation (a text service/tip can be an input method or speech recognition ). Therefore, the advantage of TSF is that it is a device-independent, language-neutral, scalable system, and provides users with consistent input experience. Any TSF-enabled application can accept text input from any text service without considering the details of text source. At the same time, text service does not need to consider the differences between different applications. For example, the following application scenarios:
It can be seen that the application receives the text "the boy ate the Red Apple", but it does not know which tip these words are entered, it may be "keyboard tip ", or "speech tip.
Interaction with Applications
So how does this framework work? Take a look at the following component interaction Diagram
In Windows XP, cuas is disabled by default, and its interaction is as follows:
As you can see, all "edit control" (including notepad) calls Imm APIs directly, and finally Imm input method. After version 4.1, "RichEdit control" (including WordPad) is the input method directly implemented using TSF)
In Windows XP, If you enable cuas, or in Windows Vista and Windows 7, the interaction is as follows:
We can see that there is another interaction between imm32 and cuas, which means that if a input method implements tip, in Windows Vista and Windows 7, or Windows XP opened by cuas, all input of the application is implemented by the tip.
Summary
This article briefly introduces the Input Method Framework, the framework and advantages of the TSF framework, and how it interacts with applications and tip. We hope this article will help you with the rare official materials in this regard.
[Note]
On Windows XP, how do I enable the "cuas:" check box in the red box.
This article from the csdn blog, reproduced please indicate the source: http://blog.csdn.net/MSPinyin/archive/2011/01/14/6137709.aspx