init
Some checks failed
Docker. / Ubuntu (push) Has been cancelled
User-agent updater. / User-agent (push) Failing after 15s
Lock Threads / lock (push) Failing after 10s
Waiting for answer. / waiting-for-answer (push) Failing after 22s
Close stale issues and PRs / stale (push) Successful in 13s
Needs user action. / needs-user-action (push) Failing after 8s
Can't reproduce. / cant-reproduce (push) Failing after 8s

This commit is contained in:
allhaileris
2026-02-16 15:50:16 +03:00
commit afb81b8278
13816 changed files with 3689732 additions and 0 deletions

View File

@@ -0,0 +1,3 @@
man_MANS = hunspell.1 hunspell.3 hunspell.5 hzip.1 hunzip.1
EXTRA_DIST = $(man_MANS)
SUBDIRS=hu

View File

@@ -0,0 +1,5 @@
#mandir = $(DESTDIR)/share
man1dir = $(mandir)/hu/man1
man4dir = $(mandir)/hu/man4
man_MANS = hunspell.1 hunspell.5
EXTRA_DIST = $(man_MANS)

View File

@@ -0,0 +1,439 @@
.hla hu
.TH hunspell 1 "2014. május 27."
.LO 1
.SH NÉV
hunspell \- unicode-os helyesírás\-ellenőrző, szótövező és morfológiai elemző program
.SH Á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)]
.SH LEÍRÁS
A
.B 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.
.PP
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
.I \-a
kapcsoló megadásával értelmezi.
.PP
Állománynév paraméter esetén elindul egy az Ispelléhez hasonló interaktív felület.
.SH KAPCSOLÓK
.TP
.B \-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.
.TP
.B \-a
Ispellhez csőfelület. A
.I !,
.I +,
.I \-,
.I \@,
.I #,
vagy
.I ^
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.
.TP
.B \-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
.PP
hunspell \-d hu_HU,hu_geo,hu_med,de_DE,de_med
.PP
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.
.PP
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
.BR /usr/share/hunspell/default
az alapértelmezett szótár.
.PP
A megadott útvonal lehet abszolút és relatív is. Relatív
útvonal esetén először az aktuális, majd a
.BR /usr/share/hunspell
és még több más könyvtárban keresi a szótárt a program. L. \-D és a
.BR PÉLDÁK.
.TP
.B \-D
A keresési útvonalak, az elérhető és betöltött szótárak útvonalának
kijelzése.
.TP
.B \-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.
.TP
.B \-h, \-\-help
A beépített leírás megjelenítése.
.TP
.B \-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.
.TP
.B \-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.
.TP
.B \-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.
.TP
.B \-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).
.TP
.B \-n
Nroff/troff bemeneti állományformátum beállítása, elsősorban a
kézikönyvlapok ellenőrzésére.
.TP
.B \-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.
.TP
.B \-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
.BR $HOME/.hunspell_default
állomány. Ha szótárat is megadunk a
.I \-d
kapcsolóval, vagy a
.I DICTIONARY
környezeti változóval, a saját szótár a
.BR $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
.I \-p ,
vagy a
.I 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.
.TP
.B \-s
Tövező üzemmód: a bemenő szövegszavak tövezése (a szótártól függő
pontossággal).
.TP
.B \-t
LaTeX bemeneti állományformátum beállítása. Ha az állomány nevének .tex
a kiterjesztése, ez automatikusan bekövetkezik.
.TP
.B \-u
Tipikus hibák kijelzése az állományból, cserejavaslattal.
.TP
.B \-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 \fIsed -f javítás eredeti_állomány >javított_állomány\fR
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.)
.TP
.B \-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:
\fIhunspell -U eredeti_állomány >javított_állomány\fR.
A hibakimeneten megjelennek a javítások is még egyszer, a
-\u kapcsolóhoz hasonló módon.
.TP
.B \-v
Verziószám.
.TP
.B \-vv
Verziószám (Ispell kompatibilitás miatt).
.TP
.B \-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.
.TP
.B \-X
XML bemeneti állományformátum beállítása. Ha az állomány
nevének .xml a kiterjesztése, ez automatikusan bekövetkezik.
.SH 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.
.PP
A használható billentyűkombinációk:
.TP
.B Szóköz
Továbblépés javítás nélkül a következő hibás szóra.
.TP
.B Számok
A megfelelő javaslat kiválasztása.
.TP
.B 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.
.TP
.B j
A szó elfogadása a program futásának befejeződéséig.
.TP
.B f
A szó felvétele a saját szótárba.
.TP
.B k
A szó kisbetűsként való felvétele a saját szótárba.
.TP
.B 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 \fIMÁV\fR szót példaként, ajakréses magas hangrendnél
pedig az említett \fItv\fR\-t. Ajakkerekítéses magas hangrend
esetében a \fIHÖK\fR 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 \fIPál\fR, \fIPéter\fR, \fIÖrs\fR 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
\fIok\fR, \fIék\fR, \fIük\fR szavakat.
Igéknél \fIáll\fR, \fIvél\fR, \fIül\fR,
ikes igéknél \fIázik\fR, \fIvérzik\fR, \fInőzik\fR
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.
.TP
.B 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.
.TP
.B 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.
.TP
.B ?
Segítség. Hasonló rövid leírás megjelenítése a
billentyűparancsokról.
.SH CSŐFELÜLET
A \fIHunspell \fR soronként dolgozza fel az
állományokat, a helyes szavakat \fI*\fR (tőszó), \fI\-\fR
(összetett szó), vagy
.I +
(ragozott szó) karakterrel jelöli, a helyteleneket
.I #
(nincs javaslat) , vagy
.I &
(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:
.PP
.RS
.nf
macska
*
macskabajusz
-
macskák
+ macska
mcsk
# mcsk 0
macka
& macka 7 0: macska, maca, racka, packa, vacka, marka, mackó
.fi
.RS
.SH PÉLDÁK
.TP
.B hunspell \-d en_US english.html
Az amerikai angol helyesírási szótár kiválasztása (aktuális, vagy a
.BR /usr/share/hunspell
könyvtárból.
.TP
.B hunspell -l szöveg.html
A megadott állomány hibás szavainak kiírása.
.TP
.B 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).
.TP
.B 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.
.SH KÖRNYEZET
.TP
.B DICTIONARY
A szótár helyének megadására szolgál. Szerepe megegyezik a
.I \-d
kapcsolóval.
.TP
.B DICPATH
A szótárkeresési útvonalat tartalmazó változó.
.TP
.B WORDLIST
A saját szótár helyének megadására szolgál. Szerepe megegyezik a
.I \-p
kapcsolóval.
.SH ÁLLOMÁNYOK
.BI /usr/share/default.aff
Az alapértelmezett ragozási táblázat. Lásd hunspell(4).
.PP
.BI /usr/share/default.dic
Az alapértelmezett szótár az előző ragozási táblázathoz.
Lásd hunspell(4).
.BI $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).
.SH LÁSD MÉG
.B hunspell (4),
.B hunstem (1),
.B makedb (1),
.B lookdb (1),
.B ispell (1),
.B ispell (4),
Magyar Ispell dokumentáció.
.SH ELŐNYÖK
A program a következő előnyöket nyújtja a hasonló célokat szolgáló \fIIspell\fR\-lel szemben:
.IP \-
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.)
.IP \-
Homonimák kezelése (nincsenek például olyan alakok elfogadva, mint megvárban).
.IP \-
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 \fIIspell\fR csak két karakter felcserélése; vagy egy karakter hiánya,
cseréje, illetve felesleges jelenléte esetén ad helyes javaslatot.
.IP \-
Az összes helyes összetett szónak látszó, de tipikus hibával előálló alak tiltása (karvaj, színtű, súlytó stb.)
.IP \-
Javaslatok valószínűségi sorrendben jelennek meg (tipikus hibák, i/í, o/ó, u/ú tévesztések stb.).
.IP \-
Összetett szavak esetén 63\-as szabály alkalmazása (helyesírás\-ellenőrző, gépkocsi\-összeszerelés).
.IP \-
Mozgószabály alkalmazása (kiviteli engedély, kiviteliengedély\-kérés).
.IP \-
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).
.IP \-
Leg-, legesleg- és -bb confixum helyes kezelése (nincs pl. legédes, csak legédesebb).
.IP \-
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.
.IP \-
Javaslatok mássalhangzó\-triplázások (sakkkör, baletttáncos, dzsesszszak) esetén.
(Ispell helyesnek fogadja el ezeket.)
.IP \-
Javaslatok szótagduplázások (oktatatás, igenenevet) esetén.
.IP \-
Javaslatok ékezet nélküli szövegre (tukorfurogep\->tükörfúrógép).
.IP \-
Kötőjeles szavak kezelése (unos\-untalan).
.IP \-
Toldalékolt számok (1\-jén, 11\-én, 5.\-et) kezelése.
.IP \-
°, %, és § jelek (%\-kal) toldalékolt alakjainak kezelése.
.IP \-
Mozaikszavak (MÁV\-osokat) kezelése.
.IP \-
Y-ra végződő szavak (boyjal, pennyvel) kezelése.
.IP \-
Idegen ejtésű szótagra végződő szavak (Anonymusszal, Voltaire\-nek) kezelése.
.IP \-
Két szóból álló földrajzi nevek (San Franciscó\-i) kezelése.
.IP \-
Hibás alakok tiltása (Babitssal, tanit, alkotóművész stb.)
.IP \-
Tiltások jelzése a felhasználói felületen.
.IP \-
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).
.IP \-
Magyar nyelvű (illetve
.B locale (7)
függő) felület.
.IP \-
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.
.SH 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.
.PP
A mintaként szolgáló International Ispell szerzője Geoff Kuenning,
sok más elődje munkájára támaszkodva (l. ispell(1)).
.PP
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).
.PP
A Hunspell programkönyvtárat és parancssori programot
Németh László <nemeth@openoffice PONT org> készítette 2002\-2008\-ban.

