hunspell - unicode-os helyesírás-ellenőrző,
szótövező és morfológiai elemző
program
hunspell [-1aDGHhLlmnOstvwX] [--check-url] [--check-apostrophe] [--help] [-i
karakterkódolás] [-d szótár[,...]] [-p
sajátszótár]
[szöveges/OpenDocument/TeX/LaTeX/HTML/SGML/XML/nroff/troff
állomány(ok)]
A
hunspell felismeri és javítja az elütéseket
és típushibákat egyszerű szöveges,
OpenDocument, (La)TeX, XML, HTML és groff (kézikönyv
oldal) állományokban.
Ha nem adunk meg állománynév-paramétert, a Hunspell
az Ispell csőfelületéhez hasonlóan
működik: a bemenet sorait szavakra bontja, és *, +, vagy
- jellel kezdődő kimeneti sorral jelzi, ha egy szó
jó, és # vagy & jellel, ha rossz. A csőfelület
parancsait viszont az Ispellhez hasonlóan csak a
-a
kapcsoló megadásával értelmezi.
Állománynév paraméter esetén elindul egy az
Ispelléhez hasonló interaktív felület.
- -1
- Speciális formátum: a bemeneti
állomány tabulátorjelet tartalmazó
soraiból csak az első tabulátorjel előtti
karaktersorozatot vizsgálja meg.
- -a
- Ispellhez csőfelület. A !, +,
-, @, #, vagy ^ jellel kezdődő
sorok a csőfelület parancsai, jelentésüket az
Ispell kézikönyvoldal részletezi. A -a
kapcsoló hatására a kimenetben a jó szavakat
csak csillaggal jelzi a Hunspell. Ez nagyobb kompatibilitást
biztosít az Ispellt használó programok
némelyikével (például a LyX-szel). Ekkor nem
kell megadnunk a -a kapcsolót, mivel az Ispellt
használó programok automatikusan ezzel a kapcsolóval
indítják el az Ispell nevében futó Hunspellt
is.
- -d
szótár[,szótár2,...]
- Beállítja a helyesírási
szótárakat a kiterjesztés nélküli
szótárnevek, útvonalak megadásával.
Például a
hunspell -d hu_HU,hu_geo,hu_med,de_DE,de_med
a magyar alapszótárat és kiegészítő
szótárait, valamint német alapszótárat
és annak egy kiegészítő
szótárát tölti be. Az alapszótárak
egy aff és egy dic kiterjesztésű
állományból állnak, a
kiegészítő szótárak csak dic
állományból. A kiegészítő
szótárak nevére vonatkozóan nincs szabály
(csak a dic kiterjesztés), a szótárnevek sorrendje
határozza meg, hogy melyik alapszótárhoz
töltődnek be a kiegészítő
szótárak (ami pedig meghatározza a
javaslattevést). Az első szótár mindig
alapszótár.
Az alapértelmezett szótár a környezet nyelvi
beállításától függ az Unix
rendszereken. Locale hiányában a
/usr/share/hunspell/default az alapértelmezett
szótár.
A megadott útvonal lehet abszolút és relatív is.
Relatív útvonal esetén először az
aktuális, majd a
/usr/share/hunspell és még
több más könyvtárban keresi a
szótárt a program. L. -D és a
PÉLDÁK.
- -D
- A keresési útvonalak, az
elérhető és betöltött
szótárak útvonalának kijelzése.
- -G
- A -l, -w, és -L kapcsolókat
kiegészítő kapcsoló. A standard
bemenetről érkező hibás szavak, illetve sorok
megjelenítése helyett a jó szavak és a
hibátlan sorok megjelenítését
kérhetjük vele. Ha mást nem adunk meg, a -l
kapcsoló hatásának megfelelően
működik, csak a rossz helyett a jó szavakat
írja a standard kimenetre.
- -h, --help
- A beépített leírás
megjelenítése.
- -H
- HTML bemeneti állományformátum
beállítása. Ha az állomány
nevének .html vagy .htm a kiterjesztése, ez automatikusan
bekövetkezik.
- -l
- Kiírja a hibás szavakat a standard
bemenetről érkező állományból.
Használható a -H, -t, -n, -1 kapcsolókkal
együtt is. A -G kapcsoló megfordítja a Hunspell
működését: csak a jó szavak
kerülnek kiírásra.
- -L
- Csak a hibás szavakat tartalmazó sorokat
írja ki a standard bemenetről érkező
állományból. Használható a -H, -t, -n,
-1 kapcsolókkal együtt is. A -G kapcsoló
megfordítja a működését: csak azok a
sorok kerülnek kiírásra, amelyek egy hibás
szót sem tartalmaznak.
- -m
- Elemző üzemmód: a bemeneti
szövegszavak morfológia elemzése, illetve a
szótári morfológiai leírás
hiányában a toldalékolt szavak kapcsolóinak
kijelzése (szótárfejlesztőknek).
- -n
- Nroff/troff bemeneti állományformátum
beállítása, elsősorban a
kézikönyvlapok ellenőrzésére.
- -O
- OpenDocument (ODF vagy flat ODF) bemeneti
állományformátum beállítása. Ha
az állomány nevének .odt, .ods, .odp, .odg, illetve
ezek sablon (.ott, ...) vagy flat (.fodt, ...) változatainak
megfelelő a kiterjesztése, ez automatikusan
bekövetkezik. Ha még nem volna, telepítsük az
unzip programot a kapcsoló használata előtt.
- -p saját_szótár
- A felhasználó saját
szótárának beállítására
szolgál.
Az alapértelmezett saját szótár a
$HOME/.hunspell_default állomány. Ha
szótárat is megadunk a -d kapcsolóval, vagy a
DICTIONARY környezeti változóval, a
saját szótár a
$HOME/.hunspell_szótárnév lesz. Ha a
saját szótár nem létezik, létrehozza.
Ha az aktuális könyvtárban is van egy ugyanilyen
nevű állomány, akkor annak tartalma is
beolvasásra kerül, mint saját szótár,
és az újonnan felvett szavak is ide kerülnek.
A -p , vagy a WORDLIST környezeti változó
megadásával új saját szótárat
jelölünk ki. A saját szótárat az
aktuális könyvtárban, és a saját
könyvtár gyökerében ($HOME) keresi a Hunspell.
Ha nem található, akkor az újonnan felvett szavak
mentésénél létrehozza a saját
könyvtár gyökerében.
- -s
- Tövező üzemmód: a bemenő
szövegszavak tövezése (a
szótártól függő
pontossággal).
- -t
- LaTeX bemeneti állományformátum
beállítása. Ha az állomány
nevének .tex a kiterjesztése, ez automatikusan
bekövetkezik.
- -u
- Tipikus hibák kijelzése az
állományból, cserejavaslattal.
- -u2
- Tipikus hibák és javításuk
kijelzése módosítható, és a sed
programmal végrehajtatható formában.
Irányítsuk a Hunspell kimenetét egy
állományba. Törüljük azokat a sorokat
az elmentett állományból, amelyek sed paranccsal
megadott javítását nem szeretnénk.
Mentsük el az állományt, és a sed -f
javítás eredeti_állomány
>javított_állomány paranccsal
javíthatjuk az állományt gyorsan és
egyszerűen. (A sok hibát tartalmazó
állományok javítását gyorsítja
meg ez a lehetőség.)
- -U
- Ha az -u kapcsolóval kapott javaslatokat mind el
szeretnénk fogadni, akkor az -U kapcsolóval a Hunspell
automatikusan végrehajtja a cseréket, és a
módosított állományt a szabványos
kimenetre küldi. Példa a javításra:
hunspell -U eredeti_állomány
>javított_állomány. A hibakimeneten
megjelennek a javítások is még egyszer, a -
kapcsolóhoz hasonló módon.
- -v
- Verziószám.
- -vv
- Verziószám (Ispell kompatibilitás
miatt).
- -w
- Csak a hibás szavakat írja ki a standard
bemenetről érkező, soronként egy szót
tartalmazó állományból. A sorok nincsenek
szavakra bontva. A sorok szavakra bontása, és csak a
hibás szavak kiírása a -w kapcsolóval
érhető el. A -G kapcsoló megfordítja a
Hunspell működését: csak a jó szavak
kerülnek kiírásra.
- -X
- XML bemeneti állományformátum
beállítása. Ha az állomány
nevének .xml a kiterjesztése, ez automatikusan
bekövetkezik.
A felület legfelső sorában a hibás szóalakot,
és az éppen vizsgált állomány nevét
látjuk. Amennyiben egy szóalak szótári
tiltás miatt nem kerül elfogadásra, a bal felső
sarokban a TILTOTT! (FORBIDDEN!) üzenet is megjelenik. Ez az
üzenet arra utal, hogy nem hiányos szókincs, hanem
szándékos tiltás miatt nem került a szó
elfogadásra. Az első sor alatt az állomány
hibás szót tartalmazó sorát, és
szövegkörnyezetét láthatjuk, majd ezt
követik a javaslatok, ha vannak.
A használható billentyűkombinációk:
- Szóköz
- Továbblépés javítás
nélkül a következő hibás
szóra.
- Számok
- A megfelelő javaslat
kiválasztása.
- c
- Csere. A hibás szó cseréje a megadott
szóra, vagy szavakra. Az Escape billentyű kétszeri
lenyomásával megszakíthatjuk a a cserét.
- j
- A szó elfogadása a program
futásának befejeződéséig.
- f
- A szó felvétele a saját
szótárba.
- k
- A szó kisbetűsként való
felvétele a saját szótárba.
- t
- Ragozott tőszó felvétele. A
ragozás a másodikként megadott, mintául
szolgáló szó alapján történik.
Ha ez a szó nincs felvéve a szótárba, a
tőszófelvételt elölről kell kezdeni.
Példa: gyakran hiányoznak az idegen és a mozaikszavak.
Vegyük fel a hiányzó OTP szót a tv
köznévi mozaikszó toldalékaival! Lenyomjuk a t
billentyűt, beírjuk, hogy OTP, leütjük az
új sor billentyűt, beírjuk, hogy tv, és
ismét új sor. A tv szó ugyanis már szerepel a
szótárban, és ragozása mondja meg a
programnak, hogy az OTP szót milyen toldalékokkal
szeretnénk látni, pl. OTP-hez, OTP-met stb. a tv-hez, tv-met
mintájára. A -val/-vel, -vá/-vé
toldalékokat a kötőjellel kapcsolt
toldalékú szavak esetében külön kell
felvenni, de még így is sokkal kényelmesebb a
speciális tőfelvétel, mint minden (akár
több száz) toldalékos alakot
külön-külön felvenni.
Egy kis segítség a minta kiválasztásához:
első menetben a hangrend számít. Pl.
mozaikszavaknál a mély hangrendű új szavak
felvételénél használhatjuk a MÁV
szót példaként, ajakréses magas
hangrendnél pedig az említett tv-t.
Ajakkerekítéses magas hangrend esetében a
HÖK szót használhatjuk (amíg át
nem lesz javítva a helyes hök-re). Ha a
hiányzó szó nem mozaikszó, hanem
például tulajdonnév, a Pál,
Péter, Örs szavakat adhatjuk meg
példának a hangrendtől függően. Ha meg
egyszerű köznévről van szó, akkor
használjuk az ok, ék, ük
szavakat. Igéknél áll, vél,
ül, ikes igéknél ázik,
vérzik, nőzik lehet a példa
(remélhetőleg a következő változatokban
egyszerűsödik ez a tőfelvétel).
Az Escape billentyű kétszeri lenyomásával
megszakíthatjuk ezt a műveletet.
Az itt felvett szavak automatikusan a saját szótárba
kerülnek. Ha ezt innen törölni szeretnénk, a
programból kilépve a saját szótár
kézi átszerkesztésével tehetjük meg.
- m
- Kilépés a változtatások
mentése nélkül. A program változtatás
megléte esetén megerősítést
kér.
- v
- Az állomány
ellenőrzésének megszakítása a
változtatások mentésével. Ha van
következő állomány, akkor a program annak
ellenőrzését kezdi el.
- ?
- Segítség. Hasonló rövid
leírás megjelenítése a
billentyűparancsokról.
A
Hunspell soronként dolgozza fel az állományokat,
a helyes szavakat
* (tőszó),
- (összetett
szó), vagy
+ (ragozott szó) karakterrel jelöli, a
helyteleneket
# (nincs javaslat) , vagy
& (van javaslat)
karakterrel. A + jelet a kimenetben követi még a
szótő. A # jel után a hibás szó, és
kezdőpozíciója van feltüntetve. A & jelet
követi a hibás szó; a javaslatok száma; a
hibás szó kezdőpozíciója; majd
kettőspont után a javaslatok, vesszővel
elválasztva:
macska
*
macskabajusz
-
macskák
+ macska
mcsk
# mcsk 0
macka
& macka 7 0: macska, maca, racka, packa, vacka, marka, mackó
- hunspell -d en_US english.html
- Az amerikai angol helyesírási
szótár kiválasztása (aktuális, vagy a
/usr/share/hunspell könyvtárból.
- hunspell -l szöveg.html
- A megadott állomány hibás szavainak
kiírása.
- hunspell -l *.odt | sort | uniq
>nem_ismert_szavak
- Az aktuális könyvtárban
található összes OpenDocument szöveges
állomány nem ismert szavainak állományba
mentése (az ismétlődők
kiszűrésével).
- hunspell -p nem_ismert_szavak_de_jok *.odt
- Az aktuális könyvtárban
található OpenDocument szöveges
állományok interaktív ellenőrzése
saját szótár megadásával. A
példában szereplő saját szótár
nem más, mint az előzőleg elmentett nem_ismert_szavak
állománya, amelyekből kivettük azokat a
szavakat, amelyeket most javítani szeretnénk.
- DICTIONARY
- A szótár helyének
megadására szolgál. Szerepe megegyezik a -d
kapcsolóval.
- DICPATH
- A szótárkeresési útvonalat
tartalmazó változó.
- WORDLIST
- A saját szótár helyének
megadására szolgál. Szerepe megegyezik a -p
kapcsolóval.
/usr/share/default.aff Az alapértelmezett ragozási
táblázat. Lásd
hunspell(4).
/usr/share/default.dic Az alapértelmezett szótár az
előző ragozási táblázathoz. Lásd
hunspell(4).
$HOME/.hunspell_default Az alapértelmezett
saját szótár. Az állományt
létrehozza a Hunspell, ha nem létezik. Lásd
ispell(1).
hunspell (4), hunstem (1), makedb (1), lookdb (1),
ispell (1), ispell (4), Magyar Ispell
dokumentáció.
A program a következő előnyöket nyújtja a
hasonló célokat szolgáló
Ispell-lel
szemben:
- -
- Képzők átfogó ismerete.
(Több tízezer helyes szóalak
elfogadását tette lehetővé a
tesztelésre használt 4 millió szavas
gyakorisági szótárban.)
- -
- Homonimák kezelése (nincsenek
például olyan alakok elfogadva, mint megvárban).
- -
- Helyes javaslatok a több karakter
változásával járó tipikus
hibákra (j/ly, íj/ijj, nyj/nny és még
több tucatnyi tévesztés
megvizsgálásával). Az Ispell csak két
karakter felcserélése; vagy egy karakter hiánya,
cseréje, illetve felesleges jelenléte esetén ad
helyes javaslatot.
- -
- Az összes helyes összetett szónak
látszó, de tipikus hibával
előálló alak tiltása (karvaj,
színtű, súlytó stb.)
- -
- Javaslatok valószínűségi
sorrendben jelennek meg (tipikus hibák, i/í, o/ó,
u/ú tévesztések stb.).
- -
- Összetett szavak esetén 6–3-as
szabály alkalmazása
(helyesírás-ellenőrző,
gépkocsi-összeszerelés).
- -
- Mozgószabály alkalmazása (kiviteli
engedély, kiviteliengedély-kérés).
- -
- A magyar nyelv egyéb összetételi
szabályainak alkalmazása (például
hatlövetű, tizenkét lövetű,
kéthavi, két hónapos,
másodmagával).
- -
- Leg-, legesleg- és -bb confixum helyes
kezelése (nincs pl. legédes, csak legédesebb).
- -
- Ragozható tőszófelvétel.
Megkönnyíti egy új szó ragozott
változatainak ellenőrzését,
feleslegessé téve ezek
külön-külön történő
felvételét a saját szótárba.
- -
- Javaslatok
mássalhangzó-triplázások (sakkkör,
baletttáncos, dzsesszszak) esetén. (Ispell helyesnek fogadja
el ezeket.)
- -
- Javaslatok szótagduplázások
(oktatatás, igenenevet) esetén.
- -
- Javaslatok ékezet nélküli
szövegre
(tukorfurogep->tükörfúrógép).
- -
- Kötőjeles szavak kezelése
(unos-untalan).
- -
- Toldalékolt számok (1-jén,
11-én, 5.-et) kezelése.
- -
- °, %, és § jelek (%-kal)
toldalékolt alakjainak kezelése.
- -
- Mozaikszavak (MÁV-osokat) kezelése.
- -
- Y-ra végződő szavak (boyjal, pennyvel)
kezelése.
- -
- Idegen ejtésű szótagra
végződő szavak (Anonymusszal, Voltaire-nek)
kezelése.
- -
- Két szóból álló
földrajzi nevek (San Franciscó-i) kezelése.
- -
- Hibás alakok tiltása (Babitssal, tanit,
alkotóművész stb.)
- -
- Tiltások jelzése a felhasználói
felületen.
- -
- Egyéb (például az Ispell ragozott
utószó esetében bármilyen
szóösszetételt elfogad: macskatekerem, kutyakavarom,
ezt a Hunspell nem teszi meg).
- -
- Magyar nyelvű (illetve locale (7)
függő) felület.
- -
- Hordozható szöveges
szótárállományok, szemben az Ispell platform,
és bináris Ispell fordítástól
függően (nem) kezelhető
adatállományaival.
A Hunspell az OpenOffice.org MySpell
függvénykönyvtárán
továbbfejlesztése. A MySpell
affixumtömörítésének mintája az
International Ispell program volt.
A mintaként szolgáló International Ispell szerzője
Geoff Kuenning, sok más elődje munkájára
támaszkodva (l.
ispell(1)).
A Myspellt Kevin Hendricks készítette a legjelentősebb
nyílt forráskódú irodai csomaghoz, az
OpenOffice.org-hoz 2001-2002-ben (l.
http://hu.openoffice.org).
A Hunspell programkönyvtárat és parancssori programot
Németh László <nemeth@openoffice PONT org>
készítette 2002-2008-ban.