summaryrefslogtreecommitdiff
path: root/index.html
blob: 07ac3bf8acc2d21568b3400f6ac9e35877ee4685 (plain)
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
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>Enchant</title>
</head>
<body>
<div class="content">
<h1>Enchant</h1>
<p>by Dom Lachowicz</p>
<p>Current maintainer: Reuben Thomas</p>

<hr />

<h2>News</h2>

<p>January 3, 2018: Enchant 2.2.1 released.
<p>December 12, 2017: Enchant 2.2.0 released.
<p>August 8, 2017: Enchant 2.1.0 released.
<p>August 4, 2017: Enchant 2.0.0 released.
<p>February 6, 2017: Enchant 1.6.1 released.
<p>April 1, 2010: Enchant 1.6.0 released.
<p>May 23, 2009: Enchant 1.5.0 released.
<p>May 5, 2008: Enchant 1.4.2 released.

<h2>What is Enchant?</h2>

<p>Enchant is a library (and command-line program) that wraps a number of
different spelling libraries and programs with a consistent interface. By
using Enchant, you can use a wide range of spelling libraries, including
some specialised for particular languages, without needing to program to
each library's interface. If it's not convenient to call a C library, you
can access most of Enchant's functionality via the enchant program, which
communicates over a pipe, like ispell, and is indeed ispell-compatible.</p>

<h2>Backends</h2>

<p>Enchant is capable of having multiple backends loaded at once. Currently, Enchant has 6 backends:</p>

<!-- FIXME: add links for all backends -->
<ul>
<li>Hunspell (used by many other programs, including Firefox and Thunderbird)</li>
<li>Aspell (old Ispell replacement)</li>
<li>Hspell (Hebrew)</li>
<li>Zemberek (Turkish)</li>
<li>Voikko (Finnish)</li>
<li>AppleSpell (macOS)</li>
</ul>

<h2>Getting Enchant</h2>

<p>You can get Enchant from Github. <a
href="https://github.com/AbiWord/enchant">https://github.com/AbiWord/enchant</a></p>

<p>Older versions are still available from the <a
href="http://www.abisource.com/downloads/enchant/">AbiSource website</a>.</p>

<p>You can browse the Enchant source: <a href="https://github.com/AbiWord/enchant">https://github.com/AbiWord/enchant</a>.
Enchant's public API can be found <a
href="https://github.com/AbiWord/enchant/blob/master/src/enchant.h">here.</a>
Enchant's provider plugin API can be found <a
href="https://github.com/AbiWord/enchant/blob/master/src/enchant-provider.h">here.</a>
Enchant's C++ API can be found <a
href="https://github.com/AbiWord/enchant/blob/master/src/enchant%2B%2B.h">here.</a></p>

<h2>User configuration</h2>

<p>Users can install their own dictionaries for several back-ends, and even
their own spell-checker back-end plugins, and can configure which back-ends
are used for which languages.</p>

<h2>Building Enchant</h2>

<p>Enchant's build system uses GNU Autotools, which means that it works on
most operating systems and with most compilers, including MSVC and
XCode.</p>

<p>Enchant is vanilla C and C++ code, and as such should be buildable
with just about any C/C++ compiler.</p>

<p>LibEnchant imposes no dependencies other than libc on programs
that use it. Internally, Enchant requires Glib2 version 2.6 or later.</p>

<p>All inputs and outputs are in UTF-8 encoding. Language tags use
the familiar ISO standards, and take the form of "xx_YY"
(language_LOCALE), where the locale ("_YY") portion is optional, but
encouraged. We may consider extending the language tag mechanism to
accommodate future needs, such as medical dictionaries.</p>

<h2>Programs using Enchant</h2>

<p>Enchant is used by <a href="http://www.abisource.com/">AbiWord</a>,
<a href="http://www.lyx.org">LyX</a>, and,
via <a href="https://wiki.gnome.org/Projects/gspell">gspell</a>
and <a href="http://gtkspell.sourceforge.net">GtkSpell</a>, a number of Gtk
and GNOME applications. Emacs support is in development.</p>

<p>Backends for additional spell-checking systems are welcomed.</p>

<h2>Bugs and development</h2>

<p>Please use <a
href="https://github.com/AbiWord/enchant/issues/">Github issue
    tracker</a> if possible to file bugs, offer patches or request new features.
  Even better, submit a <a href="https://github.com/AbiWord/enchant/pulls/">Pull Request</a>!
  Alternatively, feel free to send a message to the abiword-devel mailing list.
</p>

<p>The list for Enchant discussion is the AbiWord-devel
list. Please see <a
href="http://www.abisource.com/developers/">http://www.abisource.com/developers/</a>
for more information on how to join, and for archives.</p>

<p>Enchant is quite mature, but it still lacks features. Some work has
already been done as part of past Google Summer of Code projects that has
not yet been integrated into releases (see the issue tracker). Some
functionality available in the underlying spelling libraries but not yet
supported by Enchant could also usefully be added to Enchant's APIs.</p>

<p>If you'd like to contribute to Enchant, please read the file <code>HACKING</code>.

<h2>License</h2>

<p>Enchant is licensed under the LGPL license, with an
Exception so that non-free plugin backends
could be loaded and used by Enchant. Thus, it is possible to use
the native spell checkers on proprietary platforms (macOS, MS Office,…).</p>

<h2>What's in a Name?</h2>

<p>The definition of "Enchant" is roughly "to cast a spell". So, it's a pun!</p>

</div>
<table style="text-align: left; background-color: rgb(244, 244, 244); width: 100%;" width="100%" border="0" cellspacing="2" cellpadding="2"><tbody><tr><td style="font-size: 8pt; align: center;"><div class="copyright">Copyright (C) 1998-2017, the AbiSource community.  All rights reserved.<br />
AbiSource, AbiSuite, and AbiWord are <a href="/information/license/tm_guide.phtml">trademarks</a> of Dom Lachowicz.  All other product names, company names, or logos cited herein are property of their respective owners.</div></td></tr></tbody></table>
</body>
</html>