SECTION ELEVEN
EXCEPTION, CHARACTER AND KEY LABEL DICTIONARIES

11.1:  INTRODUCTION

You will recall back in Section 4 of this manual we first introduced you to
Vocal-Eyes' Voice Control Panel.  As you explored the punctuation
submenus, often you encountered options called "Dictionary only."  We
told you then that we'd be talking about these dictionaries in a later
section of this manual.  Well, now is the time! 

In this section of your Vocal-Eyes users' guide we're going to be talking
about three different types of dictionaries:  "character dictionaries", "key
labeling dictionaries", and "exception dictionaries."  The first of these will
allow you to choose any mark of punctuation, control character or
extended ASCII graphic character, and instruct Vocal-Eyes exactly how
you would like that character pronounced.  Perhaps you'd like Vocal-Eyes
to say "Full stop" every time it encounters a period in your applications
program.  Or maybe you'd like the extended graphic character ASCII 209,
which Vocal-Eyes describes as a "double horizontal with centered down
joint" to be described as a "double bar single down," or perhaps "double
T."  By making use of Vocal-Eyes' character dictionary you can do these
and more.

The exception dictionary allows you to change the pronunciation of a
word.  Unlike the character dictionary which is limited to redefining a
single character, the exception dictionary will allow you to fix
mispronunciations of full words.

Also in this section we'll show you how to attach a voice label to any key
you'd like.  Would you like your F1 key to say "Help" every time you
press it?  How about your WordPerfect F6 and F8 keys?  Would you like
them to say "Bold" and "Underline" respectively?  In this section we'll
show you how.

11.2:  CHARACTER DICTIONARIES

A character dictionary is actually nothing more complicated than a small
DOS or ASCII text file in which the first line denotes the character you'd
like pronounced and the second line describes exactly how you'd like it
spoken.  Sounding Board users--you're already familiar with the concept
of dictionaries from your use of exception dictionaries with your speech
synthesizer.  Character dictionaries work almost exactly the same way. 
By the way, you can still use your Sounding Board dictionary if you wish.

11.2.1:  CREATING THE CHARACTER DICTIONARY

Here's how to create a character dictionary.  First, load in your favorite
text editor or word processor with an "export to ASCII text file" feature. 
Now, decide what character you'd like pronounced differently than your
synthesizer currently pronounces it.  For our example we'll use the period
(.) character which we mentioned in the introduction to this section.  Type
a period all by itself on the first line of your text file.  Press ENTER.  Now,
on the second line, type in the word or words that describe how you'd
like the period character pronounced.  Type "full stop," if you like, or
"dot," or whatever else you'd prefer Vocal-Eyes to voice every time it
encounters a period.  (Note:  Do not include the quotation marks, unless
of course you want Vocal-Eyes to say quote.)  Now, having typed in your
alternative pronunciation for the period character, press ENTER again to
end the dictionary line.

Let's put a second character into your character dictionary.  This time
we'll use the extended graphic character ASCII 209 we mentioned in the
introduction to this section.  As before, the first thing you'll want to do is
to enter the character into your text file.  Use line three to begin your
second entry.  Now, there are two ways you can enter the ASCII 209
extended graphic character.  First, you could enter the character directly,
assuming your text editor will accept such entries.  You would do this by
pressing the ALT key and then using your PC's numeric key pad to enter
the number 209.  Alternatively, and more simply, you could type a / (not
a \) character and then follow it by typing in the number 209.  Press
ENTER.  Now, type in the way you'd prefer the ASCII 209 "double
horizontal with centered down joint" character be pronounced.  Your
character dictionary text file should now look something like this:

.
full stop
/209
double T

Don't forget to press ENTER to complete your second entry.

Are there any other character's you'd like to add to your character
dictionary?  If so, enter them now.  Begin each new entry on the very
next line following the preceding entry.  In other words, don't add any
blank lines between entries.  Also, don't forget to conclude your last entry
with a press of the ENTER key.

The order of the entries is not important other then the first line of each
entry can only contain the single character you wish to define or the /
followed by the ASCII value.  The line following the actual character can
contain anything.  Therefore, each entry requires two lines in the file.

11.2.2:  SAVING YOUR CHARACTER DICTIONARY

