Re: Spellchecking - [better aida subject;-)]


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