home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 8 Other / 08-Other.zip / ispel32r.zip / README < prev    next >
Text File  |  2001-07-25  |  19KB  |  399 lines

  1.     This is ispell version 3.2, an interactive spelling checker.
  2.  
  3. Contents of this README file:
  4.  
  5.     What Is Ispell and Why Do I Want It?
  6.     What's New in This Version?
  7.     Where Can I Get Ispell?
  8.     OK, How Do I Install It?
  9.     Who Wrote Ispell?
  10.     Where Do I Send Bug Reports?
  11.     How Do I Reference Ispell in Scholarly Papers?
  12.     Where Do I Get Dictionaries?
  13.     How Long Does It Take to Make Dictionaries?
  14.     Special Installation Notes for Certain Machines:
  15.     What About Ispell for MS-DOS?
  16.  
  17. Note: this README file might not contain the latest information about
  18. ispell.  For that information, visit the ispell Web page:
  19.  
  20.     http://fmg-www.cs.ucla.edu/geoff/ispell.html
  21.  
  22. ------------------------------------------------------------------------
  23.  
  24. What Is Ispell and Why Do I Want It?
  25.  
  26.     Ispell is a fast screen-oriented spelling checker that shows you
  27.     your errors in the context of the original file, and suggests possible
  28.     corrections when it can figure them out.  Compared to UNIX spell, it
  29.     is faster and much easier to use.  Ispell can also handle languages
  30.     other than English.
  31.     
  32. What's New in This Version?
  33.  
  34.     Ispell 3.2 is primarily a bug-fix release, but a number of new
  35.     features are important to users:
  36.  
  37.     -    There is a new interactive mode.  If ispell is invoked without
  38.     arguments, it will prompt for words and suggest corrections.
  39.     -    The emacs interface (ispell.el and ispell.texinfo) is no
  40.     longer distributed with ispell.  Use the code that comes with
  41.     emacs, or pick it up from:
  42.         ftp://kdstevens.com/pub/stevens/ispell.el.gz
  43.     or the matching ispell.el home page:
  44.         http://www.kdstevens.com/~stevens/ispell-page.html
  45.     -    There is now an HTML mode.  It is automatically selected for
  46.     files ending in ".html", ".htm", or ".shtml".  It can also be
  47.     chosen manually with the -H switch.
  48.     -    There is a new general-purpose deformatter switch, -F.  This
  49.     switch, which was suggested by Ron Guilmette, allows an
  50.     external program to perform deformatting for ispell.  The -F
  51.     switch opens the door to completely generalized spell checking
  52.     with ispell.  Want to spell-check your C/C++ comments?  A
  53.     simple deformatter filter will do the job.  See the ispell
  54.     manual page for details.
  55.     -    The annoying "TeX backslash bug" is now fixed correctly.
  56.     -    TeX/LaTeX deformatting is now somewhat configurable.  Check
  57.     out the -k switch and TEXSKIP1 in the manual page.
  58.     -    Ispell will no longer be distributed in shar form, and new
  59.     versions will be given as gzipped tar files rather than as
  60.     patches.
  61.  
  62. Where Can I Get Ispell?
  63.  
  64.     If you have a Web browser, visit the ispell home page:
  65.  
  66.     http://fmg-www.cs.ucla.edu/geoff/ispell.html
  67.  
  68.     The current version of ispell is available for anonymous ftp from
  69.     ftp.cs.ucla.edu (131.179.240.10) in the pub/ispell-3.2 directory.
  70.     The latest version is always named "ispell-3.2.xx.tar.gz", where
  71.     "xx" is the patch level.  There are also sometimes files named
  72.     "README-patchxx" which contain notes specific to a given version.
  73.  
  74.     A number of ftp mirror sites also store ispell.  Check your
  75.     favorite search engine for "ispell-3.2" to find a site near you.
  76.     
  77.     Ispell comes with English dictionaries.  For other languages,
  78.     visit the ispell dictionaries Web page at:
  79.  
  80.     http://fmg-www.cs.ucla.edu/geoff/ispell-dictionaries.html
  81.  
  82. OK, How Do I Install It?
  83.  
  84.     Ispell is quite portable (thanks to many people).  If you speak
  85.     American English and have a BSD-like system, you may be able to
  86.     get away with simply typing "make all" to make ispell and a
  87.     dictionary, all configured to be installed in /usr/local/*.  If
  88.     you have a USG (System V) system (such as Linux, IRIX, or HP-UX),
  89.     you will at least have to copy "local.h.samp" to "local.h", then
  90.     add "#define USG" to local.h before compiling.  Be sure you have
  91.     at least 10 MB of free space in /tmp, or set your TMPDIR
  92.     environment variable to point somewhere with that much space.
  93.  
  94.     For more complex installations, you will have to create a fancier
  95.     local.h file.  All customization of ispell, even for the
  96.     Makefile, is done by creating or editing the file "local.h" to
  97.     override the default definitions of certain variables.  The most
  98.     common changes will be to the LANGUAGES variable (to set the
  99.     languages; see also the Makefiles in the various language
  100.     subdirectories), CC (to choose gcc), and BINDIR through MAN4DIR
  101.     (to control where ispell is installed).  There are many other
  102.     configuration parameters; see config.X for the complete list and
  103.     further instructions.  *DO NOT* make changes to config.X or to any
  104.     of the Makefiles.  Anything you define in "local.h" will override
  105.     definitions in those files.
  106.  
  107.     The English-language dictionary comes in four sizes: small,
  108.     medium, large, and extra-large.  I recommend using the medium
  109.     dictionary unless you are very short on space.  The small and
  110.     medium dictionaries have been hand-checked against a paper
  111.     dictionary to improve their accuracy.  This is not true of the two
  112.     larger ones.  The large and extra-large dictionaries contain
  113.     less-frequently-used words, and most sites will not want to pay
  114.     the price of storing them, especially because they may contain
  115.     errors.  Also, a large dictionary can hide misspellings of short
  116.     words because there is some similar word that nobody uses.  (For
  117.     example, the crossword-puzzle favorite "ort" can hide misspellings
  118.     of "or".)
  119.  
  120.     For each dictionary size, you can also choose to make a "plus"
  121.     version, named by adding a plus sign to the size indication.
  122.     These versions are created by incorporating a dictionary file of
  123.     your own, usually /usr/dict/words.  (I can't distribute a
  124.     dictionary based on that file because it's copyrighted.)  Making a
  125.     plus version requires extra time and disk space, but will give you
  126.     some computer and technical terms that aren't in the basic ispell
  127.     word list.  However, since /usr/dict/words isn't available on many
  128.     modern computers, the default dictionary is the "non-plus"
  129.     version.
  130.  
  131.     After all edits, you are ready to compile ispell.  Make sure you
  132.     have set your TMPDIR environment variable, and then type
  133.     "make all".  This will compile all the programs, put the
  134.     dictionaries together, and build the hash file.  If you get errors
  135.     while compiling term.c, change the setting of "#define USG" in
  136.     your local.h file and try again.
  137.  
  138.     If you chose a "+" version of the dictionary (the LANGUAGES macro
  139.     in config.X), expect this first make to run for quite a while
  140.     (usually about half an hour, but as much as 24 hours on a very
  141.     limited machine) because of the munchlist step.  If you chose a
  142.     non-plus version, the make will not take long.  Building a plus
  143.     version will also take a *lot* of disk space (see the table below
  144.     for more information), so be sure to set TMPDIR in your
  145.     environment to point to someplace with lots of room.
  146.  
  147.     After your first make completes, you are ready to install ispell.
  148.     The standard "make install" will install ispell, the auxiliary
  149.     programs and scripts, the manual page, and the dictionary hash
  150.     file, all in the directories you have chosen for them.  This
  151.     usually has to be done as root, and on some systems you will not
  152.     be able to redirect the output to a file.  (If you're the careful
  153.     sort, you'll check the output of "make -n install" first to be
  154.     sure there are no hidden surprises.)  If you don't want to install
  155.     the dictionary-building tools, you can type "make partial-install"
  156.     to install just the files needed to use ispell itself.
  157.  
  158.     As well as the standard "make clean" and "make realclean" targets,
  159.     there is also a "make dictclean" target which will get rid of
  160.     constructed dictionary files such as "english.med+".  This is a
  161.     separate target because of the time it takes to build
  162.     dictionaries.
  163.  
  164.     Finally, there is a directory named "addons", which contains shar
  165.     kits for ispell helper programs that were generously written by
  166.     other people.  These are not copyrighted or supported by the
  167.     ispell maintainer.  Contact the original authors (listed in README
  168.     files in the kits) for more information.
  169.  
  170. Who Wrote Ispell?
  171.  
  172.     Ispell is a very old program.  The original was written in PDP-10
  173.     assembly in 1971, by R. E. Gorin.  The C version was written by
  174.     Pace Willisson of MIT.  Walt Buehring of Texas Instruments added
  175.     the emacs interface and posted it to the net.  Geoff Kuenning
  176.     added the international support and created the current release.
  177.     Many, many other people contributed to the current version; a
  178.     complete list (with a much more detailed history) can be found in
  179.     the file "Contributors".
  180.  
  181. Where Do I Send Bug Reports?
  182.  
  183.     Most ispell bug reports, except bugs related to the emacs-lisp
  184.     interface, should be sent to "ispell-bugs@itcorp.com".  Bugs in
  185.     the emacs interface (ispell.el) should be sent to
  186.     "ispell-el-bugs@itcorp.com".  If you're not sure which address to
  187.     use, send your report to "ispell-bugs@itcorp.com" and I'll sort it
  188.     out from there.  Note that the bugs aliases are not discussion
  189.     lists; membership is limited.
  190.  
  191.     Bugs in add-on packages (found in the "addons" subdirectory)
  192.     should not be sent to itcorp.com.  Instead, send reports to the
  193.     developers of those packages (see the README file for the package
  194.     you are using).
  195.  
  196. How Do I Reference Ispell in Scholarly Papers?
  197.  
  198.     There is no published paper on ispell, so if you make use of
  199.     ispell in a fashion that requires a reference (e.g., using the
  200.     dictionary as a word list in a research project), you are limited
  201.     to an Internet reference.  The full proper title is printed by
  202.     "ispell -v": "International Ispell Version x.y.z".  Please include
  203.     the full version number in your reference so that people can
  204.     discover the exact variant that you used; sometimes it's
  205.     important.  If you're feeling really nice, you can also credit me,
  206.     Geoffrey H. Kuenning, as the author.  Usually, you should also
  207.     include a mention of either the ispell Web page
  208.     (http://fmg-www.cs.ucla.edu/geoff/ispell.html) or the master ftp
  209.     site (ftp.cs.ucla.edu) so that readers of your paper can locate a
  210.     copy if they wish.
  211.  
  212. Where Do I Get Dictionaries?
  213.  
  214.     Ispell comes with American and British dictionaries. American-style
  215.     spellings are the default.  To get British spellings, copy the
  216.     LANGUAGES and MASTERHASH definitions from config.X into your
  217.     local.h, and then globally replace "american" with "british".
  218.  
  219.     For other languages, consult the file "languages/Where", which
  220.     lists everything I know about.  You can also check the ispell
  221.     dictionaries page:
  222.  
  223.     http://fmg-www.cs.ucla.edu/geoff/ispell-dictionaries.html
  224.  
  225.     which contains pointers to all known dictionaries.
  226.  
  227.     As a general rule, if you use a dictionary that was not intended
  228.     for ispell, or if you combine multiple dictionaries, you should
  229.     use munchlist to reduce the size of the dictionary.
  230.  
  231.     If you create a dictionary of your own and make it available for
  232.     ftp, please send a notification to ispell-bugs@itcorp.com so that
  233.     I can add your dictionary to the ftp list.
  234.  
  235. How Long Does It Take to Make Dictionaries?
  236.  
  237.     The following tables give approximate timings and peak disk usage
  238.     for making each of the three augmented English dictionaries (the
  239.     so-called "plus" versions).  The timings were collected on an
  240.     unloaded 68040.  Your mileage may vary.
  241.  
  242.     Using 'EXTRADICT=/usr/dict/words':
  243.  
  244.             Time to build    Peak temp space    Final size
  245.  
  246.     english.sml+    30 minutes    7.1M        306K
  247.     english.med+    35 minutes    8.8M        359K
  248.     english.lrg+    60 minutes    10.7M        680K
  249.  
  250.     Using 'EXTRADICT=/usr/dict/words /usr/dict/web2':
  251.  
  252.             Time to build    Peak temp space    Final size
  253.  
  254.     english.sml+    2-1/2 hours    19.5M        2243K
  255.     english.med+    2-1/2 hours    19.6M        2265K
  256.     english.lrg+    3 hours        20.7M        2347K
  257.  
  258.     The peak disk usage occurs fairly early in the munching process.
  259.     When creating english.lrg+ with /usr/dict/web2, the peak was
  260.     reached within 30 minutes.  When web2 was omitted, the peak was
  261.     always reached within 1/4 of the total running time of munchlist.
  262.     Again, remember that these times will vary depending on your load
  263.     and your machine's power.
  264.  
  265. Special Installation Notes for Certain Machines:
  266.  
  267.     Although I have tried to avoid putting in specific machine
  268.     dependencies as a general rule, some machine-specific #defines
  269.     will be found at the end of config.X.
  270.  
  271.     If you get lots of warnings when compiling term.c, check to be
  272.     sure that you have correctly defined SIGNAL_TYPE in your local.h.
  273.  
  274.     Some versions of ISC Unix have TIOCGWINSZ defined even though it's
  275.     not supported and the necessary structures are not present.  The
  276.     solution is to add "#undef TIOCGWINSZ" in your local.h.
  277.  
  278.     Under ISC (Solaris) Unix System V.3, you may have to add includes
  279.     of <sys/stream.h> and <sys/ptem.h> to your local.h to get around
  280.     compilation problems in term.c.
  281.  
  282.     Some versions of SCO Unix define "struct winsize" conditionally.
  283.     The solution is to add "#define _IBCS2" in your local.h.
  284.  
  285.     Some versions of SCO Unix define "struct winsize" in a weird
  286.     place.  Add #includes of <sys/stream.h> and <sys/ptem.h> to your
  287.     local.h to get around this.
  288.  
  289.     Suns running 4.1.1 also have a bug in sort which causes core dumps
  290.     when running munchlist.  Sun users who have the System 5 option
  291.     can work around this bug by making sure that /usr/5bin precedes
  292.     /usr/bin in their path, so that /usr/5bin/sort is used by
  293.     munchlist.
  294.  
  295.     It is reported that some older versions of gnu sort do not
  296.     recognize the -T option.  (However, as of textutils 1.9 it does.)
  297.     Define SORTTMP and MAKE_SORTTMP as the null string ("") if you use
  298.     gnu sort, or change your path to use the manufacturer's sort
  299.     command (but watch out for Sun's sort bug, above!).
  300.  
  301.     Some versions of gcc for the Sparc have an optimizer bug that
  302.     causes problems for languages that use 8-bit characters.  The
  303.     solution is to turn off optimization when compiling at least
  304.     makedent.c, or for all of ispell.  The bug is known to exist in
  305.     gcc 2.4.5, and is known to have been fixed in gcc 2.5.8.
  306.  
  307.     There is a report that on Solaris 2.3 for the sparc, buildhash may
  308.     core dump.  The cure is to use "bison -y" instead of yacc.
  309.  
  310.     On SunOS 4.1.3 using Sun's SPARCompiler C2.0.1, you may have to
  311.     select static linking (-Bstatic option in CFLAGS).
  312.  
  313.     The AIX RS6000 should use -lcurses for TERMLIB, rather than -ltermcap.
  314.  
  315.     Amiga users will need to #define fork vfork.  Other than this,
  316.     ispell should compile using gcc on the Amiga.
  317.  
  318.     There have been reports that some BSD releases don't properly
  319.     declare "extern int errno" in errno.h.  If you suffer from this
  320.     problem, you'll have to add your own declaration in your local.h.
  321.  
  322.     There are known problems on Ultrix with the interaction between
  323.     ispell and some versions of elm on Ultrix.  You may be able to fix
  324.     this by making sure USG is undefined, or you may have to make more
  325.     extensive changes to term.c to cause it to use the "termios"
  326.     interface instead of the "termio" one.
  327.  
  328.     The DEC Alpha and Cray have 64-bit longs.  Make sure you define
  329.     MASKTYPE_WIDTH as 64 for these machines.
  330.  
  331.     Some versions of the DEC Alpha compiler may compile ispell
  332.     incorrectly.  The cure is to turn optimization off and compile
  333.     with the -g switch.  The symptoms are segmentation faults and
  334.     garbage characters in the ~/.ispell_english file.  If you get this
  335.     symptom, be sure to clean out the garbage before you rerun ispell
  336.     or recompiling won't help.
  337.  
  338.     Some versions of "uniq" on the DEC Alpha, OSF/1 2.x, generate
  339.     garbage output if given null input, causing munchlist to loop
  340.     forever.  This can by checked by running "uniq < /dev/null | wc
  341.     -c", which ought print zero.  If it does not, you'll have to use
  342.     GNU uniq (from textutils/1.11) instead, or upgrade to OSF/1 3.0
  343.     which does not have the bug.
  344.  
  345.     DEC OSF/1 keeps the extra dictionary in a wierd place.  Set
  346.     EXTRADICT to /usr/share/dict/words.
  347.  
  348.     HP systems will need C compiler patch PHSS_3015 to compile ispell
  349.     correctly, bringing the revision to A.09.34 or higher.  The
  350.     symptom of the wrong compiler is incorrect highlighting of
  351.     misspelled words.  Gcc will also compile ispell correctly on HP
  352.     systems.
  353.     
  354.     Some "internationalized" Unixes (HP, for instance) vary the
  355.     behavior of sort(1) based on an environment variable such as LANG
  356.     or LOCALE.  The symptom is that munchlist does not produce an
  357.     optimal dictionary.  Munchlist tries to protect against this by
  358.     setting LANG and LOCALE to "C", but if your system uses different
  359.     environment variables, you may have to do this by hand.
  360.  
  361.     If you get core dumps from the sort command (reported on HP
  362.     systems building large German dictionaries), try adding the "-y"
  363.     flag to the appropriate invocation of sort in the Makefile or in
  364.     munchlist.  This flag is only available on some systems.
  365.  
  366.     SGI Irix systems store /usr/dict/words in /usr/lib/dict or
  367.     /usr/share/lib/dict.  You may have to install the normal "spell"
  368.     and associated files from cd-rom before it will exist.  If you get
  369.     errors compiling with Irix 4.0.5 or others, try defining __STDC__
  370.     in local.h, to get around problems caused by the fact that the
  371.     compiler accepts prototypes but doesn't define __STDC__.
  372.  
  373.     Some SGI Irix systems have bad utilities that cause munchlist to
  374.     loop forever.  If you get more than 4 passes of "Creating cross
  375.     expansions", you probably have a bad version of sed.  Install the
  376.     GNU version of sed to cure this problem.
  377.  
  378.     Some BSDI systems have a screwy sort command that uses
  379.     -T to specify the record (as opposed to field) delimiter.  You'll
  380.     have to disable SORTTMP and enable MAKE_SORTTMP.  You'll also have
  381.     to be sure that /usr/tmp has lots and lots of free space.
  382.  
  383. What About Ispell for MS-DOS?
  384.  
  385.     Although ispell is not officially supported on MS-DOS, there are a
  386.     couple of #defines that you might find useful if you want to do
  387.     such a thing.  Check the end of config.X.  Several people have
  388.     reported success building DOS versions using emx/gcc.  Others have
  389.     used the djgpp package, with bison replacing yacc.  Some places to
  390.     look for a DOS ispell if you have an x86:
  391.  
  392.     ftp.cdrom.com:pub/os2/unix/isp3009b.zip.
  393.     or
  394.     ftp-os2.cdrom.com:pub/os2/2_x/unix/
  395.  
  396.     There is also a program named jspell, which is an ispell
  397.     lookalike.  Look on ftp.tex.ac.uk, in the directory
  398.     pub/archive/support/jspell.
  399.