GNU Aspell (original) (raw)
GNU Aspell is a Free and Open Source spell checker designed to eventually replace Ispell. It can either be used as a library or as an independent spell checker. Its main feature is that it does a superior job of suggesting possible replacements for a misspelled word than just about any other spell checker out there for the English language. Unlike Ispell, Aspell can also easily check documents in UTF-8 without having to use a special dictionary. Aspell will also do its best to respect the current locale setting. Other advantages over Ispell include support for using multiple dictionaries at once and intelligently handling personal dictionaries when more than one Aspell process is open at once.
Try it out for your self using the Aspell Spell Helper or see someTest Results Comparing Aspell with other spell checkers.
Quick Links
- Latest Version: GNU Aspell 0.60.8.1 (Released December, 2023)
- Available Dictionaries for GNU Aspell.
- ftp.gnu.org:/gnu/aspell - For other versions. Or use a mirror
- alpha.gnu.org:/gnu/aspell - For previous snapshots.
- Manual
- ChangeLog
- Devel Docs
- Mailing Lists
- Savannah Project Page - For Latest Source Code, Releases, Mailing lists, and old CVS Repo
- GitHub project - For Bug Report and Patches, alternative location for Latest Source Code
- The Aspell textual domain at the Translation Project
- Historical Development Version: 0.61-20110707
- 0.61 ChangeLog
- 0.61 Manual
- 0.61 Devel Docs
- Previous Version: 0.50.5 (Released Feb, 2004)
- 0.50.5 Manual
- 0.50.5 Devel Docs
- Debian Packages
- MSYS2 - For Windows Users (Aspell Package Details: 32-bit, 64-bit).
- Aspell 0.50 Windows Port (No longer maintained)
- Information on Aspell 0.33.7 and Pspell.
News
December 19, 2023
GNU Aspell 0.60.8.1 is now available. More
October 12, 2019
GNU Aspell 0.60.8 is now available. More
July 18, 2019
Due to the discovery of a potential buffer over-read in the API the next version of Aspell (0.60.8) may break applications that pass null-terminated UCS-2 or UCS-4 strings to the C API. More
December 11, 2016
GNU Aspell has moved to GitHub. All issues from Sourceforge have been moved to GitHub. The old CVS repo is now considered frozen. The current Git repo is a state of flux. Once it stabilizes the master and devel branch will be mirrored on Savannah for safe keeping.
July 4, 2013
GNU Aspell is looking for a co-maintainer. If you're interested, please take a look at this general information about GNU packages and being a GNU maintainer, and then email maintainers@gnu.org with a bit about your background and particular interest in this package.More
September 12, 2011
In recent years the development of Aspell has stagnated, but I have never really lost interest in Aspell. The problem was that I just did not know how to move forward in light of Hunspell slowly taking the role that I meant for Aspell to take. However, after giving it careful thought I believe Aspell future depends on making Enchant the system spell checker. This will involve some effort on the part of others to make it happen.More(Followup Discussion).
July 4, 2011
GNU Aspell 0.60.6.1 is now available. This is a bug fix release.More.
Aspell 0.60.7 pre-release snapshot now availableMore.
May 14, 2008
Updated the Test Results page to include recent versions of Aspell and Hunspell and to include total run times.
April 17, 2008
Need Someone to Maintain Aspell Windows Port. More
April 16, 2008
GNU Aspell 0.60.6 is now available. This release improves suggestion results in certain cases and fixes a a number of bugs.More.
November 4, 2007
At long last, the Aspell Spell Helperis working again.
October 15, 2007
New Aspell 0.61 Snapshot Now Available.More
November 20, 2006
Help Needed To Maintain Aspell's Many Dictionaries.More.
November 7, 2004
MS Visual C++ Port Now Available for Aspell 0.60 at ftp.gnu.org:/gnu/aspell.More
August 27, 2004
GNU Aspell 0.60 is now available. The two major changes in this release, as compared to 0.50.5, are support for affix compression and better Unicode support. More.
April 15, 2004
Thanks to Joseph Blough a small Win32/Linux GUI for Aspell is now available. More.
March 25, 2004
Mirror for czyborra.com/charsets now available.
Getting
The latest version of GNU Aspell is 0.60.7. You can find it at ftp.gnu.org:/gnu/aspell or at a GNU mirror site. You will also need to download at least one dictionary which can be found at the same location.
If you are looking for Aspell 0.33.7, Pspell, or dictionaries for Aspell 0.33.7 go here.
A patch for ispell.el for improved Aspell support also available. This patch will notify aspell of the replacements one makes so it can improve the suggestion list in the future. A more involved patch can be found hereThis one also adds UTF-8 support but will only apply cleanly to Ispell.el 3.7 beta.
Support
Unofficial support for GNU Aspell can be found at the aspell-usermailing list. You do not need to be subscribed in order to post, however if you don't subscribe your post will need to be approved. The list mailing address is aspell-user@gnu.org. Please direct all problems you have with Aspell to this list and not directly to Kevin.
Additional Information
- Manual
- Devel Docs
- Brave GNU World Questioner - More info than you probably wanted to know about GNU Aspell.
- Administrative Changes Due to the Release of GNU Aspell 0.50
- Changes in GNU Aspell 0.50 important to a Packager.
Language Bindings
- Perl: Text::Aspell
- Ruby: Raspell
- PHP: Uses the old Pspell interface, Manual
Getting Involved
The easiest thing you can do help out is to try GNU Aspell out and report bugs or even better submit patches to fix problems. You can either send them to the aspell-devel mailing list or via GitHub.
If you are interested in following the latest developments be sure and subscribe to the aspell-announcemailing list.
If you are a fairly regular user of Aspell consider subscribing to theaspell-usermailing list to help other users out with their problems.
If you are interested in helping with the development of Aspell or have an idea you would like to discuss post it to the aspell-develmailing list. The aspell-devel mailing list is meant for people interested in the development of the actual Aspell utility/library. If you have a question about how to use the Aspell library please post to the aspell-user mailing list.
To Do
Lots of jobs remain to be done. Unfortunately, I do not have the time to do all so if you are interested in helping me with one of these tasks please email me at kevina@gnu.org. Good C++ skills are needed for most of these tasks involving coding.
Things that need to be done
These items need to be done before I consider Aspell finished. If you are interested in helping me with one of these tasks please email me. Good C++ skills are needed for most of these tasks involving coding.
- Support Hunspellfeatures that Aspell doesn't have which prove to be usefull. Most likely:
- Twofold suffix stripping
- Better support for compound words. The support for_conditional_ compound words found in Aspell versions 0.50 and earlier is no longer available since no one seams to be using it. Support for unconditional compound words will still be available. I have some ideas on the topic available here, but perhapes something compatable with how Hunspell does it will be better.
- Maybe others.
- Create a generic filter to handle multi-character letters such as
"a
or\"a
for รค. This filter should make use of the already exiting normalization code if possible. [Done for Aspell 0.61] - Make Aspell Thread safe. Even though Aspell itself is not multi-threaded I would like it to be thread safe so that it can be used by multi-threaded programs. There are several areas of Aspell that that are potently thread unsafe (such as accessing a global pool) and several classes which have the potential of being used by more than one thread (such as the personal dictionary). [In Progress].
- Enhance ispell.el so that it will work better with GNU Aspell. [In Progress].
- Clean up copyright notices and bring the Aspell package up toGNU Standards. [In Progress].
Things I would like to get done
I would like to get these done. However, I may still consider Aspell finished with out. They will probably eventually get implemented. However, I could still use help with them.
- Be able to accept words with spaces in them as many languages have words, such as a word in a foreign phrase, which only make sense when followed by other words. See Words With Symbols in Them.
- Reorganize manual to make it easier to understand and to make it possible to break out useful man pages.
- Support soundslike lookup with affix compression. I think it is possible, although I don't know how effective it will be. The basic idea is to affix compress the soundslike codes and then match the codes up with affix compressed words. If you are interested, email aspell-devel@gnu.org, and I will explain it in more detail.
- Use Lawrence Philips' new Double Metaphone algorithm. Seehttp://aspell.net/metaphone/. The main task involved here is converting the algorithm into table form. This will take some time but their is no real programming experience is required. If you want to help with Aspell but don't have any real programming experience, this would be a great place to start.
- Rank suggestions based on frequency information. Both global frequency and document specific frequency can be used. The latter will require that the whole document be made available to the spell checker. Also use frequency information to flag words which are found in the dictionary but not in common usage, and thus might not be what was intended.
- Support a "dual-script" mode where Aspell can use a separate dictionary depending on which script it detects the current word in, the two dictionaries can have nothing in common, ie an English one and a Russian one for example. This will not support two languages that use the same script as that is a lot more complicated. For example if the word is misspelled which dictionary should it use for the suggestions?
- Write a GUI for the aspell utility. Ideally it should be able to do everything the Aspell utility can do and not just be able spell check a document.
- Develop a more powerfull C API for Aspell. Ideally this API should allow one to perform all the tasks the Aspell utility can do. This included the ability to check whole documents, and create dictionaries, among other things.
- Create a C++ interface for Aspell, possibly on top of the C one.
- Support more than one spell checker engine. The basic support is there, but since there has only every been one spell checker engine, it will probably take a decent amount of work.
Sub Projects
- Lawrence Philips' (Double) Metaphone Algorithm
- SCOWL (Spell Checker Oriented Word Lists) and Friends
- czyborra.com/charsets mirror.
Copyright (C) 2018 Kevin Atkinson (kevina@gnu.org). Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
Be sure to check out my home page.