ObjectFarmSpell.service ...unleashes the power of ispell on Mac OS X! What is it? As with Mac OS X 10.1 Apple only provides spell checking for the english (or better us-english) language. To work around this shortcoming I decided to wrap the command line spell checker Ispell [2] in a nice Mac OS X bundle so you can easily perform a simple drag-install. The cool thing with Mac OS X is that once an additional spell checker is installed all Cocoa based applications can use it. So for example Mail can spell check your emails written in german! The cool thing with Ispell is that you can get dictionaries for a lot of languages. This release (Version 0.9.1) is considered as BETA SOFTWARE. You should not use this release on a production system since ObjectFarmSpell might have undiscovered bugs that may cause loss of data. However due to the spell checking architecture of Mac OS X's Cocoa frameworks a worst case scenario e.g. loss of data seems unlikely. If ObjectFarmSpell should crash you get a 'Can't connect to Spell Cecker' dialog displayed on the screen - the application using the spell service should not be affected. For more info see the Revision History below. Please provide feedback if ObjectFarmSpell causes any trouble or inconvenience for you. System requirements: You need Mac OS X. The classic Mac OS is not supported you might consider using Excalibur [8]. ObjectFarmSpell was developed an tested with Mac OS X 10.1 but should also work with 10.0.x. Installation: Use the Finder to copy ObjectFarmSpell.service into /Library/Services. If the Services directory doesn't yet exist in /Library create it. Unfortunately there is a bug in Mac OS X 10.0 to 10.1 (build 5G64) which prevents automatic startup of custom spell services. This bug is reported to Apple and will hopefully be fixed for a future release of Mac OS X. For now you have use one of the following workarounds: For Mac OS X 10.0.4 you need to add a startup item to /Library/StartupItems which is supplied with the ObjectFarmSpell distribution ( the ObjectFarmSpell folder inside the Documentation folder). Copy this ObjectFarmSpell folder into /Library/StartupItems. You have to reboot to activate the spell service login/logout doesn't work. For Mac OS X 10.1 you also need the above mentioned StartupItem or go to System Preferences: Login Items and add /Library/Services/ObjectFarmSpell.service. Limitations: Ispell custom user dictionaries are currently not supported but you learn and forget words from within the Spelling panel (Edit->Spelling->Spelling...). Mac OS X's spell checking architecture maintains a list of learned words for each user and language (~/Library/Spelling/) which ObjectFarmSpell supports. Currently you can't add/remove) languages to/from ObjectFarmSpell. This will be added and documented in Version 1.0. Language Support: Currently only german [4], spanish [5], italian [6] and french [7] are supported languages. Other languages will follow soon (as long as Ispell dictionaries exist). You can check out the International Ispell Homepage [2] for a list of available languages. If you think you can't live without a spell checker for a particular language listed there drop me a note. Copyright: ObjectFarmSpell - a Mac OS X spell service using Ispell Copyright © 2001 by Stefan Kreutter This program is free software; you can redistribute it and/or modify it under the terms of the ObjectFarm Public License (version 1.0) as published by the ObjectFarm. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ObjectFarm Public License for more details. You should have received a copy of the ObjectFarm Public License along with this program; if not, have a look at: http://www.objectfarm.org/Activities/Software/ObjectFarmPublicLicense/ To be honest my contribution to ObjectFarmSpell.service is minimal compared to work done by others who wrote Ispell and compiled the dictionaries. So you have to read and agree to the Copyright information of Ispell and the dictionaries: ISpell Copyright 1993, 1999, 2001, Geoff Kuenning, Claremont, CA All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. All modifications to the source code must be clearly marked as such. Binary redistributions based on modified source code must be clearly marked as modified versions in the documentation and/or other materials provided with the distribution. 4. Any web site or other electronic service that offers ispell for download or other electronic transfer as a separate entity, in either source or binary form, must also include a prominent statement indicating that information about ispell can be obtained from the following Web site URL: http://fmg-www.cs.ucla.edu/geoff/ispell.html If the offering service supports hyperlinks, the aforementioned Web site must also be offered as a hyperlink. Condition 4 does not apply if ispell is offered only as part of a larger, aggregated product such as a word processor or packaged operating system. 5. The name of Geoff Kuenning may not be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY GEOFF KUENNING AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GEOFF KUENNING OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. German dictionary [4]: igerman98 - dictionaries for german language Copyright (C) 1999-2000 Bjšrn Jacke. This dictionary is also distributed under GNU General Public License version 2. Spanish dictionary [5]: espa~nol-1.7 - dictionaries for spanish (espa–ol) language Copyright (c) 1994-1996, 1999, 2001 Santiago Rodr’guez and Jesśs Carretero This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation. Italian dictionary [6]: ispell-it - dictionaries for italian language Copyright 1996-2000 (C) Antonio Palam‡ Copyright 1999-2000 (C) Loris Palmerini Copyright 1997-2000 (C) Marco Roveri Italian dictionary and affix file for ispell. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License. This version unify the 2 different development from - Antonio Palam‡ - Marco Roveri I (Loris Palmerini) had the agreements of authors to do this work. This is an improved version of their common affixes found in the Italian language. It's still not final. This is the equivalent of a beta version. The dictionary is not complete either but include around 160.000 words- French dictionary [7]: Francais-GUTenberg-v1.0 Copyright (C) 1999 Christophe Pythoud and l'Association GUTenberg. This dictionary is also distributed under GNU General Public License version 2. The GNU General Public License version 2 is included with the release of ObjectFarmSpell. Sorry for all this text (you probably didn't read) but I had to include it to clarify the copyright and the names of the involved authors. Source Code: Starting with version 1.0 the source code of ObjectFarmSpell will be public. Currently the code needs to be cleaned up and documented. However if you think you really need the source of version 0.9.1 feel free to contact me. Contact Information: Author: Stefan Kreutter Homepage: http://www.objectfarm.org/objectfarmspell Revision History: Version 0.9.1 First public release. THIS IS BETA SOFTWARE (see note above) Problems with Version 0.9.1: - When forgetting a learned word there seems to be a memory leak. Strangely the leak seems not to be in my code: *** malloc[]: Deallocation of a pointer not malloced: 0xff008; ... When the Forget-button is pressed the above message appears before the NSSpellServer's delegate method -spellServer:didForgetWord:inLanguage: gets called. References: [1] ObjectFarmSpell.service: http://www.objectfarm.org/objectfarmspell [2] International Ispell: http://ficus-www.cs.ucla.edu/geoff/ispell.html [3] GNU General Public License: http://www.fsf.org/copyleft/gpl.html [4] Bjšrn Jacke, German dictionary: http://www.suse.de/~bjacke/igerman98/ [5] Santiago Rodr’guez and Jesśs Carretero: http://www.datsi.fi.upm.es/~coes/espell_readme/ [6] Loris Palmerini et al.: http://members.xoom.it/trasforma/ispell [7] Christophe Pythoud: http://www.unil.ch/ling/cp/frgut.html [8] Excalibur The LaTeX-Aware Spelling Checker: http://www.eg.bucknell.edu/~excalibr