hunspell
NÃV
ÃTTEKINTÃS
LEÃRÃS
KAPCSOLÃK
INTERAKTÃV FELÃLET
CSÅFELÃLET
PÃLDÃK
KÃRNYEZET
ÃLLOMÃNYOK
LÃSD MÃG
ELÅNYÃK
SZERZÅ
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
bodies manpages.csv script_extrae_body.sh script.sh usr
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ó