[1.39.18]

*_list  Allow Hyphens in multi-word entries  (aa-bb).  This will only match a pair of words which are hyphenated.
*_list  Fix abbreviations of the form  a.b.cde
Recognise Armenian punctuation, allow and process Armenian punctuation inside words (affects intonation type, and marks the focus word of the clause).
Mbrola: add a delay so that SAPI5 events better follow the speaking.
Mbrola: generate phoneme events, and hence SAPI5 viseme events.


git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@200 d46cf337-b52f-0410-862d-fd96e6ae7743
This commit is contained in:
jonsd
2008-11-07 19:43:53 +00:00
parent af5209f741
commit 75970b147a
29 changed files with 531 additions and 337 deletions
+13 -2
View File
@@ -2867,7 +2867,7 @@ const char *Translator::LookupDict2(const char *word, const char *word2, char *p
// don't use the contraction if any of the words are emphasized
for(ix=0; ix <= skipwords; ix++)
{
if((wtab != NULL) && (wtab[ix].flags & FLAG_EMPHASIZED))
if((wtab != NULL) && (wtab[ix].flags & FLAG_EMPHASIZED2))
{
condition_failed = 1;
}
@@ -2935,6 +2935,13 @@ const char *Translator::LookupDict2(const char *word, const char *word2, char *p
}
}
if(dictionary_flags2 & FLAG_HYPHENATED)
{
if(!(word_flags & FLAG_HYPHEN_AFTER))
{
continue;
}
}
if(dictionary_flags2 & FLAG_CAPITAL)
{
if(!(word_flags & FLAG_FIRST_UPPER))
@@ -3070,7 +3077,11 @@ int Translator::LookupDictList(char **wordptr, char *ph_out, unsigned int *flags
if(length > 0)
{
// found an abbreviation containing dots
nbytes = utf8_nbytes(word2);
nbytes = 0;
while(((c = word2[nbytes]) != 0) && (c != ' '))
{
nbytes++;
}
memcpy(&word[length],word2,nbytes);
word[length+nbytes] = 0;
found = LookupDict2(word, word2, ph_out, flags, end_flags, wtab);