Share via


Japanese Pocket IME Architecture

Other versions of this page are also available for the following:

Windows Mobile Not SupportedWindows Embedded CE Supported

8/28/2008

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 Embedded CE.

Bb202887.5da17f8f-423f-48aa-a1af-3211978ed7b5(en-us,MSDN.10).gif

A Windows Embedded 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

Reference

IImeIPoint2
IImeIPointNotifySink
IFEDictionary

Concepts

Japanese Pocket IME UI Code
Multiple Dictionary Support for Japanese
User Dictionary for Japanese
Registry Settings for Conversion Candidates
Japanese Dictionary Compiler

Other Resources

Japanese Pocket IME
Japanese Pocket IME Interfaces
Using the IImeIPoint2 Interface
Working with the Input Method Editor