Japanese Pocket IME Architecture (Windows CE 5.0)
The architecture of Pocket IME 2.0 has been redesigned to provide you with more flexibility for customizing the UI of an IME. The following illustration shows the Pocket IME 2.0 architecture that is implemented in Windows CE.
A Windows CE–based application uses the Input Method Manager (IMM) to talk with the IME. Pocket IME 2.0 provides two pieces of functionality to communicate with the IMM: the IME conversion interface and the Pocket IME user interface. The IME conversion interface provides a set of functions that are exposed through the IME. The IMM calls these functions to communicate with the IME. The IME user interface is provided in the form of windows. These windows receive messages and provide the user interface for the IME.
Pocket IME is a Microsoft® Win32® IME. The IME Conversion Interface and the IME User Interface are both implemented in the Pocket IME UI module (imejppui.dll). IMM does not use the Pocket IME kernel functionality directly.
The Pocket IME user interface uses the IImeIPoint2 and IImeIPointNotifySink interfaces to notify the kernel to convert characters that were entered by the user into Japanese characters. The IImeIPointNotifySink interface is a callback interface that needs be implemented on the UI side. The kernel uses this interface to send conversion results (intermediate and final) to the UI. The kernel contains a set of buffers that keep intermediate conversion results and perform the actual character conversion. The Pocket IME user interface can call the IImeIPoint2 interface to submit input characters to the buffer, notify the kernel to convert these characters, edit the composition string, and instruct the kernel to submit the conversion results back to the user interface. The kernel uses the IImeIPointNotifySink methods to transmit the conversion results to the user interface.
The Pocket IME user interface calls the IFEDictionary interface to query the kernel for the name of the user dictionary and open the user dictionary file. The user interface also uses this interface to enumerate, register, and unregister words from the user dictionary file.
See Also
Japanese Pocket IME | Japanese Pocket IME UI Code | Multiple Dictionary Support for Japanese | User Dictionary for Japanese | Registry Settings for Conversion Candidates | Japanese Dictionary Compiler | Japanese Pocket IME Interfaces | Using the IImeIPoint2 Interface | Working with the Input Method Editor | IImeIPoint2 | IImeIPointNotifySink | IFEDictionary
Send Feedback on this topic to the authors