Welcome to the first prerelease of the Spanish support for ispell! This is under development and is not considered ready for general use. However, many people have shown interest in early access to this, so here it is. Otherwise, there was a serious risk of duplication of effort. If you are not fluent in Spanish and know well the rules, this may not be for you yet. Actually, this is meant for people in a desperate enough situation or that are willing to help in finding roots worth including in the dictionary. The language name is castellano (Castilian). This has the advantage that it can be properly spelled in ASCII. Castilian is the original name of Spanish (it was the language of Castile). In Spanish, castellano is used in preference to espa~nol by many people, especially those that live in Spain but have other mother tongues, such as Catalan, Galician or Basque. I personally use both names, with a preference for castellano. In America, I understand espa~nol is preferred. Both are correct names in Spanish for the Spanish language. WARNING: Many changes to this are expected. In particular, try to avoid running munchlist on your private word lists because the flag definitions will change. If you want to do it anyway, read the munchlist documentation carefully. The current version of the dictionary contains over 88000 words. However, these words are just variations on about 6600 roots. And when I say roots here I mean as defined by the affix rules. In a language sense, they are still less roots. So the dictionary is currently very limited. Moreover, the selection of words is rather arbitrary and inconsistent. Also, for technical reasons, when checking a word that does not exist in the dictionary, ispell will freeze for several seconds to compute alternative words. The duration of this varies a lot and depends on the word length and the final letter in the word. This is a result of the combined effect of the algorithms used in ispell and the complexity of the affix file castellano.aff. This dictionary requires more than 26 flags. It currently needs an ispell compiled for at least 52 (you do this specifying 64 as the value for MASKBITS). To unpack: cd ispell-directory/languages gzip -dc castellano.tar.gz | tar xvfB - The easiest way to build the dictionary is through the Makefile provided by ispell, but provided you already have an appropriate ispell, there are shortcuts that can be learned by reading the provided languages/castellano/Makefile If this is the first time you build the dictionary, it is probably better to do it while building ispell. This is a fragment from my local.h: #undef NO8BIT /* Remove this for non-English installations */ #define LANGUAGES "{english,MASTERDICTS=english.med+,HASHFILES=med+.hash,VARIANTS=british,EXTRADICT=/usr/dict/words} {castellano}" #define MASTERHASH "med+.hash" #define MASKBITS 64 Before using the dictionary do: touch ~/.ispell_castellano Otherwise, words added to your private dictionary will end up in your English private dictionary. To use it: ispell -d castellano -T type file Where file is one of: list Accents are entered as in a', e', i'. This is the default and how the dictionaries are encoded. I have no other use for it. tex As specified by spanish.sty ftc It should be as in ftc, but there are errors in it. plaintex As in TeX (more or less) latin1 ISO 8859/1 (this is the one I use most). There are commented out forms for troff, but I don't use it and I don't know how to do them. Since I only use latin1 and tex, fixes to the others or addons are welcome. To use this dictionary with emacs, you must add new definitions to the Emacs lisp variable ispell-dictionary-alist. To achieve this, you can try the provided ispell.el.patch, either with Larry Wall's patch or by hand. However, I have seen that in recent versions of emacs on some machines, changing ispell.el does not produce any visible effect. This is because ispell.el was loaded while creating the emacs executable. The only solution I have found is to add this to your .emacs file: ;;; Adding Spanish dictionaries to ispell. Someday this will ;;; not be needed. (setq castellano-entries '(("castellano" ; Spanish mode "[A-Z\301\311\315\323\332\334\321a-z\341\351\355\363\372\374\361]" "[^A-Z\301\311\315\323\332\334\321a-z\341\351\355\363\372\374\361]" "[---]" nil ("-B") "~tex") ("castellano8" ; 8 bit spanish mode "[A-Z\301\311\315\323\332\334\321a-z\341\351\355\363\372\374\361]" "[^A-Z\301\311\315\323\332\334\321a-z\341\351\355\363\372\374\361]" "[---]" nil ("-B" "-d" "castellano") "~latin1"))) (setq ispell-dictionary-alist (append ispell-dictionary-alist castellano-entries)) ;;; The following magically updates the menu. Don't ask. (ispell-change-dictionary nil) Since I don't really know Emacs lisp, please be kind to me if this looks too clumsy. Enjoy. Julio S'anchez (jsanchez@gmv.es)