IMEINFO


typedef struct tagIMEInfo {
  DWORD  dwPrivateDataSize;  // byte count of private data
  DWORD  fdwProperty;        // IME property bits
  DWORD  fdwConversionCaps;  // IME conversion mode capability bits
  DWORD  fdwSentenceCaps;    // IME sentence mode capability
  DWORD  fdwUICaps;          // IME UI capability
  DWORD  fdwSCSCaps;         // ImeSetCompositionString capability
  DWORD  fdwSelectCaps;      // IME inherit IMC capability
} IIMEINFO;

This structure is used internally by IMM and the IME interface.

The high-order word of fdwProperty has the follow values. These properties are used by applications.

IME_PROP_AT_CARET

This bit on indicates the IME conversion window is at the caret position. This bit off indicates a near caret position operation IME.

IME_PROP_SPECIAL_UI

This bit on indicates the IME has a special UI. An IME should set this bit only if it has a UI that an application can not display. Normally, an IME will not set this flag.

IME_PROP_CANDLIST_START_FROM_1

This bit on indicates the UI of the candidate list strings starts from 0 or 1. An application can draw the candidate list string by adding "1", "2", "3", and so on, to the front of the candidate string.

IME_PROP_UNICODE

This bit on indicates the string contents of the input context are in UNICODE

The low-order word of fdwProperty has the follow values. These properties are used by the system.

Properties

Description

IME_PROP_END_UNLOAD

This bit on indicates the IME is unloaded when it is inactive.

IME_PROP_KBD_CHAR_FIRST

This bit on indicates the system translates the character by keyboard first. This character is passed to IME as an aid information. No aid information when this bit is off.

IME_PORP_NEED_ALTKEY

This IME needs the ALT key to be passed to ImeProcessKey.

IME_PROP_IGNORE_UPKEYS

This IME does not need up keys to be passed to ImeProcessKey.


The fdwConversionCaps member shares the same definition for the conversion mode. If the relative bit is off, this IME does not have the capability to handle either the corresponding bit of conversion mode is on or off.

Value

Meaning

IME_CMODE_KATAKANA

This bit on indicates IME is in KATAKANA mode, else the IME is in HIRAGANA mode.

IME_CMODE_NATIVE

This bit on indicates IME is in NATIVE mode, else the IME is in ALPHANUMERIC mode.

IME_CMODE_FULLSHAPE

This bit on indicates IME is in full shape mode, else the IME is in SBCS mode.

IME_CMODE_ROMAN

This bit on indicates IME is in ROMAN input mode, else the IME is in non ROMAN input mode.

IME_CMODE_CHARCODE

This bit on indicates IME is in CODE input mode, else the IME is in non CODE input mode.

IME_CMODE_HANJACONVERT

This bit on indicates IME is in HANJA convert mode, else the IME is in non HANJA convert mode.

IME_CMODE_SOFTKBD

This bit on indicates IME is in soft keyboard mode, else the IME is in non soft keyboard mode.

IME_CMODE_NOCONVERSION

This bit on indicates IME is in no conversion mode, else the IME is in conversion mode.

IME_CMODE_EUDC

This bit on indicates IME is in EUDC mode, else the IME is not in EUDC mode. Under this mode, if GCS_RESULTSTR is generated, the current reading string is valid and can be converted. In some IMEs, if the vowel is not included, it is not a valid reading string. The EUDC editor should not provide such a reading string. The result string may contain nothing under GCS_RESULTSTR generated, because the string is the EUDC string that EUDC editor is going to register.

IME_CMODE_SYMBOL

This bit on indicates IME is in SYMBOL mode, else the IME is not in SYMBOL mode.


The fdwSentenceCaps member shares the same constant definition for the sentence mode. If the relative bit is off, this IME does not have the capability to handle either the corresponding bit of sentence mode is on or off.

Value

Meaning

IME_SMODE_PLAURALCLAUSE

This bit on indicates IME supports plaural clause sentence mode.

IME_SMODE_SINGLECONVERT

This bit on indicates IME support single character sentence mode.

IME_SMODE_AUTOMETIC

This bit on indicates IME support automatic sentence mode.

IME_SMODE_PHRASEPREDICT

This bit on indicates IME support phrase predict sentence mode.


The fdwUICaps has the follow bits.

Value

Meaning

UI_CAP_2700

The UI supports the escape in which the LogFont is 0 or 2700.

UI_CAP_ROT90

The UI supports the escape in which LogFont is 0, 900, 1800 or 2700.

UI_CAP_ROTANY

The UI supports any escape.

UI_CAP_SOFKBD

The IME uses soft keyboard provided by the system.


The fdwSCSCaps member has the follow values:

Value

Meaning

SCS_CAP_COMPSTR

This IME can generate the composition string by SCS_SETSTR.

SCS_CAP_MAKEREAD

When calling ImmSetCompositionString with SCS_SETSTR, the IME can create the reading of composition string without lpRead. Under an IME that has this capability, the application does not need to set lpRead for SCS_SETSTR.


The fdwSelectCaps has the follow values:

Value

Meaning

SELECT_CAP_CONVMODE

The IME can inherit the conversion mode at ImeSelect.

SELECT_CAP_SENTENCE

The IME can inherit the sentence mode at ImeSelect.


This capability is for the application. When the user changes the IME, the application can know if the conversion mode will be inherited by seeing this capability. If the newly selected IME does not have this capability, the application can not expect the new mode and it must retrieve the mode again.