

	   Lietuvik ispell afiks lenteli README failas

		 Albertas Agejevas <alga@uosis.mif.vu.lt>
                 Gediminas Paulauskas <menesis@delfi.lt>

			   2002 m. balandio 6 d., v. 0.4

		1. Kas ia yra ir kam to reikia?

lietuviu.aff yra afiks lentel ispell programai.  ispell yra spell
checkeris (raybos tikrinimo programa) Unix sistemoms.  Jis
veikia labai primityviai: ima i teksto po vien od ir tikrina, ar
toks odis yra odyne.  Jei nra, pasilo panaiausius odius i
odyno.  "Panas" odiai gaunami sukeiiant gretimas raides
vietomis, pakeiiant koki nors vien raid, arba terpiant tarp
ar koki raid.

Lietuvi kalba yra sintetinio tipo, tai yra odio reikm priklauso
nuo jo formos, prieingai negu angl arba vokiei kalbos, vadinamos
analitinmis, kuriose odio reikm iaikja tiktai kit odi
kontekste.  Dl to angl kalboje pakanka tiesiog tikrinti kiekvien
od, ar jis yra odyne.  O tai lietuvi kalbos odynuose
nepateikiamos visos manomos odi formos.  Lietuvi kalboje yra
tokios kaitomos odi klass:

* daiktavardis (kaitomas skaiiais ir linksniais);
* bdvardis (gimin, skaiius ir linksnis);
   - vardiuotins formos (gimin, skaiius ir linksnis);
   - laipsni formos (gimin, skaiius ir linksnis);
   - ypatybs su priesaga -umas (gerumas) (skaiius ir linksnis);
   - vediniai su priesaga -okas -a (gimin, skaiius ir linksnis);
* vardis (gimin, skaiius, linksnis);
   - keletas vardiuotini form;
* veiksmaodis
   - asmenuojamos formos: esamasis, bsimasis, btasis kartinis ir
     daninis laikai;
   - dalyviai, j vardiuotins formos, pusdalyviai (gimin, skaiius
     ir linksnis)
* skaitvardis (kiekiniai ir kelintiniai, kurie panas atitinkamai 
  daiktavardius ir bdvardius)

Kokybinis bdvardis turi apie 170 form, o pridjus priedl ne-, j
kiekis ikart padvigubja.  Taigi, jeigu nortume padaryti fail su
visomis vis odi formomis, jis bt nepagrstai didelis.  Laimei,
ispell palaiko dalyk, vadinam afiks sutraukimu.  Tai reikia, kad
odyne laikomas tiktai akninis odis su nuorodomis, kokios galns ar
priesagos prie to odio gali bti kabinamos.

ia pateikiamoje afiks lentelje yra suraytos vis kaitom lietuvi
kalbos odi kaitymo taisykls, taigi odyne tereikia nurodyti
aknin od, o visos formos bus generuojamos automatikai.


	2. Kaip naudotis ispell'u?

buildhash programos pagalba i odyno failo ir afiks fail padaromas
hash failas, kuris vliau ispell'o visada ir naudojamas.  Pakeitus
odyn ar afiksus hash' reikia surinkti i naujo, norint, kad
pakeitimai sigaliot.

	buildhash lietuviu.dict lietuviu.aff lietuviu.hash

Nordami padaryti hash' i vis odyn, skaitant argono ir
nekamosios kalbos, paraykite

	make

Dabar paleisdami ispell', -d opcija galime nurodyti, kad jis naudotsi
ms lietuviku hash'u:

	ispell -d lietuviu

Jei norite padaryti sistemai global hash', dkite j 
/usr/lib/ispell.  Tada galima bus nurodyti tiktai hash failo vard, o
ne piln keli.  Tai galite padaryti komanda 

	make install

Jei apsisprendte naudoti lietuviu odyn, galite  profail sirayti
DICTIONARY=lietuviu. Debiane tai daroma paprasiau: kaip root'as paleiskite
komand

	/usr/sbin/update-ispell-dictionary

Jei norite ispell'u patikrinti kok nors fail, darykite taip:

	ispell -d lietuviu raliava.txt

Jei norite ispell'u patikrinti kok nors UTF-8 koduots fail, naudodami UTF-8
terminal bei lokal, darykite taip:

        ispell -d lietuviu -Tutf8 raliava.txt

KSpell biblioteka pati t rakt bando, kai yra nurodyta tokia koduot KSpell
konfigravimo parinktyse.  Jei ispell su tuo raktu neveikia, bandoma be rakto,
tikintis, kad ispell odyno ir tikrinamo teksto koduots sutaps.  Paskui yra
perkoduojama kaip reikia pagal KDE lokals nustatymus.  KDE 2.2.1 konfigruojant
kspell dar galima nurodyti ISO 8859-13 odyno koduot tam paiam rezultatui
pasiekti, ankstesnse versijose deja tokios galimybs nra.


	3. Bsena

