~ubuntu-branches/ubuntu/lucid/dict-ns/lucid

« back to all changes in this revision

Viewing changes to utils/README

  • Committer: Bazaar Package Importer
  • Author(s): Matthias Klose
  • Date: 2007-02-06 20:11:42 UTC
  • Revision ID: james.westby@ubuntu.com-20070206201142-vix5rf0kn1h06h94
Tags: upstream-20070206
ImportĀ upstreamĀ versionĀ 20070206

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
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
 
6
 
 
7
The README from myspell follows ; for more information see Makefile
 
8
You can run munch or unmunch to get command line help
 
9
 
 
10
--------------------------------------------------
 
11
 
 
12
MySpell is a simple spell checker that uses affix 
 
13
compression and is modelled after the spell checker
 
14
ispell.  
 
15
 
 
16
MySpell was written to explore how affix compression 
 
17
can be implemented. 
 
18
 
 
19
The Main features of MySpell are:
 
20
 
 
21
1. written in C++ to make it easier to interface with 
 
22
   Pspell, OpenOffice, AbiWord, etc
 
23
 
 
24
2. it is stateless, uses no static variables and
 
25
   should be completely reentrant with almost no 
 
26
   ifdefs  
 
27
 
 
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.
 
33
 
 
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
 
37
 
 
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 
 
41
   ispell).
 
42
 
 
43
6. it supports improved suggestions with replacement
 
44
   tables and ngram-scoring based mechanisms in addition
 
45
   to the main suggestion mechanisms
 
46
 
 
47
7. like ispell it has a BSD license (and  no 
 
48
   advertising clause)
 
49
 
 
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).
 
54
 
 
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.
 
59
 
 
60
MySpell has been tested under Linux and Solaris
 
61
and has the world's simplest Makefile and no 
 
62
configure support.
 
63
 
 
64
It does come with a simple example program that 
 
65
spell checks some words and returns suggestions.
 
66
 
 
67
To build a static library and an example
 
68
program under Linux simply type:
 
69
 
 
70
tar -zxvf myspell.tar.gz
 
71
cd myspell2
 
72
make
 
73
 
 
74
To run the example program:
 
75
./example ./en_US.aff ./en_US.dic checkme.lst
 
76
 
 
77
Please play around with it and let me know
 
78
what you think.
 
79
 
 
80
 
 
81
Developer Credits:
 
82
 
 
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 
 
92
 
 
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.
 
102
 
 
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.
 
109
 
 
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
 
114
improvements. 
 
115
 
 
116
 
 
117
Special Thanks to all others who have either contributed ideas or
 
118
testing for MySpell
 
119
 
 
120
 
 
121
Thanks,
 
122
 
 
123
Kevin Hendricks
 
124
kevin.hendricks@sympatico.ca
 
125