Introduction
The electronic mail is one of the first global and
cheapest communication tools ever invented. With it,
everyone can send any kind of information to anyone in the
world very quickly. In many countries this amounted in
very lax spelling in emails. Emails made it easier to
communicate instantly with people speaking a different
language, and people needed to write more often in foreign
languages, even if they are not so comfortable with them.
So misspelling is not uncommon in electronic mail, in
contrast to traditional mail where people pay more
attention to what and to how they write.
Paper dictionaries are very valuable tools, but for the
quasi live communication, they are not
suitable. Electronic spell checkers are now a common
feature in word processor and mail user agents. Free
dictionaries are of very good quality, and new
algorithms for suggesting alernative spellings do now an
excellent jobs. If a spell checker is not a must in a
mail client, it is certainly a helpful feature.
When I first found the Sylpheed Mail User Agent, it
impressed me with its speed, qualities and features. It
had a basic spell checker based on the old but excellent
ispell spell checker. The interface was minimalistic,
yet functional: misppelled words were highlighted while
typing, and clicking on them with the mouse's
right-button provided a list of suggested words.
Nevertheless, I found that it has some limitations:
i) it was not possible to change the language
during message composition, ii) it was driven
exclusively with the mouse, and iii) it could
not use the newer
aspell
spell checker. The first point was rather important to
me, as I often have to write mails in different
languages, and particularly in a language I never learnt
to write (Italian). Sometimes, I have two different
languages in the same message, too. The second point was
also crucial for me, for I was addicted to the flyspell
mode in XEmacs that I used to write my thesis. Keyboard
controlled actions will always be faster than mouse
driven control, especially for someone who is perhaps
dyslexic. The last point was a logical enhancement:
aspell can be controlled by the
pspell library,
which can also use the older ispell spell checker.
So I began coding and adapting the spell checker to
pspell, and then provided a patch to Sylpheed-Claws, the
bleeding-edge branch of Sylpheed. Six months later,
Sylpheed-Claws has a rather featureful and easy to use
spell checker. It's handling is in some aspects quite
different from the spell checkers of other applications,
but it was taylored to my needs, and never had critics
on it (may be it's not used?). And just copying all what
other can only stop innovation and original ideas.
Back-Port to Sylpheed
The spell checker is integrated in Sylpheed-Claws, but
it did not make its way to Sylpheed-Main, although it's
now more than six months that it is in the Claws
branch. There are few issues that may have prevented the
merge: pspell has some installation issues and is
sensitive to the libltdl library. This results in
systematic crashes, if the libraries are not compatible.
(One possible solution could also to use the same
libltdl that was used when compiling pspell). I never
had this problem. One workaround, is to compile pspell
without dynamic linking, this would prevent crashes. The
second point, is the coding style. I think, the code
need some cleaning. Maybe some reorganisation,
too. There is also a small issue, that I could not
resolve: when using the "Check while typing" feature,
the text flickers. This can be annoying on slow
machines. Moreover, I'm not pushing Sylpheed's author to
do it, as it's not a crucial feature.
As the developement cycle of Sylpheed is quite fast, I
decided not to create a back-port from Claws to each
Sylpheed-Main version. The current version is based on
the version 0.7.2 from cvs. If you have the developement
tools, you can apply the patch to any version from that
one to the current one (please notify me if it's no more
the case). If not, send a request on the Sylpheed
mailing list, and if sufficient persons are interested
or if I have sufficient time, I'll do a version specific
patch that does not need developement packages.
0.7.6
A patch for 0.7.6 can be downloaded from
here
(sylpheed-0.7.6.pspell.patch.gz. Apply the patch using
gzip -dc sylpheed-0.7.6.pspell.patch.gz | patch -p1
then configure with the additional option
--enable-pspell. Then make and install as
usual. Read the accompanying README.pspell for
important information (see below for a link).
0.7.2cvs and later
A patch for 0.7.2cvs and later can be found
here
(sylpheed-0.7.2cvs.pspell.patch.gz). Once the patch applied, run
./autogen.sh, then run ./configure with the
--enable-pspell option appended. Then proceed as usual with
make and make install.
0.7.1
0.7.1 can be found
here
(sylpheed-0.7.1.pspell.patch.gz)
or at the
Sylpheed Patch Homepage.
Download it, gunzip it and then apply the patch within
Sylpheed directory using the -p1 option for
patching. Check the
README.pspell for
installation instructions.
0.6.6 - 0.7.0
As I am working on a new implementation of the spell
checker code in Sylpheed Claws (see the
Latest News), I will not have
time to make a backport to the recent versions of
Sylpheed, until Claws' code stabilizes.
Hint: the 0.6.5 patch could be used to patch 0.6.6 and
0.7.0. The hunk to ./configure won't patch
correctly, it is not important as the
autogen.sh script can recreate it. But please
don't ask for help for this.
0.6.5
There is a backport to Sylpheed. It can be found at the
Sylpheed Patch Homepage or directly
here (sylpheed-0.6.5.pspell.patch.gz).
Download it, gunzip it and then apply the
patch within Sylpheed directory using the -p1 option for patching.
Check the README.pspell for installation instructions.
Latest Developement News
|