Apple Newton Programmer’s Newton 2.0 (for Newton 2.0) User Manual

Page 401

Advertising
background image

C H A P T E R 1 0

Recognition: Advanced Topics

Using Advanced Topics in Recognition

10-25

application’s NTK project; they might be supplied by the user in an input line
view; they might even arrive as serial data. Because dictionary items can originate
from a number of sources, the example here presumes that you know how to store
your word strings and pass them, one at a time, to the

AddWordToDictionary

function. This function adds its argument to the specified custom dictionary.

The

AddWordToDictionary

function does not place any restrictions on the

strings to be entered in the dictionary; however, your intended use of the dictionary
entry may influence its content. For nonrecognition purposes, such as validating
input to a field, any string is a valid dictionary entry. For use in stroke recognition,
strings in enumerated dictionaries must not include spaces. The printed recognizer
accepts the full set of ASCII characters; the cursive recognizer does not. Digits
or non-alphabetic characters in dictionary entries used by the cursive recognizer
must appear in the input string in order to be recognized. Do not use the

AddWordToDictionary

function to add items to the review dictionary; use the

appropriate

reviewDict

methods instead.

You can take the following steps to create a RAM-based enumerated dictionary at
run time:

1. Use the global function

NewDictionary

to create a new empty dictionary.

2. Use the global function

AddWordToDictionary

to add dictionary items to

the new dictionary.

3. Use the global function

GetDictionaryData

to create a binary

representation of the completed dictionary, which can then be stored in a soup.

Another way to do this is to create a new dictionary and restore its data from a soup.

The next several sections describe the numbered steps in greater detail. Following
this discussion, the section “Restoring Dictionary Data From a Soup” (page 10-28),
describes how to restore an existing dictionary from soup data.

Creating the Blank Dictionary

10

You can create a blank RAM-based dictionary anywhere in your application that
makes sense; a common approach is to take care of this in the

ViewSetupFormScript

method of the application’s base view. You must also

create a slot in which to store the RAM-based dictionary. The following code
fragment creates a dictionary in the

mySpecialDictionary

slot.

ViewSetupFormScript := func()

begin

mySpecialDictionary := NewDictionary('custom);

end

This code example uses the

NewDictionary

function to create a blank dictionary

in the

mySpecialDictionary

slot. The

NewDictionary

function accepts the

Advertising