Skip to content
Please note that GitHub no longer supports your web browser.

We recommend upgrading to the latest Google Chrome or Firefox.

Learn more
enchant spellchecking library
C++ Shell C M4 Makefile Objective-C++ Other
Branch: master
Clone or download
rrthomas Merge pull request #224 from rrthomas/master
Bump version to 2.2.7 and add NEWS for release
Latest commit e2b1e2b Sep 11, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
build-aux Issue #76: Build on more Windows targets Apr 14, 2017
gl-mod Update gl-mod/bootstrap, so we deep-clone gnulib Aug 31, 2019
gl/doc
gnulib @ 2809842 Add gnulib to git Oct 30, 2018
lib Fix use of relocatable so that relocatable.c is correctly built Dec 11, 2017
m4 Add gnulib to git Oct 30, 2018
providers Hunspell provider: fix a space leak Sep 11, 2019
src src/pwl.c: treat PWL as text, not binary Sep 1, 2019
tests Remove support for testing with Valgrind (prefer ASAN) Sep 11, 2019
.dir-locals.el Improve HACKING Feb 21, 2017
.gitignore Add gnulib to git Oct 30, 2018
.gitmodules .gitmodules: get gnulib via https to placate GitHub Nov 5, 2018
.travis.yml Travis: build with ASAN (fix #142) Sep 11, 2019
AUTHORS Run unittests, fixed for non-Windows systems Feb 1, 2017
COPYING.LIB Fix FSF address Dec 14, 2017
ChangeLog Add a note that ChangeLog isn't up to date Feb 4, 2017
HACKING HACKING: Add a pointer to .travis.yml and appveyor.yml Aug 8, 2019
Makefile.am Support parallel installation of different Enchant versions Nov 25, 2017
NEWS Bump version to 2.2.7 and add NEWS for release Sep 11, 2019
README Mention Common Lisp interface and URL in README Mar 17, 2019
appveyor.yml Remove autogen.sh, just use bootstrap Apr 15, 2017
bootstrap Update bootstrap from gl-mod/bootstrap Aug 31, 2019
bootstrap.conf Remove support for testing with Valgrind (prefer ASAN) Sep 11, 2019
configure.ac Bump version to 2.2.7 and add NEWS for release Sep 11, 2019
enchant.pc.in Add versioning to pkg-config file Nov 26, 2017
index.html Bump version to 2.2.6; add NEWS Sep 5, 2019

README

libenchant -- Generic spell checking library
Original author: Dom Lachowicz

libenchant is licensed under the terms of the GNU LGPL (see the file
COPYING.LIB), with a special exception allowing the use of proprietary
spell-checking systems.

Enchant aims to provide a simple but comprehensive abstraction for dealing
with different spell checking libraries in a consistent way. A client, such
as a text editor or word processor, need not know anything about a specific
spell-checker, and since all back-ends are plugins, new spell-checkers can
be added without needing any change to the program using Enchant.

Enchant can be configured by the user, who can even add spell-checker
plugins if desired.

Enchant currently works with the following spell-checkers:

    * Hunspell (formerly Myspell)
    * GNU Aspell
    * Hspell
    * Voikko
    * Apple Spell (macOS only)
    * Zemberek

Enchant is written in C and C++, and its only external dependency is glib.

Enchant bindings are supplied for C and C++; there are third-party bindings
for:

Python: https://github.com/rfk/pyenchant/
Ruby: https://github.com/pennyapp/ruby-enchant
Go: http://pythonhosted.org/pyenchant/
Common Lisp: https://github.com/tlikonen/cl-enchant


Sharing personal word lists between spell-checkers
--------------------------------------------------

It is possible, and usually safe, to share Enchant’s personal word lists
with other spelling checkers that use the same format (a simple plain text
file with one word per line). The spell-checkers known to be compatible are
Hunspell and Ispell. (Although Enchant does not support Ispell as a
back-end, it’s still fine to share word lists with it.) Other spell-checkers
supported by Enchant are either incompatible, or have no personal word list
mechanism. There may well be yet other spell-checkers, unknown to Enchant,
that use the same format.

Some applications use Hunspell, but store the personal word list under
another name or in another location. Firefox is one example. Firefox also
seems to reorder its word list when updating it; again, this is OK, as the
result is still in the same format.

To share word lists with Enchant, find the other spelling checker’s word
list file, e.g. ~/.hunspell_fr_FR, and merge it with the corresponding
Enchant file, in this case ~/.config/enchant/fr_FR.dic (on a GNU or BSD
system). Use the following command, replacing ENCHANT-DICT and OTHER-DICT
with the corresponding dictionary file names:

cat ENCHANT-DICT OTHER-DICT | sort -u > merged.txt

Take a look at merged.txt to check the merge has worked, then

mv merged.txt ENCHANT-DICT
rm OTHER-DICT
ln -s OTHER-DICT ENCHANT-DICT

to replace the other dictionary file with a link to the Enchant dictionary,
again filling in the name of the dictionary files.


Bug reports and development
---------------------------

To report libenchant bugs or request features, please visit
https://github.com/AbiWord/enchant

If you can't use GitHub, you can use the (low-traffic) AbiWord-devel list.
To subscribe send a mail to:

	abiword-dev-request@abisource.com

and in the body of the message write "subscribe"

An archive of the mailing lists is available at:

	http://www.abisource.com/mailinglists/abiword-dev/


Enchant has taken insight from GNU Aspell: http://aspell.net
You can’t perform that action at this time.