# Name:         README
# Content:      Information about Esperanto dictionary for the Ispell speller
# Created:      1997-08-30 de Sergio Pokrovskij <pok@nbsp.nsk.su>
# Versio 2.0.
# Lasta sxangxo:
#               Time-stamp: <98/09/18 11:33:17 pok>
#
# Copyright 1997, 1998 Sergio Pokrovskij
#
# This dictionary  is available on the terms of GNU General Public License
# (Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA).

Here is the Esperanto dictionary, compiled by Sergio Pokrovskij for
the version 3 of ispell.

You will first need to get ispell 3.0+ it is available from
ftp://ftp.cs.ucla.edu/pub/ispell-3.1; make sure that in its local.h
NO8BIT is commented out.

There are several encodings used with Esperanto text:

1. The very best is the Unicode or its subset, which contains the
   esperantic letters, like the Microsoft's WGL4; unfortunately, most
   of the present-day editors do not support 2-byte characters. I have
   supplied Unicode code elements for the UTF-8 encoding, but I have no
   editor to make use of it. Please tell me if this could make sense.
   
2. The second best choice is the Latin-3 encoding (ISO-8859-3); this
   is the encoding I currently use.

3. For the sake of the ASCII-impaired (and ANSI-impaired), there are
   several surrogates. I offer a support for three of them:

3.1. The TeX-like ^cirka^u-style;

3.2. The most popular cxirkaux-style, which is also convenient for
     lexicographical ordering and thus is used in the dictionaries;

3.3. The unambiguous cxirkavx-style, which creates no problems with
     proper names like "Michaux", which the Westerners often smuggle into
     Esperantic texts.
     
4. There is a quick hack to spellcheck MS-Word documents; it relies on
   the RTF representation.

So, the eo.aff file from this package supports Latin-3 and the
ASCIIzations according to the following styles:
     
        ^cirka^u        (turned on with C-c i ^)
        cxirkaux        (turned on with C-c i u)
        cxirkavx        (turned on with C-c i v)
        \'e6irka\'fd    (turned on with C-c i w)

     
SIMPLE INSTALL

If you do not care about customizing the dictionary to your
speciality, copy the files eo.aff and eo.hash to the folder where
ispell expects to find them (LIBDIR in local.h or config.h; probably
you already have your american.hash there).

After that you can call
                  ispell -d eo FILENAME
(see TO USE below).

NOTE. There is an Ispell tradition to name languages by their own
names rather than according to the ISO standard (the ISO name for
Esperanto is "eo"). If you prefer this Ispell custom you may rename
the resulting dictionary to "Esperanto.hash" or similarly.


CUSTOMIZED BUILDING

In order to enable selective construction of dictionaries, there are
separate files:

kerno.txt       the lexical kernel
komputo.txt     some computer-science terminology according to the
                "Komputika Leksikono"
                ( http://www.cwi.nl/~fagot/eo/KompLeks/
                  or
                  http://www.esperanto.mv.ru/KompLeks/UTF8/DEFAULT.html
                )
movado.txt      vocabulary of the Esperanto Movement
etnoland.txt    countries and ethnography
kancero.txt     redundant words, which are used by some esperantists,
                though they are less precise and unnecessarily
                complicate the language; e.g. olda (maljuna or
                malnova)
personoj.txt    given names and assimilated names of important personalities
                (Petro, Zamenhof, Noa ...)


More files should be added, but are not ready yet:

tero.txt        (geography, geology, astronomy, meteorology)
medicino.txt    (anatomy, medicine, biology)
hxemio.txt      (chemistry, pharmacology)
botaniko.txt
pok.txt         the words specific to my idiolect
...

If you can assist in compiling them please let me know.

To make a customized dictionary, merge the desired files and sort
them, e.g.

     sort -u -f -o eo.txt kerno.txt komputo.txt

Use buildhash to create the hashed dictionary:

     buildhash eo.txt eo.aff eo.hash

(A model command file `kunmetu' and the resulting eo.hash are included
in the package.)


TO USE:

You can use ispell in a stand-alone mode; type

    ispell -d eo FILENAME

or you may prefer to customize your emacs. I have the following in my
.emacs file:

;-------- ISPELL:
(setq ispell-dictionary-alist
      (append '(
               ("eo"
               "[A-Za-z\246\254\266\274\306\330\335\336\346\370\375\376]"
               "[^A-Za-z\246\254\266\274\306\330\335\336\346\370\375\376]"
               "[-']" t ("-C") "~latin3")
               ("eo-rtf"
				 "[A-Za-z^\\'68]"
				 "[^A-Za-z^\\'68]"
				 "[-'\\]" t ("-C" "-d" "eo") "~rtf")
               ("eo-tex"
                "[A-Za-z^\\]"
                "[^A-Za-z^\\]"
                "[-'`\"]" t ("-C" "-d" "eo") "~tex")
               ("eo-ux"
                "[A-Za-z\\]"
                "[^A-Za-z\\]"
                "[-'`\"]" t ("-C" "-d" "eo") "~cxirkaux")
               ("eo-vx"
                "[A-Za-z\\]"
                "[^A-Za-z\\]"
                "[-'`\"]" t ("-C" "-d" "eo") "~cxirkavx")
              )
              ispell-dictionary-alist)
)
(setq  ispell-menu-map-needed t
       ispell-menu-map nil)
(load "ispell")  ; reload ISPELL 


;(add-hook 'text-mode-hook   ;  to run ispell interactively in text-mode
;          (function 
;           (lambda () 
;             (ispell-minor-mode)
;             )
;           ))
;
;
(global-set-key "\C-ci3" '(lambda () "set Esperanto dictionary in Latin-3"
                            (interactive) 
                            (ispell-change-dictionary "eo")
                            ))
(global-set-key "\C-ciu" '(lambda () "set Esperanto dictionary (cxirkaux)"
                            (interactive) 
                            (ispell-change-dictionary "eo-ux")
                            ))
(global-set-key "\C-civ" '(lambda () "set Esperanto dictionary (cxirkaux)"
                            (interactive) 
                            (ispell-change-dictionary "eo-vx")
                            ))
(global-set-key "\C-ciw" '(lambda () "set Esperanto dictionary (RTF)"
                            (interactive)
                            (ispell-change-dictionary "eo-rtf")
                            ))
(global-set-key "\C-cia" '(lambda () "set english dictionary"
                            (interactive)
                            (ispell-change-dictionary "english")
                            ))
;for easy switching between English and Esperanto.

;And some other short-cuts:
(global-set-key "\M-#" 'ispell-word)      ; easier to type than \M-$
(global-set-key "\C-cim" 'ispell-message)
(global-set-key "\C-cib" 'ispell-buffer)
(global-set-key "\C-cir" 'ispell-region)
(global-set-key "\C-cic" 'ispell-change-dictionary)


Some more comments are in legumin.l3 (in esperanto).

