Nejroz╣φ°en∞j╣φm programem pro kontrolu pravopisu na unixov²ch systΘmech je GNU ispell (v dob∞ psanφ tohoto textu verze 3.1.20). Vzhledem k jeho schopnostem se spφ╣e jednß o pouhΘ odhalovßnφ p°eklep∙. Ispell toti╛ neodhalφ syntaktickΘ ani stylistickΘ chyby, tak╛e ot°epanΘ "vφly VYLI v∞nce" je podle n∞j sprßvn∞ (jeliko╛ "vyli" je takΘ ΦeskΘ slovo).
Soubory s Φesk²m slovnφkem pro ispell naleznete na adrese
ftp://ftp.vslib.cz/pub/unix/ispell/czech/. Tento
slovnφk je pr∙b∞╛n∞ roz╣i°ovßn a v kv∞tnu 1999 rozpoznßval vφce
ne╛ 1 300 000 slovnφch tvar∙. Na roz╣i°ovßnφ slovnφku se m∙╛e
podφlet ka╛d². StaΦφ zaslat dosud neznßmß Φeskß slova (obsah
souboru $HOME/.ispell_czech
nebo v²stup z p°φkazu
ispell -d czech -l < soubor
) na adresu
Petr.Kolar@vslib.cz.
Ispell je mo╛nΘ pou╛φvat bu∩ samostatn∞ --- pomocφ p°φkazu
ispell -d czech soubor
nebo je mo╛nΘ jej volat z r∙zn²ch editor∙.
A jak ispell funguje? Mßme nap°φklad soubor, kter² obsahuje nßsledujφcφ text:
Tv∙rcem opraΦnφho sytΘmu Linux je Linus Torvalds.
P°i kontrole p°φkazem ispell -d czech soubor
(nebo p°i stisknutφ
klßvesy F8 v editoru joe, apod.) ispell "skoΦφ" na slovo "opraΦnφho",
proto╛e slovo "Tv∙rcem" je ve slovnφku obsa╛eno. Slovo "opraΦnφho" bude
zv²razn∞no, a bude nabφdnuta (v tomto p°φpad∞ jedinß) mo╛nost opravy
--- 0: operaΦnφho
. StaΦφ stisknout nulu, a slovo "opraΦnφho"
bude opraveno na "operaΦnφho". ChybnΘ slovo "sytΘmu" nechß ispell bez
pov╣imnutφ, proto╛e se m∙╛e jednat o t°etφ pßd slova "syt²", ale zastavφ
se na slov∞ "Linus". Tady nabφdne n∞kolik mo╛nostφ, ale proto╛e p∙vodnφ
slovo je sprßvn∞, stiskneme klßvesu mezera nebo "a" (Accept), co╛ znamenß
"ponechat slovo uvedenΘ v textu". Mezera zp∙sobφ, ╛e dal╣φ v²skyt tΘho╛
slova ve stejnΘm souboru bude op∞t chybou, zatφmco "a" bude toto slovo
p°ipou╣t∞t a╛ do konce zpracovßvanΘho souboru. TakΘ je mo╛nΘ stisknutφm
"i" slovo za°adit do u╛ivatelskΘho slovnφku $HOME/.ispell_czech
,
tak╛e jeho v²skyt v kterΘmkoli v budoucnosti kontrolovanΘm souboru bude
tolerovßn. Pokud je slovo skuteΦn∞ ╣patn∞, a ispell nenabφzφ sprßvnou
opravu, je mo╛nΘ stisknout klßvesu "r" a zadat sprßvnΘ slovo.
╚esk² ispell je podporovßn balφkem emacs-czech od verze 3.5 (ve verzφch 3.5 a 3.6 je drobnß chyba). ╚esk² slovnφk lze zvolit nap°φklad v menu "Edit/Spell/Select Czech". Bli╛╣φ informace o pou╛φvßnφ ispellu a volb∞ slovnφk∙ naleznete v dokumentaci Emacsu.
Podpora anglickΘ kontroly pravopisu je v editoru joe vestav∞na.
Kombinacφ klßves 'CTRL+[ N'
kontrolujeme jedno slovo,
klßvesami 'CTRL+[ L'
cel² soubor.
╚eskou podporu lze jednodu╣e nakonfigurovat.
StaΦφ do souboru ~/.joerc
nebo p°φmo do souboru
/usr/lib/joe/joerc
doplnit nßsledujφcφ °ßdky:
Czech spell-check macros
:def czechspellfile filt,"cat >ispell.tmp;\
ispell -d czech ispell.tmp </dev/tty >/dev/tty;cat ispell.tmp;\
/bin/rm ispell.tmp",rtn,retype
:def czechspellword psh,nextword,markk,prevword,markb,filt,\
"cat >ispell.tmp;ispell -d czech ispell.tmp </dev/tty >/dev/tty;\
tr -d <ispell.tmp '\\012';/bin/rm ispell.tmp",rtn,retype,nextword
:def czechspellline psh,eol,markk,bol,markb,filt,"cat >ispell.tmp;\
ispell -d czech ispell.tmp </dev/tty >/dev/tty;\
tr -d <ispell.tmp '\\012';/bin/rm ispell.tmp",rtn,retype,eol
czechspellfile .k8
czechspellword .k9
czechspellline ^k .k9
Tato makra definujφ, ╛e funkΦnφ klßvesa F8 provede kontrolu ΦeskΘho pravopisu v celΘm souboru, klßvesa F9 zkontroluje slovo, na kterΘ stojφ kursor. (POZOR ov╣em na to, ╛e neupraven² joe neumφ rozeznßvat Φeskß pφsmenka ...). Kombinace klßves 'CTRL+k F9' provede kontrolu pravopisu na jednom °ßdku.