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