DictionarySearch 

1.0     2.0     

Performs a dictionary search for a version 1.0 recognizer.

 

Note  This function is provided only for compatibility with version 1.0 of the Pen API and will not be supported in future versions.

 

BOOL DictionarySearch( LPRC lprc, LPSYE lpsye, int cSye, LPSYV lpsyv, int csyvMax )

Parameters

lprc

Address of an RC232HBHC structure.

lpsye

Address of an array of SYE3BE5AM5 symbol elements that constitute the symbol graph.

cSye

Number of SYE structures in the array.

lpsyv

Output buffer of SYV types. This parameter contains the return results of the dictionary search. A SYV_NULL value is always appended at the end of this buffer. Therefore, this parameter must have enough space for csyvMax + 1 SYV symbol values.

csyvMax

Size of the output buffer.

Return Value

Returns TRUE if any enumeration is found in a dictionary. It returns FALSE if a NULL dictionary was requested or none of the enumerations was found in any dictionary.

Comments

The DictionarySearch function uses the symbol graph pointed to by lpsye, performs a dictionary search based on the options set in lprc, and returns the result as an array of SYV symbol values in the buffer pointed to by lpsyv. The function returns the number of SYV elements copied, limited by the maximum specified in the csyvMax parameter.

DictionarySearch first passes the symbol graph with DIRQ_SYMBOLGRAPH to all the dictionaries in the rglpdf array in the specified RC232HBHC structure. If none succeeds, the function enumerates the symbol graph in lpsye and searches through all of the dictionary functions for a match. The calling application can get suggestions by setting the RCO_SUGGEST flag in the lRcOptions field in the RC structure. When this flag is set and no enumeration is found in any of the dictionaries in the rglpdf array, DictionarySearch tries to get a suggestion from the dictionaries on the path. DictionarySearch takes the first suggestion offered by any dictionary and returns that as the result of the search. If there are no suggestions, the function returns the best enumeration. The best enumeration is obtained using the FirstSymbolFromGraph1AOBW7 function.

If the option RCO_NOSPACEBREAK is set in the lRcOptions field of the specified RC232HBHC structure, DictionarySearch treats the entire lpsye array as a single symbol graph. If this flag is not set, the function breaks down the input symbol graph into tokens delimited by white space, performs the search sequence on each of them, and assembles the result in the lpsyv array.

This function uses the EnumSymbols1AOBV_ function for enumeration and the wTryDictionary member in the RC structure to specify the maximum number of enumerations to search through for each symbol graph token.

See Also

EnumSymbols, FirstSymbolFromGraph, SYE