aspell: Important Items

1 
1 D.1 Important Items
1 ===================
1 
1 Words in bold indicate how you should refer to the item when discussing
1 it with me or others.
1 
1 D.1.1 Things that need to be done
1 ---------------------------------
1 
1 These items need to be done before I consider Aspell finished. If you
1 are interested in helping me with one of these tasks please email me.
1 Good C++ skills are needed for most of these tasks involving coding.
1 
1    * Create a generic filter to handle multi-character letters such as
1      `"a' or `\"a' for รค.  This filter should make use of the already
1      exiting normalization code if possible.
1 
1    * Make Aspell *Thread safe*. Even though Aspell itself is not
1      multi-threaded I would like it to be thread safe so that it can be
1      used by multi-threaded programs. There are several areas of Aspell
1      that are potentially thread unsafe (such as accessing a global
1      pool) and several classes which have the potential of being used
1      by more than one thread (such as the personal dictionary). _[In
1      Progress]_.
1 
1    * Enhance *ispell.el* so that it will work better with GNU Aspell.
1      _[In Progress]_.
1 
1    * Clean up copyright notices and bring the Aspell package up to *GNU
1      Standards*. _[In Progress]_.
1 
1 D.1.2 Things I would like to get done
1 -------------------------------------
1 
1 I would like to get these done. However, I may still consider Aspell
1 finished without. They will probably eventually get implemented.
1 However, I could still use help with them.
1 
1    * Better support for *compound words*. The support for _conditional_
1      compound words found in Aspell versions 0.50 and earlier is no
1      longer available since no one seems to be using it. Support for
11      _unconditional_ compound words is still available. ⇒Compound
      Words.
1 
1    * Be able to accept *words with spaces in them* as many languages
1      have words, such as a word in a foreign phrase, which only makes
11      sense when followed by other words. ⇒Words With Symbols in
      Them.
1 
1    * Reorganize manual to make it easier to understand and to make it
1      possible to break out useful man pages.
1 
1    * Support *soundslike lookup with affix compression*.  I think it is
1      possible, although I don't know how effective it will be.  The
1      basic idea is to affix compress the soundslike codes and then
1      match the codes up with affix compressed words.  If you are
1      interested, email <aspell-devel@gnu.org>, and I will explain it in
1      more detail.
1 
1    * Use Lawrence Philips' new *Double Metaphone algorithm*. See
1      `http://aspell.net/metaphone/'. The main task involved here is
1      converting the algorithm into table form. This will take some time
1      but there is no real programming experience required. If you want
1      to help with Aspell but don't have any real programming experience,
1      this would be a great place to start.
1 
1    * Rank suggestions based on *frequency information*.  Both global
1      frequency and document specific frequency can be used.  The latter
1      will require that the whole document be made available to the
1      spell checker.  Also use frequency information to flag words which
1      are found in the dictionary but not in common usage, and thus
1      might not be what was intended.
1 
1    * Support a *"dual-script" mode* where Aspell can use a separate
1      dictionary depending on which script it detects the current word
1      in, the two dictionaries can have nothing in common, ie an English
1      one and a Russian one for example.  This will _not_ support two
1      languages that use the same script as that is a lot more
1      complicated.  For example if the word is misspelled which
1      dictionary should it use for the suggestions?
1 
1    * Write a *GUI* for the Aspell utility. Ideally it should be able to
1      do everything the Aspell utility can do and not just be able spell
1      check a document.
1 
1    * Develop a *more powerful C API* for Aspell.  Ideally this API
1      should allow one to perform all the tasks the Aspell utility can
1      do.  This included the ability to check whole documents, and create
1      dictionaries, among other things.
1 
1    * Create a *C++ interface* for Aspell, possibly on top of the C one.
1 
1