Browse Source

[1.35]

Fixed problem with languages: ru, el, zhy, not speaking English words.


git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@163 d46cf337-b52f-0410-862d-fd96e6ae7743
master
jonsd 17 years ago
parent
commit
a83b20dde6
4 changed files with 13 additions and 5 deletions
  1. 6
    2
      src/dictionary.cpp
  2. 5
    1
      src/numbers.cpp
  3. 1
    1
      src/synthdata.cpp
  4. 1
    1
      src/translate.cpp

+ 6
- 2
src/dictionary.cpp View File

@@ -703,6 +703,8 @@ int Translator::IsLetterGroup(char *word, int group, int pre)

int Translator::IsLetter(int letter, int group)
{//============================================
int letter2;

if(letter_groups[group] != NULL)
{
if(wcschr(letter_groups[group],letter))
@@ -713,10 +715,12 @@ int Translator::IsLetter(int letter, int group)
if(group > 7)
return(0);


if(letter_bits_offset > 0)
{
letter -= letter_bits_offset;
if(((letter2 = (letter - letter_bits_offset)) > 0) && (letter2 < 0x80))
letter = letter2;
else
return(0);
}
else
{

+ 5
- 1
src/numbers.cpp View File

@@ -562,7 +562,11 @@ void Translator::LookupLetter(unsigned int letter, int next_byte, char *ph_buf1)
ph_buf1[0] = 0;
return;
}

if(ph_buf3[0] == phonSWITCH)
{
strcpy(ph_buf1,ph_buf3);
return;
}
// at a stress marker at the start of the letter name, unless one is already marked
ph_stress[0] = phonSTRESS_P;
ph_stress[1] = 0;

+ 1
- 1
src/synthdata.cpp View File

@@ -35,7 +35,7 @@
#include "translate.h"
#include "wave.h"

const char *version_string = "1.34 07.Mar.08";
const char *version_string = "1.35 07.Mar.08";
const int version_phdata = 0x013400;

int option_device_number = -1;

+ 1
- 1
src/translate.cpp View File

@@ -787,7 +787,7 @@ if((wmark > 0) && (wmark < 8))
{
// change to another language in order to translate this word
strcpy(word_phonemes,phonemes);
return(FLAG_SPELLWORD);
return(0);
}

p = &wordx[word_length-3]; // this looks wrong. Doesn't consider multi-byte chars.

Loading…
Cancel
Save