1hspell(1)                            Ivrix                           hspell(1)
2
3
4

NAME

6       hspell - Hebrew spellchecker
7

SYNOPSIS

9       hspell [ -acDhHilnsvV ] [file...]
10

DESCRIPTION

12       hspell  tries  to  find  incorrectly  spelled Hebrew words in its input
13       files.
14
15       Like the traditional Unix spell(1), hspell outputs the sorted  list  of
16       incorrect  words, and does not (yet) have a more friendly interface for
17       making corrections for you. However, unlike spell(1), hspell  can  sug‐
18       gest  possible  corrections for some spelling errors - such suggestions
19       are enabled with the -c (correct) and -n (notes) options.
20
21       Hspell currently expects  ISO-8859-8-encoded  input  files.  Non-Hebrew
22       characters   in   the  input  files  are  ignored,  allowing  the  easy
23       spellchecking of Hebrew-English texts, as well as HTML  or  TeX  files.
24       If  files  using  a  different encoding (e.g., UTF8) are to be checked,
25       they must  be  converted  first  to  ISO-8859-8  (e.g.,  see  iconv(1),
26       recode(1)).
27
28       The  output  will also be in ISO-8859-8 encoding, in so-called "logical
29       order", so it is normally useful to pipe it to bidiv(1) before viewing,
30       as in:
31
32              hspell -c filename | bidiv | less
33
34       If no input file is given, hspell reads from its standard input.
35

OPTIONS

37       -v     If  the -v option is given, hspell prints emacs-oriented version
38              information and exits.
39
40       -vv    Repetition of the -v option causes  hspell  to  also  show  some
41              information  on  which optional features were enabled at compile
42              time.
43
44       -V     With the -V option, hspell prints true and  human-oriented  ver‐
45              sion information and exits.
46
47       -c     If  the  -c option is given, hspell will suggest corrections for
48              misspelled words, whenever it can  find  such  corrections.  The
49              correction mechanism in this release is especially good at find‐
50              ing corrections for incorrect niqqud-less spellings, with  miss‐
51              ing or extra 'immot-qri'a.
52
53       -n     The -n option will give some longer "notes" about certain spell‐
54              ing errors, explaining why these are indeed errors (or  in  what
55              cases  using  this  word is in fact correct). It is recommend to
56              combine the two options, -cn for maximal  correction  help  from
57              hspell.
58
59       -l     The  -l  (linguistic  information)  option will explain for each
60              correct word why it was recognized (show the basic  noun,  verb,
61              etc.,  that  this  inflection relates to, and its tense, gender,
62              associated Kinnuy, or other relevant information)
63
64              If Hspell was built without morphological analysis support, this
65              option  will only show the correct splits of the given word into
66              prefix + word, as the full information incurs a 4-fold  increase
67              in the installation size.
68
69              Giving the -c option in addition to -l results in special behav‐
70              ior. In that case hspell suggests "corrections"  to  every  word
71              (regardless if they are in the dictionary or not), and shows the
72              linguistic information on all those words. This  can  be  useful
73              for  a  reader  application,  which  may also want to be able to
74              understand mispellings and their possible meanings.
75
76
77       -s     Normally, the words deemed spelling mistakes are shown in alpha‐
78              betical order.  The -s option orders them by severity, i.e., the
79              errors that most frequently appear in  the  document  are  shown
80              first.   This  option is most useful for people helping to build
81              hspell's word list, and are looking  for  common  correct  words
82              that hspell does not know yet.
83
84       -a     With the -a option, hspell tries to emulate (as little as possi‐
85              ble of) ispell's pipe interface. This allows Lyx, Emacs,  Geresh
86              and KDE to use hspell as an external spell-checker.
87
88       -i     This  option  only has any effect when used together with the -a
89              option. Normally, hspell -a only checks the spelling  of  Hebrew
90              words. If the given file also contains non-Hebrew words (such as
91              English words), these are simply ignored. Adding the  -i  option
92              tells  hspell  to  pass  the  non-Hebrew words to ispell(1), and
93              return its answer as an answer from hspell.  This allows  conve‐
94              niently spell-checking mixed Hebrew-English documents.
95
96              Running  hspell  with the program name hspell-i also enables the
97              -i option. This is a useful trick when  an  application  expects
98              just  the  name  of  a spell-checking program, and adds only the
99              "-a" option (without giving the  user  an  option  to  also  add
100              "-i"). The multispell script supplied with hspell serves a simi‐
101              lar purpose, with more control over encodings and  which  spell-
102              checker to run for non-Hebrew words.
103
104       -H     By  default, Hspell does not allow the He Ha-sh'ela prefix. This
105              is because this prefix is not normally used  in  modern  Hebrew,
106              and  generates many false-negatives (errors, like He followed by
107              a possessed noun, are thought to be correct). The -H option nev‐
108              ertheless tells Hspell to allow this prefix.
109
110       -D base
111              Load  the  word  lists from the given base pathname, rather than
112              from the compiled-in default path. This is mostly used for test‐
113              ing Hspell, when the dictionaries have been compiled in the cur‐
114              rent directory and hspell is run as "hspell -Dhebrew.wgz".
115
116       -d, -B, -m, -T, -C, -S, -P, -p, -w, and -W
117              These options are passed to hspell by lyx or other applications,
118              and are cordially ignored.
119

