-
Notifications
You must be signed in to change notification settings - Fork 5
/
README
91 lines (64 loc) · 3.32 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
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)
* Nuspell
* 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: https://github.com/hermanschaaf/enchant
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, Nuspell 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 or Nuspell, 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. Anonther example is Thunderbird.
To share word lists with Enchant, find the other spelling checker’s word
list file, e.g. ~/.hunspell_fr_FR or ~/.config/nuspell/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:
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