mirror of
https://github.com/rhasspy/espeak-ng.git
synced 2026-11-03 14:17:12 +00:00
[1.46.01]
Improve error detection in *_list files. Lang=hu, remove feature to unstress the second of two capitalized words at end of clause. git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@277 d46cf337-b52f-0410-862d-fd96e6ae7743
This commit is contained in:
+25
-3
@@ -60,9 +60,11 @@
|
||||
#define OFFSET_KANNADA 0xc80
|
||||
#define OFFSET_MALAYALAM 0xd00
|
||||
#define OFFSET_SINHALA 0x0d80
|
||||
#define OFFSET_TIBET 0x0f00
|
||||
#define OFFSET_GEORGIAN 0x1080
|
||||
|
||||
#define OFFSET_KOREAN 0x1100
|
||||
#define OFFSET_ETHIOPIC 0x1200
|
||||
|
||||
|
||||
static void Translator_Russian(Translator *tr);
|
||||
|
||||
@@ -375,6 +377,7 @@ Translator *SelectTranslator(const char *name)
|
||||
case L('a','m'): // Amharic, Ethiopia
|
||||
{
|
||||
SetupTranslator(tr,stress_lengths_fr,stress_amps_fr);
|
||||
tr->letter_bits_offset = OFFSET_ETHIOPIC;
|
||||
tr->langopts.stress_rule = STRESSPOSN_1L;
|
||||
tr->langopts.stress_flags = 0x0024; // don't use secondary stress
|
||||
tr->langopts.length_mods0 = tr->langopts.length_mods; // don't lengthen vowels in the last syllable
|
||||
@@ -422,6 +425,19 @@ Translator *SelectTranslator(const char *name)
|
||||
}
|
||||
break;
|
||||
|
||||
case L('b','o'): // 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
|
||||
{
|
||||
static const short stress_lengths_cy[8] = {170,220, 180,180, 0, 0, 250,270};
|
||||
@@ -578,8 +594,7 @@ Translator *SelectTranslator(const char *name)
|
||||
case L('c','a'): // Catalan
|
||||
case L_pap: // Papiamento
|
||||
{
|
||||
static const short stress_lengths_es[8] = {180, 210, 190, 190, 0, 0, 230, 260};
|
||||
// static const short stress_lengths_es[8] = {170, 200, 180, 180, 0, 0, 220, 250};
|
||||
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
|
||||
|
||||
@@ -1276,6 +1291,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
|
||||
|
||||
Reference in New Issue
Block a user