hunspell(5) File Formats Manual hunspell(5) NEV hunspell - a Hunspell allomanyainak formatuma LEIRAS A Hunspell(1) ket allomanyt igenyel egy adott nyelven torteno helyesiras-ellenorzeshez. Az elso allomany egy szotarallomany, ami az adott nyelv szavait, es ezek kapcsoloit (attributumait) tartalmazza. A masodik allomany egy ragozasi (affixum) allomany, ami meghatarozza az emlitett kapcsolok jelenteset. SZOTARALLOMANY Egy hunspell szotarallomany (*.dic) elso sora a szotarallomanyban levo szavak kozelito szamat tartalmazza (az optimalis meretu memoriaterulet lefoglalasahoz). A tobbi sor soronkent egy szot tartalmaz. Minden szo utan nem kotelezoen egy perjel, es egy, vagy tobb kapcsolo kovetkezhet. A kapcsolok egybetusek, es meghatarozzak, hogy milyen toldalekokat kaphat a toszo, illetve milyen egyeb specialis tulajdonsagokkal rendelkezik. Peldaul a 1 hunspellezik/EeX szotar egy szot tartalmaz (hunspell), ami a magyar ragozasi allomany alapjan alanyi es targyas igeragozast is vonz (E es e kapcsolok), valamint igekoto prefixumokat is kaphat. A pelda szotarallomany es a magyar ragozasi allomany alapjan a meghunspelleztetek helyes szokent kerulne felismeresre. A szotari szavak perjelet is tartalmazhatnak, ha az forditott perjellel van bevezetve: "". A kapcsolok alapertelmezeskent egy karakteresek, de ha tobb ragozasi osztalyt szeretnenk hasznalni, ez tobb karakteresre vagy szamra is modosithato. A Hunspell szotarallomanyok sorai kiegeszito adatmezoket is tartalmazhatnak, amelyek szokozokkel vagy tabulatorokkal vannak elvalasztva (l. kiegeszito adatmezok). A szemelyes szotarak egyszeru szolistak. Megadhatunk perjellel elvalasztott peldaszavakat is a toldalekolas engedelyezesere: Obama/Tamara A peldaban a Tamara szo toldalekolasat a szemelyes szotar Obama szavara is alkalmazza az ellenorzo, elfogadva az Obamarol, Obamaekat stb. alakokat is. RAGOZASI ALLOMANY A ragozasi allomany rendszerint kisebb meretu. Kulonfele definiciokat es ragozasi szabalyokat ad meg meghatarozott kulcsszoival. Peldaul a SET a karakterkodolas, a TRY javaslattevesnel modositot betuk, a REP a javaslattevesnel modositott szoreszletek, a PFX es az SFX pedig a szo elejere es vegere illesztendo toldalekok megadasara szolgal. A kovetkezo pelda egy UTF-8-as kodolasu szotar affixumallomanyanak definicioja. A TRY felsorolja a magyar betuket gyakorisagi sorrendjukben, a LANG beallitja a magyar nyelvet, a WORDCHARS megadja azokat a karaktereket, amelyeket a parancssori Hunspell a szavak reszekent fog kezelni. SET UTF-8 TRY iouIOUtaeslzanorhgkiedmyopvobucfjuuxwqTAESLZANORHGKIEDMYOPVOBUCFJUUXWQ-. LANG hu_HU WORDCHARS -.
%0123456789 REP 2 REP j ly REP ly j PFX X Y 3 PFX X 0 meg . PFX X 0 ra . PFX X 0 ossze . SFX e Y 6 SFX e ik tuk e[dz]ik SFX e ik tetek e[dz]ik SFX e ik tek e[dz]ik SFX e 0 tuk e[dzt] SFX e 0 tetek e[dzt] SFX e 0 tek e[dzt] SFX f Y 2 SFX f ik het/e e[dz]ik SFX f ik tet/e e[dz]ik A REP a j es ly felcserelese eseten ad jo es elol rangsorolt javaslatokat. A PFX-ek par igekotot definialnak, az SFX-ek pedig par igeragot. Ezek nagyobb reszenel a szo vegi ik is levagasra kerul a toldalek illesztese elott. Itt az illesztes feltetele, hogy az igek -edik vagy -ezik karaktersorozatra vegzodjenek, kulonben pedig az -ed, -ez vagy -et betukre. Az f jelu toldalekolasi osztaly erdekessege, hogy a -het es -tet illesztese utan meg folytatodhat a toldalekolas az e jelu toldalekolasi osztallyal (ezt a het/e ls tet/e hatarozza meg), igy kaphat -hettuk, -hettetek, -hettek, -tettuk, -tettetek, -tettek toldalekokat a szotarban szereplo levelezik szo: 1 levelezik/e ALTALANOS PARAMETEREK A Hunspell forras tobb mint 80 peldat tartalmaz a parameterek hasznalatara vonatkozoan. A kovetkezo leiras nem teljes, l. meg az angol kezikonyvoldalt is. SET karakterkod A szotar es affixumallomany karakterkodolasanak beallitasa. A lehetseges ertekek: UTF-8, ISO8859-1-tol ISO8859-10-ig, ISO8859-13-ISO8859-15, KOI8-R, KOI8-U, cp1251, ISCII-DEVANAGARI. FLAG ertek A kapcsolok 1 karakteres alapbeallitasanak modositasa. (A ragozasi osztalyokat es egyeb tulajdonsagokat jelolik a kapcsolok, amelyek alapertelmezes szerint 1 karakteresek, a pekdakban legtobbszor nagybetuvel szerepelnek). Az `UTF-8' ertekkel Unicode karaktereket hasznalhatunk kapcsolokent (UTF-8 kodolassal es maximum 65 ezres karakterkodig), a `long' ertekkel ket karakteres kapcsolokat (tobb kapcsolo eseten sincs elvalasztojel, a `num' ertekkel vesszovel elvalasztott decimalis szamokat 1-tol 65 ezerig. COMPLEXPREFIXES Ketszeres prefixumillesztest allit be (de csak egyszeres szuffixumokat az alapertelmezett ketto helyett.) Jobbrol balra iro ragaszto nyelveknel hasznos. LANG nyelvkod Nyelv megadasa (nyelvfuggo programreszek bekapcsolasahoz) az ISO nyelv- es regiokoddal (pl. hu_HU). IGNORE karakterek A felsorolt karaktereket torli a szotari szavakbol es toldalekokbol, valamint a bemeneti szavakbol. Hasznos az opcionalis irasjelek, mint az arab vagy a heber mellekjelek kezelesere. AF a_kovetkezo_AF_sorok_szama AF kapcsolok A Hunspell program kepes a kapcsolohalmazokat egy termeszetes szammal helyettesiteni a szotarallomanyban es a tobbszoros toldalekasnal az affixumallomanyban (alias tomorites), felgyorsitva ezzel a szotar betoltodeset es csokkentve a program memoriaigenyet. Egy rovid pelda: 3 hello try/1 work/2 Es a kapcsolodo AF definiciok az affixumallomanyban: SET UTF-8 TRY esianrtolcdugmphbyfvkwzESIANRTOLCDUGMPHBYFVKWZ' AF 2 AF A AF AB Ami megfelel a kovetkezo szotarallomanynak: 3 hello try/A work/AB Lasd meg a tests/alias* peldat a forrasban. Megjegyzes: az AF sorok nem elozhetik meg a FLAG parametert. Alias tomoritesre szolgal a Hunspell makealias segedprogramja. AM a_kovetkezo_AM_sorok_szama AM morfologiai_es_egyeb_adatmezok A Hunspell program kepes a kiegeszito adatmezoket egy termeszetes szammal helyettesiteni, az AF parameterhez hasonloan. Lasd meg a tests/alias* peldat a forrasban. JAVITASI PARAMETEREK Az alapertelmezett n-gram, illetve betucseren es -torlesen alapulo javaslatokat kiegeszithetjuk a javitasi parameterekkel. A REP segit a tipikus hibak es javitasuk megadasaban. A PHONE a kiejtest kevesbe koveto irasrendszereknel nyujt segitseget. KEY szomszedos_karakterek_opcionalisan_fuggoleges_vonallal_elvalasztva A nyelv alapertelmezett billentyuzetkiosztasat adhatjuk meg a KEY parameterrel, hogy a javaslatoknal a szomszedos betuk eluteset felismerje a program. A nem szomszedos betuket fuggoleges vonallal valaszthatjuk el: KEY ouo|qwertzuiopou|asdfghjkleau|iyxcvbnm TRY karakterek A javaslattevesnel az 1 karakteres probalkozasoknal az itt felsorolt karakterekre cserel, illetve bovit. A parameternel a kis- es nagybetuket kulon kell megadni. NOSUGGEST kapcsolo Az itt definialt kapcsoloval jelolt szavakat a program nem javasolja a hibajavitasnal. Vulgaris es obszcen szavak eseteben hasznos. MAXNGRAMSUGS Az n-gram (n hosszu szoreszletek megegyezosege alapjan sulyozott) javaslatok maximalis szamanak beallitasa. Alapertelmezetten 5. A 0 ertek kikapcsolja az n-gram javaslatokat. NOSPLITSUGS Nem javasol szofelbontast a Hunspell ezzel a beallitassal. Hianyzo osszetettszo-kezeles eseten hasznos a hibas kulonirasi javaslatok tiltasara. SUGSWITHDOTS Ha a hibas szo pont(ok)ra vegzodik, ezeket a javaslatok eseteben is feltunteti. A LibreOffice szotarak szamara nem szukseges ez a beallitas. REP szam REP mit mire A javitasi cseretablazat megadasara szolgalo definiciok. Az elso REP utan adjuk meg a tobbi REP sor szamat. Ezek a sorok mar ket parametert varnak: eloszor megadjuk a felismerendo mintat (hibas szoreszletet), utana pedig azt a karaktersorozatot, amire a felismert mintat javitani szeretnenk. A helyesiras-ellenorzo a cseretablazat reven tud helyes javaslatot tenni tobbkarakteres elteres (pl. j-ly) eseten. A szokoz alahuzasjellel helyettesitendo a javaslatokban: REP 1 REP vegulis vegul_is A szerviz, szintu es a hasonlo hibas osszetett szavak letiltasaban szinten a REP tablazat segit a CHECKCOMPOUNDREP megadasaval (l. ott). MAP a_MAP_definiciok_szama MAP karakterek Rokon karaktereket adhatunk meg tobb sorban. A javaslattevesnel tobb rokon karakter csereje is lehetseges, igy peldaul ekezet nelkuli szavakat is kepes ekezetesiteni a Hunspell a kovetkezo definicio mellett: MAP 5 MAP aa MAP ee MAP ii MAP oooo MAP uuuu PHONE a_PHONE_definiciok_szama PHONE karakterek A PHONE egy tablazattal megadhato fonetikus atirasi algoritmust hasznal a kiejtesi hasonlosag kiszamitasara. Kulonosen hasznos azoknal a nyelveknel, ahol az iras nem tukrozi a kiejtest. A reszletes dokumentacio az Aspell helyesiras-ellenorzo oldalan erheto el angol nyelven: http://aspell.net/man-html/Phonetic- Code.html. Megjegyzes: a szabalyokban szereplo kapcsos zarojelek nem tartalmazhatnak meg tobb byte-os UTF-8 karaktereket, ahogy a kotojeles kifejezesek is byte-ot jelolnek, nem karaktert Unicode szotar eseten is. SZO-OSSZETETELEZESI PARAMETEREK BREAK a_BREAK_definiciok_szama BREAK karakter_vagy_karaktersorozat Ha a keresett szo nincs a szotarban, a felsorolt karaktereknel vagy karaktersorozatoknal felbontja es reszenkent ellenorzi. Hasznos peldaul a kis- es nagykotojeles szavaknal a magyarban. COMPOUNDRULE Regularis kifejezesekhez hasonlo osszeteteli szabalyok megadasa. COMPOUNDMIN szam A legkisebb szohossz, ami meg osszetett szoban szerepelhet. Alapertelmezes szerint 3 karakter. COMPOUNDFLAG kapcsolo Itt adhato meg a szoosszetetelben valo szereplest engedelyezo kapcsolo. COMPOUNDBEGIN kapcsolo A kapcsolo az osszetett szavak elso tagjakent engedelyezi a megjelolt szavakat. COMPOUNDEND kapcsolo A kapcsolo az osszetett szavak utolso tagjakent engedelyezi a megjelolt szavakat. Kombinalhato az elozo kapcsoloval. COMPOUNDMIDDLE kapcsolo A kapcsolo az osszetett szavak kozbenso tagjakent engedelyezi a megjelolt szavakat. Kombinalhato a ket elozo kapcsoloval. ONLYINCOMPOUND kapcsolo Csak az osszetett szavakban megjeleno ragozas jelolesere szolgalo kapcsolo (german nyelvek eseteben tipikus). CIRCUMFIX kapcsolo Ezzel a kapcsoloval jelolt szuffixum csak ugyanilyen kapcsoloval jelolt prefixummal jelenhet meg egy tovon. (Pl. leg-edes-ebb). COMPOUNDPERMITFLAG kapcsolo Alapertelmezes szerint a prefixumok es szuffixumok nem fordulhatnak elo az osszetett szavak belsejeben. A COMPOUNDPERMITFLAG kapcsoloval rendelkezo affixumok viszont itt is megjelenhetnek. COMPOUNDFORBIDFLAG kapcsolo Toldalekolt szavak szoosszetetelben valo szerepleset tilto kapcsolo. A tiltashoz az adott SFX szabaly folytatasi osztalyakent (l. kesobb) adjuk meg ezt a kapcsolot. COMPOUNDROOT kapcsolo A szotarba kozvetlenul felvett osszetett szavakat jelolo kapcsolo. A COMPOUNDWORDMAX, es igy a magyar eseteben a 6-3-as szabaly mukodeset befolyasolja azzal, hogy a COMPOUNDROOT kapcsoloval osszetettnek jelolt szavak ket szonak szamitanak. COMPOUNDWORDMAX szam A szoosszetetelekben szereplo egyszeru tovek maximalis szama. A magyar eseteben 2 az ertek, e folotti szoszamnal mar eletbe lep a 6-3-as szabaly. COMPOUNDSYLLABLE szam karakterek Ket parametert var. Az elso megadja az osszetett szavak tovenek maximalis szotagszamat, ami a magyar helyesiras 6-3-as szabalya szerint 6. A masodik mezo felsorolja a maganhangzokat, ami a szotagszam megallapitasahoz szukseges. Ha hianyzik ez a definicio, akkor nincsen korlatozas az osszetett szavak tovenek szotagszamara vonatkozoan. SYLLABLENUM kapcsolok Egy parametert var. A parameterben megadhatoak azok a ragozasi osztalyok, amelyek ragozas eseten eggyel novelik az osszetett szavak tovenel kiszamitott szotagszamot. A magyarban ezek a melleknevkepzok: kerekparjavitasainkrol, de kerekpar-javitasi. A FORBIDDENWORD kapcsolo A tiltott szavakat jelolo kapcsolo. A tiltott szotovek toldalekolt alakjai is letiltasra kerulnek. A tiltott szavak akar toldalekolasi, vagy szoosszeteteli szinonimakent sem kerulnek elfogadasra. PSEUDOROOT kapcsolo A kapcsoloval jelolt szavak toldalekolt alakjai kerulnek csak elfogadasra. Fiktiv tovek megadasara szolgalo kapcsolo. A to lehet meg helyes szo, ha ervenyes szinonimakent eloall vagy szerepel a szotarban. WORDCHARS karakterek Parametere azok a karakterek, amelyek a beallitott kodolas (pl. a magyar eseteben az ISO-8859-2) betui mellett meg az adott nyelv szavaiban elofordulhatnak. Ilyen peldaul a magyarban a kotojel, pont, szazalekjel, fokjel, paragrafusjel es a nagykotojel. Az utobbi csak UTF-8, vagy microsoft-cp1250 karakterkeszlet mellett lesz hasznalhato a magyar szotarban. PFX kapcsolo keresztkombinalodas szam PFX kapcsolo levagas prefixum feltetel morfologia Prefixum megadasara szolgalo definiciok. A prefixumok egykarakteres nevvel jelolt osztalyokba vannak sorolva. A peldaban az X osztaly definicioja lathato. Az egyes osztalyokra vonatkozo PFX fejlec tartalmazza a kovetkezoket: (1) az osztaly betujelet (a peldaban X) (2) a keresztbe valo kombinalas engedelyezese, illetve tiltasa (Y/N). Engedelyezes eseten az adott prefixum akkor is alkalmazhato, ha a toszo toldalekolt alakban fordul elo. Ehhez az is szukseges, hogy a toldalek (affixum) ragozasi osztalyaban is legyen engedelyezve a kombinalas. (3) az osztalyba tartozo bejegyzesek szamat A PFX fejlecet koveto sorokban a PFX parameterek jelentese a kovetkezo: (1) az osztaly betujele (2) a ragozasnal a szo elejerol levalasztando karaktersorozat. Ha nem kell levalasztani, akkor 0. (3) a prefixum (peldaul igekoto, vagy a leg-, legesleg- a mellekneveknel). Perjellel elvalasztva kapcsolokat is megadhatunk (l. tobbszoros toldalekolas). (4) a minta, ami ha illeszkedik, alkalmazhato a szabaly. Peldaul ha itt kutya szerepelne, akkor csak a kutya kezdetu szavak ele lehetne tenni az ebben a sorban megadott prefixumot. A minta megadasanal a pont (.) specialis jelentessel bir: minden karakterre illeszkedik. Megadhatunk csak bizonyos karakterekre illeszkedo mintat is szogletes zarojelek segitsegevel. Peldaul az [abcd] illeszkedik az a, b, c, illetve d karakterekre is. Ellentetben az Ispell-lel, a kotojel szerepe a szogletes zarojelek kozott nem specialis, vagyis kotojelet jelent, es nem karaktertartomanyt. Ha a nyito szogletes zarojel utan kalap (^) karakter talalhato, a karaktertartomany komplementerere illeszkedik a minta, hasonloan a regularis kifejezesekhez (l. regex(7)). (5) Morfologiai leiras. Szokozzel vagy tabulatorral elvalasztott mezok. A mezonevek es hasznalatuk az angol kezikonyvoldalon talalhato. SFX kapcsolo keresztkombinalodas szam SFX kapcsolo szuffixum feltetel mofologiai_leiras A PFX-szel megegyezo parametereket kap, csak nem a szo eleji, hanem a szo vegi toldalekok leirasara szolgal. A peldaban szereplo definiciok jelentese: az -edik, vagy -ezik vegu szavakra alkalmazhato a harom szabaly. A rag illesztesenel levesszuk a szo vegi -ik karaktersorozatot, es szabalytol fuggoen illesztjuk a -tuk, -tetek, -tek toldalekokat, vegeredmenyben -edtuk, -edtetek, -edtek, illetve -eztuk, -eztetek, -eztek vegu szavakat kapva. Tobbszoros toldalekolas A PFX es az SFX szabalyokban a toldalek perjellel elvalasztva kapcsolokat is kaphat, hasonloan a szotarallomany toveihez. A kapcsolok a kovetkezoek lehetnek: (1) SFX szabalyban az SFX folytatas jelentese, hogy a toldalek meg tovabb ragozodhat a megadott kapcsolokkal (tobbszoros affixumlevalasztas). A Hunspell eseteben csak a ketszeres affixumlevalasztas lett megvalositva, tehat a folytatasi osztaly folytatasat mar nem veszi figyelembe a program. (2) SFX szabalyban a PFX folytatas jelentese, hogy az adott prefixum is hozzajarulhat a tohoz, felteve, ha az SFX szabaly is el. (3) PFX szabalyban az SFX szabaly jelentese, hogy a megjelolt SFX szabaly a tohoz jarulhat, ha a PFX szabaly is el. (4) ONLYINCOMPOUND kapcsolo megadasaval az adott PFX vagy SFX toldalek csak szoosszetetelben jelentkezhet. (5) CIRCUMFIX kapcsolo megadasaval az adott SFX csak az ugyanilyen toldalekot kapo PFX-szel egyutt fordulhat csak elo. (6) Az osszeteteli kapcsolok megadasaval engedelyezhetjuk vagy letilthatjuk (COMPOUNDFORBIDFLAG) az osszetetelben valo szereplest. A osszetett szavak utolso tagja alapertelmezes szerint minden affixumot felvehet. A kozbenso szavaknal viszont explixit modon engedelyezni kell ezt. A ragozasi allomany ezeken kivul meg megjegyzeseket is tartalmazhat, ezert az adott szotar valtozatat, szerzojet, felhasznalasi engedelyeit itt keressuk. SAJAT SZOTAR A sajat szotar formatuma kozel megegyezik a szotarallomany formatumaval. A kulonbsegek a kovetkezoek: (1) Nem kell megadni az elso sorban az allomanyban levo szavak meretet. (2) A szohoz nem kapcsolokat, hanem egy mintaszot adhatunk meg, ami alapjan az ellenorzo a szo toldalekolt alakjait is felismeri. Peldaul a Patyomkin/Adam azt jelenti, hogy a Patyomkin szot az Adameval megegyezo ragozassal is el kell fogadni. (3) A csillag tiltast jelent: a csillaggal jelolt szavakat az ellenorzo akkor sem ismeri fel, ha az alapszotarban szerepelnek, pl. *korical. (4) Az allomany kezzel modosithato, es ezt idonkent javasolt is megtenni, ha esetleg hibasan vettunk fel szavakat. LASD MEG angol nyelvu hunspell (5), hunspell (1), ispell (1), ispell (4), Magyar Ispell dokumentacio. TORTENET A MySpell szotar-, illetve ragozasi allomanyanak formatumat Kevin Hendricks keszitette olyan cellal, hogy lehetove tegye ezen allomanyok gyors, futas ideju feldolgozasat. A COMPOUNDFLAG, REP es az egyeb Hunspell beallitasi lehetosegeket Nemeth Laszlo keszitette, elsosorban a jobb magyar nyelvu helyesiras-ellenorzes celjabol. 2014. majus 26. hunspell(5)