[1.27.10] Added inverse conditional rules in *_list and *_rules. eg. ?!3 "if rule 3 is NOT set".

lang=en-r, adjusted vowels.
Moved single characters (eg. % @) from *_list to *_rules so they can be used in combinations (eg. %-).


git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@65 d46cf337-b52f-0410-862d-fd96e6ae7743
This commit is contained in:
jonsd
2007-07-15 16:02:08 +00:00
parent 0def252307
commit daaa9ddbb7
40 changed files with 295 additions and 160 deletions
+9 -5
View File
@@ -713,6 +713,7 @@ if((wmark > 0) && (wmark < 8))
length = 999;
while(((length < 3) && (length > 0))|| (word_length > 1 && Unpronouncable(word)))
{
char *p;
// This word looks "unpronouncable", so speak letters individually until we
// find a remainder that we can pronounce.
word += TranslateLetter(word,phonemes,0);
@@ -722,13 +723,15 @@ if((wmark > 0) && (wmark < 8))
strcpy(word_phonemes,phonemes);
return(0);
}
if(memcmp(word,"'s ",3) == 0)
p = &word[word_length-3];
if(memcmp(p,"'s ",3) == 0)
{
// remove a 's suffix and pronounce this separately (not as an individual letter)
add_plural_suffix = 1;
word[0] = ' ';
word[1] = ' ';
break;
p[0] = ' ';
p[1] = ' ';
last_char = p[-1];
}
length=0;
@@ -1903,7 +1906,8 @@ if((c == '/') && (langopts.testing & 2) && isdigit(next_in) && IsAlpha(prev_out)
{
if(!IsAlpha(prev_out) || (langopts.ideographs && (c >= 0x3000)))
{
letter_count = 0;
if(prev_out != '\'')
letter_count = 0; // don't reset count for an apostrophy within a word
if((prev_out != ' ') && (prev_out != '\''))
{