This repository has been archived on 2024-04-08. You can view files and clone it, but cannot push or open issues or pull requests.
deb-goldedplus/goldlib/hunspell/atypes.hxx
2006-04-05 17:20:12 +00:00

86 lines
1.4 KiB
C++

#ifndef _ATYPES_HXX_
#define _ATYPES_HXX_
// HUNSTEM def.
#define HUNSTEM
#include "csutil.hxx"
#include "hashmgr.hxx"
#define SETSIZE 256
#define CONTSIZE 65536
#define MAXWORDLEN 100
#define MAXWORDUTF8LEN (MAXWORDLEN * 4)
// affentry options
#define aeXPRODUCT (1 << 0)
#define aeUTF8 (1 << 1)
#define aeALIASF (1 << 2)
#define aeALIASM (1 << 3)
enum {IN_CPD_NOT, IN_CPD_BEGIN, IN_CPD_END, IN_CPD_OTHER};
#define MAXLNLEN 8192 * 4
#define MAXCOMPOUND 10
#define MAXACC 1000
#define FLAG unsigned short
#define FLAG_NULL 0x00
#define FREE_FLAG(a) a = 0
#define TESTAFF( a, b , c ) flag_bsearch((unsigned short *) a, (unsigned short) b, c)
struct affentry
{
char * strip;
char * appnd;
unsigned char stripl;
unsigned char appndl;
char numconds;
char opts;
unsigned short aflag;
union {
char base[SETSIZE];
struct {
char ascii[SETSIZE/2];
char neg[8];
char all[8];
w_char * wchars[8];
int wlen[8];
} utf8;
} conds;
char * morphcode;
unsigned short * contclass;
short contclasslen;
};
struct replentry {
char * pattern;
char * pattern2;
};
struct mapentry {
char * set;
w_char * set_utf16;
int len;
};
struct flagentry {
FLAG * def;
int len;
};
struct guessword {
char * word;
bool allow;
};
#endif