IFELanguage data
structure
WDD (Word Descriptor) One WDD describes one word. All strings are assumed to be encoded in UNICODE. Part of Speech is dependent on an implementation of an IME, which exports this interface. The POS of Japanese version is defined in this list. // Word Descriptor typedef struct tagWDD{
} WDD; WORDwDispPos;offset to output string
WORD wReadPos;offset to reading string
WORD cchDisp; number of display chars WORD cchRead; number of reading chars DWORD nReserved; Reserved WORD nPos; part of speech. defined by IME implementations. WORD fPhrase : 1;this word is the start of phrase WORD fAutoCorrect: 1;auto-corrected word WORD fNumericPrefix: 1; Numeric prefix word (Japanese only) WORD fUserRegistered: 1;this is from user dictionary WORD fUnknown: 1;this is unknown word to IME WORD fRecentUsed: 1;word used recently WORD :10; reserved VOID *pReserved;reserved
MORRSLT (Sentence Descriptor) The caller of GetMorphResult() is always responsible for releasing the memory of this block using CoTaskMemFree().All strings are assumed to be encoded in UNICODE.
DWORDdwSize; total size of this block. WCHAR*pwchOutput; conversion result string WORDcchOutput; length of result string. WCHAR*pwchRead; reading string. WORDcchRead; length of reading string. WORD*pchInputPos; index of reading to input character. This is used only if the implementation needs a mapping of input key character sequence and reading (phonetic character symbol sequence).
Example: きょうはてんきです Reading chInputPos[] 0 X 3 4 6 8 9 1 3 wchInput[] |kyo|u|ha|te|n|ki|de|su| Input characters of GetMorphResult method call |012|3|45|67|8|90|12|34| Input character positions 'X' means the reading doesn't have corresponding input character. X:[FELANG_INVALD_PO] WORD*pchReadIdxWDD; index of reading character to WDD. WORD*paMonoRubyPos;index of monoruby. Used if FELANG_CMODE_MONORUBY is on. Otherwise paMonoDubyPos is NULL. WDD*pWDD; pointer to array of WDD INTcWDD; number of WDD VOID*pPrivate;reserved WCHAR BLKBuff[]; // area for stored above members |