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.