11 | | * Perform a research to find an appropriate library for spell-checking. It should support the following functionality: |
12 | | * TODO What is the required spell-check functionality in Sophie: |
13 | | * TODO What are the supported languages? |
14 | | * TODO How are words marked as misspelled? |
15 | | * TODO How are suggestions for corrections displayed (e.g. right-click)? |
16 | | * TODO How is spell-checking the whole text handled (e.g. dialog like in MS Word)? |
17 | | * TODO How is spell-checking turned on/off? |
18 | | * TODO Is there language detection (e.g. book with two languages, dictionaries for one of them only, words in the other should not be detected as misspelled)? |
19 | | * TODO Other? |
| 11 | * Perform a research to find an appropriate library for spell-checking. Spell check in Sophie will be implemented initially the following way: |
| 12 | * The Tools tab will contain a spell-check palette. It will contain the following elements: |
| 13 | * Spell-check button - will run a spell check on the text within the currently selected chain. |
| 14 | * Toggle underline button - will turn on/off underlining of misspelled words (they will be underlined with a dotted line as in Trac). |
| 15 | * Replace/Ignore buttons - will replace/ignore the currently selected misspelled word. |
| 16 | * A list of misspelled words - it will contain the currently found misspelled words. |
| 17 | * Clicking on a misspelled word will highlight it (select it) in the text (and go to the page it is on if necessary). |
| 18 | * A list of suggestions for correction - it will contain possible corrections for the selected misspelled word. |
| 19 | * Double-clicking on a suggestion will replace the misspelled word. |
| 20 | * When a word is replaced/ignored, the next misspelled word is selected. |
| 21 | * Initially up to two languages in a book should be selectable (that is, spell-check should be performed against two dictionaries). |
| 22 | * UI for language selection is not defined yet. |
| 23 | * NOTE: These requirements are subject to refinement in the next revision of the task. They are listed here to serve as general guidelines for the research. |