1
This directory contains code from myspell relevant to processing dictionaries
2
(currently just the munch and unmunch utilities).
3
The code was taken directly from
4
http://lingucomponent.openoffice.org/MySpell-3.zip
5
We have copied it here to make building dictionaries easier
7
The README from myspell follows ; for more information see Makefile
8
You can run munch or unmunch to get command line help
10
--------------------------------------------------
12
MySpell is a simple spell checker that uses affix
13
compression and is modelled after the spell checker
16
MySpell was written to explore how affix compression
19
The Main features of MySpell are:
21
1. written in C++ to make it easier to interface with
22
Pspell, OpenOffice, AbiWord, etc
24
2. it is stateless, uses no static variables and
25
should be completely reentrant with almost no
28
3. it tries to be as compatible with ispell to
29
the extent it can. It can read slightly modified
30
versions of munched ispell dictionaries (and it
31
comes with a munched english wordlist borrowed from
32
Kevin Atkinson's excellent Aspell.
34
4. it uses a heavily modified aff file format that
35
can be derived from ispell aff files but uses
36
the iso-8859-X character sets only
38
5. it is simple with *lots* of comments that
39
describes how the affixes are stored
40
and tested for (based on the approach used by
43
6. it supports improved suggestions with replacement
44
tables and ngram-scoring based mechanisms in addition
45
to the main suggestion mechanisms
47
7. like ispell it has a BSD license (and no
50
But ... it has *no* support for adding words
51
to a personal dictionary, *no* support for converting
52
between various text encodings, and *no* command line
53
interface (it is purely meant to be a library).
55
It can not (in any way) replace all of the functionality
56
of ispell or aspell/pspell. It is meant as a learning
57
tool for understanding affix compression and for
58
being used by front ends like OpenOffice, Abiword, etc.
60
MySpell has been tested under Linux and Solaris
61
and has the world's simplest Makefile and no
64
It does come with a simple example program that
65
spell checks some words and returns suggestions.
67
To build a static library and an example
68
program under Linux simply type:
70
tar -zxvf myspell.tar.gz
74
To run the example program:
75
./example ./en_US.aff ./en_US.dic checkme.lst
77
Please play around with it and let me know
83
Special credit and thanks go to ispell's creator Geoff Kuenning.
84
Ispell affix compression code was used as the basis for the
85
affix code used in MySpell. Specifically Geoff's use of a
86
conds[] array that makes it easy to check if the conditions
87
required for a particular affix are present was very
88
ingenious! Kudos to Geoff. Very nicely done.
89
BTW: ispell is available under a BSD style license
90
from Geoff Kuennings ispell website:
91
http://www.cs.ucla.edu/ficus-members/geoff/ispell.html
93
The Original MySpell code was written by Kevin Hendricks
94
and released under a BSD license. An almost complete rewrite
95
of MySpell for use by the Mozilla project has been developed by
96
David Einstein (Deinst@world.std.com). David and I are now
97
working on parallel development tracks to help our respective
98
projects (Mozilla and OpenOffice.org and we will maintain full
99
affix file and dictionary file compatibility and work on merging our
100
versions of MySpell back into a single tree. David has been
101
a significant help in improving MySpell.
103
La'szlo' Ne'meth <nemethl@gyorsposta.hu>
104
who is the author of the Hungarian dictionary and who
105
developed and contributed the code to support compound words in
106
MySpell and fixed numerous problems with the encoding case conversion
107
tables. He also introduced the idea and is the author of the code
108
to support replacement tables which greatly improved suggestions.
110
Davide Prina <davideprina@uahoo.com>, Giuseppe Modugno
111
<gppe.modugno@libero.it>, Gianluca Turconi <luctur@comeg.it>
112
all from the it_IT OpenOffice.org team for a detailed code
113
review of MySpell and fixes for bugs, leaks, and speedup
117
Special Thanks to all others who have either contributed ideas or
124
kevin.hendricks@sympatico.ca