[go: up one dir, main page]

File: local.h

package info (click to toggle)
libdumbtts 0.3.2-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, forky, sid, trixie
  • size: 344 kB
  • sloc: ansic: 3,054; makefile: 42; sh: 9
file content (168 lines) | stat: -rw-r--r-- 3,298 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
/*
 * libdumbtts - dumb synthesizers helper library
 * Copyright (C) Bohdan R. Rau 2008 <ethanak@polip.com>
 * 
 * libdumbtts is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2.1 of the License, or (at your option) any later version.
 * 
 * libdumbtts is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * Lesser General Public License for more details.
 * 
 * You should have received a copy of the GNU Lesser General Public
 * License along with libdumbtts.  If not, write to:
 * 	The Free Software Foundation, Inc.,
 * 	51 Franklin Street, Fifth Floor
 * 	Boston, MA  02110-1301, USA.
 */

#ifndef DUMBTTS_LOCAL_H
#define DUMBTTS_LOCAL_H
#define MEMO_BLOCK_SIZE 8160

struct dumbtts_char {
	char *name;
	char *prono;
};

struct memblock {
	struct memblock *next;
	int firstfree;
	int lastfree;
	char block[MEMO_BLOCK_SIZE];
};

struct dumbtts_keyname {
	struct dumbtts_keyname *next;
	char *key;
	char *trans;
};


struct dumbtts_charlist {
	struct dumbtts_charlist *next;
	wchar_t wc;
	char *name;
	char *prono;
};

struct dumbtts_cyrtrans {
	struct dumbtts_cyrtrans *next;
	short c1;
	short c2;
	char *translit;
};

struct dumbtts_abbr {
	struct dumbtts_abbr *next;
	char *abbr;
	char *res;
};

struct dumbtts_rconf {
	int mode;
	int nchar;
	wchar_t wc[128];
	char ch[128];
};

struct dumbtts_intpair {
	struct dumbtts_intpair *next;
	int v1;
	int v2;
};


struct dumbtts_format_item {
	struct dumbtts_format_item *next;
	int value;
	char *format;
};

struct dumbtts_format {
	struct dumbtts_format *next;
	char *name;
	char *deflt;
	struct dumbtts_format_item *dfi;
};

struct dumbtts_choice {
	struct dumbtts_choice *next;
	char *name;
	struct dumbtts_format_item *dfi;
};

struct dumbtts_arth_item {
	char mode;
	union {
		int d;
		struct dumbtts_arth_item *it;
	} v;
};


struct dumbtts_diction_letter {
	struct dumbtts_diction_letter *nlet[32]; //nastpna litera
	struct dumbtts_diction_letter *parent;
	struct dumbtts_abbr *patterns;
};

struct dumbtts_expr {
	char type;
	char operator;
	union {
		int ival;
		double fval;
		struct dumbtts_expr *ops[2];
	} u;
};

struct dumbtts_formex {
	struct dumbtts_formex *next;
	short type;
	short forma;
	struct dumbtts_expr *expr;
};

struct dumbtts_unit {
	struct dumbtts_unit *next;
	char *unit;
	char *result;
};

struct dumbtts_conf {
	int flags;
	struct dumbtts_keyname *keynames;
	struct dumbtts_charlist *charlist;
	struct dumbtts_cyrtrans *cyrtrans;
	struct dumbtts_abbr *abbrev;
	struct dumbtts_char chartable[0x180];
	char *cap;
	char *caplet;
	char *lig;
	char *caplig;
	char *sym;
	char *let;
	char *ill;
	char *dia[16];
	struct dumbtts_rconf rconf;
	struct memblock *memo;
	int roman_minlen;
	int roman_maxval;
	struct dumbtts_intpair *roman_ignore;
	struct dumbtts_abbr *dic;
	struct dumbtts_format *formats;
	struct dumbtts_choice *choices;
	struct dumbtts_abbr *recog;
	struct dumbtts_abbr *sayas;
	struct dumbtts_formex *formex;
	short defforms[2];
	struct dumbtts_unit *units;
	struct dumbtts_diction_letter *dics[32];
};

#include "libdumbtts.h"
#endif