Lietuvikojo skiemenuoklio API
------------------------------

API_LY.LT.h  programin ssaja (API) lietuvik odi skiemenavimo
dinaminms bibliotekoms (DLL) Windows terpei. Pateikiamos 32 ir 64
bit i bibliotek (HYAPILT.dll) versijos. Greta j pridedamas ir papildomas
skiemenavimo iimi odynas.
iame pakete pateikiama API versija 1.0.0.1 

Pastaba: skiemenavimui sukurtas atskira API tam, kad nekilt galim autorini
konflikt su Microsoft CSAPI ssaja.

 API sudaro vairios duomen struktros ir su jomis dirbanios 4-ios
funkcijos: HyLT_Open, HyLT_Options, HyLT_Perform ir HyLT_Close.


Pirmiausia turi bti vykdoma HyLT_Open, inicializuojanti skiemenavimo
aplink. Jei reikia, tada galima kviesti HyLT_Options, leidiania nustatyti
vairius skiemenavimo reimus; jei ji nekvieiama, naudojamos nutylimosios
reim reikms. HyLT_Perform atlieka vieno odio skiemenavim. Kai
visi odiai suskiemenuoti, btina ikviesti HyLT_Close funkcij, atlaisvinan
i resursus.  paket trauktas demonstracinis pradinis kodas C++ kalba,
pailiustruojantis i funkcij naudojim.


Pastaba: pateikiamas API_HYLT.h apraas skirtas C ir C++ kalboms,
taiau teorikai skiemenavimo dinamin bibliotek galima naudoti ir kitose kalbose.
Sudtingesnis cariantas - parengti atitinkam apra toje kalboje.
Paprastesnis variantas - parengti paprastesn savo ssaj ir kvieti tarpin C/C++
sluoksn tai ssajai, jau nukreipiant  tikrj API.

API funkcijos
_____________

HyLT_Open  skiemenavimo inicializavimas