SPELLING STANDARD

121       Hspell was designed to be 100% and strictly compliant with the official
122       niqqud-less spelling rules ("Ha-ktiv  Khasar  Ha-niqqud",  colloquially
123       known as "Ktiv Male") published by the Academy of the Hebrew Language.
124
125       This  is  both an advantage and a disadvantage, depending on your view‐
126       point.  It's an advantage because it encourages a correct  and  consis‐
127       tent  spelling  style  throughout  your  writing. It is a disadvantage,
128       because a few of the Academia's official spelling decisions  are  rela‐
129       tively unknown to the general public.
130
131       Users  of  Hspell (and all Hebrew writers, for that matter) are encour‐
132       aged to read the Academia's official niqqud-less spelling rules  (which
133       are  printed  at  the  end  of  most modern Hebrew dictionaries, and an
134       abridged version is available in http://hebrew-academy.huji.ac.il/deci
135       sion4.html).  Users are also encouraged to refer to Hebrew dictionaries
136       which use the niqqud-less spelling (such as Millon Ha-hove, Rav  Milim,
137       and the new Even Shoshan).
138
139       Future  releases might include an option for alternative spelling stan‐
140       dards.
141

BEHIND THE SCENES

143       The hspell program itself is mostly a simple  (but  efficient)  program
144       that  checks  input  words against a long list of valid words. The real
145       "brains" behind it are the word  lists  (dictionary)  provided  by  the
146       Hspell project.
147
148       In  order  for  this dictionary to be completely free of other people's
149       copyright restrictions, the Hspell project is a clean-room  implementa‐
150       tion,  not  based  on  pre-existing word lists or spell checkers, or on
151       copying of printed dictionaries.
152
153       The word list is also not based  on  automatic  scanning  of  available
154       Hebrew  documents  (such as online newspapers), because there is no way
155       to guarantee that such  a  list  will  be  correct  (not  contain  mis‐
156       spellings,  useless proper names, and so on), complete (certain inflec‐
157       tions might not appear in the chosen samples) or consistent (especially
158       when it comes to niqqud-less spelling rules).
159
160       Instead,  our  idea  was  to write programs which know how to correctly
161       inflect Hebrew nouns and conjugate Hebrew verbs.  The  input  to  these
162       programs  is a list of noun stems and verb roots, plus hints needed for
163       the correct inflection when these cannot be figured out  automatically.
164       Most of the effort that went into the Hspell project went into building
165       these input files.  Then, "word list generators" (written in Perl,  and
166       are  also part of the Hspell project) create the complete inlected word
167       list that will be used by the spellchecking program, hspell.  This gen‐
168       eration process is only done once, when building hspell from source.
169
170       These  lists,  before and after inflection, may be useful for much more
171       than spellchecking. Morphological analysis (which hspell provides  with
172       the -l option) is one example. For more ideas, see Hspell project's Web
173       site, at http://ivrix.org.il/projects/spell-checker.
174

