hunspell(1)

NÉV
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)]

LEÍRÁS
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.

KAPCSOLÓK

-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/pkg/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/pkg/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.

INTERAKTÍV FELÜLET
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.

CSŐFELÜLET
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ó

PÉLDÁK

hunspell -d en_US english.html
    Az amerikai angol helyesírási szótár kiválasztása (aktuális, vagy a /usr/pkg/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.

KÖRNYEZET

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ó.

ELŐNYÖK
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.

SZERZŐ
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.