When you're done adding characters and their alternative pronunciations
to your Character dictionary, it's time to save your file to disk.  Remember
to save it in a standard ASCII text file.  If you're using Noteworthy to
construct your character dictionary, using the ALT-S save file command
will automatically save your file in ASCII format.  WordPerfect 5.1 users,
you can use the CTRL-F5 option.  Press one for DOS text files.  Press one
a second time to save your file.

You should save your character dictionary in the same subdirectory where
you keep your Vocal-Eyes program files.  Also, you can give your
character dictionary any legal DOS file name.  You should use the .CHR
suffix, however, for reasons which will become evident in the next
subtopic.  Since Autoloading works with character dictionaries the way it
does with .SET files, you might also want to give your character
dictionary a name that matches your application's executable file.  For
example, you might call it WP.CHR if you want to use it with WordPerfect
or 123.CHR for use with Lotus 1-2-3.

11.2.3:  LOADING YOUR CHARACTER DICTIONARY

Now that you've created and saved your character dictionary, there's one
more step you must perform before Vocal-Eyes can begin using it.  You
must alert Vocal-Eyes that there is a character dictionary you want it to
use.

In section 12 we'll describe Autoloading in detail.  For now, you need to
know that there are two ways to let Vocal-Eyes know about the character
dictionary.

If you have autoloading enabled, and you probably do, simply execute the
application for which you designed your dictionary.  If the name of the
dictionary matches the name of the application's executable file, you will
have "loaded" the dictionary simply by going into your application.  

If you have autoloading disabled, or if you prefer not to match your
character dictionary name with your application name, you can load your
dictionary by running Vocal-Eyes and telling it the name of the dictionary
to use.  Let's say you named your character dictionary CHAR.CHR.  In
this case your command line to load or to reinvoke Vocal-Eyes would look
something like this:

VE /CCHAR.CHR

Did you save your dictionary file on the same disk or subdirectory where
you keep your Vocal-Eyes files?  As is the case with .SET files, Vocal-
Eyes first checks the drive and directory it was started from for the
dictionary.  If found there, it will be loaded and used.  If it was not found
there, Vocal-Eyes will then check the drive and directory you are currently
logged onto.  Also, just as Vocal-Eyes assumes that the extension of a
.SET file is .SET, Vocal-Eyes will default to the .CHR extension.  Thus,
you could just as easily have entered your Vocal-Eyes command line as

VE /CCHAR

As you can see, it's a good idea to give your dictionary files the .CHR
extension.  It saves keystrokes when loading the files.  Also, it helps keep
your dictionary files organized.  It would be a good idea to keep these
files as well as your .SET files in the same directory as Vocal-Eyes itself. 
Like .SET files, you'll may soon end up with an entire library of .CHR files,
one for each of your favorite applications programs.

You can also load the character dictionary from the Files submenu. 
Notice option 4: Load Character Dic.  If you press ENTER on this option,
you will be prompted for the character dictionary file name.  Also, if you
currently have a dictionary loaded, the default file name will be displayed. 
If all you wanted to do was look at the file name currently loaded, simply
press ESCAPE to cancel the load.  If however, you actually wish to load a
new character dictionary, simply type the dictionary file name and press
ENTER.  If you supply a path as before, Vocal-Eyes will only look at the
specified location.  If however, you only supply the file name with no
drive or path specification, Vocal-Eyes will first look in the original Vocal-
Eyes directory for the file.  If found, it will be loaded.  If not found
however, the drive and directory you are currently logged onto will be
checked for the same file name.  If found, it will be used.  If not found, an
error message will be issued.

If you wish to clear the current character dictionary, simply specify a file
name of "C."  Instead of loading the file C.CHR, Vocal-Eyes will clear the
current dictionary and give a message indicating that it has done so. 
There will be no default character dictionary file name after a clear
command has been issued.

The advantage of using the files submenu to load the dictionary instead of
the command line is you do not have to be at the DOS prompt to issue
the load.

11.2.4:  THE CHARACTER DICTIONARY BUFFER

