Subject: Re: Spellchecking - [better aida subject;-)]
From: Paul Rohr (paul@abisource.com)
Date: Tue Feb 15 2000 - 15:52:58 CST
Kenneth,
I do have to admit that your feature sounds a bit odd to me, but I've never 
had a need for it, so what do I know?  (As other list members are 
well-aware, I tend to be pretty conservative about GUI issues anyhow.)
However, since you're interested in coding this feature, here's some 
information to help you get started. 
At 09:13 PM 2/9/00 +0100, Kenneth Christiansen wrote:
>But this will probably require some kind of replacement for ispell.
In your case, I doubt it.  
Dig through the current code and see how *little* we use ispell right now.  
It's basically just a lookup engine for words and suggestions.  All other 
functionality (such as custom dictionaries or ignore lists, are implemented 
inside AbiWord.  
Once you've created a secondary dictionary for your "orange" words (or 
whatever color you choose), your feature might be as simple as doing lookups 
there first, before consulting the more standard ispell lists.  
>What is the plan for spellchecking at the moment?
There are two main virtues of the existing ispell code:
1.  There are a *lot* of existing ispell dictionaries we can use, covering 
most of the languages we already have translations for, plus almost a dozen 
we don't.  This is a very big deal. 
2.  Thanks to a lot of hard work by Darren, Justin, and Henrik, the code 
usually works well enough on all of our supported platforms.  
Other than that, nobody who's had to wrestle with that codebase is in love 
with it.  Also, the current APIs between the ispell code and the rest of 
AbiWord are no thing of beauty.  Their main virtue is that they work for so 
many languages. 
From time to time, advocates of other spelling codebases have popped up, and 
our usual response is as follows:
1.  Whatever you do, don't break ispell.  
2.  Otherwise, feel free to propose new APIs to the spell code which would 
allow you to swap in another spell engine. 
3.  Make sure you have good dictionary support for other languages.  If you 
think writing spell lookup code is bad, getting freely-licensed dictionary 
content is much, much worse. 
4.  Try to *add* interesting functionality, rather than making changes for 
change's sake.  For example, the quality of aspell's suggestions makes it a 
tempting target. 
5.  Don't violate the coding guidelines found in abi/docs.  For example, 
every time we've looked at aspell, it gets immediately shot down for its 
heavy reliance on advanced C++ features like templates.  
Paul
This archive was generated by hypermail 2b25 : Tue Feb 15 2000 - 15:47:31 CST