FILES

176       ~/.hspell_words, ./hspell_words
177              These files, if they exist, should  contain  a  list  of  Hebrew
178              words that hspell will also accept as correct words.
179
180              Note  that only these words exactly will be added - they are not
181              inflected, and prefixes are not automatically allowed.
182
183
184       /usr/local/share/hspell/*
185              The standard Hebrew word lists used by hspell.
186
187

EXIT STATUS

189       Currently always 0.
190

VERSION

192       The version of hspell described by this manual page  is  1.0  (May  16,
193       2006)
194
196       Copyright (C) 2000-2006, Nadav Har'El <nyh@math.technion.ac.il> and Dan
197       Kenigsberg <danken@cs.technion.ac.il>.
198
199       Hspell is free software, released under the GNU General Public  License
200       (GPL).   Note  that not only the programs in the distribution, but also
201       the dictionary files and the generated word lists, are  licensed  under
202       the GPL.  There is no warranty of any kind.
203
204       See the LICENSE file for more information and the exact license terms.
205
206       The    latest    version   of   this   software   can   be   found   in
207       http://www.ivrix.org.il/projects/spell-checker
208

ACKNOWLEDGMENTS

210       The hspell utility and the linguistic databases behind it (collectively
211       called   "the   Hspell   project")   were   created   by  Nadav  Har'El
212       <nyh@math.technion.ac.il>  and  by  Dan   Kenigsberg   <danken@cs.tech‐
213       nion.ac.il>.
214
215       Although we wrote all of Hspell's code ourselves, we are truly indebted
216       to the old-style "open  source"  pioneers  -  people  who  wrote  books
217       instead of hiding their knowledge in proprietary software. For the cor‐
218       rect noun inflections, Dr. Shaul Barkali's "The Complete Noun Book" has
219       been a great help. Prof. Uzzi Ornan's booklet "Verb Conjugation in Flow
220       Charts" has been instrumental in the implementation  of  verb  conjuga‐
221       tion, and Barkali's "The Complete Verb Book" was used too.
222
223       During  our work we have extensively used a number of Hebrew dictionar‐
224       ies, including Even Shoshan, Millon Ha-hove and  Rav-Milim,  to  ensure
225       the  correctness of certain words. Various Hebrew newspapers and books,
226       both printed and online, were used  for  inspiration  and  for  finding
227       words we still do not recognize.
228
229       We  wish to thank Cilla Tuviana and Dr. Zvi Har'El for their assistance
230       with some grammatical questions.
231
232       Several other people helped us in various releases,  with  suggestions,
233       fixes  or patches - they are listed in the WHATSNEW file in the distri‐
234       bution.
235
236

SEE ALSO

238       hspell(3), spell(1), ispell(1), bidiv(1), iconv(1), recode(1)
239

BUGS

241       This manual page is in English.
242
243       For GUI-lovers, hspell's user interface is an abomination. As more  and
244       more  applications  learn to interface with hspell, this will no longer
245       be an issue. See http://www.ivrix.org.il/projects/spell-checker/Hspell-
246       HOWTO.html for instructions on how to use Hspell in a variety of appli‐
247       cations.
248
249       hspell's being limited to the ISO-8859-8 encoding, and not  recognizing
250       UTF-8  or  even  CP1255  (including  niqqud),  is almost an anachronism
251       today.
252
253
254
255Hspell 1.0                        16 May 2006                        hspell(1)
Impressum