Tikiuosi, afiks faile yra nurodytos visos lietuvik odi kaitymo
taisykls ir keletas odi darybos taisykli. Kaip flag'ai naudojamos
ir maosios raids, taigi ispell turi bti sukompiliuotas su
MASKBITS opcija lygia 64, tuo tarpu, kai reikm pagal nutyljim yra
32, tai yra raidi dydis flaguose yra ignoruojamas.  Jei norite
patikrinti, su kokia MASKBITS buvo sukompiliuotas js ispell,
surinkite komand

	ispell -vv | grep MASKBITS

Nra deminutyvini (maybini) priesag palaikymo -- deminutyvai turi
bti nurodomi odyne kaip atskiri odiai.

Kartu su lentelmis pateikiamas odynas.  lietuviu.base faile yra
pagalbiniai lietuvi kalbos odeliai, skaitant vardius,
skaitvardius, dalelytes, jungtukus ir prielinksnius.  lietuviu.words
faile yra mano paties ir keleto bendramini i sav raini pririnkt
odi krvel.

Kvieiu visus vartotojus sisti man savo surinkt odi, kuri nra
mano odyne, rinkinius (jie yra ~/.ispell_lietuviu arba ~/.ispell_default
failuose).  Kartu galsime padaryti visai vartotin lietuvik odyn
spell checkeriams!


	4. Kaip pridti  odyn naujus odius? 

Visos itos taisykls yra suprogramuotos Gedimino Paulausko skripte
tools/spellai, bet danai efektyviau bna tiesiog pridti od
rankomis, taigi tai taisykls tiems, kurie flagus ds rankomis.

0.  Jeigu odis gali turti priedlius ne-, nebe-, udkite flag /N:
    gera/N

1.  Jei odis nekaitomas, dkite  odyn be joki flag.

2.  Jei tai daiktavardis ir ji nesibaigia galnmis -is, -uo, flagas yra /D:
    stalas/D
    kd/D
    paskalos/D

    Kaip matote, daugiskaitins formos taip pat palaikomos.  Dja,
    vienaskaitins formos neiskirtos, taigi teks iksti tai, kad visi
    daiktavardiai turs daugiskaitas.

2a. Jeigu daiktavardis vyrikos gimins, vienaskaitos vardininkas
    baigiasi -is, o vien. kilmininke galn yra -io (peilis; peilio),
    irgi dkite /D
    peilis/D
    brolis/D

2b. Jei tai daiktavardis su vien. vard. galnmis -is, -uo, ar net (-,
    -ers -- dukt, dukters), turite nusprsti du dalykus: tai vyrika
    gimin (flagas V), ar moterika (flagas M), ir jei v. v. galn yra
    -is, ar daugiskaitos kilmininke galn minkta, ar kieta
    (akis->aki, ausis->aus).  Minkta (-i) ymima flagu I, kieta
    (-) ymima K.

    dukt/M
    sesuo/M
    akis/MI
    ausis/MK
    valtis/MI
    vanduo/V
    uo/V
    vagis/V
    vris/V
    dantis/V
    debesis/V

3. Jei tai bdvardis, ir jis nesibaigia galne -is, dkite flag /A.
   Jei jis jis baigiasi -is, pairkite,  k jis panaesnis:
   didelis, dideliems -- flagas A
   medinis, mediniams -- flagas B.

   Dabar jei galima sivaizduoti bdvardio bevard gimin
   (geras->gera), vardiuotines formas (geras->gerasis),
   prieveiksmius su -ai (geras->gerai), laipsnius
   (geras, geresnis, geriausias) ir t.t., tai bdvardis vadinamas
   kokybiniu, ir turi bti ymimas flagu Q.   Atrodo, visi A yra ir Q,
   bet faktas, kad B nra Q.

   B yra nekokybiniai bdvardiai, vadinami santykiniais.  Jie
   daniausiai padaryti i kokio nors daiktavardio ir nurodo daikto
   santyk su kitu (baltakaklis -> turintis balt kakl,
   medinis -> padarytas i medio).

   geras/AQN
   graus/AQN
   saldus/AQN
   ydraakis/BN 
   medinis/BN
   abstraktus/AQN
   absoliutus/AQN
   visaapimantis/BN

