SpellCheck
==========

Author: Scott Powell (scottpowell@kagi.com)
Version: 2.0 (Shareware)
Date: 05/12/1997


Installation Notes
------------------

  Simply use 'instapp' to install the 'spellchk.prc' and 'spellcfg.prc' files
  onto your pilot.

  You must also install the ONE of the vocabulary databases (also using
  'instapp'). Either:
                  root-words  derived-words    Size (Kbytes)   Comments
                  ----------  -------------    -------------   --------
    'words.pdb'     13264         16893             85         Contains mostly 'rarer' words
    'words2.pdb'    16432         21303            105         As above + more common words
    'words3.pdb'    19420         26120            117         As above + even more words

  NOTE:  You will need 'HackMaster' to run this program (by DaggerWare).
         A copy should be included in this ZIP file (you should register
         if you continue to use it).

  NOTE:  If you are updating an installation of SpellCheck, make sure you
         disable it from HackMaster BEFORE downloading the new version.


Upgrading To Ver 1.5

  Only the 'spellcfg.prc' & 'spellchk.prc' files need to be installed.

Upgrading To Ver 1.6

  Only the 'spellcfg.prc' & 'spellchk.prc' files need to be installed.

Upgrading to Ver 1.6a

  Only the 'spellcfg.prc' file needs to be installed.

Upgrading to Ver 1.6b

  Only the 'spellcfg.prc' & 'spellchk.prc' file needs to be installed.

Upgrading to Ver 2.0

  You MUST reinstall all components (except HackMaster).


Instructions & Guide
--------------------

  SpellCheck is an English spelling checker, sporting the following features:

     - an easy to use user interface (just a double tap on the word you wish to
         check)

     - intuitive 'Word Suggestion'. Prompts you with words that you are
         likely to be typing, saving you many Graffiti strokes.

     - a 'slim' database (only ~80K) containing 'harder' words rather than
         common words which you are unlikely to want to look up (thus saving
         valuable RAM).
         NOTE: Now has alternate databases with more common words,
               improving the Word Suggestion/Completion feature.

     - can be executed from any Pilot application!
          SpellCheck hooks into the PalmOS internals (courtesy of HackMaster),
          allowing it to be executed from anywhere, ie. without having to switch
          apps!

     - simply tap on words in the list box and the word you selected replaces
          the word you double tapped.

     - Automatic word completion, saving you Graffiti strokes!

     - a highly optimized, compressed database.

  For registered users:

     - Now has 'Copy' & 'Cut' buttons on popup screen, to
       copy/cut the selected word to the clipboard.

     - Optional supplemental dictionary. You can maintain a list of 'extra'
       words, possibly specialised to your occupation. (add them from your
       Pilot, or on your desktop computer)


  Here is a detailed description of the program's operation.

       - first, start typing a word (in any Pilot app) and after writing enough
         of the 'prefix' double tap on this word with the pen.

          OR:   double tap on a word already contained in a document

       - the SpellCheck window should now pop-up, with the text you tapped on
         entered into a text field, with words beginning with that text in the
         listbox below.

       - use the hardware up and down buttons to scroll the list up and down.

       - If you see the word you were looking for just tap on the listbox entry,
         automatically replacing the original text with the word you selected.

          OR:   if the word you selected has a full-stop ('.') in it, this indicates
                that the word has various suffixes that are possible. When you tap
                on a list entry like this the list is replaced with all the possible
                expansions of that word. eg.

                       sceptic.al.ly

                gets expanded to:

                       sceptic
                       sceptical
                       sceptically

       - Simply tap on the particular word you want, OR tap the 'Done' button
         to exit SpellCheck without selecting a word.

         OR:   If the word wasn't found, try deleting trailing parts of the word
               from the text field (after the 'text:' prompt). eg.

                   if 'familliar' was entered, try deleting the 'liar' part
                   to get just 'famil'. Now the list will show all known words
                   starting with 'famil'.

       - OR, Tap the 'Copy' button to copy the double-tapped word to the
         clipboard. (Registered users only)


Configuring SpellCheck
----------------------

  Switch to the 'SpellConfig' application to set your desired preferences.
  You also use this program to enter your registration key (provided via
  Email upon registering).

  See below in the 'History' section about the various options and features
  available.


History
-------

Can now scan whole document for unknown words - NEW!!

  Just press the 'Skip' button to scan the document for an unknown
  word. If you have a supplemental dictionary installed you can add
  the unknown word by pressing the 'Add' button.

