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.