Summary

Reduce the number of spelling libraries used in main; modify / extend applications currently not using the One True Spellchecker to do so.

Rationale

Supporting only one implementation and set of dictionaries eases long-term maintenance. Also, words which the user teaches to the spellcheckers will be consistently available throughout the system.

Use cases

Scope

This affects all supported packages in Ubuntu which have spell-checking capability.

Design

Status quo

Currently four implementations are in use in current Intrepid:

ispell and aspell provide a C interface, myspell and hunspell provide a C++ interface. The enchant library provides a way to abstract from the underlying spell checker (aspell or myspell) and can be used to convert applications to a common interface.

Dictionary support is splitted out in its own spec ConsolidateDictionaries.

Goal in Intrepid

hunspell is the most modern implementation and considered the best choice in the free software world.

Implementation

GNOME

KDE

KDE4 upstream already uses enchant/hunspell. Above Fedora specification has patches for KDE 3, but since Intrepid will only ship KDE 4.1, we do not need to do anything in particular for KDE for this specification.

Outstanding issues

The demotion of aspell has not been discussed. It would require porting php and ekg to hunspell, which hasn't happened upstream yet. Thus we will keep the aspell library itself in main for the time being.

Comments

ConsolidateSpellingLibs (last edited 2008-08-06 16:16:08 by localhost)