[voikko] libvoikon "OOo-moodi"

Harri Pitkänen hatapitk at iki.fi
Sat Mar 8 18:49:40 EET 2008


On Saturday 08 March 2008, Teemu Likonen wrote:
> Onko mahdollista mitenkään helposti tehdä voikkohyphenate-ohjelmaan
> jonkinlaista ooo-voikko-moodia, jossa tavutus olisi samanlainen?
> Yllättävän tylsää on käynnistää OOo, varmistaa, että Voikon tavutus on
> päällä (minä kun testailen välillä myös Oo2-soikolla), asettaa
> kappaleeseen tavutus päälle ja vasta sitten tutkia itse asiaa.

On mahdollista. Mutta ongelma on siinä, että openoffice.org-voikon tavutus 
riippuu kappaleasetuksista, eli se ei ole mitenkään yksikäsitteinen. 
Mieluummin tuon siis tekisi niin, että lisätään voikkohyphenate-komentoon 
tarvittavat optiot "älä tavuta heittomerkin kohdalta", "erota vähintään x 
kirjainta koko sanan alusta" ja "erota vähintään y kirjainta koko sanan 
lopusta". Niillä pitäisi jo saada aikaan täsmälleen sama tulos kuin 
openoffice.org-voikossa (erikoismerkit vähän sotkevat asiaa).

Toinen hiukan hyödyllisempi ratkaisu olisi käyttää OpenOffice.orgin 
UNO-rajapintaa ja sen avulla ohjelmoida komentorivityökalu, joka käyttää 
aitoa openoffice.org-voikkoa tavuttamiseen. Tällöin tiedettäisiin, että saatu 
tulos todella on täsmälleen sama kuin jos tavutuksen olisi tehnyt OOo:ssa, 
eli työkalu sopisi myös openoffice.org-voikon testauksen automatisointiin. En 
nyt kyllä ehdi tämmöistä tekemään, mutta jos joku haluaa leikkiä ajatuksella, 
niin seuraava Basic-skripti pompauttaa näkyviin sanan "kansaneläkelaitos" 
tavutettuna OOo:ssa, jos Voikko on asennettuna:

Sub Main
 hyp = createUnoService("voikko.Hyphenator")
 Dim locale As New com.sun.star.lang.Locale
 locale.Language = "fi"
 Dim properties() As New com.sun.star.beans.PropertyValue
 word = "kansaneläkelaitos"
 hyphens = hyp.createPossibleHyphens(word, locale, properties)
 MsgBox hyphens.PossibleHyphens
End Sub

Tämän vastaavan voi kirjoittaa esim. Pythonilla ja käynnistää OOo:n 
headless-tilaan, jolloin koko homman saa toimimaan komentoriviltä käsin. 
Eihän se tietysti ihan yhtä nopea ole sitten käynnistymään kuin 
voikkohyphenate, mutta varmasti paljon nopeampi kuin käsin tehdä samat asiat.

Harri



More information about the voikko mailing list