As was the case with .SET files, Vocal-Eyes reserves a place in your PC's
memory to contain your .CHR dictionary files.  This place is known as the
Character Dictionary Buffer.  By default Vocal-Eyes reserves 256 bytes of
memory for this buffer.  This is enough space to hold 256 characters,
including the dictionary characters along with their alternative
pronunciations.  This will probably be plenty of buffer space for all but the
largest of character dictionaries.  Should you require more space for your
character dictionary, however, you can increase the size of this buffer up
to 2 1/4K by using the /!Cn "set character buffer size" parameter.  The
"n" in this parameter stands for the number, from 0 to 9, of the size in
1/4 kilobyte increments of the largest character dictionary buffer you wish
to create.

Remember, /! parameters can only be entered once the first time you run
Vocal-Eyes each session.  They may be entered in any order, just so long
as they all appear the first time you load Vocal-Eyes.  For example:

VE /!C6/CWP

This command would first allocate six times 256 or 1,536 bytes for your
character dictionary.  Then the file WP.CHR would be loaded in this
buffer.  The line:

VE /!C0

would not allocate any character buffer at all.  This frees up more of your
RAM but also means you will not be able to load any character dictionary
this session with Vocal-Eyes.

As we said before, a character dictionary will remain in your Vocal-Eyes
buffer until you either load a new character dictionary to take its place or
else clear the dictionary from Vocal-Eyes' buffer.

You can load a new character dictionary into Vocal-Eyes at any time by
simply returning to DOS and reinvoking Vocal-Eyes with the name of the
new character dictionary you want entered as a /C(dictionary file name)
parameter.  Vocal-Eyes will clear the current dictionary from memory and
replace it with the new dictionary.

To clear a character dictionary from Vocal-Eyes' memory without loading
a new dictionary in its place, simply return to DOS and reinvoke Vocal-
Eyes with the following parameter:

VE /CC

The first C in the above parameter standing for character dictionary, the
second C standing for clear.  Although your character buffer is still
allocated, it does not contain any characters.  If you wish, you can at any
time load a new character dictionary.

What if you don't want to clear the dictionary buffer but stop using it for
a little bit?  For example if you are in WordPerfect and use the Shell
option to enter DOS, you don't want all of the characters you setup for
WordPerfect to speak that way in DOS.  How about using option 6 off of
the General submenu.  This is the Character Dictionary on/off switch.  If
you switch this to off, Vocal-Eyes will not use the entries currently in the
buffer but it will not clear them out either.  Why not, in your DOS.SET
file, turn this option off?  That way when you load the DOS.SET file after
you shelled to DOS, the character dictionary buffer will automatically be
turned off for you.  When you exit back to WordPerfect, the character
buffer could be automatically re-enabled for you as well.  Those of you
with Noteworthy will notice the supplied NW.SET has this option turned
off for you already.

11.2.5:  THE "DICTIONARY ONLY" OPTION

Let's go back now to the Voice Control Panel's Screen and Keyboard
menus.  You will recall that the punctuation submenus for each included
among its rotary choices a "Dictionary Only" option.  Well, here's where
your character dictionaries come into play.

Consider, for this example, the Screen Math option.  We've already
learned that this option controls the way Vocal-Eyes voices the
mathematical characters that appear on your screen, including the +, -,
*, /, (, ), %, ^, <, > and =.  Now, suppose you really like the way
Vocal-Eyes pronounces all of these punctuation marks--with one
exception.  You'd rather that the / character, which Vocal-Eyes
pronounces "slash" were pronounced "divided by."  Easy enough.  Simply
load your character dictionary into your text editor and include the
following two lines:

/
divided by

Don't forget to press ENTER to complete your entry.  Now, re-save your
dictionary under the same name.  Vocal-Eyes will still pronounce the /
character as a /, but the next time you run or reinvoke Vocal-Eyes with
your character dictionary Vocal-Eyes will pronounce the / character as
"divided by."

You don't have to change the Math On/Off/Dictionary Only setting.  With
the setting in the On position, Vocal-Eyes will pronounce all mathematical
characters normally, except for the / character or any others you may
have put into your character dictionary.

Choosing the "Dictionary Only" setting, on the other hand, instructs
Vocal-Eyes not to pronounce any of the various mathematical characters
except for those that are in your character dictionary.  Suppose, for
example, that the only mathematical characters you want Vocal-Eyes to
voice are the /, the * and the =.  In this case you would make the
"Dictionary Only" selection and then add each of these three characters
to your character dictionary.  You could enter them like this:

/
slash
*
star
=
equals

