Hunspell is a spell checker and morphological analyser designed for languages with rich morphology and complex word compounding and character encoding, originally designed for the Hungarian language.
via Wikipedia infobox
Hunspell is a free spell checker and morphological analyzer library and command-line tool, licensed under LGPL/GPL/MPL tri-license. Hunspell is used by LibreOffice office suite, free browsers, like Mozilla Firefox and Google Chrome, and other tools and OSes, like Linux distributions and macOS. It is also a command-line tool for Linux, Unix-like and other OSes. It is designed for quick and high quality spell checking and correcting for languages with word-level writing system, including languages with rich morphology, complex word compounding and character encoding. Hunspell interfaces: Ispell-like terminal interface using Curses library, Ispell pipe interface, C++/C APIs and shared library, also with existing language bindings for other programming languages. Hunspell's code base comes from OpenOffice.org's MySpell library, developed by Kevin Hendricks (originally a C++ reimplementation of spell checking and affixation of Geoff Kuenning's International Ispell from scratch, later extended with eg. n-gram suggestions), see and its README, CONTRIBUTORS and license.readme (here: license.myspell) files. Main features of Hunspell library, developed by László Németh: Unicode support Highly customizable suggestions: word-part replacement tables and stem-level phonetic and other alternative transcriptions to recognize and fix all typical misspellings, don't suggest offensive words etc. Complex morphology: dictionary and affix homonyms; twofold affix stripping to handle inflectional and derivational morpheme groups for agglutinative languages, like Azeri, Basque, Estonian, Finnish, Hungarian, Turkish; 64 thousand affix classes with arbitrary number of affixes; conditional affixes, circumfixes, fogemorphemes, zero morphemes, virtual dictionary stems, forbidden words to avoid overgeneration etc. Handling complex compounds (for example, for Finno-Ugric, German and Indo-Aryan languages): recognizing compounds made of arbitrary number of words, handle affixation within compounds etc. Custom dictionaries with affixation Stemming Morphological analysis (in custom item and arrangement style) Morphological generation SPELLML XML API over plain spell() API function for easier integration of stemming, morpological generation and custom dictionaries with affixation Language specific algorithms, like special casing of Azeri or Turkish dotted i and German sharp s, and special compound rules of Hungarian. See man hunspell, man 3 hunspell, man 5 hunspell for complete manual. Translations: Hunspell has been translated into several languages already. If your language is missing or incomplete, please use Weblate to help translate Hunspell. Optional developer packages: ncurses (need for --with-ui), eg. libncursesw5 for UTF-8 readline (for fancy input line editing, configure parameter: --with-readline) On macOS for compiler always use clang and not g++ because Homebrew dependencies are build with that. Open Mingw-w64 Win64 prompt and compile the same way as on Linux, see above. Without mingw-w64-x86 64-libiconv the build still succeeds but the hunspell tool cannot convert between dictionary encodings, so any test or dictionary that declares a non-UTF-8 SET (e.g. ISO8859-1/2/15) will fail at runtime. Then compile the same way as on Linux. Cygwin builds depend on Cygwin1.dll. You can also pass the CXXFLAGS directly to make without calling ./configure , but we don't recommend this way during long development sessions. g++ -lhunspell-1.7 example.cxx or better, use pkg-config g++ $(pkg-config --cflags --libs hunspell) example.cxx Hunspell (MySpell) dictionaries: - - Aspell dictionaries (conversion: man 5 hunspell): ftp://ftp.gnu.org/gnu/aspell/dict
~2 min read
Hunspell is a spell checker and morphological analyser designed for languages with rich morphology and complex word compounding and character encoding, originally designed for the Hungarian language.
Hunspell is based on MySpell and is backward-compatible with MySpell dictionaries. While MySpell uses a single-byte character encoding, Hunspell can use Unicode UTF-8-encoded dictionaries.
Excerpt from the source-code README · 11,823 chars · not written by Vinony
via Wikidata · CC0
via Wikidata sitelinks · CC0
Discovered by embedding cosine similarity (sentence-transformers MiniLM, 384-dim).