[voikko-devel] Ehdotus: lisäys libvoikkoon
Harri Pitkänen
hatapitk at cc.jyu.fi
Wed Jan 10 19:31:05 EET 2007
On Wednesday 10 January 2007 08:06, Hannu Väisänen wrote:
> Libvoikon voikko_init* -funktiot alustavat myös malagan. Se on
> järkevää oikoluvussa, mutta jos libvoikkoa käyttää jossain muussa
> ohjelmassa (esim. Sukijassa tunnistettaessa väärin kirjoitettuja
> sanoja), libvoikko olisi voitava alustaa ilman malagaa. Tätä varten
> ehdotan libvoikkoon lisättäväksi kaksi funktiota
>
> voikko_init_with_path_without_malaga
> voikko_terminate_without_malaga
>
> Ne toimivat samalla tavalla kuin funktiot voikko_init_with_path ja
> voikko_terminate, mutta eivät tee mitään malagalle.
Hmm. Mahtaakohan tuollainen toimia kunnolla todellisissa sovelluksissa?
Tämähän tarkoittaisi sitä, että kutsuva sovellus itse käyttää suoraan
Suomi-malagan Voikko-versiota, enkä heti kyllä keksi mikä muu kuin libvoikko
voisi järkevästi niin tehdä. Sukija ei ainakaan niin tietääkseni tee :)
Jos sovelluksen on käytettävä sekä malagaa että libvoikkoa suoraan, parempi
olisi toimia jotenkin seuraavasti:
terminate_libmalaga();
const char * voikko_error = voikko_init(&handle, "fi_FI", 0);
[ käytetään Voikkoa mihin käytetään ]
voikko_terminate(handle);
init_libmalaga(sovelluksen_oma_malaga_projekti);
> Seuraava projekti: subversionin opettelu. (-:
>
>
> Libvoikon diffi:
>
> ...
Jos olet ihan varma, että tarvitset tällaisen ominaisuuden libvoikkoon, niin
kaipa sen voi lisätä. Tuo diffi ei kyllä toimi, koska se on tehty vanhaa
versiota varten. SVN:ssä on noilta osin tapahtunut oleellisiakin muutoksia
Windows-tuen takia. Lisäksi ei kannata tehdä funktiota
voikko_init_with_path_without_malaga, koska sanaston polkua ei tarvita jos
malaga on jo alustettu. Parempi on toteuttaa voikko_init_without_malaga.
Koodin kopioimista pitäisi myös välttää, nämä init-funktiot voivat käyttää
toisiaan hyväksi alustusvaiheessa.
Ja tuo uusi funktio pitäisi tiedostossa voikko.h olla mukana vain
ehdollisesti, eli
#ifdef USE_VOIKKO_UNSTABLE_API
...
#endif
koska tuota kutsuva ohjelma ei voi luottaa so-versionumeroihin
yhteensopivuusasioissa. Suomi-malagan ja libvoikon välinen rajapinta kun on
tavallaan libvoikon sisäinen asia ja voi muuttua jokaisen version välillä.
Harri
More information about the devel
mailing list