This structure is used internally by IMM and the IME interface.
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;
The high-order word of fdwProperty has the following values. These properties are used by applications.
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 aid information. No aid information is provided 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. Otherwise, the IME is in HIRAGANA mode. |
IME_CMODE_NATIVE | This bit on indicates IME is in NATIVE mode. Otherwise, the IME is in ALPHANUMERIC mode. |
IME_CMODE_FULLSHAPE | This bit on indicates IME is in full shape mode. Otherwise, the IME is in SBCS mode. |
IME_CMODE_ROMAN | This bit on indicates IME is in ROMAN input mode. Otherwise, the IME is in non-ROMAN input mode. |
IME_CMODE_CHARCODE | This bit on indicates IME is in CODE input mode. Otherwise, the IME is in non-CODE input mode. |
IME_CMODE_HANJACONVERT | This bit on indicates IME is in HANJA convert mode. Otherwise, the IME is in non-HANJA convert mode. |
IME_CMODE_SOFTKBD | This bit on indicates IME is in soft keyboard mode. Otherwise, the IME is in nonsoft keyboard mode. |
IME_CMODE_NOCONVERSION | This bit on indicates IME is in no conversion mode. Otherwise, the IME is in conversion mode. |
IME_CMODE_EUDC | This bit on indicates IME is in EUDC mode. Otherwise, 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. Otherwise, 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 plural 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 zero or 2700. |
UI_CAP_ROT90 | The UI supports the escape in which LogFont is zero, 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 the 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 cannot expect the new mode and it must retrieve the mode again.