| About Hunspell | |
| -------------- | |
| Hunspell is a spell checker and morphological analyzer library and program | |
| designed for languages with rich morphology and complex word compounding or | |
| character encoding. Hunspell interfaces: Ispell-like terminal interface | |
| using Curses library, Ispell pipe interface, OpenOffice.org UNO module. | |
| Hunspell's code base comes from the OpenOffice.org MySpell | |
| (http://lingucomponent.openoffice.org/MySpell-3.zip). See README.MYSPELL, | |
| AUTHORS.MYSPELL and license.myspell files. | |
| Hunspell is designed to eventually replace Myspell in OpenOffice.org. | |
| Main features of Hunspell spell checker and morphological analyzer: | |
| - Unicode support (affix rules work only with the first 65535 Unicode characters) | |
| - Morphological analysis (in custom item and arrangement style) and stemming | |
| - Max. 65535 affix classes and twofold affix stripping (for agglutinative | |
| languages, like Azeri, Basque, Estonian, Finnish, Hungarian, Turkish, etc.) | |
| - Support complex compoundings (for example, Hungarian and German) | |
| - Support language specific features (for example, special casing of | |
| Azeri and Turkish dotted i, or German sharp s) | |
| - Handle conditional affixes, circumfixes, fogemorphemes, | |
| forbidden words, pseudoroots and homonyms. | |
| - Free software (LGPL, GPL, MPL tri-license) | |
| Compiling on Unix/Linux | |
| ----------------------- | |
| ./configure | |
| make | |
| make install | |
| For dictionary development, use the --with-warnings option of configure. | |
| For interactive user interface of Hunspell executable, use the --with-ui option. | |
| The developer packages you need to compile Hunspell's interface: | |
| glibc-devel | |
| optional developer packages: | |
| ncurses (need for --with-ui) | |
| readline (for fancy input line editing, | |
| configure parameter: --with-readline) | |
| locale and gettext (but you can also use the | |
| --with-included-gettext configure parameter) | |
| Hunspell distribution uses new Autoconf (2.59) and Automake (1.9). | |
| Compiling on Windows | |
| -------------------- | |
| 1. Compiling with Windows SDK | |
| Download the free Windows SDK of Microsoft, open a command prompt | |
| window and cd into hunspell/src/win_api. Use the following command | |
| to compile hunspell: | |
| vcbuild | |
| 2. Compiling in Cygwin environment | |
| Download and install Cygwin environment for Windows with the following | |
| extra packages: | |
| make | |
| gcc-g++ development package | |
| mingw development package (for cygwin.dll free native Windows compilation) | |
| ncurses, readline (for user interface) | |
| iconv (character conversion) | |
| 2.1. Cygwin1.dll dependent compiling | |
| Open a Cygwin shell, cd into the hunspell root directory: | |
| ./configure | |
| make | |
| make install | |
| For dictionary development, use the --with-warnings option of configure. | |
| For interactive user interface of Hunspell executable, use the --with-ui option. | |
| readline configure parameter: --with-readline (for fancy input line editing) | |
| 1.2. Cygwin1.dll free compiling | |
| Open a Cygwin shell, cd into the hunspell/src/win_api and | |
| make -f Makefile.cygwin | |
| Testing | |
| ------- | |
| Testing Hunspell (see tests in tests/ subdirectory): | |
| make check | |
| or with Valgrind debugger: | |
| make check | |
| VALGRIND=[Valgrind_tool] make check | |
| For example: | |
| make check | |
| VALGRIND=memcheck make check | |
| Documentation | |
| ------------- | |
| features and dictionary format: | |
| man 4 hunspell | |
| man hunspell | |
| hunspell -h | |
| http://hunspell.sourceforge.net | |
| Usage | |
| ----- | |
| The src/tools dictionary contains ten executables after compiling | |
| (or some of them are in the src/win_api): | |
| affixcompress: dictionary generation from large (millions of words) vocabularies | |
| analyze: example of spell checking, stemming and morphological analysis | |
| chmorph: example of automatic morphological generation and conversion | |
| example: example of spell checking and suggestion | |
| hunspell: main program for spell checking and others (see manual) | |
| hunzip: decompressor of hzip format | |
| hzip: compressor of hzip format | |
| makealias: alias compression (Hunspell only, not back compatible with MySpell) | |
| munch: dictionary generation from vocabularies (it needs an affix file, too). | |
| unmunch: list all recognized words of a MySpell dictionary | |
| wordforms: word generation (Hunspell version of unmunch) | |
| After compiling and installing (see INSTALL) you can | |
| run the Hunspell spell checker (compiled with user interface) | |
| with a Hunspell or Myspell dictionary: | |
| hunspell -d en_US text.txt | |
| or without interface: | |
| hunspell | |
| hunspell -d en_UK -l <text.txt | |
| Dictionaries consist of an affix and dictionary file, see tests/ | |
| or http://wiki.services.openoffice.org/wiki/Dictionaries. | |
| Using Hunspell library with GCC | |
| ------------------------------- | |
| Including in your program: | |
| #include <hunspell.hxx> | |
| Linking with Hunspell static library: | |
| g++ -lhunspell example.cxx | |
| Dictionaries | |
| ------------ | |
| Myspell & Hunspell dictionaries: | |
| http://wiki.services.openoffice.org/wiki/Dictionaries | |
| Aspell dictionaries (need some conversion): | |
| ftp://ftp.gnu.org/gnu/aspell/dict | |
| Conversion steps: see relevant feature request at http://hunspell.sf.net. | |
| László Németh | |
| nemeth at OOo |