• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Spellserver extensions
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Spellserver extensions


  • Subject: Spellserver extensions
  • From: Ondra Cada <email@hidden>
  • Date: Tue, 10 May 2005 17:38:26 +0200

Hello,

I am just preparing a Czech spell-checker, whose features somewhat extend the ones of the standard NSSpellServer interface. Seems to me it would be reasonable to find, say, some semi-standard API for this, so that other spell-checkers and other applications can mutually exploit the extra services (i.e., presumed, for example, a future cocoASpell release decides to support lexical categories, that applications which were written to use them with the Czech checker would be immediately able to use them).

Here is a list of the extensions I am at this moment implementing:

(i) lexical categories: each word, known to the spell-checker, can be tagged as archaic, colloquial, dialectal, expressive, foreign, literary, vulgar, or slang (or any combination of them of course). The goal is to allow the user to choose which categories are to be considered all right and which not, and also to check which categories a given word belongs to;

(ii) thesaurus: optionally, the "guess" service can offer synonyms instead of (or along with) the "real guesses" (incidentally, it looks almost like a bug one cannot copy from the standard Cmd-^-d thesaurus, and whilst drag&drop works, it can't be used to replace the very word in question–but I digress);

(iii) stemmer: this service would not be used directly by the spell- checker UI (see below for what I would like to do with it), but self- evidently the spell checker has to offer it to the UI level;

(iv) grammatical categories (whether it is a noun or verb or whatever...): this is probably the least useable service at the moment, and perhaps I should omit it altogether on the YAGNI principle. On the other hand, if the spell-server allows higher software levels to get this information, they can benefit...

Here is a list of UI improvements which I am at the moment considering, some of them just allowing the user to exploit the above services, other independent on them:

(a) possibility to set up the lexical categories and other services
- directly through the standard GUI if necessary ("guessing" special words, see below for the proposed API)
- conveniently through extended GUI if possible (e.g., by extending the Spell Panel: http://www.ocs.cz/korektor.jpeg -- although the screenshot comes from Jaguar IIRC, the technique was already checked to work all right with Tiger)


(b) add a System Preferences pane to control the behaviour: I know e.g., cocoAspell does this, but I guess users would greatly benefit if those options which can apply to any language would be shared);

(c) allow the user to choose whether accents and case should be ignored or not (which is of course the default behaviour);

(d) add services to remove accents (almost trivial, though not entirely, since e.g., ü without an accent is not 'u' but 'ue') and to add them (non-trivial, spell-checker has to be used to determine which is the right way, and the user has to be consulted);

(e) allow–optionally–to switch the dictionary language automatically depending on the language of the current document (probably using the selected keyboard for indication which language is the current one, perhaps along with text analysis);

(f) allow–optionally–for more user dictionaries, allowing the user to choose between them for a specific document;

(g) extend–again of course optionally–the new "Search All" service to use stems to select all the occurrences of the same word, regardless of its actual form;

(h) add a similar extension to Spotlight, possibly searching for synonyms, too.

I (more or less) know how to, and know which ones can be done a clean way, and which ones would need some Input Manager tweaking or similar. Again, my goal and the very reason I am writing this message is to make sure such extensions are as widely useable as possible: for example, it would be nice, if the user could exploit the GUI designed for Czech to find both Müller and Mueller in German, or perhaps both "lift" and "elevator" in English :)

Let me please know if you are the slightest bit interested; in that case I shall send you the API design and so forth.

Douglas, you perhaps might let me know which services I should not implement since they are planned for 10.4.1 :)))

Thanks a lot!
–-
Ondra Čada
OCSoftware:     email@hidden               http://www.ocs.cz
private         email@hidden             http://www.ocs.cz/oc


_______________________________________________ Do not post admin requests to the list. They will be ignored. Cocoa-dev mailing list (email@hidden) Help/Unsubscribe/Update your Subscription: This email sent to email@hidden
  • Prev by Date: Re: Add metadata to my files for Spotlight
  • Next by Date: Re: Add metadata to my files for Spotlight
  • Previous by thread: Cannot open file
  • Next by thread: MDQuery number of criteria limitation ?
  • Index(es):
    • Date
    • Thread