As you can see, using character dictionaries allows for tremendous
flexibility.  Select the number four option in the Keyboard punctuation
submenu.  Notice that you can use this option to set the voicing of the
space character to Dictionary Only.  Would you like Vocal-Eyes to say
something other than "space?"  How about something like "move?"  You
could do this by adding the following two lines to your character
dictionary

/32
move

We used the /32 because it's the ASCII value for the space character. 
Use your Attrib-ASCII hot key to see for yourself.

Sounding Board users--you can, if you like, instruct Vocal-Eyes to sound
your synthesizer's bell every time you type a space by adding the
following two lines to your character dictionary.

/32
CTRL-EB1

Where CTRL-E means hold down the CONTROL key and press E.  Then let
go of the CONTROL key and press B1.

This is using the Sounding Board Bell option.  This can be invoked by
sending the Sounding Board CTRL-EBn where n=1, 2 or 3 for a low,
medium or high tone.  There are more practical places you may wish to
use the Sounding Bell option which we will talk about later in this manual.

11.2.6:  POSSIBLE CHARACTER DICTIONARY ERRORS

When loading a character dictionary, you will notice Vocal-Eyes says
"Character dictionary loaded" unless you ended the command line with a
semicolon to silence the message.  If you get this message, you can
assume the dictionary was loaded and no problems were detected. 
However, if there is some sort of error, Vocal-Eyes will let you know what
it is.  The following are possible errors.

1)  ERROR READING CHARACTER DICTIONARY

This means Vocal-Eyes could not find the file you specified.  Maybe you
mistyped the file name or maybe its not where you thought it was. 
Remember, if you do not specify a specific path, Vocal-Eyes will first look
on the drive and directory it was started from.  If the file does not exist,
the current drive and directory will be checked for the specified file.  If it
still is not found, you will get the above error message.

Also, remember if you do not specify an extension, Vocal-Eyes will
automatically add .CHR.  If you do not wish any extension, end the file
name with a period.

2)  INVALID FORMAT IN CHARACTER DICTIONARY

This means Vocal-Eyes found the file but discovered some sort of error in
it.  For example, maybe the file had an odd number of lines.  Remember,
each entry requires two lines so the file should have an even number of
lines.  Maybe the first line of an entry contained more then just a single
character.  Or, maybe you did not use the /n, where n is the ASCII value
of the character to define, correctly.  Verify each line in your file and
make any corrections.  Then try loading the file again.

3)  CHARACTER DICTIONARY OVERFLOW

This means exactly what it says.  You tried to load a dictionary which
contains more characters then you allocated for the dictionary buffer
itself.  You will need to either make the dictionary smaller or restart Vocal-
Eyes and increase the buffer size using the command /!Cn where n is a
number from zero to nine indicating how many units times 256. 
Remember if you do not use the /!Cn command, Vocal-Eyes will default to
256 characters for the buffer.

4)  CHARACTER DICTIONARY CLEARED

This is not really an error message.  This is displayed whenever you issue
the command /CC.  Vocal-Eyes is simply letting you know the buffer has
been cleared.

11.3:  EXCEPTION DICTIONARIES

The exception dictionary is very much like the character dictionary just
described.  You create the file in the same manner only you are defining
complete words instead of a single character.

With Vocal-Eyes, even if your synthesizer does not directly support an
exception dictionary, you can still set one up.  Each synthesizer driver
supports a user exception dictionary.  Those of you familiar with the
Sounding Board will feel at home with this feature as it was modeled after
it.

Of course no matter which voice synthesizer you will be using, there will
always be unusual words, specialized terms, and proper names that it will
not pronounce exactly as you might like.  For that reason, we've given
you the ability to add your own custom dictionaries of exceptional words. 
You must first create a standard ASCII file containing the exceptional
word(s) and a misspelling of the word(s) that sounds proper.  For
example, if you would like to have the abbreviation "lb" to be spoken as
"pounds" and the roman numeral VI to be spoken as "6", enter these four
lines in an ASCII file:

lb
pounds
vi
6

Note:  Upper or lower case is not important.

Enter the correct spelling that is mispronounced on the first line, and the
misspelling that sounds better on the following line.  Give this file a
meaningful name, and save it on disk.  How about "VE.DIC?"  

As was said earlier, this file must be in a standard ASCII format.  If you
are using a word processor, make sure you pick this option when saving. 
If you are using Noteworthy, simply save it as you would save any file. 
Noteworthy is perfect for this type of editing as well as editing batch files.

