[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Automating dictionary.lst? (Was: Re: openoffice.org-spellcheck-fr-fr in 1.0.2 don't work)



Rene Engelhard wrote:

As you said mktemp is the error, I added a chmod 644
/etc/openoffice/dictionary.lst in my prerm's.

New openoffice.org-spellcheck-de will be uploaded in a few minutes...


Cannot that "/etc/openoffice/dictionary.lst" file be created in a more automated way than is actually? Seems that parsing the contents of the ooo dir gives enough info to do that (provided some overrides are given to help). I have done a quick perl script to test that possibility (attached to this message). It is more a proof of concept, and there are surely special cases where it gives wrong results but seems to work.

Other possibility would be using some of the dictionaries-common support developed for ispell dictionaries and wordlists.

Cheers,


--
=====================================================================
Agustin Martin Domingo, Dpto. de Fisica, ETS Arquitectura Madrid,
(U. Politecnica de Madrid)  tel: +34 91-336-6536, Fax: +34 91-336-6554,
email:agmartin@aq.upm.es, http://corbu.aq.upm.es/~agmartin/welcome.html
#!/usr/bin/perl -w

$ooodir="/usr/lib/openoffice/share/dict/ooo";

%overridehyph=("nn","NO",
	       "nb","NO");
chdir $ooodir;
@entries = <*.dic>;

@dictionaries  = grep {not /^hyph/} @entries;
@hyphenfiles   = grep {/^hyph/} @entries;

foreach $d ( @dictionaries ){
    $d =~ s/\.dic//;
    my ( $lang, $country ) = split("_",$d);
    print "DICT $lang $country $d\n";
}

foreach $h ( @hyphenfiles ){
    $h =~ s/\.dic$//;
    $lang = $h;
    $lang =~ s/^hyph_//;
    $country = uc($lang);
    $country = $overridehyph{$lang} if exists $overridehyph{$lang};
    print "HYPH $lang $country $h\n";
}

Reply to: