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
RC
structure.
lpsye
Address of an
array of SYE
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 RC 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 FirstSymbolFromGraph function.
If the option
RCO_NOSPACEBREAK is set in the lRcOptions field of the specified RC 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 EnumSymbols
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