There are a few rules of what can and can not be in this file.

1) Each entry must take two lines in the file.  The correctly spelled word
on line one and the misspelled word on line two.

2) The first line (correctly spelled word) can ONLY contain letters A-Z and
the apostrophe.  No other symbols are allowed.

3) The second line (misspelled word) can contain any standard printable
characters including spaces.

Unlike the character dictionary, the exception dictionary is loaded through
the synthesizer driver, not Vocal-Eyes.  We have not discussed the
synthesizer drivers in detail yet but we will proceed with the discussion of
the exception dictionary.  For all the details relating to the synthesizer
drivers, refer to appendix F.

Let us see how to use the exception dictionary.

When you first startup your specific synthesizer driver for your current
session, it will attempt to load the dictionary file called "VE.DIC" by
default.  Assuming the file exists, it will automatically be loaded and used. 
Nothing is required other than to load the specified driver as you have
always done.

However, if you wish to load a file with a different name you will need to
use the following command line parameter on the synthesizer command
line not on the Vocal-Eyes command line:

Parameter:  /Efilename

The synthesizer driver will load an ASCII file containing new rules for text-
to-speech translation by using the "E" parameter.  "filename" can be any
valid DOS file specification, including drive and directory information.  For
example, if you are using an ECHO PC synthesizer and you want to load a
dictionary file called "LOTUS.DIC" on the C: drive under the directory
called "LOTUS," you could issue the command:

ECHOPC /EC:\LOTUS\LOTUS.DIC

After the dictionary is loaded successfully, the driver will confirm its
acceptance of the new rules with a message.  Remember, by default, the
first time the driver is issued it will look for a file called "VE.DIC" on the
DOS default log path, and load it, if it's located there.  The number of
new pronunciations that can be added depends on a buffer setting.  The
default buffer size will accommodate approximately thirty to forty entries.

If there was a problem while trying to load the dictionary, you could
receive one of the two error messages:

* Dictionary load error *
* Dictionary format error *

The Dictionary load error means the driver could not find the specified file
name or the file was too large for the supplied buffer.  Verify the file
exists and your buffer is large enough to hold the supplied dictionary (you
can determine the size of the dictionary by issuing the DOS DIR command
and looking at the size, listed in the third column).

The format error indicates that you did not follow the above rules while
creating the dictionary file.  Verify that the file is in ASCII format and the
two entries contain valid characters.

Previously, we said the default buffer size would allow around thirty to
forty entries.  This number, of course, depends on the size of the words
you are defining but it also depends on the buffer size.  The drivers
allocate 512 characters of storage for dictionary entries by default. 
Depending on the size of each entry, this allocation will accommodate up
to approximately 40 entries.  The arithmetic here is 512 divided by twelve
equals forty-two.  We are using six characters as the average word size,
and we are doubling that to encompass the mispronounced word and the
properly pronounced substitute.  Should you find this allocation to be too
small, use the exception dictionary buffer parameter to increase the size
of the buffer as needed.

To adjust the buffer size, use the following synthesizer command line
parameter:

Parameter:  /!Ex

Notice the ! (exclamation point).  As always, since this command contains
the exclamation point it can only be issued the first time you startup your
driver each session.  The x is a number between 0 and 49.  The number
determines how many 512 character chunks to allocate as part of the
buffer.  The default is one or 512 characters.

For example, if you wanted to triple the number of possible entries, the
command would read like this:

DBLTALK /!E3

The "E" in this parameter stands or "exception", and the number
corresponds to some multiple of 512 characters.  Notice that the
dictionary buffer can be set to 0 characters.  This is because if you do not
wish to use an exception dictionary file, you should not be penalized by
taking valuable memory.  Therefore if you are not using an exception
dictionary, use the command:

DBLTALK /!E0

This will set the buffer size to 0 freeing up a valuable 512 characters.  Of
course, you will not be able to load any exception dictionary.  

You can, if you wish, combine both commands to increase the buffer size
and load the actual file on one command line.  Because you will be issuing
the /!Ex parameter, this must be done the first time the driver is loaded
each session.  For example:

DBLTALK /!E5 /EWP

