hunspell - unicode-os
helyesírás-ellenőrző,
szótövező és morfológiai elemző
program
ÁTTEKINTÉS
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.
ÁLLOMÁNYOK
/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).
LÁSD MÉG
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.