README.pspell ------------ Summary: 1. Requirements 2. Configuration and installation 3. Usage 4. Known problems 1. Requirements --------------- The spell checker in sylpheed requires the Portable Spell Checker Interface Library pspell (http://pspell.sourceforge.net), version 0.12.2 or newer. You will need also the actual spell checker. There are two alternatives: i) ispell (http://fmg-www.cs.ucla.edu/fmg-members/geoff/ispell.html), which is found on quasi every distribution. You have then to install the pspell-ispell module found at the pspell site. ii) aspell (http://aspell.sourceforge.net). This spell checker must be installed after installing pspell. The version tested is .33.7 alpha. It has three different suggestion modes (fast -default- , normal, bad spellers), has the ability to learn from mistakes (default). And, last but not least, do not forget to install the dictionaries. Check the corresponding spell checker home page for more information on this. b. Configuring Sylpheed ----------------------- Spell checking is enabled if you configure Sylpheed appropriately. Add the option '--enable-pspell' when configuring, e.g.: ./configure --enable-pspell The configure script needs 'pspell-config' in your path. If it is in weird places, use '--with-pspell-prefix' to tell the path to pspell-config. E.g., if pspell-config is really /foo/bar/pspell-config, then use: ./configure --enable-pspell --with-pspell-prefix=/foo/bar If you have problems with not found includes or libraries, check first where these are located, and add either options: --with-pspell-includes=/foo/bar/include or --with-pspell-libs=/foo/bar/lib as appropriate. Configure script summarizes the options compiled in. Check that configure lists 'Pspell = yes'. Then proceed as usual, with 'make' and 'make install'. c. Usage -------- NOTE: if you upgraded from the previous patch, please reselect your default dictionary in the preferences. After successful compiling, you need to tell sylpheed where your dictionaries reside. First run 'pspell-config pkgdatadir' on the shell to get their path. Then run Sylpheed and go to Configuration -> Common preferences -> Spell Checker. Check the box 'Enable spell checker (EXPERIMENTAL)' and use the file selector ('...' button) to select the path where the dictionaries reside. Within the file selector, go to that directory and select *any* file in the file lists. Click ok. You should then be able to select your default dictionary. When composing and if the "Check while typing" option is enabled, misspelled words are highlighted. Click on any highlighted word with the right mouse button to get a list of suggestions. The first entry of the menu just displays the unknown word and the used dictionary. Selecting "Accept in this session" (or hitting MOD1-Space, where MOD1 is usually the ALT key), will ignore this word and accept it in this message. Selecting the next entry "Add to personal dictionary", which is bound to MOD1-Enter combination will add the unknown word to the dictionary and learn it. The next entry "Replace with..." lets you replace the word with a word that you will supply in a window. In that window, after writing the word, hit enter to make the replacement. If you hold down the MOD1 key while pressing Enter, and if you are using an aspell dictionary, then the spell checker will 'learn from mistake' and next time you make the same mistake it will first suggest you the word you entered. See pspell manual $4.7.1 for more information on this feature. The following entries are the suggested words. The first 15 suggestions can be accessed by typing one of the first letters of latin alphabet (if this does not suit your language, please send a mail to melvin.hadasht@free.fr). If you are using an aspell dictionary, you can use its 'learn from mistake' feature, by pressing the MOD1 key and selecting the suggestion (with the keyboard or with the mouse). If you click with the right mouse button everywhere else, or if you shift-right-click even on a misspelled word, you get the Configuration Popup Menu. You can change the suggestion mode (useful only with aspell), toggle the "Check while typing" mode and also change the dictionary. In the "Spelling" menu of the compose window. The "Check all or check selection" will check the whole text or only the selected part, and will provide suggestions for each unknown word. Hitting cancel or clicking anywhere not on the menu will abort this mode. The "Hightlight misspelled words" will just colorize unknown words in the text. There are two other menus: "Check backwards misspelled word" and "Forward to next misspelled word". "Check backwards misspelled word" checks from cursor position backwards for the first misspelled word. If it finds one, it displays the suggestions lists which can be handled with the keyboard as described before. When the suggestion menu is closed, the cursor returns to its original position to be able to continue editing. The "Forward to next misspelled word" do the same thing in the forward direction but moves the cursor at the end of the misspelled word. Spell checking can also be done using keyboard shortcuts. Add to them appropriate keyboard shortcuts by highlighting the menu and pressing an adequate key combination. This way, you can spell check easily a whole message starting from its beginning and using the "Forward to next misspelled word" keyboard short cut. If you check the option the "Use alternate dictionary" in the Speller Checker Configuration Panel, then when you compose and you change dictionary, the last used one is kept available and it can be quickly switched to it when spell checking: if a misspelled word is found, a new option "Check with alternate (..)" in the suggestion menu will let you switch to the other dictionary and check the word and will provide again a suggestion list if the word is also unknown. Moreover, the Configuration Popup Menu (and the Spelling/Configuration menu in the compose window), will provide a new entry to switch to the alternate dictionary. Beware that this feature can use a lot of memory especially with aspell dictionaries, but then you can switch quickly from one dictionary to another, which is handy if you write bilangual messages. d. Known problems ----------------- i) libtool The only real known problem until now are configuration and compilation problems due to libtool interaction with pspell. If you do not compile pspell/aspell/pspell-ispell yourself, you need to install them with their devel packages. Pspell work with dynamic linking of libraries and thus uses the libltdl library of libtool. If you have weird problems when configuring showing 'libtool', chances are the libtool used when compiling the pspell package is not compatible with what you have on your system. The best solution, is to install the latest libtool AND compile yourself pspell package. I can't help more than that in this issue. After successfully compiled and used sylpheed with spell checking, the same problem can appear if you upgrade your libtool to a version which libltdl is incompatible to your older one. The symptoms are a crash when starting to compose. Disabling spell checking avoids the problem. The solution should be to recompile pspell. Another solution consist to compile pspell without the dynamic module loading. This will remove the libltdl dependency. Check pspell installation manual for more information. ii) New installed ispell dictionary are not detected Installing a new ispell dictionary needs an additional step. Go to the 'pkgdatadir' and run 'make-ispell-pwli'. You may need to su root. iii) Switching from glibc 2.1.x to glibc 2.2.x If pspell was compiled against glibc 2.1.x, and if you have glibc 2.2.x then the configure code may not compile correctly. The config.log can show a 'unresolved atexit' error. Recompile pspell.