This will load the DoubleTalk driver and increase the exception dictionary
buffer to five times 512 bytes or two and a half Kilobytes.  It will then
load the file WP.DIC.

Again, for a complete discussion of synthesizer driver commands, please
refer to appendix F.

11.4:  KEY LABELING

Often, two different applications will use the same key to perform two
distinct program functions.  The F5 key in WordPerfect, for example, is
the key that calls up the WordPerfect File Manager.  In Lotus 123,
pressing this same key invokes the GOTO function.

Switching back and forth between these and other applications programs
you may use every day, it can get difficult at times, to remember exactly
which program function belongs to which key.  This is why Vocal-Eyes
allows you the very helpful option of attaching voice labels to any of your
PC's keys.

Would you like your F5 key to say "List Files" when you're working with
WordPerfect and "GOTO" when you move to Lotus 1-2-3?  Here's how
you can do just that by taking advantage of Vocal-Eyes' Key Label
dictionaries.

11.4.1:  CREATING THE KEY LABEL DICTIONARY

Creating a key label dictionary involves almost exactly the same steps as
does creating a character or exception dictionary.  Each entry, or key
label, occupies two lines in a DOS ASCII text file.  Enter the name of the
key you wish to attach the label to on the first line, then, on the second
line, enter the label itself.

We'll demonstrate the process by creating a "GOTO" label to attach to
the F5 key.  Here's how such a label would look:

[F5]
GOTO

Notice that we enclosed the name of the key we wished to label within
brackets.  Also, remember to press ENTER after typing GOTO in order to
complete the entry.

Would you like to attach a label to the WordPerfect ALT-F6 "Flush right"
key?  Easy enough.  Simply add the following two lines to your key label
dictionary:

[altf6]
flush right

You can attach a label to any key on your PC's keyboard.  You can
designate any of the three "shift" states by preceding your key name with
CAPS, ALT or CTRL.  Many keys such as the DELETE or the INSERT key
use certain standard abbreviations, such as DEL and INS.  You may
already be familiar with many of these abbreviations.  If not, consult
APPENDIX H for a complete listing of all keys and their abbreviations.

11.4.2:  THE .KEY KEY LABEL DICTIONARY FILE

Saving a key label dictionary is as easy as saving a character dictionary. 
If you've used Noteworthy to construct your key label dictionary, using
the ALT-S save file command will automatically save your file in ASCII
format.  WordPerfect 5.1 users, you can use the CTRL-F5 option.  Press
ONE for DOS text files.  Press ONE a second time to save your file.

As was the case with your character dictionary, you should save your key
label dictionary in the same DOS subdirectory where you keep your Vocal-
Eyes program files.  Also, you can give your key label dictionary any legal
DOS file name, but you'll probably want to use the .KEY extension.  If
you want Vocal-Eyes to automatically load your Key Label dictionary,
you'll probably want to match its name with the name of the application's
executable file, just as you did with your .SET and .CHR files.  For now,
why not name your key label dictionary LABEL.KEY?

Now that you've created and saved your key label dictionary, the next
time you run or reinvoke Vocal-Eyes from DOS all you need to do is add
the following / parameter

VE /KLABEL.KEY

We added the .KEY extension to our file name, but we did not have to. 
Vocal-Eyes automatically looks for a .KEY extension when searching for a
dictionary file.

Vocal-Eyes stores the key label dictionary in a key label dictionary buffer
similar to the character dictionary buffer it uses to store that dictionary. 
The key label dictionary buffer has a default size of one kilobyte, or 1024
characters.  You can increase the size of this buffer in one half kilobyte
increments up to 4.5K by the use of the /!K(0-9) start-up parameter. 
Also, as with the character dictionary buffer, you can issue the command
/!K0 if you don't plan on using the key label dictionary option.  This will
free up 1024 bytes of storage.  Notice that the character dictionary uses
256 bytes for each buffer size whereas the exception dictionary and key
label use 512 bytes.  This is because these two dictionaries are likely to
be larger.

Like all other /! parameters, the /!kn parameter can only be invoked once
when you first run Vocal-Eyes for each session.

Just like the character dictionary, the key label dictionary will remain in
your Vocal-Eyes buffer until you either load a new key label dictionary to
take its place or else clear the dictionary from Vocal-Eyes' buffer.

