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
|