Commit 3513f08c authored by Damyan Ivanov's avatar Damyan Ivanov

git-debimport bgoffice_3.0.orig.tar.gz

parents
This diff is collapsed.
This diff is collapsed.
3.0 24.05.2003
=================
* 10 000 .
63 000 , 1
822 855 .
* 100 .
* ,
,
.
*
.
.
.
*
.
.
*
150
.
2.1 04.10.2002
=================
* OpenOffice.org
bgOffice.
*
.
* ispell.
* ,
.
* ,
.
2.0 21.06.2002
=================
* .
.
* 187
, .
* .
* ,
OpenOffice.org aspell.
* .
.
* .
* " ?",
OpenOffice.org aspell.
1.0 15.03.2002
=================
* .
.
, .
,
( ) .
OpenOffice.org, aspell, ispell .
/ .,
187 . ., ,
1984. .
.
,
. ,
187
. ,
. ,
,
.
.
, , ()
. .
. ( 30
000 ) "SA Dictionary" (http://sa.dir.bg/) "O2
Dictionary" ( "Otto Dictionary",
http://get.to/otto). 20 000
http://dabuzzard.250free.com/, -
http://dabuzzard.250free.com/enbg.zip.
30 000 ,
. 5 000 - 10 000
. -
.
.
,
,
.
,
, .
Perl,
,
OpenOffice.org, aspell ispell.
- Linux (
, Windows).
Windows, Perl Cygwin.
Windows-a Linux,
Linux Windows.
, " ?".
,
. ,
,
.
.
()
.
(
). .
.
. .
bgOffice
(C) 2001 <radnev@yahoo.com>
.
, ,
.
COPYING.BULGARIAN, .
bgOffice
Copyright (C) 2001 Radostin Radnev <radnev@yahoo.com>
This program comes with ABSOLUTELY NO WARRANTY. This is free
software, and you are welcome to redistribute it under certain
conditions. For details read file COPYING that comes with this
package.
,
bgOffice, .
<eto@mb.bia-bg.com>
* .
* .
<anton@lml.bas.bg>
* ispell.
* .
* .
<morbid_viper@mail.bg>
* .
<vladimirg@need.bg>
* .
* .
<gf@unixsol.org>
* .
<miro@cybershade.us>
* Makefile ispell aspell.
<mishob@users.sourceforge.net>
* .
<stefanks@yahoo.com>
* .
* .
* - .
*
,
.
, .
*
.
,
.
* , , ,
. . ..
.
* ()
. .
.
* Perl
.
, OpenOffice.org
.
#!/usr/bin/perl
use strict;
require "../lib/bgoffice_util_module.pm";
if ($ARGV[0] eq "--help") {
print <<EOHelp;
[]-[] .
:
-
-
-
.
.
()
.
.
.
.
EOHelp
exit;
}
# Load words
my @data = <STDIN>;
chop(@data);
# Load data files
my @words = ();
my @file_names = ();
my @wrd = ();
my $file_name = "";
my $filter_type = $ARGV[0];
if ($filter_type =~ /^male/) {
$filter_type = "/" . $filter_type;
}
while ($file_name = next_file($file_name)) {
if ((!($filter_type)) || ($file_name =~ /$filter_type/)) {
@wrd = get_words($file_name);
@wrd = sort(@wrd);
push(@words, [ @wrd ]);
push(@file_names, $file_name);
}
}
for my $line (@data) {
$line = strip_line($line);
my $pm = index($line, "-");
if ($pm == -1) {
print " $line '-' . .\n";
next;
}
my $w_search = substr($line, $pm + 1);
my $w_add = $line;
$w_add =~ s/-//;
my @suggestions = ();
for (my $i = 0; $i <= $#words; $i++) {
@wrd = @{$words[$i]};
if (search_in_data($w_search)) {
push(@suggestions, $file_names[$i]);
}
}
if ($#suggestions == -1) {
print " $w_search $w_add .\n";
next;
}
if ($#suggestions > 0) {
my $cs = $#suggestions + 1;
print " $w_search $cs $w_add .\n";
for (@suggestions) {
print "$_\n";
}
next;
}
open(OUT, ">>$suggestions[0]") || die "Cannot open $suggestions[0]";
print OUT "$w_add\n";
close(OUT);
print " $w_add - $suggestions[0]\n";
}
sub search_in_data() {
my $w = @_[0];
my $b = 0;
my $e = $#wrd;
my $m = 0;
while (1) {
if ($b > $e) {
return 0;
}
$m = int(($b + $e) / 2);
if ($w gt $wrd[$m]) {
$b = $m + 1;
} elsif ($w lt $wrd[$m]) {
$e = $m - 1;
} else {
return 1;
}
}
}
#!/usr/bin/perl
use strict;
require "../lib/bgoffice_util_module.pm";
if ($ARGV[0] eq "--help") {
print <<EOHelp;
[] [] .
:
../../data/noun/female/bg041.dat
../../data/noun/female/bg043a.dat
../../data/noun/female/bg043.dat
../../data/noun/female/bg043a.dat
,
.
().
.
.
EOHelp
exit;
}
# Load words
my @data = <STDIN>;
chop(@data);
for my $line (@data) {
my $i = index($line, " ");
my $word = strip_line(substr($line, 0, $i));
my $file_name = strip_line(substr($line, $i));
open(OUT, ">>$file_name") || die "Cannot open $file_name";
print OUT "$word\n";
close(OUT);
}
#!/usr/bin/perl
use strict;
require "../lib/bgoffice_util_module.pm";
if (($ARGV[0] eq "--help") || ($ARGV[0] eq "")) {
print <<EOHelp;
.
.
(),
. .
,
.
.
.
.
1. ,
. .
.
2. :
./make_suggestions.pl /noun/male/ < words.txt > suggestions.txt
,
.
.
EOHelp
exit;
}
# Load words
my @data = <STDIN>;
chop(@data);
# Load data files
my @types = ();
my @filters = ();
my @file_names = ();
my $file_name = "";
my $filter_type = $ARGV[0];
if ($filter_type =~ /^male/) {
$filter_type = "/" . $filter_type;
}
while ($file_name = next_file($file_name)) {
if ($file_name =~ /$filter_type/) {
push(@types, [ get_endings($file_name) ]);
push(@filters, get_filter($file_name));
push(@file_names, $file_name);
}
}
for my $word (@data) {
for (my $i = 0; $i <= $#types; $i++) {
my $f = $filters[$i];
if (($word =~ /$f$/) || ($f eq "0")) {
print $word, " ", $file_names[$i], "\n";
my @gen = build_forms($word, @{$types[$i]});
for (@gen) {
print "$_\n";
}
print "\n\n";
}
}
print "############################################\n\n\n";
}
#!/usr/bin/awk -f
#
# Provided by Anton Zinoviev <anton@lml.bas.bg>
#
BEGIN {
print "# Affix table for Bulgarian";
print "";
print "nroffchars ().\\\\*";
print "texchars ()\\[]{}<\\>\\\\$*.%";
print "";
print "allaffixes off";
print "compoundwords off";
print "";
print "flagmarker /";
print "";
print "wordchars [-] [-]";
print "# ~/.ispell_default, ";
print "# , ";
print "# (. ) , :";
print "wordchars [a-z] [A-Z]";
print "";
print "# -, -";
print "# -, :";
print "# boundarychars \"-\"";
print "";
print "suffixes";
}
/SFX/ {
if ($5 == "") {
flag=$2;
print "";
if ($3 == "Y") {
printf "flag *%s:\n", flag;
} else {
printf "flag ~%s:\n", flag;
}
}
if ($5 != "") {
strip_str = "-" cyrtoupper($3) ",";
if (strip_str == "-0,") {
strip_str = "";
}
append_str = cyrtoupper($4);
if (append_str == "0") {
append_str = "-";
}
condition = $5;
if (condition == "." && $3 != "0") {
condition = cyrtoupper($3);
gsub (/./, "& ", condition);
}
printf " %-8s > %s%s\n", condition, strip_str, append_str;
}
}
function cyrtoupper(str, new) {
new = str;
for (i = 224; i < 256; i++) {
gsub (sprintf ("%c", i), sprintf ("%c", i - 32), new);
}
return new;
}
A ../../data/adjective/bg076.dat
B ../../data/noun/female/bg049.dat
C ../../data/noun/male/bg007.dat
D ../../data/noun/male/bg001.dat
E ../../data/noun/male/bg031a.dat
F ../../data/noun/male/bg007a.dat
G ../../data/noun/male/bg007b.dat
H ../../data/noun/male/bg031.dat
I ../../data/noun/male/bg040a.dat
J ../../data/noun/neutral/bg065.dat
K ../../data/adjective/bg078.dat
K ../../data/adjective/bg079.dat
K ../../data/noun/female/bg041.dat
K ../../data/noun/female/bg047.dat
K ../../data/noun/male/bg015.dat
L ../../data/adjective/bg080.dat
L ../../data/adjective/bg081.dat
L ../../data/adjective/bg085.dat
L ../../data/noun/male/bg008a.dat
L ../../data/noun/male/bg038.dat
L ../../data/noun/neutral/bg054.dat
L ../../data/noun/neutral/bg072.dat
L ../../data/numeral/ordinal/bg141.dat
M ../../data/noun/male/bg011.dat
M ../../data/noun/male/bg013.dat
M ../../data/noun/male/bg018.dat
M ../../data/noun/male/bg032a.dat
M ../../data/noun/male/bg039.dat
M ../../data/noun/neutral/bg062.dat
M ../../data/noun/neutral/bg066.dat
N ../../data/noun/male/bg008.dat
N ../../data/noun/male/bg009.dat
O ../../data/noun/male/bg014.dat
O ../../data/noun/male/bg016.dat
O ../../data/noun/male/bg032.dat
O ../../data/noun/male/bg040.dat
O ../../data/noun/neutral/bg071.dat
P ../../data/verb/bg173.dat
P ../../data/verb/bg176.dat
Q ../../data/verb/bg152.dat
Q ../../data/verb/bg174.dat
R ../../data/verb/bg159.dat
R ../../data/verb/bg160.dat
R ../../data/verb/bg170.dat
S ../../data/verb/bg177.dat
S ../../data/verb/bg186.dat
T ../../data/verb/bg163.dat
T ../../data/verb/bg187.dat
U ../../data/verb/bg145.dat
U ../../data/verb/bg161.dat
V ../../data/verb/bg175.dat
V ../../data/verb/bg178.dat
W ../../data/verb/bg156.dat
W ../../data/verb/bg164.dat
X ../../data/verb/bg151.dat
X ../../data/verb/bg154.dat
X ../../data/verb/bg168.dat
Y ../../data/verb/bg145a.dat
Y ../../data/verb/bg148.dat
Y ../../data/verb/bg155.dat
Z ../../data/verb/bg150.dat
Z ../../data/verb/bg162.dat
Z ../../data/verb/bg169.dat
A ../../data/adjective/bg078.dat