Apraymas:
int WINAPI HyLT_Open(LPWSTR plthyID, long *plthyMajor, long *plthyMinor, LPCWSTR plthyDicFile

Jos parametrai:
plthyID  nuoroda  simboli masyv,  kur grainama skiemenuokio identifikatorius;
plthyMajor  nuoroda  ilgo sveikojo skaiiaus (long) kintamj,  kur
grainama skiemenavimo komponents pagrindins versijos (major) reikm
(pvz., jei versija 3.5, tai plthyMajor gaus reikm 3);
plthyMinor - nuoroda  ilgo sveikojo skaiiaus (long) kintamj,  kur
grainama skiemenavimo komponents patikslintos versijos (minor) reikm
(pvz., jei versija 3.5, tai plthyMinor gaus reikm 5);
plthyDicFile  nuoroda  teksto eilut, apraani skiemenavimo iimi
failo vard. is tekstinis failas nurodo skiemenavimo taisykles tiems
odiams, kuriems nebus taikomas pagrindinis skiemenavimo algoritmas.
Su paketu pateikiamas ir pradinis iimi odynas. Jei odynas nenaudojamas,
nurodoma NULL parametro reikm.

Funkcija graina sveik skaii, nurodant ar vykdyta skmingai (reikm
HyLT_NoErrors). Klaidos atveju reikm HyLT_Error.



HyLT_Options  skiemenavimo reim nustatymas

Apraymas:
int WINAPI HyLT_Options(long plthySessionID, HyLT_OptionAction phyltAction,
           HyLT_OPTIONS *plthyOptions, const HyLT_DECODINGTABLES *plthyDecoding);

Jos parametrai:
plthySessionID - ilgas sveikasis skaiius (long) nurodantis skiemenavimo
sesij. Jis turi bti toks pat, kaip naudojamas kitose funkcijose;
phyltAction  operacijos veiksmas. Galimos reikms:
    HyLT_SetOptions  nustatyti reimus;
    HyLT_GetOptions  gauti reim reikmes.	
plthyOptions  nuoroda  HyLT_OPTIONS struktr, kuri naudojama nustatyti
ar gauti reimo reikmes. Struktros apraas pateikiamas atskirai;
plthyDecoding  nuododa  HyLT_DECODINGTABLES struktr, nurodani naudojam
lietuvik raidi kodavim. Nutylimasis kodavimas yra Windows-1257.
Jei nebtina keisti kodavimo, nurodoma NULL parametro reikm.
Pastaba: is reimas nra realizuotas ioje versijoje ir numatytas ateities ipltimams.

Funkcija graina sveik skaii, nurodant ar vykdyta skmingai
(reikm HyLT_NoErrors). Klaidos atveju reikm HyLT_Error.



HyLT_Perform  vieno odio skiemenavimas

Apraymas:
int WINAPI HyLT_Perform(long plthySessionID, LPCWSTR phyltWord, HyLT_Output *phyltOutput)

Jos parametrai:

plthySessionID - ilgas sveikasis skaiius (long) nurodantis skiemenavimo
sesij. Jis turi bti toks pat, kaip naudojamas kitose funkcijose;
phyltWord  nuoroda  skiemenuojam od (simboli eilut);
phyltOutput  nuoroda  HyLT_Output struktr, pateikiani informacij
apie skiemenavimo rezultat. Struktros apraas pateikiamas atskirai.

Funkcija graina sveik skaii, nurodant ar vykdyta skmingai (reikm
HyLT_NoErrors). Klaidos atveju reikm HyLT_Error.



HyLT_Close  skiemenavimo ubaigimas

Apraymas:
int WINAPI HyLT_Close(long plthySessionID);

Jos parametrai:
plthySessionID - ilgas sveikasis skaiius (long) nurodantis skiemenavimo
sesij. Jis turi bti toks pat, kaip naudotas kitose funkcijose.

Funkcija graina sveik skaii, nurodant ar vykdyta skmingai (reikm
HyLT_NoErrors). Klaidos atveju reikm HyLT_Error.



Naudojam duomen struktr apraymai
-------------------------------------

HyLT_OPTIONS
------------

HyLT_OPTIONS struktra aprao skiemenavimo parametrus. Jos elementai:

HyLT_KeepLeft  nurodo neskiemenuojamos odio pradios ilg. Nutylimoji
reikm 0 (t. y. odis skiemenuojamas nuo paios pradios).
Pavyzdiai:
Jei HyLT_KeepLeft=2, odis paraiutas skiemenuojamas taip: pa-ra-iu-tas.
Jei HyLT_KeepLeft=3, odis paraiutas skiemenuojamas taip: para-iu-tas.

HyLT_KeepRight  nurodo neskiemenuojamos odio galo ilg. Nutylimoji
reikm 0 (t.y. odis skiemenuojamas iki paios pabaigos).
Jei HyLT_KeepRight=3, odis paraiutas skiemenuojamas taip: pa-ra-iu-tas.
Jei HyLT_KeepRight=5, odis paraiutas skiemenuojamas taip: pa-ra-iutas.

HyLT_minLength  minimalus skiemenuojamo odio ilgis. Nutylimoji reikm
0. kuri nurodo, kad skiemenuojamos bet kokio ilgio odis.
Jei HyLT_minLength=5, odis labas neskiemenuojamas (lieka labas).
Tuo tarpu odis lydeka skiemenuojamas (ly-de-ka).

HyLT_acceptQWX  nurodo, ar reikia skiemenuoti odius, turinius
q, x arba w raidi. Nutylimojo reikm yra TRUE.
Jei HyLT_acceptQWX=TRUE, tai odis seqvision suskiemenuojamas taip: seq-vi-sion. 
Jei HyLT_acceptQWX=FALSE, tai odis seqvision nra skiemenuojamas (lieka seqvision).


HyLT_Output 
-----------

HyLT_Output struktra saugo odio skiemenavimo rezultat. Jos elementai:

HyLT_Length  suskiemenuoto odio ilgis;
HyLT_HyphenPlaces  nuoroda  masyv, nurodant skiemenavimo pozicijas;

Masyvo elementas gali turti dvi reikmes:
	HyLT_NoHyphen  toje pozicijoje nedti skiemenavimo enklo;
	HyLT_HyphenPlace - toje pozicijoje (t.y. po raids toje pozicijoje)
                           dti skiemenavimo enkl.
Pvz., skiemenuojant od labas, is masyvas gauna reikmes:
[NoHyphen, HyLT_HyphenPlace, NoHyphen, NoHyphen, NoHyphen]

HyLT_CapitalisationCase  poymis, apibdinantis didij raidi naudojim skiemenuotame odyje.
Galimos reikms:
	OnlyLower  odyje vien maosios raids;
	HyLT_InitialCapital  pirma odio raid didioji;
	HyLT_OnlyUpper  odyje vien didiosios raids;
	HyLT_MixedCase	 - mirus didij ir maj raidi variantas (kaip,
		pvz., odyje MacDonnald).

HyLT_WQXCase  poymis, nurodantis ar odyje buvo bent kuri svetima (q, x, w) raid.
Galimos reikms:
TRUE  buvo q, x, w raidi;
FALSE - nebuvo q, x, w raidi.



Iimi odyno formatas
-----------------------

 iimi odyn suraomi suskiemenuoti odiai  po vien od  eilut. odiai uraomi tuo kodavimu,
koks nustatytas skiemenavimo reimuose (nutylint  Windows-1257).
Pvz., an-al-fa-be-tas

Taiau leidiama odio pabaigoje nurodyti simbol *, kuris reikia bet kokie galimi odio tsiniai.
Tai naudinga ivengiant pasikartojim kaitomoms galnms.
Pvz., galima nurodyti an-al-fa-bet*, kas reik ir an-al-fa-be-tas, ir an-al-fa-be-tams,
ir an-al-fa-be-tinius, ir t.t.

Pastaba: su API pateikiamas odynas yra ukoduotas Unicode (UTF16) kodavimu.

