multilinugal spellchecker (ispell)


Subject: multilinugal spellchecker (ispell)
From: Tomas Frydrych (tomas@frydrych.uklinux.net)
Date: Wed Mar 28 2001 - 08:56:27 CST


The multilingual spell checking might not be that difficult to
implement with ispell. I suggest creating two new classes,
UT_SpellChecker, and UT_SpellCheckerCollection. The first class
would represent a single-language spellchecker, with public
member functions corresponding to those found in sp_spell.h plus
a function const char * getLanguage(). The second class would
hold a collection of pointers to UT_SpellChecker and would provide
public functions SpellCheckNWord16(const char* lang, ...) and
SpellCheckSuggestNWord16(const char * lang, ...)

The call to SpellCheckInit() we do during start up would be
removed, instead an empty UT_SpellChecker collection would be
created and this would attempt to create a UT_SpellChecker the
first time a given language is encountered (thus, if the user does
not use background checking, we would not load the dictionary
until s/he runs the spellchecker).

The code in other/spell would require some modification, so that
each instance of UT_SpellChecker would have its own hash and
related variables; I think we should just move the ispell code
directly into the UT_SpellChecker class. (I realise that such a move
would make any future updating toward a newer version of ispell
harder, but then the sources have been modified so extensively,
that this is unlikely to make things much worse than they already
are).

Any obvious problems with such an approach? If not, I will wait until
Dom tags 0.7.14 and start working on it.

Tomas



This archive was generated by hypermail 2b25 : Wed Mar 28 2001 - 08:56:59 CST