Added new database - words3.pdb - NEW!!

  Even more words. Includes words from 'words2.pdb'
  This aids the 'Word Completion' feature, plus the new 'Skip'
  feature.

Added Supplemental Dictionary support - NEW!!

  SpellConfig now has menu items for creating a supplemental dictionary.
  This creates a Memo document which will be appended to when adding words
  'on the fly', and can be directly edited by you, either on the Pilot or
  the Desktop.
  NOTE:  If you add/modify/remove words from this document you MUST
         rebuild the index by selecting the 'Rebuild Index' menu item
         in SpellConfig!

Added 'Cut' button to popup screen

  This cuts the word from the document you double tapped on, saving the
  word in the clipboard.

Fixed Word Suggestion/Completion bug

  The lists weren't popping up when entering text mid-line, ie. inserting
  text in the middle of a line of text.

Better upper/lower case handling

  If you have Caps Lock on the word lists will be convereted to upper
  case. Also, if the word in the database has an upper case letter as
  its first character, selecting that word preserves the initial upper
  case (previously didn't).

Added 'Copy' button to popup screen

  This works around the conflict with SelectHack. There was no clean
  way for the two to co-exist, so I added the function to SpellCheck
  as many people complained about the conflict.

Fixed SpellConfig 'Event Queue Full' bug

Added new database - words2.pdb

  This diverges from the original database, in that it also contains more
  'regular' words. This aids the 'Word Completion' feature.

Added 'Wait for pause' feature (for word suggestion/completion)

  Now you can specify whether you want the popup lists to come up ONLY
  when there is a slight pause in the graffiti input. This seems to be
  a lot less annoying, and speeds up the processing of the Graffiti
  strokes.

  Go to the 'Options' dialog of 'Word Completion' and choose from the
  options after the 'Wait:' label.

Fixed bug with dismissing popup lists

  There was a slight bug with tapping underneath popup lists to dismiss
  them. This is now fixed.

Fixed 'type through' problem with Popup lists

  When a popup list of suggested words comes up (from either intuitive suggestion
  or completion) just typing on dismisses the popup and continues text insertion.

  NOTE:   --- NEW FEATURE!! ---
          When a popup list is up, tap on the 'menu' silk-screen button
          and the currently selected item in the list (usually the preferred
          one) is automatically selected - saving you time.


Changed strategy of 'Word Suggestion'.

  The suggested words have been optimized even more. For example on typing
  a 't', the following words are suggested:

            the
            that
            this
            they
            time

  These are statistically the most used in English (starting with 't' of course).
  If you now type 'h' (ie. it's now 'th' that has been entered), you get these
  suggested:

            then
            there
            think
            their.s
            them

  None of the 'th' words from the first list are included in this second list.


Added more extensive controls for options in 'SpellConfig'.

  The 'SpellConfig' program now has the two 'Options' dialogues implemented.
  You can control where the popup lists get placed, how long they stay up
  for, whether or not you want the 'word suggestion' feature, and whether you
  want a space inserted after completed words.

  You can also configure the 'Graffiti Assist' feature, by tapping its
  'Options' button. The dialogue gives you up to 12 characters you can
  effectively 're-map'. This re-mapping only happens when you type the BACKSPACE
  stroke - this is interpreted as "that's NOT the character I wanted" :-)
  Instead of doing "Charcter, Backspace, Character-You-Wanted" you just enter
  pairs of these erroneous characters in this dialogue, and then enable
  the 'Graffiti Assist' checkbox. Now, a backspace over one of these characters
  automatically gets corrected to your preference.

  NOTE:  it is only useful configuring characters that commonly get interpreted
         wrong, otherwise it can be annoying. Just clear the other character
         pairs (of the 12) if you don't want to use them.


Fixed 'no response' Bug

  Sometimes, when a fatal error occurs while SpellCheck was executing,
  SpellCheck will NEVER pop up again, even when enabled under HackMaster.
  If this happens, go to the SpellConfig application and it should popup
  a dialog mentioning that an internal error was detected and that it
  is now fixed.


Intuitive Word Suggestion

  When starting a word, a list will popup of the most common English words
  starting with what you have already typed. TRY IT OUT - go to the
  SpellConfig application and check the 'Word Completion' checkbox.

  I hope to have a seperate preferance for word suggestion very soon. For
  now turning on 'Word Completion' enables both 'Word Suggestion' and
  'Word Completion'. The two are very similar, but have some slightly
  different semantics.


Word Completion

  When typing in a word and enough letters have been entered to fairly
  uniquely narrow down a word, SpellCheck will automatically popup a
  list of possible words which you are tying to enter. Just tap on the
  word desired, or just keep typing (or tap outside the popup list)
  to ignore the suggestion.

  You can enable/disable this feaure by setting the corresponding
  checkbox in the SpellConfig application.


Graffiti Assist

  see above for this feature. ('SpellConfig')


Known Problems
--------------

  - Currently Graffiti Shortcuts don't work with this hack extension.

  - This HackMaster extension conflicts with SelectHack & TealEcho.

  - Currently the word lookup is 'exact', ie. it looks into an index of known words.
    I hope to get phonetic matching implemented in a future version, so that it shows
    likely matches (based on sound) of incorrectly spelled words.

  - As this program is executed from ANY Pilot application, it is susceptible to
    low memory situations, ie. if the Pilot application being executed from has
    allocated almost ALL dynamic memory then SpellCheck will fail to operate. In
    practise I haven't seen this happen yet, but it is a possibility.

  - When invoking from Datebook or Address Book the first tap effectively gets
    gobbled up. So, tap once, to select the record, then do the double tap.


Vocabulary Issues
-----------------

  Undoubtedly the vocabulary in the initial version of 'words.pdb' will need to be
  expanded. Presently there are approximately 13000 'root' words in the database,
  with information on words formed from these root words (eg. sceptic -> sceptical)
  The words currently in the database have been picked by 'rareness', or words with
  exceptional spelling, so that the amount of RAM being used is minimized.

  Please Email amendments and words you would like to have in the vocabulary to
  the following address:

        scottpowell@kagi.com

  with the title set to 'Spell', so that I can separate the mail efficiently.


Registration
------------

  This program is only operable for 15 days. If you like this program then you
  can register by pointing your Web browser to the following URL:

       http://www.kagi.com/scottpowell/register.htm

  This site allows you to pay online. In a day or two of registering you will
  receive a 'key' via Email which you enter into the SpellConfig ('spellcfg.prc')
  application (this is a normal Pilot application, ie. has an Icon which you must
  switch to).


Revision History
----------------

 21/10/1997  2.0  Can now add your own words.
                  Can now scan whole document for unknown words.
                  Added 'Cut' button, to cut word to clipboard.
                  New base dictionary (words3.pdb) available.

 14/10/1997  1.6b Added 'Copy' button, to copy word to clipboard.
                  Better upper/lower-case handling.
                  Fixed word completion/suggestion bug.

 08/10/1997  1.6a Fixed 'Event Queue Full' bug
                  Added new 'words2.pdb' database.

 05/10/1997  1.6  Added 'Wait for pause' feature (for word
                     suggestion/completion). This makes the processing of
                     Graffiti strokes much faster. (was sluggish before)
                  Fixed bug with dismissing popup lists with tap
                     underneath list.

 30/09/1997  1.5  Fixed 'type through' problem with Popup lists.
                  Added 'menu' button quick-select in popup lists.
                  Changed strategy of 'Word Suggestion'.
                  Added more extensive controls for options in SpellConfig.

 28/09/1997  1.4a Fixed Address Book 'Fatal Error' bug. (and possibly some
                    others with the same fix :-)

 26/09/1997  1.4  Added options dialog for word completion.
                  Fixed 'no response' bug (ie. when double tap doesn't
                     bring up SpellCheck)

 21/09/1997  1.3  Added intuitive 'Word Suggestion' feature!

 19/09/1997  1.2  Added 'Word Completion' feature.
                  Added experimental 'Graffiti Assist' feature.

 16/09/1997  1.1  Fixed Datebook & Address Book invoking problem. You
                    can now invoke SpellCheck from these apps.
                  Added options in SpellConfig to set double tap speed.

 10/09/1997  1.0  Initial release


Credits
-------

  thanks to:
     - John J. Lehett        for the GNU 'C' port.
     - Wes Cherry            for 'PILRC'
     - Edward Keyes          for HackMaster


Standard Disclaimer Stuff
-------------------------

  This program is shareware, and without guarantee of merchantability. I
  take no responsibility in any loss of data or productivity in case of
  operating failures.

