|
|
|
|
|
|
|
|
#define phDELETED 14 |
|
|
#define phDELETED 14 |
|
|
#define phINVALID 15 |
|
|
#define phINVALID 15 |
|
|
|
|
|
|
|
|
// phoneme properties |
|
|
|
|
|
// bits 16-19 give place of articulation |
|
|
|
|
|
#define phARTICULATION 0xf0000 |
|
|
|
|
|
#define phUNSTRESSED 0x02 |
|
|
|
|
|
#define phVOICELESS 0x08 |
|
|
|
|
|
#define phVOICED 0x10 |
|
|
|
|
|
#define phSIBILANT 0x20 |
|
|
|
|
|
#define phNOLINK 0x40 |
|
|
|
|
|
#define phTRILL 0x80 |
|
|
|
|
|
#define phPALATAL 0x200 |
|
|
|
|
|
#define phBRKAFTER 0x4000 // [*] add a post-pause |
|
|
|
|
|
|
|
|
|
|
|
#define phNONSYLLABIC 0x100000 // don't count this vowel as a syllable when finding the stress position |
|
|
|
|
|
#define phLONG 0x200000 |
|
|
|
|
|
#define phLENGTHENSTOP 0x400000 // make the pre-pause slightly longer |
|
|
|
|
|
#define phRHOTIC 0x800000 // bit 23 |
|
|
|
|
|
#define phNOPAUSE 0x1000000 |
|
|
|
|
|
#define phPREVOICE 0x2000000 // for voiced stops |
|
|
|
|
|
|
|
|
// phflags |
|
|
|
|
|
#define phFLAGBIT_UNSTRESSED 1 |
|
|
|
|
|
#define phFLAGBIT_VOICELESS 3 |
|
|
|
|
|
#define phFLAGBIT_VOICED 4 |
|
|
|
|
|
#define phFLAGBIT_SIBILANT 5 |
|
|
|
|
|
#define phFLAGBIT_NOLINK 6 |
|
|
|
|
|
#define phFLAGBIT_TRILL 7 |
|
|
|
|
|
#define phFLAGBIT_PALATAL 9 |
|
|
|
|
|
#define phFLAGBIT_BRKAFTER 14 // [*] add a post-pause |
|
|
|
|
|
#define phARTICULATION 0xf0000 // bits 16-19 |
|
|
|
|
|
#define phFLAGBIT_NONSYLLABIC 20 // don't count this vowel as a syllable when finding the stress position |
|
|
|
|
|
#define phFLAGBIT_LONG 21 |
|
|
|
|
|
#define phFLAGBIT_LENGTHENSTOP 22 // make the pre-pause slightly longer |
|
|
|
|
|
#define phFLAGBIT_RHOTIC 23 |
|
|
|
|
|
#define phFLAGBIT_NOPAUSE 24 |
|
|
|
|
|
#define phFLAGBIT_PREVOICE 25 // for voiced stops |
|
|
|
|
|
#define phFLAGBIT_FLAG1 28 |
|
|
|
|
|
#define phFLAGBIT_FLAG2 29 |
|
|
|
|
|
#define phFLAGBIT_LOCAL 31 // used during compilation |
|
|
|
|
|
|
|
|
#define phFLAG1 0x10000000 |
|
|
|
|
|
#define phFLAG2 0x20000000 |
|
|
|
|
|
#define phLOCAL 0x80000000 // used during compilation |
|
|
|
|
|
|
|
|
// phoneme properties |
|
|
|
|
|
#define phUNSTRESSED (1 << phFLAGBIT_UNSTRESSED) |
|
|
|
|
|
#define phVOICELESS (1 << phFLAGBIT_VOICELESS) |
|
|
|
|
|
#define phVOICED (1 << phFLAGBIT_VOICED) |
|
|
|
|
|
#define phSIBILANT (1 << phFLAGBIT_SIBILANT) |
|
|
|
|
|
#define phNOLINK (1 << phFLAGBIT_NOLINK) |
|
|
|
|
|
#define phTRILL (1 << phFLAGBIT_TRILL) |
|
|
|
|
|
#define phPALATAL (1 << phFLAGBIT_PALATAL) |
|
|
|
|
|
#define phBRKAFTER (1 << phFLAGBIT_BRKAFTER) |
|
|
|
|
|
#define phNONSYLLABIC (1 << phFLAGBIT_NONSYLLABIC) |
|
|
|
|
|
#define phLONG (1 << phFLAGBIT_LONG) |
|
|
|
|
|
#define phLENGTHENSTOP (1 << phFLAGBIT_LENGTHENSTOP) |
|
|
|
|
|
#define phRHOTIC (1 << phFLAGBIT_RHOTIC) |
|
|
|
|
|
#define phNOPAUSE (1 << phFLAGBIT_NOPAUSE) |
|
|
|
|
|
#define phPREVOICE (1 << phFLAGBIT_PREVOICE) |
|
|
|
|
|
#define phFLAG1 (1 << phFLAGBIT_FLAG1) |
|
|
|
|
|
#define phFLAG2 (1 << phFLAGBIT_FLAG2) |
|
|
|
|
|
#define phLOCAL (1 << phFLAGBIT_LOCAL) |
|
|
|
|
|
|
|
|
// fixed phoneme code numbers, these can be used from the program code |
|
|
// fixed phoneme code numbers, these can be used from the program code |
|
|
#define phonCONTROL 1 |
|
|
#define phonCONTROL 1 |