IFELanguage Functions
August 2003
Microsoft Corporation
Summary: This document describes the various methods relating to the IFELanguage functions of Microsoft IME 2003, Japanese version. (7 printed pages)
IFELanguage Methods | Description |
---|---|
Open | Opens the interface to initiate a session |
Close | Closes the interface to terminate a session |
GetJMorphResult | Gets the morphological analysis result |
GetConversionModeCaps | Gets the conversion mode capability |
GetPhonetic | Converts the string to phonetic symbols |
HRESULT IFELanguage::Open
This method must be called before the use of IFELangauge for initialization.
Parameters: None.
Return | Values |
---|---|
HRESULT |
S_OK: Successfully terminated S_FALSE: Fails to create a result |
Note Microsoft® IME 98 Japanese version has the limitation that multiple processes should not initialize simultaneously through this call.
HRESULT IFELanguage::Close
This method must be called after using IFELanguage for termination.
Parameters: None
Return | Values |
---|---|
HRESULT |
S_OK: Successfully terminated S_FALSE: Fails to create a result |
HRESULT IFELanguage::GetJMorphResult
This method is used to get morphological analysis results. Before using this function, call IFELangauge::Open once for initialization.
Parameter | Description |
---|---|
DWORD dwRequest |
(IN) A request for conversion FELANG_REQ_CONV FELANG_REQ_RECONV FELANG_REQ_REV |
DWORD dwCMode |
(IN) Any combination of the values below is possible, which determines the conversion output characters and some conversion options:
FELANG_CMODE_MONORUBY |
INT cwchInput |
(IN) Number of characters of ptchInput |
WCHAR *pwchInput |
(IN) Original input characters to be converted by morphology engine NULL means to get the next entry for the previously given string, with the next rank This must be a UNICODE string The order in which next entries are returned is defined by an implementation |
DWORD *pfCInfo |
(IN) Means the information for each column (ptchInput[x]); pfCInfo[x] (column info) can be a combination of the flags below:
FELANG_CLMN_WBREAK |
MORRSLT **ppResult |
(OUT) Address of an MORRSLT structure that receives morphology result data GetJMorphResult() allocates memory (using the OLE task allocator) for the returned data, and sets the pResult to point to the memoryThe application must free the memory pointed to by pResult , by using the CoTaskMemFree function |
Return | Values |
---|---|
HRESULT |
S_OK: More candidates exist (if you call this function with ptchInput NULL, it will get the next best candidate for the previous ptchInput) S_FALSE: Fails to create result E_NOCAND: No more candidates E_LARGEINPUT: Too large input Fails to create result. |
dwRequest—Request for Conversion
FELANG_REQ_CONV—to get a composition string from a string with Japanese phonetic characters. This request requires that the input string is a string with Japanese phonetic characters that doesn't have any ideographic character.
FELANG_REQ_RECONV—to get a composition string from a composition string. This request is to get a re-conversion result from a conversion result.
FELANG_REQ_REV—to get a string with Japanese phonetic characters from a composition string. On this request, the contents of WDD[n].wDispPos
and WDD[n].wReadPos
are exchanged.
MORRSLT.pwchRead
is used as the source of reverse conversion.
pfCInfo
—information relating to an input in each column.
Any combination of the flags below can be set for each column of an input string:
FELANG_CLMN_WBREAK |
PwchInput[x] is forced to be the start of the word in analysis. |
FELANG_CLMN_NOWBREAK |
The result must not be divided here when IFELanguage makes a word. FELANG_CLMN_NOWBREAK always includes FELANG_CLMN_NOPBREAK. |
FELANG_CLMN_PBREAK |
PwchInput[x] is forced to be the start of a phrase in analysis. FELANG_CLMN_PBREAK always includes FELANG_CLMN_WBREAK . |
FELANG_CLMN_NOPBREAK |
The result must not be divided here when IFELanguage makes a PHRASE. |
FELANG_CLMN_FIXR |
PwchInput[x] is used as a Japanese phonetic character in a conversion result on a FELANG_REQ_REV request. That is, the Japanese phonetic character of the conversion result is fixed to be ptchInput[x] . |
FELANG_CLMN_FIXD |
PwchInput[x] is used as a display character in a conversion result on a FELANG_REQ_CONV request. That is, the display character of the conversion result is fixed to be ptchInput[x] . |
dwCMode—Conversion Mode
- Any combination of the values below is possible. This determines the conversion mode.
- FELANG_CMODE_MONORUBY: Makes a string with Japanese phonetic characters for mono-ruby wherever possible. If this flag is set, the returned result is put at paMonoBubyPos. This mode is valid when FELANG_REQ_REV is specified.
- FELANG_CMODE_NOPRUNING: No pruning (filtering) in morphology analysis.
- On input of , it may return, for example, ( is the body part of ). This result is impossible grammatically, but with
FELANG_CMODE_NOPRUNING,
one can obtain this candidate. - FELANG_CMODE_KATAKANAOUT: Output is in Katakana (Japanese phonetic) characters when IFELANG_REQ_REV is specified.
- FELANG_CMODE_HIRAGANAOUT: Output is in Hirakana (Japanese phonetic) characters when IFELANG_REQ_REV is specified.
- FELANG_CMODE_ROMAN: Output is in Roman characters when IFELANG_REQ_REV is specified.
- FELANG_CMODE_HALFWIDTHOUT: Output is in half-width characters.
- FELANG_CMODE_FULLWIDTHOUT: Output is in full-width characters (default).
- FELANG_CMODE_BOPOMOFO: Output is in Bopomofo (Taiwan phonetic) characters when IFELANG_REQ_REV is specified.
- FELANG_CMODE_HANGUL: Output is in Hangul (Korean phonetic) characters when IFELANG_REQ_REV is specified.
- FELANG_CMODE_PINYIN: Output is in Pinyin (Chinese phonetic) characters when IFELANG_REQ_REV is specified.
- FELANG_CMODE_PRECONV: Performs the following conversion before the actual conversion. These are implementation defined:
- ROMAN to phonetic characters, for example: [a] to []
- The auto collect before the conversion, for example: [] to [-]
- The conversion of the punctuation mark and the brackets, for example: [] to [,]
- FELANG_CMODE_RADICAL: Japanese phonetic characters are returned in radical (CHN).
- FELANG_CMODE_UNKNOWNREADING: Japanese phonetic characters are returned in unknown format. (CHN)
- FELANG_CMODE_MERGECAND: The result strings (candidates) are merged when the strings are the same.
- FELANG_CMODE_ROMAN (JPN): Enables the romaji-kana conversion.
- FELANG_CMODE_BESTFIRST: Forces simple conversion to get better performance time rather than conversion accuracy.
- FELANG_CMODE_USENOREVWORDS(JPN): Optional conversion using additional words (for example, reverse conversion from address to ZIP code)
- FELANG_CMODE_NONE: Corresponds to the analysis in IME_SMODE_NONE
- FELANG_CMODE_PLAURALCLAUSE: Corresponds to the analysis in IME_SMODE_ PLAURALCLAUSE
- FELANG_CMODE_SINGLECONVERT: Corresponds to the analysis in IME_SMODE_SINGLECONVERT
- FELANG_CMODE_AUTOMATIC: Corresponds to the analysis in IME_SMODE_AUTOMATIC
- FELANG_CMODE_PHRASEPREDICT: Corresponds to the analysis in IME_SMODE_PHRASEPREDICT
- FELANG_CMODE_CONVERSATION: Corresponds to the analysis in IME_SMODE_CONVERSATION
- FELANG_CMODE_NAME(JPN): Name mode (same as FELANG_CMODE_PLAURALCLAUSE)
- FELANG_CMODE_NOINVISIBLECHAR: When specified, remove invisible characters in output string. This flag is usually used for display purpose. Both CHN and TWN IME will return some spaces and invisible characters. (For example, First tone mark, U+02c9, in Bopomofo.) For these, however, invisible characters should be removed upon displaying.
REMARKS This function should not fail on any input (except memory full, and so on). In the worst case, this function returns a result with an unknown word.
HRESULT IFELanguage::GetConversionModeCaps
This method is used to get conversion mode capability of the IFELanguage. This function returns the FELANG_CMODE_xxx's supported by the object. *pdwCaps
is a combination of supported FELANG_CMODE_xxx's.
Parameter | Description |
---|---|
DWORD *pdwCaps |
(OUT) *pdwCaps is a bit field that contains FELANG_CMODE_xxx. |
Return | Values |
---|---|
HRESULT |
S_OK Successfully terminated S_FALSE Fails to create result |
HRESULT IFELanguage::GetPhonetic
This method is a thin wrapper function of GetJMorphResult with FELANG_REQ_REV. It simply converts the input string (which usually contains Kanji characters) to phonetic symbols. This function is designed to be called by Microsoft Visual Basic® (Visual Basic for Applications) through TLB.
Parameter | Description |
---|---|
BSTR string | (IN) A string of Kanji characters to be converted to phonetic symbols |
LONG start | (IN) The number of characters from which IFELanguage begins conversion; the first character is 1 (not 0) |
LONG length | (IN) The length of characters to be converted; if this value is (-1), it means that the entire length from the 'start' column is selected |
BSTR *phonetic | (OUT) The result string; this string is allocated by SysAllocStringLen and must be freed by clients |
Return | Values |
---|---|
HRESULT |
S_OK: Successfully terminated S_FALSE: Fails to create a result |