mirror of
https://github.com/rhasspy/espeak-ng.git
synced 2026-11-07 07:23:52 +00:00
1.45.49
This commit is contained in:
+2
-1
@@ -542,14 +542,15 @@ static char nullstring[] = {0};
|
||||
{
|
||||
p[0] = 0;
|
||||
multiple_words = 0;
|
||||
step = 3;
|
||||
}
|
||||
else
|
||||
if(word[0] != '_')
|
||||
{
|
||||
fprintf(f_log, "%5d: Missing '('\n", linenum);
|
||||
error_count++;
|
||||
step = 3;
|
||||
}
|
||||
step = 3;
|
||||
}
|
||||
break;
|
||||
|
||||
|
||||
+2
-2
@@ -776,7 +776,7 @@ static int IsLetter(Translator *tr, int letter, int group)
|
||||
|
||||
if(tr->letter_bits_offset > 0)
|
||||
{
|
||||
if(((letter2 = (letter - tr->letter_bits_offset)) > 0) && (letter2 < 0x80))
|
||||
if(((letter2 = (letter - tr->letter_bits_offset)) > 0) && (letter2 < 0x100))
|
||||
letter = letter2;
|
||||
else
|
||||
return(0);
|
||||
@@ -787,7 +787,7 @@ static int IsLetter(Translator *tr, int letter, int group)
|
||||
return(tr->letter_bits[remove_accent[letter-0xc0]] & (1L << group));
|
||||
}
|
||||
|
||||
if((letter >= 0) && (letter < 0x80))
|
||||
if((letter >= 0) && (letter < 0x100))
|
||||
return(tr->letter_bits[letter] & (1L << group));
|
||||
|
||||
return(0);
|
||||
|
||||
+1
-1
@@ -35,7 +35,7 @@
|
||||
#include "translate.h"
|
||||
#include "wave.h"
|
||||
|
||||
const char *version_string = "1.45.48 16.Nov.11";
|
||||
const char *version_string = "1.45.49 18.Nov.11";
|
||||
const int version_phdata = 0x014500;
|
||||
|
||||
int option_device_number = -1;
|
||||
|
||||
+18
-3
@@ -424,8 +424,16 @@ Translator *SelectTranslator(const char *name)
|
||||
break;
|
||||
|
||||
case L('b','o'): // Tibet
|
||||
SetLetterBitsRange(tr,LETTERGP_A,0x71,0x7d); // vowel signs
|
||||
tr->letter_bits_offset = OFFSET_TIBET;
|
||||
{
|
||||
tr->langopts.stress_rule = STRESSPOSN_1L;
|
||||
tr->letter_bits_offset = OFFSET_TIBET;
|
||||
SetLetterBitsRange(tr,LETTERGP_A,0x71,0x7d); // vowel signs
|
||||
SetLetterBitsRange(tr,LETTERGP_B,0x71,0x81); // vowel signs and subjoined letters
|
||||
SetLetterBitsRange(tr,LETTERGP_B,0x90,0xbc);
|
||||
SetLetterBitsRange(tr,LETTERGP_C,0x40,0x6c); // consonant letters (not subjoined)
|
||||
tr->langopts.param[LOPT_UNPRONOUNCABLE] = 1; // disable check for unpronouncable words
|
||||
tr->langopts.numbers = 1;
|
||||
}
|
||||
break;
|
||||
|
||||
case L('c','y'): // Welsh
|
||||
@@ -584,7 +592,7 @@ Translator *SelectTranslator(const char *name)
|
||||
case L('c','a'): // Catalan
|
||||
case L_pap: // Papiamento
|
||||
{
|
||||
static const short stress_lengths_es[8] = {180, 190, 230, 190, 0, 0, 230, 260};
|
||||
static const short stress_lengths_es[8] = {180, 190, 230, 180, 0, 0, 240, 270};
|
||||
static const unsigned char stress_amps_es[8] = {16,12, 18,18, 20,20, 20,20 }; // 'diminished' is used to mark a quieter, final unstressed syllable
|
||||
static const wchar_t ca_punct_within_word[] = {'\'',0xb7,0}; // ca: allow middle-dot within word
|
||||
|
||||
@@ -1281,6 +1289,13 @@ SetLengthMods(tr,3); // all equal
|
||||
}
|
||||
break;
|
||||
|
||||
case L('u','k'): // Ukrainian
|
||||
{
|
||||
SetCyrillicLetters(tr);
|
||||
tr->langopts.param[LOPT_UNPRONOUNCABLE] = 0x432; // [v] don't count this character at start of word
|
||||
}
|
||||
break;
|
||||
|
||||
case L('u','r'): // Urdu
|
||||
tr->letter_bits_offset = OFFSET_ARABIC;
|
||||
tr->langopts.param[LOPT_UNPRONOUNCABLE] = 1; // disable check for unpronouncable words
|
||||
|
||||
@@ -401,6 +401,9 @@ int IsAlpha(unsigned int c)
|
||||
if((c >= 0x780) && (c <= 0x7b1))
|
||||
return(1); // taani/divehi (maldives)
|
||||
|
||||
if((c >= 0xf40) && (c <= 0xfbc))
|
||||
return(1); // tibetan
|
||||
|
||||
if((c >= 0x1100) && (c <= 0x11ff))
|
||||
return(1); //Korean jamo
|
||||
|
||||
|
||||
Reference in New Issue
Block a user