diff options
Diffstat (limited to 'src/ellinika/elmorph.h')
-rw-r--r-- | src/ellinika/elmorph.h | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/src/ellinika/elmorph.h b/src/ellinika/elmorph.h new file mode 100644 index 0000000..d91f513 --- /dev/null +++ b/src/ellinika/elmorph.h @@ -0,0 +1,46 @@ +#define CHF_OXEIA 1 +#define CHF_PERISPWMENH 2 +#define CHF_BAREIA 3 + +#define CHF_ACCENT_MASK 0x000f + +#define CHF_TREMA 0x0010 + +#define CHF_VOWEL 0x00020 +#define CHF_CONSONANT 0x00040 +#define CHF_SEMIVOWEL 0x00080 +#define CHF_PUNCT 0x00100 +#define CHF_SYMBOL 0x00200 +#define CHF_MODIFIER 0x00400 +#define CHF_ARCHAIC 0x00800 +#define CHF_LOWER 0x01000 +#define CHF_UPPER 0x02000 +#define CHF_NUMERIC 0x04000 + +#define CHF_DIPH1 0x10000 +#define CHF_DIPH2 0x20000 + +int elchr_flags(unsigned ch); +int elchr_isupper(unsigned ch); +int elchr_islower(unsigned ch); +int elchr_getaccent(unsigned ch); +int elchr_istrema(unsigned ch); +int elchr_isvowel(unsigned ch); +int elchr_isconsonant(unsigned ch); +int elchr_issemivowel(unsigned ch); +int elchr_ispunct(unsigned ch); +int elchr_issymbol(unsigned ch); +int elchr_ismodifier(unsigned ch); +int elchr_isarchaic(unsigned ch); +int elchr_isnumeric(unsigned ch); +unsigned elchr_numeric_value(unsigned ch); +unsigned elchr_toupper(unsigned ch); +unsigned elchr_tolower(unsigned ch); +unsigned elchr_base(unsigned ch); +unsigned elchr_deaccent(unsigned ch); +unsigned elchr_accent(unsigned ch, int acc); +int elchr_diphthong(unsigned ch, int state); + + +int elmorph_thema_aoristoy(unsigned *word, size_t len, + unsigned **thema, size_t *tlen); |