aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--configure.ac3
-rw-r--r--data/db.struct283
-rw-r--r--scm/Makefile.am8
-rw-r--r--scm/elchr.h39
-rw-r--r--scm/elstr.c701
-rw-r--r--scm/mod.c10
-rw-r--r--scm/utf8.c2135
-rw-r--r--scm/utf8.h68
-rw-r--r--xml/pl/rhmata.xml46
-rw-r--r--xml/ru/rhmata.xml20
-rw-r--r--xml/uk/alfabhta.xml4
-rw-r--r--xml/uk/antonimies.xml882
-rw-r--r--xml/uk/arithmi.xml571
-rw-r--r--xml/uk/ellinika.xml2
14 files changed, 4714 insertions, 58 deletions
diff --git a/configure.ac b/configure.ac
index 1750ac4..0f83e04 100644
--- a/configure.ac
+++ b/configure.ac
@@ -25,11 +25,14 @@ AC_CANONICAL_SYSTEM
25AM_INIT_AUTOMAKE(no-exeext) 25AM_INIT_AUTOMAKE(no-exeext)
26 26
27## * Checks for programs. 27## * Checks for programs.
28AC_PROG_CC
29AM_PROG_LIBTOOL
28 30
29M4='`cd $(top_srcdir); pwd`/scripts/missing --run m4' 31M4='`cd $(top_srcdir); pwd`/scripts/missing --run m4'
30AC_SUBST(M4) 32AC_SUBST(M4)
31 33
32AM_GNU_GETTEXT([external], [need-ngettext]) 34AM_GNU_GETTEXT([external], [need-ngettext])
35
33AM_GNU_GETTEXT_VERSION([0.17]) 36AM_GNU_GETTEXT_VERSION([0.17])
34 37
35MU_CHECK_GUILE(,, 38MU_CHECK_GUILE(,,
diff --git a/data/db.struct b/data/db.struct
index 7db7828..c4d6460 100644
--- a/data/db.struct
+++ b/data/db.struct
@@ -1,19 +1,19 @@
1# This file is part of Ellinika 1-- This file is part of Ellinika
2# Copyright (C) 2004, 2005, 2007 Sergey Poznyakoff 2-- Copyright (C) 2004, 2005, 2007 Sergey Poznyakoff
3# 3--
4# Ellinika is free software; you can redistribute it and/or modify 4-- Ellinika is free software; you can redistribute it and/or modify
5# it under the terms of the GNU General Public License as published by 5-- it under the terms of the GNU General Public License as published by
6# the Free Software Foundation; either version 3 of the License, or 6-- the Free Software Foundation; either version 3 of the License, or
7# (at your option) any later version. 7-- (at your option) any later version.
8# 8--
9# Ellinika is distributed in the hope that it will be useful, 9-- Ellinika is distributed in the hope that it will be useful,
10# but WITHOUT ANY WARRANTY; without even the implied warranty of 10-- but WITHOUT ANY WARRANTY; without even the implied warranty of
11# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12# GNU General Public License for more details. 12-- GNU General Public License for more details.
13# 13--
14# You should have received a copy of the GNU General Public License 14-- You should have received a copy of the GNU General Public License
15# along with this program. If not, see <http://www.gnu.org/licenses/>. 15-- along with this program. If not, see <http://www.gnu.org/licenses/>.
16# 16--
17 17
18set names utf8; 18set names utf8;
19CREATE DATABASE ellinika CHARACTER SET utf8 COLLATE utf8_bin; 19CREATE DATABASE ellinika CHARACTER SET utf8 COLLATE utf8_bin;
@@ -21,7 +21,7 @@ CREATE DATABASE ellinika CHARACTER SET utf8 COLLATE utf8_bin;
21use ellinika; 21use ellinika;
22 22
23CREATE TABLE pos( 23CREATE TABLE pos(
24 id bigint not null, # REL 0 24 id bigint not null, -- REL 0
25 name char(64) not null , 25 name char(64) not null ,
26 abbr char(12) not null, 26 abbr char(12) not null,
27 abbr_lat char(12) not null, 27 abbr_lat char(12) not null,
@@ -66,17 +66,17 @@ INSERT INTO pos VALUES(conv("1000000",16,10), "πρόθεση", "πρόθ.
66INSERT INTO pos VALUES(conv("2000000",16,10), "σύνδεσμος", "σύνδ.", "conj", 'Y'); 66INSERT INTO pos VALUES(conv("2000000",16,10), "σύνδεσμος", "σύνδ.", "conj", 'Y');
67 67
68CREATE TABLE dict( 68CREATE TABLE dict(
69 ident int(32), # REL 1,3,4 69 ident int(32), -- REL 1,3,4
70 word varchar(128), # REL 6 70 word varchar(128), -- REL 6
71 sound varchar(128), 71 sound varchar(128),
72 pos int(4), # REL 0 72 pos int(4), -- REL 0
73 forms blob, 73 forms blob,
74 INDEX (ident), 74 INDEX (ident),
75 INDEX (word) 75 INDEX (word)
76); 76);
77 77
78CREATE TABLE locus( 78CREATE TABLE locus(
79 ident int(32), # REL 4 79 ident int(32), -- REL 4
80 lang varchar(8) not null, 80 lang varchar(8) not null,
81 file varchar(128) binary, 81 file varchar(128) binary,
82 line int(32), 82 line int(32),
@@ -85,7 +85,7 @@ CREATE TABLE locus(
85); 85);
86 86
87CREATE TABLE articles( 87CREATE TABLE articles(
88 ident int(32) not null, # REL 1 88 ident int(32) not null, -- REL 1
89 subindex int(32) not null, 89 subindex int(32) not null,
90 lang varchar(8), 90 lang varchar(8),
91 meaning blob, 91 meaning blob,
@@ -95,10 +95,10 @@ CREATE TABLE articles(
95); 95);
96 96
97CREATE TABLE topic( 97CREATE TABLE topic(
98 ident int(32) not null auto_increment, # REL 2 98 ident int(32) not null auto_increment, -- REL 2
99 lang varchar(8) not null, 99 lang varchar(8) not null,
100 title varchar(128) not null, 100 title varchar(128) not null,
101 category int(32) not null, # REL 5 101 category int(32) not null, -- REL 5
102 UNIQUE (ident), 102 UNIQUE (ident),
103 INDEX (title), 103 INDEX (title),
104 INDEX (title,category), 104 INDEX (title,category),
@@ -106,14 +106,14 @@ CREATE TABLE topic(
106); 106);
107 107
108CREATE TABLE topic_tab ( 108CREATE TABLE topic_tab (
109 topic_ident int(32) not null, # REL 2 109 topic_ident int(32) not null, -- REL 2
110 word_ident int(32) not null, # REL 1 110 word_ident int(32) not null, -- REL 1
111 INDEX (topic_ident), 111 INDEX (topic_ident),
112 INDEX (word_ident) 112 INDEX (word_ident)
113); 113);
114 114
115CREATE TABLE category ( 115CREATE TABLE category (
116 category int(32) not null auto_increment, # REL 5 116 category int(32) not null auto_increment, -- REL 5
117 lang varchar(8) not null, 117 lang varchar(8) not null,
118 title varchar(128) not null, 118 title varchar(128) not null,
119 description blob, 119 description blob,
@@ -123,8 +123,8 @@ CREATE TABLE category (
123 123
124CREATE TABLE links( 124CREATE TABLE links(
125 type enum('XREF','ANT') not null, 125 type enum('XREF','ANT') not null,
126 ident int(32) not null, # REL 1 126 ident int(32) not null, -- REL 1
127 xref int(32) not null, # REL 1 127 xref int(32) not null, -- REL 1
128 INDEX (ident), 128 INDEX (ident),
129 UNIQUE (ident,xref) 129 UNIQUE (ident,xref)
130); 130);
@@ -138,23 +138,238 @@ CREATE TABLE stat(
138 138
139CREATE TABLE pending_links( 139CREATE TABLE pending_links(
140 type enum('CLOSED','XREF','ANT') not null, 140 type enum('CLOSED','XREF','ANT') not null,
141 originator int(32) not null, # REL 3 141 originator int(32) not null, -- REL 3
142 word varchar(128) # REL 6 142 word varchar(128) -- REL 6
143); 143);
144 144
145CREATE TABLE news( 145CREATE TABLE news(
146 ident int(32) not null auto_increment, # REL 7 146 ident int(32) not null auto_increment, -- REL 7
147 date datetime not null, 147 date datetime not null,
148 UNIQUE(ident), 148 UNIQUE(ident),
149 INDEX(date) 149 INDEX(date)
150); 150);
151 151
152CREATE TABLE newsart( 152CREATE TABLE newsart(
153 ident int(32) not null, # REL 7 153 ident int(32) not null, -- REL 7
154 lang varchar(8), 154 lang varchar(8),
155 header varchar(255), 155 header varchar(255),
156 text blob, 156 text blob,
157 UNIQUE(ident), 157 UNIQUE(ident),
158 INDEX(lang) 158 INDEX(lang)
159); 159);
160 160
161----
162
163CREATE TABLE verbflect(
164 ident int(32) not null, -- REL 8
165 sing1 varchar(32),
166 sing2 varchar(32),
167 sing3 varchar(32),
168 plur1 varchar(32),
169 plur2 varchar(32),
170 plur3 varchar(32),
171 UNIQUE(ident)
172);
173
174CREATE TABLE conjugation(
175 conj char(2), -- REL 9
176 voice enum('act','pas'), -- Ενεργητηκή/Μεσοπαθητική
177 mode enum('ind','sub','imp'),
178 tense varchar(128),
179 thema enum('pres','aor','pass','synt'), -- Ενεστώτα, Αόριστου, Αόριστου μεσοπαθητικής, syntethic
180 suffix char(32),
181 flect int(32), -- REL 8
182 accmap char(7), -- accent map
183 particle char(2), -- NULL/θα/να
184 aux varchar(128), -- REL 10
185 auxtense char(32),
186 KEY (conj),
187 KEY (voice),
188 KEY (mode)
189);
190
191CREATE TABLE participle (
192 conj char(2), -- REL 9