View File

@@ -0,0 +1,518 @@
.hla hu
.TH hunspell 5 "2014. május 26."
.LO 1
.SH NÉV
hunspell \- a Hunspell állományainak formátuma
.SH LEÍRÁS
A
.IR Hunspell (1)
két állományt igényel egy adott nyelven történő helyesírás\-ellenőrzéshez.
Az első állomány egy szótárállomány, ami az adott nyelv szavait, és
ezek kapcsolóit (attribútumait) tartalmazza. A második állomány
egy ragozási (affixum) állomány, ami meghatározza az említett
kapcsolók jelentését.
.SH SZÓTÁRÁLLOMÁNY
Egy hunspell
.B szótárállomány
(*.dic) első sora a szótárállományban
lévő szavak közelítő számát tartalmazza (az optimális méretű
memóriaterület lefoglalásához). A többi sor soronként egy
szót tartalmaz. Minden szó után nem kötelezően egy
perjel, és egy, vagy több kapcsoló következhet. A
kapcsolók egybetűsek, és meghatározzák, hogy milyen
toldalékokat kaphat a tőszó, illetve milyen egyéb speciális
tulajdonságokkal rendelkezik. Például a
.PP
.RS
.nf
1
hunspellezik/EeX
.fi
.RE
.PP
szótár egy szót tartalmaz (hunspell), ami a magyar ragozási
állomány alapján alanyi és tárgyas igeragozást is
vonz (E és e kapcsolók), valamint igekötő prefixumokat is
kaphat. A példa szótárállomány és a magyar ragozási
állomány alapján a \fImeghunspelleztétek\fR helyes szóként
kerülne felismerésre.
A szótári szavak perjelet is tartalmazhatnak, ha
az fordított perjellel van bevezetve: "\/". A kapcsolók
alapértelmezésként egy karakteresek, de ha több ragozási
osztályt szeretnénk használni, ez több karakteresre vagy számra is
módosítható.
A Hunspell szótárállományok sorai kiegészítő adatmezőket is tartalmazhatnak,
amelyek szóközökkel vagy tabulátorokkal vannak elválasztva (l. kiegészítő
adatmezők).
A személyes szótárak egyszerű szólisták. Megadhatunk
perjellel elválasztott példaszavakat is a toldalékolás engedélyezésére:
.PP
.RS
.nf
Obama/Tamara
.fi
.RE
.PP
A példában a Tamara szó toldalékolását a személyes szótár
Obama szavára is alkalmazza az ellenőrző, elfogadva az Obamáról,
Obamáékat stb. alakokat is.
.SH RAGOZÁSI ÁLLOMÁNY
A
.B "ragozási állomány"
rendszerint kisebb méretű. Különféle definíciókat és
ragozási szabályokat ad meg meghatározott kulcsszóival. Például a
.B SET
a karakterkódolás, a
.B TRY
javaslattevésnél módosítot betűk, a
.B REP
a javaslattevésnél módosított szórészletek, a
.B PFX
és az
.B SFX
pedig a szó elejére és végére illesztendő toldalékok megadására szolgál.
A következő példa egy UTF\-8-as kódolású szótár affixumállományának
definíciója. A TRY felsorolja a magyar betűket gyakorisági sorrendjükben,
a LANG beállítja a magyar nyelvet, a WORDCHARS megadja azokat a karaktereket,
amelyeket a parancssori Hunspell a szavak részeként fog kezelni.
.PP
.RS
.nf
SET UTF\-8
TRY íóúÍÓÚtaeslzánorhgkiédmyőpvöbucfjüűxwqTAESLZÁNORHGKIÉDMYŐPVÖBUCFJÜŰXWQ\-.
LANG hu_HU
WORDCHARS \-.§%‰°0123456789
REP 2
REP j ly
REP ly j
PFX X Y 3
PFX X 0 meg .
PFX X 0 rá .
PFX X 0 össze .
SFX e Y 6
SFX e ik tük e[dz]ik
SFX e ik tétek e[dz]ik
SFX e ik ték e[dz]ik
SFX e 0 tük e[dzt]
SFX e 0 tétek e[dzt]
SFX e 0 ték e[dzt]
SFX f Y 2
SFX f ik het/e e[dz]ik
SFX f ik tet/e e[dz]ik
.fi
.RE
.PP
A REP a j és ly felcserélése esetén ad jó és elöl rangsorolt
javaslatokat. A PFX-ek pár igekötőt definiálnak, az SFX-ek
pedig pár igeragot. Ezek nagyobb részénél a szó végi ik is levágásra
kerül a toldalék illesztése előtt. Itt az illesztés feltétele, hogy az
igék -edik vagy -ezik karaktersorozatra végződjenek, különben pedig
az -ed, -ez vagy -et betűkre. Az f jelű toldalékolási osztály
érdekessége, hogy a -het és -tet illesztése után még folytatódhat
a toldalékolás az e jelű toldalékolási osztállyal (ezt a het/e
ls tet/e határozza meg), így kaphat -hettük, -hettétek, -hették,
-tettük, -tettétek, -tették toldalékokat a szótárban szereplő
levelezik szó:
.PP
.RS
.nf
1
levelezik/e
.fi
.RE
.PP
.SH "ÁLTALÁNOS PARAMÉTEREK"
A Hunspell forrás több mint 80 példát tartalmaz a
paraméterek használatára vonatkozóan. A következő leírás
nem teljes, l. még az angol kézikönyvoldalt is.
.IP "SET karakterkód"
A szótár és affixumállomány karakterkódolásának beállítása.
A lehetséges értékek: UTF-8, ISO8859\-1-től ISO8859\-10-ig,
ISO8859\-13\-ISO8859\-15, KOI8-R, KOI8-U, cp1251, ISCII-DEVANAGARI.
.IP "FLAG érték"
A kapcsolók 1 karakteres alapbeállításának módosítása.
(A ragozási osztályokat és egyéb tulajdonságokat jelölik a kapcsolók,
amelyek alapértelmezés szerint 1 karakteresek, a pékdákban
legtöbbször nagybetűvel szerepelnek). Az `UTF-8' értékkel
Unicode karaktereket használhatunk kapcsolóként (UTF-8 kódolással és
maximum 65 ezres karakterkódig), a `long' értékkel két karakteres
kapcsolókat (több kapcsoló esetén sincs elválasztójel, a `num'
értékkel vesszővel elválasztott decimális számokat 1-től
65 ezerig.
.IP "COMPLEXPREFIXES"
Kétszeres prefixumillesztést állít be (de csak egyszeres szuffixumokat
az alapértelmezett kettő helyett.) Jobbról balra író ragasztó nyelveknél hasznos.
.IP "LANG nyelvkód"
Nyelv megadása (nyelvfüggő programrészek bekapcsolásához) az
ISO nyelv- és régiókóddal (pl. hu_HU).
.IP "IGNORE karakterek"
A felsorolt karaktereket törli a szótári szavakból és toldalékokból,
valamint a bemeneti szavakból. Hasznos az opcionális írásjelek, mint
az arab vagy a héber mellékjelek kezelésére.
.IP "AF a_következő_AF_sorok_száma"
.IP "AF kapcsolók"
A Hunspell program képes a kapcsolóhalmazokat egy természetes
számmal helyettesíteni a szótárállományban
és a többszörös toldalékásnál az affixumállományban (alias tömörítés),
felgyorsítva ezzel a szótár betöltődését és csökkentve a program
memóriaigényét. Egy rövid példa:
.PP
.RS
.nf
3
hello
try/1
work/2
.fi
.RE
.PP
És a kapcsolódó AF definíciók az affixumállományban:
.PP
.RS
.nf
SET UTF-8
TRY esianrtolcdugmphbyfvkwzESIANRTOLCDUGMPHBYFVKWZ'
AF 2
AF A
AF AB
...
.fi
.RE
.PP
Ami megfelel a következő szótárállománynak:
.PP
.RS
.nf
3
hello
try/A
work/AB
.fi
.RE
.PP
Lásd még a tests/alias* példát a forrásban.
Megjegyzés: az AF sorok nem előzhetik meg a FLAG paramétert.
Alias tömörítésre szolgál a Hunspell makealias segédprogramja.
.IP "AM a_következő_AM_sorok_száma"
.IP "AM morfológiai_és_egyéb_adatmezők"
A Hunspell program képes a kiegészítő adatmezőket
egy természetes számmal helyettesíteni, az AF paraméterhez hasonlóan.
Lásd még a tests/alias* példát a forrásban.
.SH "JAVÍTÁSI PARAMÉTEREK"
Az alapértelmezett n-gram, illetve betűcserén és -törlésen
alapuló javaslatokat kiegészíthetjük a javítási paraméterekkel.
A REP segít a tipikus hibák és javításuk megadásában.
A PHONE a kiejtést kevésbé követő írásrendszereknél nyújt segítséget.
.IP "KEY szomszédos_karakterek_opcionálisan_függőleges_vonallal_elválasztva"
A nyelv alapértelmezett billentyűzetkiosztását adhatjuk meg a KEY
paraméterrel, hogy a javaslatoknál a szomszédos betűk elütését
felismerje a program. A nem szomszédos betűket függőleges vonallal
választhatjuk el:
.PP
.RS
.nf
KEY öüó|qwertzuiopőú|asdfghjkléáű|íyxcvbnm
.fi
.RE
.PP
.IP "TRY karakterek"
A javaslattevésnél az 1 karakteres próbálkozásoknál az itt felsorolt
karakterekre cserél, illetve bővít. A paraméternél a kis- és nagybetűket
külön kell megadni.
.IP "NOSUGGEST kapcsoló"
Az itt definiált kapcsolóval jelölt szavakat a program nem javasolja
a hibajavításnál. Vulgáris és obszcén szavak esetében hasznos.
.IP "MAXNGRAMSUGS"
Az n-gram (n hosszú szórészletek megegyezősége alapján súlyozott)
javaslatok maximális számának beállítása. Alapértelmezetten
5. A 0 érték kikapcsolja az n-gram javaslatokat.
.IP "NOSPLITSUGS"
Nem javasol szófelbontást a Hunspell ezzel a beállítással.
Hiányzó összetettszó-kezelés esetén hasznos a hibás különírási
javaslatok tiltására.
.IP "SUGSWITHDOTS"
Ha a hibás szó pont(ok)ra végződik, ezeket a javaslatok esetében is
feltünteti. A LibreOffice szótárak számára nem szükséges ez a
beállítás.
.IP "REP szám"
.IP "REP mit mire"
A javítási cseretáblázat megadására szolgáló definíciók.
Az első REP után adjuk meg a többi REP sor számát.
Ezek a sorok már két paramétert várnak: először
megadjuk a felismerendő mintát (hibás szórészletet),
utána pedig azt a karaktersorozatot, amire a felismert
mintát javítani szeretnénk. A helyesírás\-ellenőrző
a cseretáblázat révén tud helyes javaslatot tenni
többkarakteres eltérés (pl. j-ly) esetén.
A szóköz aláhúzásjellel helyettesítendő a javaslatokban:
.PP
.RS
.nf
REP 1
REP végülis végül_is
.fi
.RE
.PP
A szervíz, szintű és a hasonló hibás összetett szavak
letiltásában szintén a REP táblázat segít a CHECKCOMPOUNDREP
megadásával (l. ott).
.IP "MAP a_MAP_definíciók_száma"
.IP "MAP karakterek"
Rokon karaktereket adhatunk meg több sorban. A javaslattevésnél
több rokon karakter cseréje is lehetséges, így például ékezet
nélküli szavakat is képes ékezetesíteni a Hunspell a következő
definíció mellett:
.PP
.RS
.nf
MAP 5
MAP aá
MAP eé
MAP ií
MAP oóöő
MAP uúüű
.fi
.RE
.PP
.IP "PHONE a_PHONE_definíciók_száma"
.IP "PHONE karakterek"
A PHONE egy táblázattal megadható fonetikus átírási algoritmust
használ a kiejtési hasonlóság kiszámítására. Különösen
hasznos azoknál a nyelveknél, ahol az írás nem tükrözi a kiejtést.
A részletes dokumentáció az Aspell helyesírás-ellenőrző oldalán
érhető el angol nyelven: http://aspell.net/man-html/Phonetic-Code.html.
Megjegyzés: a szabályokban szereplő kapcsos zárójelek nem
tartalmazhatnak még több byte-os UTF-8 karaktereket, ahogy
a kötőjeles kifejezések is byte-ot jelölnek, nem karaktert Unicode
szótár esetén is.
.SH "SZÓ-ÖSSZETÉTELEZÉSI PARAMÉTEREK"
.IP "BREAK a_BREAK_definíciók_száma"
.IP "BREAK karakter_vagy_karaktersorozat"
Ha a keresett szó nincs a szótárban, a felsorolt karaktereknél vagy
karaktersorozatoknál felbontja és részenként ellenőrzi. Hasznos
például a kis- és nagykötőjeles szavaknál a magyarban.
.IP "COMPOUNDRULE"
Reguláris kifejezésekhez hasonló összetételi szabályok megadása.
.IP "COMPOUNDMIN szám"
A legkisebb szóhossz, ami még összetett szóban szerepelhet.
Alapértelmezés szerint 3 karakter.
.IP "COMPOUNDFLAG kapcsoló"
Itt adható meg a szóösszetételben való szereplést engedélyező
kapcsoló.
.IP "COMPOUNDBEGIN kapcsoló"
A kapcsoló az összetett szavak első tagjaként engedélyezi
a megjelölt szavakat.
.IP "COMPOUNDLAST kapcsoló"
A kapcsoló az összetett szavak utolsó tagjaként engedélyezi
a megjelölt szavakat. Kombinálható az előző kapcsolóval.
.IP "COMPOUNDMIDDLE kapcsoló"
A kapcsoló az összetett szavak közbenső tagjaként engedélyezi
a megjelölt szavakat. Kombinálható a két előző kapcsolóval.
.IP "ONLYINCOMPOUND kapcsoló"
Csak az összetett szavakban megjelenő ragozás jelölésére szolgáló
kapcsoló (germán nyelvek esetében tipikus).
.IP "CIRCUMFIX kapcsoló"
Ezzel a kapcsolóval jelölt szuffixum csak ugyanilyen kapcsolóval
jelölt prefixummal jelenhet meg egy tövön. (Pl. leg-édes-ebb).
.IP "COMPOUNDPERMITFLAG kapcsoló"
Alapértelmezés szerint a prefixumok és szuffixumok nem fordulhatnak
elő az összetett szavak belsejében. A COMPOUNDPERMITFLAG
kapcsolóval rendelkező affixumok viszont itt is megjelenhetnek.
.IP "COMPOUNDFORBIDFLAG kapcsoló"
Toldalékolt szavak szóösszetételben való szereplését tiltó
kapcsoló. A tiltáshoz az adott SFX szabály folytatási
osztályaként (l. később) adjuk meg ezt a kapcsolót.
.IP "COMPOUNDROOT kapcsoló"
A szótárba közvetlenül felvett összetett szavakat
jelölő kapcsoló. A COMPOUNDWORDMAX, és így a magyar esetében
a 63-as szabály működését befolyásolja azzal, hogy a COMPOUNDROOT
kapcsolóval összetettnek jelölt
szavak két szónak számítanak.
.IP "COMPOUNDWORDMAX szám"
A szóösszetételekben szereplő egyszerű tövek maximális száma.
A magyar esetében 2 az érték, e fölötti szószámnál már életbe lép
a 63-as szabály.
.IP "COMPOUNDSYLLABLE szám karakterek"
Két paramétert vár. Az első megadja az összetett szavak tövének
maximális szótagszámát, ami a magyar helyesírás 63-as szabálya szerint 6.
A második mező felsorolja a magánhangzókat,
ami a szótagszám megállapításához szükséges.
Ha hiányzik ez a definíció, akkor nincsen
korlátozás az összetett szavak tövének szótagszámára
vonatkozóan.
.IP "SYLLABLENUM kapcsolók"
Egy paramétert vár. A paraméterben megadhatóak azok a ragozási
osztályok, amelyek ragozás esetén eggyel növelik az összetett
szavak tövénél kiszámított szótagszámot. A magyarban ezek
a melléknévképzők: kerékpárjavításainkról, de kerékpár\-javítási.
A
.IP "FORBIDDENWORD kapcsoló"
A tiltott szavakat jelölő kapcsoló. A tiltott szótövek
toldalékolt alakjai is letiltásra kerülnek. A tiltott
szavak akár toldalékolási, vagy szóösszetételi szinonimaként
sem kerülnek elfogadásra.
.IP "PSEUDOROOT kapcsoló"
A kapcsolóval jelölt szavak toldalékolt alakjai kerülnek
csak elfogadásra. Fiktív tövek megadására szolgáló
kapcsoló. A tő lehet még helyes szó, ha
érvényes szinonimaként előáll vagy szerepel a szótárban.
.IP "WORDCHARS karakterek"
Paramétere azok a karakterek, amelyek a beállított kódolás (pl.
a magyar esetében az ISO-8859-2) betűi mellett még az adott
nyelv szavaiban előfordulhatnak. Ilyen például a magyarban
a kötőjel, pont, százalékjel, fokjel, paragrafusjel és a
nagykötőjel. Az utóbbi csak UTF-8, vagy microsoft-cp1250
karakterkészlet mellett lesz használható a magyar szótárban.
.IP "PFX kapcsoló keresztkombinálódás szám"
.IP "PFX kapcsoló levágás prefixum feltétel morfológia"
Prefixum megadására szolgáló definíciók.
A prefixumok egykarakteres névvel jelölt osztályokba
vannak sorolva. A példában az X osztály
definíciója látható. Az egyes osztályokra
vonatkozó PFX fejléc tartalmazza a következőket:
(1) az osztály betűjelét (a példában X)
(2) a keresztbe való kombinálás engedélyezése, illetve
tiltása (Y/N). Engedélyezés esetén az adott prefixum akkor is
alkalmazható, ha a tőszó toldalékolt alakban fordul elő.
Ehhez az is szükséges, hogy a toldalék (affixum) ragozási
osztályában is legyen engedélyezve a kombinálás.
(3) az osztályba tartozó bejegyzések számát
A PFX fejlécet követő sorokban a PFX paraméterek jelentése
a következő:
(1) az osztály betűjele
(2) a ragozásnál a szó elejéről leválasztandó karaktersorozat.
Ha nem kell leválasztani, akkor 0.
(3) a prefixum (például igekötő, vagy a leg\-, legesleg\-
a mellékneveknél). Perjellel elválasztva kapcsolókat
is megadhatunk (l. többszörös toldalékolás).
(4) a minta, ami ha illeszkedik, alkalmazható a szabály.
Például ha itt kutya szerepelne, akkor csak a kutya
kezdetű szavak elé lehetne tenni az ebben a sorban
megadott prefixumot. A minta megadásánál a pont (.)
speciális jelentéssel bír: minden karakterre illeszkedik.
Megadhatunk csak bizonyos karakterekre illeszkedő mintát
is szögletes zárójelek segítségével. Például az [abcd] illeszkedik
az a, b, c, illetve d karakterekre is.
Ellentétben az Ispell\-lel, a kötőjel
szerepe a szögletes zárójelek között nem speciális,
vagyis kötőjelet jelent, és nem karaktertartományt.
Ha a nyitó szögletes zárójel után kalap (^) karakter
található, a karaktertartomány komplementerére
illeszkedik a minta, hasonlóan a reguláris
kifejezésekhez (l.
.IR regex "(7))."
(5) Morfológiai leírás. Szóközzel vagy tabulátorral
elválasztott mezők. A mezőnevek és használatuk az
angol kézikönyvoldalon található.
.IP "SFX kapcsoló keresztkombinálódás szám"
.IP "SFX kapcsoló szuffixum feltétel mofológiai_leírás"
A PFX\-szel megegyező paramétereket kap, csak nem
a szó eleji, hanem a szó végi toldalékok leírására
szolgál. A példában szereplő definíciók jelentése:
az \-edik, vagy \-ezik végű szavakra alkalmazható
a három szabály. A rag illesztésénél levesszük
a szó végi \-ik karaktersorozatot, és szabálytól függően
illesztjük a \-tük, \-tétek, \-ték toldalékokat,
végeredményben \-edtük, \-edtétek, \-edték, illetve
-eztük, \-eztétek, \-ezték végű szavakat kapva.
.IP "Többszörös toldalékolás"
A PFX és az SFX szabályokban a toldalék perjellel elválasztva kapcsolókat is
kaphat, hasonlóan a szótárállomány töveihez. A kapcsolók a
következőek lehetnek:
(1) SFX szabályban az SFX folytatás jelentése, hogy a toldalék még tovább
ragozódhat a megadott kapcsolókkal (többszörös affixumleválasztás).
A Hunspell esetében csak a kétszeres affixumleválasztás lett megvalósítva,
tehát a folytatási osztály folytatását már nem veszi figyelembe a program.
(2) SFX szabályban a PFX folytatás jelentése, hogy az adott prefixum is
hozzájárulhat a tőhöz, feltéve, ha az SFX szabály is él.
(3) PFX szabályban az SFX szabály jelentése, hogy a megjelölt SFX
szabály a tőhöz járulhat, ha a PFX szabály is él.
(4) ONLYINCOMPOUND kapcsoló megadásával az adott PFX vagy SFX toldalék csak
szóösszetételben jelentkezhet.
(5) CIRCUMFIX kapcsoló megadásával az adott SFX csak az ugyanilyen
toldalékot kapó PFX-szel együtt fordulhat csak elő.
(6) Az összetételi kapcsolók megadásával engedélyezhetjük
vagy letilthatjuk (COMPOUNDFORBIDFLAG) az összetételben való
szereplést. A összetett szavak utolsó tagja alapértelmezés szerint
minden affixumot felvehet. A közbenső szavaknál viszont
explixit módon engedélyezni kell ezt.
.PP
A ragozási állomány ezeken kívül még megjegyzéseket is tartalmazhat, ezért az adott
szótár változatát, szerzőjét, felhasználási engedélyeit itt
keressük.
.SH SAJÁT SZÓTÁR
A saját szótár formátuma közel megegyezik a szótárállomány
formátumával. A különbségek a következőek:
(1) Nem kell megadni az első sorban az állományban lévő szavak
méretét.
(2) A szóhoz nem kapcsolókat, hanem egy mintaszót
adhatunk meg, ami alapján az ellenőrző a szó toldalékolt
alakjait is felismeri. Például a Patyomkin/Ádám azt jelenti, hogy
a Patyomkin szót az Ádáméval megegyező
ragozással is el kell fogadni.
(3) A csillag tiltást jelent: a csillaggal jelölt szavakat az ellenőrző
akkor sem ismeri fel, ha az alapszótárban szerepelnek, pl. *kóricál.
(4) Az állomány kézzel módosítható, és ezt időnként
javasolt is megtenni, ha esetleg hibásan vettünk fel szavakat.
.SH LÁSD MÉG
.B angol nyelvű hunspell (5),
.B hunspell (1),
.B ispell (1),
.B ispell (4),
Magyar Ispell dokumentáció.
.SH TÖRTÉNET
A MySpell szótár\-, illetve ragozási állományának formátumát
Kevin Hendricks készítette olyan céllal, hogy lehetővé
tegye ezen állományok gyors, futás idejű feldolgozását.
A COMPOUNDFLAG, REP és az egyéb Hunspell beállítási lehetőségeket
Németh László készítette, elsősorban a jobb magyar
nyelvű helyesírás\-ellenőrzés céljából.

View File

@@ -0,0 +1,412 @@
.TH hunspell 1 "2014-05-27"
.LO 1
.SH NAME
hunspell \- spell checker, stemmer and morphological analyzer
.SH SYNOPSIS
hunspell [\-1aDGHhLlmnOrstvwX] [\-\-check\-url] [\-\-check\-apostrophe] [\-d dict[,dict2,...]] [\-\-help] [\-i enc] [\-p dict] [\-vv] [\-\-version] [text/OpenDocument/TeX/LaTeX/HTML/SGML/XML/nroff/troff file(s)]
.SH DESCRIPTION
.I Hunspell
is fashioned after the
.I Ispell
program. The most common usage is "hunspell" or "hunspell filename".
Without filename parameter, hunspell checks the standard input.
Typing "cat" and "exsample" in two input lines, results an asterisk
(it means "cat" is a correct word) and a line with corrections:
.PP
.RS
.nf
$ hunspell -d en_US
Hunspell 1.2.3
*
& exsample 4 0: example, examples, ex sample, ex-sample
.fi
.RE
.PP
Correct words signed with an '*', '+' or '-', unrecognized
words signed with '#' or '&' in output lines (see later).
(Close the standard input with Ctrl-d on Unix/Linux and
Ctrl-Z Enter or Ctrl-C on Windows.)
.PP
With filename parameters,
.I hunspell
will display each word of the files which does not appear in the dictionary at the
top of the screen and allow you to change it. If there are "near
misses" in the dictionary, then they are
also displayed on following lines.
Finally, the line containing the
word and the previous line
are printed at the bottom of the screen. If your terminal can
display in reverse video, the word itself is highlighted. You have the
option of replacing the word completely, or choosing one of the
suggested words. Commands are single characters as follows
(case is ignored):
.PP
.RS
.IP R
Replace the misspelled word completely.
.IP Space
Accept the word this time only.
.IP A
Accept the word for the rest of this
.I hunspell
session.
.IP I
Accept the word, capitalized as it is in the
file, and update private dictionary.
.IP U
Accept the word, and add an uncapitalized (actually, all lower-case)
version to the private dictionary.
.IP S
Ask a stem and a model word and store them in the private dictionary.
The stem will be accepted also with the affixes of the model word.
.IP 0-\fIn\fR
Replace with one of the suggested words.
.IP X
Write the rest of this file, ignoring misspellings, and start next file.
.IP Q
Exit immediately and leave the file unchanged.
.IP ^Z
Suspend hunspell.
.IP ?
Give help screen.
.RE
.SH OPTIONS
.IP \fB\-1\fR
Check only first field in lines (delimiter = tabulator).
.IP \fB\-a\fR
The
.B \-a
option
is intended to be used from other programs through a pipe. In this
mode,
.I hunspell
prints a one-line version identification message, and then begins
reading lines of input. For each input line,
a single line is written to the standard output for each word
checked for spelling on the line. If the word
was found in the main dictionary, or your personal dictionary, then the
line contains only a '*'. If the word was found through affix removal,
then the line contains a '+', a space, and the root word.
If the word was found through compound formation (concatenation of two
words, then the line contains only a '\-'.
.IP ""
If the word
is not in the dictionary, but there are near misses, then the line
contains an '&', a space, the misspelled word, a space, the number of
near misses,
the number of
characters between the beginning of the line and the
beginning of the misspelled word, a colon, another space,
and a list of the near
misses separated by
commas and spaces.
.IP ""
Also, each near miss or guess is capitalized the same as the input
word unless such capitalization is illegal;
in the latter case each near miss is capitalized correctly
according to the dictionary.
.IP ""
Finally, if the word does not appear in the dictionary, and
there are no near misses, then the line contains a '#', a space,
the misspelled word, a space,
and the character offset from the beginning of the line.
Each sentence of text input is terminated
with an additional blank line, indicating that
.I hunspell
has completed processing the input line.
.IP ""
These output lines can be summarized as follows:
.RS
.IP OK:
*
.IP Root:
+ <root>
.IP Compound:
\-
.IP Miss:
& <original> <count> <offset>: <miss>, <miss>, ...
.IP None:
# <original> <offset>
.RE
.IP ""
For example, a dummy dictionary containing the words "fray", "Frey",
"fry", and "refried" might produce the following response to the
command "echo 'frqy refries | hunspell \-a":
.RS
.nf
(#) Hunspell 0.4.1 (beta), 2005-05-26
& frqy 3 0: fray, Frey, fry
& refries 1 5: refried
.fi
.RE
.IP ""
This mode
is also suitable for interactive use when you want to figure out the
spelling of a single word (but this is the default behavior of hunspell
without -a, too).
.IP ""
When in the
.B \-a
mode,
.I hunspell
will also accept lines of single words prefixed with any
of '*', '&', '@', '+', '\-', '~', '#', '!', '%', '`', or '^'.
A line starting with '*' tells
.I hunspell
to insert the word into the user's dictionary (similar to the I command).
A line starting with '&' tells
.I hunspell
to insert an all-lowercase version of the word into the user's
dictionary (similar to the U command).
A line starting with '@' causes
.I hunspell
to accept this word in the future (similar to the A command).
A line starting with '+', followed immediately by
.B tex
or
.B nroff
will cause
.I hunspell
to parse future input according the syntax of that formatter.
A line consisting solely of a '+' will place
.I hunspell
in TeX/LaTeX mode (similar to the
.B \-t
option) and '\-' returns
.I hunspell
to nroff/troff mode (but these commands are obsolete).
However, the string character type is
.I not
changed;
the '~' command must be used to do this.
A line starting with '~' causes
.I hunspell
to set internal parameters (in particular, the default string
character type) based on the filename given in the rest of the line.
(A file suffix is sufficient, but the period must be included.
Instead of a file name or suffix, a unique name, as listed in the language
affix file, may be specified.)
However, the formatter parsing is
.I not
changed; the '+' command must be used to change the formatter.
A line prefixed with '#' will cause the
personal dictionary to be saved.
A line prefixed with '!' will turn on
.I terse
mode (see below), and a line prefixed with '%' will return
.I hunspell
to normal (non-terse) mode.
A line prefixed with '`' will turn on verbose-correction mode (see below);
this mode can only be disabled by turning on terse mode with '%'.
.IP ""
Any input following the prefix
characters '+', '\-', '#', '!', '%', or '`' is ignored, as is any input
following the filename on a '~' line.
To allow spell-checking of lines beginning with these characters, a
line starting with '^' has that character removed before it is passed
to the spell-checking code.
It is recommended that programmatic interfaces prefix every data line
with an uparrow to protect themselves against future changes in
.IR hunspell .
.IP ""
To summarize these:
.IP ""
.RS
.IP *
Add to personal dictionary
.IP @
Accept word, but leave out of dictionary
.IP #
Save current personal dictionary
.IP ~
Set parameters based on filename
.IP +
Enter TeX mode
.IP \-
Exit TeX mode
.IP !
Enter terse mode
.IP %
Exit terse mode
.IP "`"
Enter verbose-correction mode
.IP ^
Spell-check rest of line
.fi
.RE
.IP ""
In
.I terse
mode,
.I hunspell
will not print lines beginning with '*', '+', or '\-', all of which
indicate correct words.
This significantly improves running speed when the driving program is
going to ignore correct words anyway.
.IP ""
In
.I verbose-correction
mode,
.I hunspell
includes the original word immediately after the indicator character
in output lines beginning with '*', '+', and '\-', which simplifies
interaction for some programs.
.IP \fB\-\-check\-apostrophe\fR
Check and force Unicode apostrophes (U+2019), if one of the ASCII or Unicode
apostrophes is specified by the spelling dictionary, as a word character
(see WORDCHARS, ICONV and OCONV in hunspell(5)).
.IP \fB\-\-check\-url\fR
Check URLs, e-mail addresses and directory paths.
.IP \fB\-D\fR
Show detected path of the loaded dictionary, and list of the
search path and the available dictionaries.
.IP \fB\-d\ dict,dict2,...\fR
Set dictionaries by their base names with or without paths.
Example of the syntax:
.PP
\-d en_US,en_geo,en_med,de_DE,de_med
.PP
en_US and de_DE are base dictionaries, they consist of
aff and dic file pairs: en_US.aff, en_US.dic and de_DE.aff, de_DE.dic.
En_geo, en_med, de_med are special dictionaries: dictionaries
without affix file. Special dictionaries are optional extension
of the base dictionaries usually with special (medical, law etc.)
terms. There is no naming convention for special dictionaries,
only the ".dic" extension: dictionaries without affix file will
be an extension of the preceding base dictionary (right
order of the parameter list needs for good suggestions). First
item of \-d parameter list must be a base dictionary.
.IP \fB\-G\fR
Print only correct words or lines.
.IP \fB\-H\fR
The input file is in SGML/HTML format.
.IP \fB\-h,\ \-\-help\fR
Short help.
.IP \fB\-i\ enc\fR
Set input encoding.
.IP \fB\-L\fR
Print lines with misspelled words.
.IP \fB\-l\fR
The "list" option
is used to produce a list of misspelled words from the standard input.
.IP \fB\-m\fR
Analyze the words of the input text (see also hunspell(5) about
morphological analysis). Without dictionary morphological data,
signs the flags of the affixes of the word forms for dictionary
developers.
.IP \fB\-n\fR
The input file is in nroff/troff format.
.IP \fB\-O\fR
The input file is in OpenDocument (ODF or Flat ODF) format.
If unzip program is not installed, install it before using this option.
.IP \fB\-P\ password\fR
Set password for encrypted dictionaries.
.IP \fB\-p\ dict\fR
Set path of personal dictionary.
The default dictionary depends on the locale settings. The
following environment variables are searched: LC_ALL,
LC_MESSAGES, and LANG. If none are set then the default personal
dictionary is $HOME/.hunspell_default.
Setting
.I \-d
or the
.I DICTIONARY
environmental variable, personal dictionary will be
.BR $HOME/.hunspell_dicname
.IP \fB\-r\fR
Warn of the rare words, which are also potential spelling mistakes.
.IP \fB\-s\fR
Stem the words of the input text (see also hunspell(5) about
stemming). It depends from the dictionary data.
.IP \fB\-t\fR
The input file is in TeX or LaTeX format.
.IP \fB\-v,\ \-\-version\fR
Print version number.
.IP \fB\-vv\fR
Print ispell(1) compatible version number.
.IP \fB\-w\fR
Print misspelled words (= lines) from one word/line input.
.IP \fB\-X\fR
The input file is in XML format.
.SH EXAMPLES
.TP
.B hunspell example.html
Interactive spell checking of an HTML file with the default dictionary.
.TP
.B hunspell \-d en_US example.html
Interactive spell checking of an HTML file with the en_US dictionary.
.TP
.B hunspell \-d en_US,en_US_med medical.txt
Interactive spell checking with multiple dictionaries.
.TP
.B hunspell *.odt
Interactive spell checking of ODF documents.
.TP
.B hunspell \-l *.odt
List bad words of ODF documents
.TP
.B hunspell \-l *.odt | sort | uniq >unrecognized
Saving unrecognized words of ODF documents (filtering duplications).
.TP
.B hunspell -p unrecognized_but_good *.odt
Interactive spell checking of ODF documents, using the previously
saved and reduced word list, as a personal dictionary, to speed up
spell checking.
.TP
.SH ENVIRONMENT
.TP
.B DICTIONARY
Similar to
.I \-d.
.TP
.B DICPATH
Dictionary path.
.TP
.B WORDLIST
Equivalent to
.I \-p.
.SH FILES
The default dictionary depends on the locale settings. The
following environment variables are searched: LC_ALL,
LC_MESSAGES, and LANG. If none are set then the following
fallbacks are used:
.BI /usr/share/myspell/default.aff
Path of default affix file. See hunspell(5).
.PP
.BI /usr/share/myspell/default.dic
Path of default dictionary file.
See hunspell(5).
.PP
.BI $HOME/.hunspell_default.
Default path to personal dictionary.
.SH SEE ALSO
.B hunspell (3), hunspell(5)
.SH AUTHOR
Author of Hunspell executable is László Németh. For Hunspell library,
see hunspell(3).
.PP
This manual based on Ispell's manual. See ispell(1).

View File

@@ -0,0 +1,246 @@
.TH hunspell 3 "2017-11-20"
.LO 1
.hy 0
.SH NAME
\fBhunspell\fR - spell checking, stemming, morphological generation and analysis
.SH SYNOPSIS
\fB#include <hunspell.hxx> /* or */\fR
.br
\fB#include <hunspell.h>\fR
.br
.sp
.BI "Hunspell(const char *" affpath ", const char *" dpath );
.sp
.BI "Hunspell(const char *" affpath ", const char *" dpath ", const char * " key );
.sp
.BI "~Hunspell(" );
.sp
.BI "int add_dic(const char *" dpath );
.sp
.BI "int add_dic(const char *" dpath ", const char *" key );
.sp
.BI "int spell(const char *" word );
.sp
.BI "int spell(const char *" word ", int *" info ", char **" root );
.sp
.BI "int suggest(char***" slst ", const char *" word);
.sp
.BI "int analyze(char***" slst ", const char *" word);
.sp
.BI "int stem(char***" slst ", const char *" word);
.sp
.BI "int stem(char***" slst ", char **" morph ", int " n);
.sp
.BI "int generate(char***" slst ", const char *" word ", const char *" word2);
.sp
.BI "int generate(char***" slst ", const char *" word ", char **" desc ", int " n);
.sp
.BI "void free_list(char ***" slst ", int " n);
.sp
.BI "int add(const char *" word);
.sp
.BI "int add_with_affix(const char *" word ", const char *" example);
.sp
.BI "int remove(const char *" word);
.sp
.BI "char * get_dic_encoding(" );
.sp
.BI "const char * get_wordchars(" );
.sp
.BI "unsigned short * get_wordchars_utf16(int *" len);
.sp
.BI "struct cs_info * get_csconv(" );
.sp
.BI "const char * get_version(" );
.SH DESCRIPTION
The \fBHunspell\fR library routines give the user word-level
linguistic functions: spell checking and correction, stemming,
morphological generation and analysis in item-and-arrangement style.
.PP
The optional C header contains the C interface of the C++ library with
Hunspell_create and Hunspell_destroy constructor and destructor, and
an extra HunHandle parameter (the allocated object) in the
wrapper functions (see in the C header file \fBhunspell.h\fR).
.PP
The basic spelling functions, \fBspell()\fR and \fBsuggest()\fR can
be used for stemming, morphological generation and analysis by
XML input texts (see XML API).
.
.SS Constructor and destructor
Hunspell's constructor needs paths of the affix and dictionary files.
(In WIN32 environment, use UTF-8 encoded paths started with the long path prefix \\\\?\\ to handle system-independent character encoding and very long path names, too.)
See the \fBhunspell\fR(4) manual page for the dictionary format.
Optional \fBkey\fR parameter is for dictionaries encrypted by
the \fBhzip\fR tool of the Hunspell distribution.
.
.SS Extra dictionaries
The add_dic() function load an extra dictionary file.
The extra dictionaries use the affix file of the allocated Hunspell
object. Maximal number of the extra dictionaries is limited in the source code (20).
.
.SS Spelling and correction
The spell() function returns non-zero, if the input word is recognised
by the spell checker, and a zero value if not. Optional reference
variables return a bit array (info) and the root word of the input word.
Info bits checked with the SPELL_COMPOUND, SPELL_FORBIDDEN or SPELL_WARN
macros sign compound words, explicit forbidden and probably bad words.
From version 1.3, the non-zero return value is 2 for the dictionary
words with the flag "WARN" (probably bad words).
.PP
The suggest() function has two input parameters, a reference variable
of the output suggestion list, and an input word. The function returns
the number of the suggestions. The reference variable
will contain the address of the newly allocated suggestion list or NULL,
if the return value of suggest() is zero. Maximal number of the suggestions
is limited in the source code.
.PP
The spell() and suggest() can recognize XML input, see the XML API section.
.
.SS Morphological functions
The plain stem() and analyze() functions are similar to the suggest(), but
instead of suggestions, return stems and results of the morphological
analysis. The plain generate() waits a second word, too. This extra word
and its affixation will be the model of the morphological generation of
the requested forms of the first word.
.PP
The extended stem() and generate() use the results of a
morphological analysis:
.PP
.RS
.nf
char ** result, result2;
int n1 = analyze(&result, "words");
int n2 = stem(&result2, result, n1);
.fi
.RE
.PP
The morphological annotation of the Hunspell library has fixed
(two letter and a colon) field identifiers, see the
\fBhunspell\fR(4) manual page.
.PP
.RS
.nf
char ** result;
char * affix = "is:plural"; // description depends from dictionaries, too
int n = generate(&result, "word", &affix, 1);
for (int i = 0; i < n; i++) printf("%s\\n", result[i]);
.fi
.RE
.PP
.SS Memory deallocation
The free_list() function frees the memory allocated by suggest(),
analyze, generate and stem() functions.
.SS Other functions
The add(), add_with_affix() and remove() are helper functions of a
personal dictionary implementation to add and remove words from the
base dictionary in run-time. The add_with_affix() uses a second root word
as the model of the enabled affixation and compounding of the new word.
.PP
The get_dic_encoding() function returns "ISO8859-1" or the character
encoding defined in the affix file with the "SET" keyword.
.PP
The get_csconv() function returns the 8-bit character case table of the
encoding of the dictionary.
.PP
The get_wordchars() and get_wordchars_utf16() return the
extra word characters defined in affix file for tokenization by
the "WORDCHARS" keyword.
.PP
The get_version() returns the version string of the library.
.SS XML API
The spell() function returns non-zero for the "<?xml?>" input
indicating the XML API support.
.PP
The suggest() function stems, analyzes and generates the forms of the
input word, if it was added by one of the following "SPELLML" syntaxes:
.PP
.RS
.nf
<?xml?>
<query type="analyze">
<word>dogs</word>
</query>
.fi
.RE
.PP
.PP
.RS
.nf
<?xml?>
<query type="stem">
<word>dogs</word>
</query>
.fi
.RE
.PP
.PP
.RS
.nf
<?xml?>
<query type="generate">
<word>dog</word>
<word>cats</word>
</query>
.fi
.RE
.PP
.PP
.RS
.nf
<?xml?>
<query type="generate">
<word>dog</word>
<code><a>is:pl</a><a>is:poss</a></code>
</query>
.fi
.RE
.PP
.PP
.RS
.nf
<?xml?>
<query type="add">
<word>word</word>
</query>
.fi
.RE
.PP
.PP
.RS
.nf
<?xml?>
<query type="add">
<word>word</word>
<word>model_word_for_affixation_and_compounding</word>
</query>
.fi
.RE
.PP
The outputs of the type="stem" query and the stem() library function
are the same. The output of the type="analyze" query is a string contained
a <code><a>result1</a><a>result2</a>...</code> element. This
element can be used in the second syntax of the type="generate" query.
.SH EXAMPLE
See analyze.cxx in the Hunspell distribution.
.SH AUTHORS
Hunspell based on Ispell's spell checking algorithms and OpenOffice.org's Myspell source code.
.PP
Author of International Ispell is Geoff Kuenning.
.PP
Author of MySpell is Kevin Hendricks.
.PP
Author of Hunspell is László Németh.
.PP
Author of the original C API is Caolan McNamara.
.PP
Author of the Aspell table-driven phonetic transcription algorithm and code is Björn Jacke.
.PP
See also THANKS and Changelog files of Hunspell distribution.

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,24 @@
.TH hzip 1 "2008-06-12"
.LO 1
.SH NAME
hunzip \- decompress and decrypt hzip files to the standard output
.SH SYNOPSIS
hunzip [\-h] file.hz [password]
.SH DESCRIPTION
.I Hunzip
is the decompression and decryption program of hzip format.
.SH OPTIONS
.IP \fB\-h\fR
Display short help description.
.SH EXAMPLE
.sp
.BI "hunzip file.hz >file"
.SH NOTES
Redirection of the standard output results platform-specific
line terminating, so a compressed hzip file with new line terminators
would be bigger with the extra CR characters of the decompression on
Windows platforms.
.SH SEE ALSO
.B hunzip (1), hunspell(1)
.SH AUTHOR
László Németh.

24
Telegram/ThirdParty/hunspell/man/hzip.1 vendored Normal file
View File

@@ -0,0 +1,24 @@
.TH hunzip 1 "2008-06-12"
.LO 1
.SH NAME
hunzip \- compress and encrypt dictionary files
.SH SYNOPSIS
hzip [\-h] [\-P password] [file(s)]
.SH DESCRIPTION
.I hunzip
is a small utility for text file compression and encryption, especially for
sorted dictionaries. "hunspell filename" creates the compressed
file "filename.hz" without removing the original file.
The compression algorithm uses 16-bit Huffman encoding and
line-oriented prefix-suffix compression. It has good
compression ratio for huge sorted word lists.
.SH OPTIONS
.IP \fB\-h\fR
Display short help description.
.IP \fB\-P\ password\fR
Encrypted compression by an arbitrary length password.
.SH SEE ALSO
.B hzip (1), hunspell(1)
.SH AUTHOR
László Németh.