Now I'm adding the suggestions from previous e-mails in the summary, I'll maintain this summary updated in my blog too (http://lhacks.blogspot.com)
1. Grammar Checker API, now:
- It makes sense working with just one language now; so, foreign words in the text should be ignored.
- The grammar checker should run in a different thread to not block OpenOffice.
- The grammar checker should be able to check inside table cells, text headers and footers, enumerations and text boxes (Drawing Objects).
- The grammar checker should determine end of the sentences, because it is not so trivial (e.g., abbreviations). So, OpenOffice should just provide to the grammar checker an entire block of text, like a paragraph.
- OpenOffice should be able to replace the wrong sentences.
- I think we should create an unified User Interface, for any grammar checker use it.
- Automatic checking should run in background and marking the wrong sentences with a wavy line. It could be enabled and disabled, like Spell Checker.
- The API should provide a paragraph (for example) to grammar checker and this one should return a list. If there is no mistake in this paragraph, the list should be empty, else the list should contain:
- Where is the mistake in the paragraph (initial index + final index).
- A list of suggestions to correct that mistake (this list can be empty if checker is not prepared to guess).
- A comment about mistake, e.g. what a grammar book should say about it.
2. Grammar Checker API, future:
- Let's suppose it's possible to manage several languages in a text
and there is a Language Guessing API. Then, when OpenOffice discover
language of a sentence, it automatically loads grammar checker to
correspondent language.
- Optimize
memory allocation, input/output and processing. For example,
OOo's spell checker uses a special dictionary, CoGrOO (which is the
only grammar checker that I know) uses another kind of dictionary; we
can create a unified dictionary but this implies modification in spell
checker.
- (Marcin Miłkowski) Extend the user interface to provide more parameters to grammar checker, like colloquial, official and etc.
- Daniel Naber suggests there should be a way to disable the rules.
I think we have to discuss this because this is not a trivial task for
a final user; enable a grammar rule requires at least human language
knowledge and proficiency. For example M$ Office doesn't allow users to
change rules, OOo's spell checker requires a file edition (a ispell
dictionary), without a user interface to do it.