You can load a new key label dictionary into Vocal-Eyes at any time by
simply returning to DOS and reinvoking Vocal-Eyes with the name of the
new key label dictionary you want entered as a /K(dictionary file name)
parameter.  Vocal-Eyes will clear the current dictionary from memory and
replace it with the new dictionary.

To clear a key label dictionary from Vocal-Eyes' memory without loading a
new dictionary in its place, simply return to DOS and reinvoke Vocal-Eyes
with the following parameter:

VE /KC

The K in the above parameter stands for key label dictionary and the C
stands for clear.  Although your key label buffer is still allocated, it does
not contain any labels.  If you wish, you can at any time load a new key
label dictionary.

What if you don't want to clear the dictionary buffer but stop using it for
a little bit?  For example if you are in WordPerfect and use the Shell
option to enter DOS, you don't want all of the key labels you setup for
WordPerfect to speak that way in DOS.  How about using option 7 off of
the General submenu.  This is the Key label dictionary on/off switch.  If
you switch this to off, Vocal-Eyes will not use the entries currently in the
key label buffer but it will not clear them out either.  Why not in your
DOS.SET file, turn this option off?  That way when you load the DOS.SET
file after you shelled to DOS, the key label dictionary buffer will
automatically be turned off for you.  When you exit back to WordPerfect,
the key label buffer could be automatically re-enabled for you as well. 
Those of you with Noteworthy will notice the supplied NW.SET has this
option turned off for you already.

As with the character dictionary, you can also load the key label
dictionary from the Files submenu.  Notice option three: Load Key Label. 
If you press ENTER on this option, you will be prompted for the key label
dictionary file name.  Also, if you currently have a dictionary loaded, its
name will be displayed.  If all you want to do is look at the file name
currently loaded, simply press ESCAPE to cancel the load.  If however,
you actually wish to load a new key label dictionary, simply type the
dictionary file name and press ENTER.  If you supply a path as before,
Vocal-Eyes will only look at the specified location.  If however, you only
supply the file name with no drive or path specification, Vocal-Eyes will
first look in the original Vocal-Eyes directory for the file.  If found, it will
be loaded.  If not found however, the drive and directory you are currently
logged onto will be checked for the same file name.  If found, it will be
used.  If not found, an error message will be issued.

If you wish to clear the current key label dictionary, simply specify a file
name of "C."  Instead of loading the file "C.KEY," Vocal-Eyes will clear
the current dictionary and give a message indicating that the file was
cleared.  There will be no default key label dictionary file name after a
clear command has been issued.

11.4.3:  POSSIBLE KEY LABEL DICTIONARY ERRORS

When loading a key label dictionary, you will notice Vocal-Eyes says "Key
label dictionary loaded" unless you ended the command line with a
semicolon to silence the message.  If you get this message, you can
assume the dictionary was loaded and no problems were detected. 
However, if there is some sort of error, Vocal-Eyes will let you know what
it is.  The following are possible errors.

1)  ERROR READING KEY LABEL DICTIONARY

This means Vocal-Eyes could not find the file you specified.  Maybe you
mistyped the file name or maybe its not where you thought it was. 
Remember, if you do not specify a specific path, Vocal-Eyes will first look
on the drive and directory Vocal-Eyes was started from.  If the file does
not exist, the current drive and directory will be checked for the specified
file.  If it still is not found, you will get the above error message.

Also, remember if you do not specify an extension, Vocal-Eyes will
automatically add .KEY.  If you do not wish any extension, end the file
name with a period.

2)  INVALID FORMAT IN KEY LABEL DICTIONARY

This means Vocal-Eyes found the file but discovered some sort of error in
it.  For example, maybe the file had an odd number of lines.  Remember,
each entry requires two lines so the file should have an even number of
lines.  Maybe the first line of an entry was not a legal keystroke.  Refer to
Appendix H for a complete list of valid keystrokes.   Verify each line in
your file and make any corrections.  Then try loading the file again.

3)  KEY LABEL DICTIONARY OVERFLOW

This means exactly what it says.  You tried to load a dictionary which
contained more characters then you allocated for the dictionary buffer
itself.  You will need to either make the dictionary smaller or restart Vocal-
Eyes and increase the buffer size using the command /!Kn where n is a
number from zero to nine indicating how many characters times 512 you
wish allocated.  For example, nine would indicate nine times 512 or 4,608
characters or bytes.  Remember, if you do not use the /!Kn command,
Vocal-Eyes will default to /!K2 or 1024 characters for the buffer.

