Three Levels of IME Support for Applications Running on Windows 95

Glossary

  • Input context: An internal structure that stores IME-related status information. Windows 95 supports multiple IME contexts, automatically creating an input context for each active thread.

Input Method Editor support on Far East editions of Windows 3.1 and Windows NT 3.5 differs slightly depending on the target language. The differences are inconvenient for developers—sharing a common code base among Far East editions of an application requires additional work because IME-related code has to be customized depending on the target language. The designers of Windows 95 therefore decided to create a common IME system for Far East editions of Windows 95.

The Windows 95 team's goal in redesigning the IME system was to give applications more control over mechanisms handled exclusively by the IME module on Windows 3.1. For example, on Windows 3.1, applications had no control over characters that the user entered until the IME posted a WM_CHAR or WM_IME_REPORT message. On Windows 95, however, applications have the option of trapping and responding to messages before the messages are processed by the IME. Applications that contain code to support Windows 3.1–based or Windows NT 3.5–based IMEs still run correctly on Windows 95 as long as the application executable is identified as Windows NT 3.5 or as an earlier version, but once you become familiar with the Windows 95–based model, you will probably want to rework your code to take advantage of the additional features offered, particularly because Windows NT 3.51 supports the same model.

There are three discrete levels of IME support for applications running on Windows 95: no support, partial support, and fully customized support. Applications can customize IME support in small ways—by repositioning windows, for example—or they can completely change the look of the IME user interface. (See the section titled "Customized IME Support on Windows 95".)