4. Jei tai veiksmaodis, tursite nurodyti i karto 3 laikus:
   bendrat, esamj, ir btj kartin.  Jums pads interaktyvi Perl
   programl tools/verb, esanti iame pakete.   stderr ji iveda
   uklausas, nuskaito atsakymus i stdin, ir eilutes, kurias reikia
   rayti  odyn iveda  stdout.  Toliau it punkt galite
   praleisti, jis paliekamas tiems, kurie domisi afiks failo sandara.

   Veiksmaodiams, kuri bsimojo laiko 3a. vienaskaita yra trumpa,
   bendratis ymima /U. Komentaras i failo:  
   # ia veiksmaodiai, kuri bendraty ir es. l. ilgi balsiai ,Y, 
   # o bt. k. l. -- trumpi
   #	gyti gyja gijo		-- gis
   #	lyti lyja lijo		-- lis
   #	griti griva griuvo 	-- grius
   #	pti pva puvo		-- pus
   #	ti va uvo		-- us
   #
   #    plg. -- nra , y
   #	siti siuva siuvo	-- sis
   #	vyti veja vijo		-- vys

   Vis kit veiksmaodi bendratis ymima /T.

   Vis veiksmaodi esamasis laikas ymimas /E.
   
   Veiksmaodi su bendratimi -yti, btasis kartinis ymimas /Y.
   Vis kit veiksmaodi btasis kartinis laikas ymimas /P.

   Sangriniams veiksmaodiams reikia nurodyti /S, o visiems kitiems
   /N.  /S -is ir -si galni nepadarys, utat padarys priedlius
   nesi- ir besi-. Ir prie /N, ir prie /S reikia pridti flag /X,
   formoms su be-, te- ir tebe-.

   gyti/UNX
   gyja/ENX
   gijo/YNX

   valgyti/TNX
   valgo/ENX
   valg/YNX
   
   mylti/TSX
   myli/ESX
   myljo/PSX

   Sangrines formas reikia nurodyti ir atskirai:

   myltis/T
   mylisi/E
   myljosi/P

   ia /S nededam, kad neieit dvigubos sangros kaip besimylisi.
   Ir /N ir /X nededam, kad neieit nemylisi, ar bemylisi nes teisingos formos yra
   nesimyli ir besimyli, padaromos i myli/ESX
   

Kaip ir viskas.  Visi vardiai ir skaitvardiai jau yra odyne.  Jei
ko nors i j paderms ten nra -- raykit!  


Ispell'as dar turi kelet nauding reim odyn sudarintojams.
"ispell -d lietuviu -e" iskleidins afiksus pagal taisykles,
skaitydamas odius i stdin, raydamas  stdout:

[alga@peleda ispell-lt]$ echo pavyzdys/D | ispell -d ./lietuviu -e
pavyzdys pavyzdyje pavyzdiuose pavyzdiai pavyzdiui pavyzdio
pavyzdiais pavyzdiams pavyzdius pavyzdiu pavyzdy pavyzd pavyzdi

[alga@peleda ispell-lt]$ echo mylti/TS | ispell -d ./lietuviu -e 
mylti besimylti besimyldavusia besimylsiania besimyldavusija
besimylsianija besimylsimja besimyltja besimyldama
besimylsima besimyltina besimylta besimyldavusioje besimylsianioje
[...]
I viso /TS padaro 1701 form :-)

Dar yra nelabai naudinga, bet domi galimyb -- ispell'as bando
sutraukti afiksus, atspti, pagal kokias taisykles sudarytas odis:

[alga@peleda ispell-lt]$ echo mylimasis | ispell -d ./lietuviu -c
mylimasis mylimasiti/T mylimasisti/T mylimasiti/Y mylimasisti/Y
mylimasys/M mylimasys/V mylimasi/H mylimasyti/Y mylimastis/T
mylimastis/Y mylimas/Q mylimas/H myli/E

[alga@peleda ispell-lt]$ echo besikikiakopstliaudavusiuosiuose |
ispell -d ./lietuviu -c
besikikiakopstliaudavusiuosiuose [niam] kikiakopstliauti/ST
kikiakopstliauti/SY [niam]  besikikiakopstliaudavo/U
besikikiakopstliauti/T besikikiakopstliauti/Y

Dabar galime pasidiaugti, kad ispell'as atspjo i trisdeimto karto -- tai 
buvo

myli/E ir kikiakopstliauti/ST

Jei iekosit info apie ispell, jums pads tiktai ispell'o man page'ai
(errm, vadovo puslapiai :-) i 1-os sekcijos ir 5-os sekcijos (po BSD --
4 o ne 5).  Yra ispell'o info dokumentacija, bet joje yra tiktai
pavirutinikas vartotojo vadovas ir jokios technins informacijos,
net Copyright'.  Beje, ispell'as ileistas su BSD licenzija. Tokia
licenzija taikoma ir afiks/odyn failams.

Atleiskit, kad itas apraymas ijo toks sumaltas ir sunkiai
suprantamas.  Gal dienos viesoj ir k geresnio biau sukrs.  Bet
vargu. 

Albertas Agejevas <alga@uosis.mif.vu.lt>
