RFP: Enchant Spell Checker
domlachowicz at yahoo.com
Tue Jul 22 03:37:35 EEST 2003
Enchant is a spell checking and correcting framework
that I spawned as part of the AbiWord project, in
response to a fair number of bugzilla RFEs. I offer it
up here in the hopes that it might be of some general
use to the various desktops, office suites, etc...
that comprise Freedesktop.org, and possibly that
someday in the future it or a descendant might be
considered a standard.
The best description that I currently have of Enchant
is found here: http://www.abisource.com/enchant/
Enchant is a meta spell-checking framework. It is a
highly pragmatic project. At its basis is the
recognition that all spell checking software isn't of
nearly the same quality, and that radically different
languages often require radically different tools and
alogrithms to spell-check and correct. It also takes
into account that users' systems often have a radical
host of spell-checking software installed.
I hold the belief that a user should not have to be
burdened with installing MySpell in order to use OOo,
or Aspell to spell check within Evolution. Further, a
user should never be subjected to the differences in
quality *within a single language* that the various
spell checkers have. The suggestions for "helllo"
within AbiWord, OpenOffice, KOffice, etc... should all
be the same. But they aren't.
Historically, there has been no standard API/ABI
interface into said spell-checking utilities. The best
one could honestly hope for is an "old ispell
compatible command line" interface via popen. Enchant
hopes to change this.
Enchant provides a standard C API/ABI to all of its
backends, while allowing multiple backends to be
loaded and used at once. Further, use of these
backends can be ordered as per the user's request, so
that one could have Aspell be the preferred backend
for English, and have Ispell do French, for example.
Right now, there are 3 known backends for Enchant,
with 2 more in the works. It covers Aspell, Ispell,
Uspell with work ongoing for MySpell and Hspell.
Enchant doesn't assume that any particular backend is
installed, nor does it let the consuming program know
about this. In my opinion, it shouldn't have to. This
is simply too much information for an end-user
application to have/need; plus, design and
implementation at this level is an unecessary burden
for the application developer.
Please read the above URL and contact me if you have
any questions, comments, suggestions, patches, etc...
I'd like for this to be of some great amount of use to
the OSS community, and believe that it's already paid
for itself in terms of time + effort within AbiWord
already. I hope that it could help you avoid the pain
that we've had to go through.
Thank you for your time,
Do you Yahoo!?
Yahoo! SiteBuilder - Free, easy-to-use web site design software
More information about the xdg