4)  KEY LABEL DICTIONARY CLEARED

This is not really an error message.  This is displayed whenever you issue
the command /KC.  Vocal-Eyes is simply letting you know the buffer has
been cleared.

11.4.4:  Putting it Together

Here's a way you can combine two of Vocal-Eyes' powerful voice
features into a single, even more powerful feature.

Recall from SECTION 6 of this manual that you can attach one or two of a
variety of voice functions to any of the various cursor keys.  As a matter
of fact, you really learned you can attach such voicing to any key. 
Anyway, why not both label a key and attach a voice feature?

We'll use the F1 Help key we've mentioned several times so far in this
section.  Suppose that in your program, whenever you press the F1 key, a
help message occupying the first 12 lines of your screen display pops up. 
Here's one way you could combine two of Vocal-Eyes' voice features to
make this help screen more user interactive.

First, enter the F1 key into your key label dictionary.  Make it say "Help." 
Now, construct a screen window to read the first 12 lines of your PC's
screen.  For our example we'll use Window nine to do this.  Next, enter
the Voice Control Panel's Cursoring submenu.  Cursor down until you find
a key you've left undefined or don't plan on using.  Once you find such
an item in the menu, stop and press the F1 key.  Notice that now the
menu says F1 and then announces the current voice assignment.  Press
the SPACE BAR or the BACKSPACE key enough times to reach Speak
Window.  Press ENTER followed by 9.  Now, press ESCAPE several times
or ALT-X once to return to your application.

Press your F1 help key now.  What happened?  Did Vocal-Eyes say
"Help" and then voice your entire help screen?

As you can see, combining the key labels with the Cursoring voice
features can lead to some pretty powerful keystrokes.  Try combining
features in ways that will most help you.  Be sure to save your changes
to disk so they'll still be there the next time you run Vocal-Eyes.

11.5:  THE DIFFERENCE BETWEEN THE CHARACTER AND KEY LABEL
          DICTIONARIES

It may not be clear at first exactly what the difference between the
character and key label dictionaries is.  Well, we hope the following will
help.

First, the Key label dictionary is only used when you physically press a
key on the keyboard.  Although you can define all keys including the
letters A-Z and numbers 0-9, normally you would only define the
nonstandard keyboard keys such as the function keys F1-F12 or the
HOME, END, DELETE etc.  Make them speak whatever makes sense in
your current application.

The character dictionary, unlike the key label dictionary, is used for
characters typed from the keyboard as well as those printed to the
screen, or when you go into Review Mode and review a character.  Vocal-
Eyes will always substitute the message you supplied every time it is
requested to speak a character in your character dictionary.  This is
mainly used for extended or control characters.  These characters display
some sort of symbol or figure on the screen.  Each application may use
these figures for different meanings.  If the built-in, generic message is
not good enough, why not make it speak something logical for the current
application instead?

Feel free to experiment with both of these buffers.  In section 15, you will
learn some good ways of putting these dictionaries to work for you.

11.6:  THE "LOAD ALL" FILE OPTION

Call up your voice control panel by pressing control-\.  Move to the 6 FILE
option and press enter.  Move down to option five, "Load All."  Do you
remember that we said we'd explain this option later?  What do you think
it is for?  That's right.  Selecting this option and typing in a file name, not
including extension, will cause Vocal-Eyes to attempt to load a .SET,
.CHR, and .KEY file with that name.  This is a very quick way to set up
your environment without exiting your application and reinvoking Vocal-
Eyes.

If you include a path with the file name, Vocal-Eyes will search only that
path for these three files.  If you do not specify a drive and directory,
Vocal-Eyes will first look in the directory from which it was  first loaded to
find the files.  If it does not find them there, it will look in the current
directory of the logged disk.  Vocal-Eyes will give you relevant messages
as it attempts to load these files.  If you were using WordPerfect 6.0, for
example, and entered the name "WP" as the filename, Vocal-Eyes will say
"SET file loaded from disk," "Character dictionary loaded," "Key label
dictionary loaded."  

Note:  the exception dictionary is not loaded using the "Load All" option
since it is loaded by the synthesizer driver and not by Vocal-Eyes itself.
