mirror of
https://github.com/rhasspy/espeak-ng.git
synced 2026-11-07 07:23:52 +00:00
Merge branch 'development'
This commit is contained in:
+10
-3
@@ -1178,7 +1178,14 @@ int TranslateRoman(Translator *tr, char *word, char *ph_out, WORD_TAB *wtab)
|
||||
return(0); // not '2xx'
|
||||
|
||||
if(word[1] == ' ')
|
||||
return(0); // only one letter, don't speak as a Roman Number
|
||||
{
|
||||
if((tr->langopts.numbers & (NUM_ROMAN_CAPITALS | NUM_ROMAN_ORDINAL | NUM_ORDINAL_DOT)) && (wtab[0].flags & FLAG_HAS_DOT))
|
||||
{
|
||||
// allow single letter Roman ordinal followed by dot.
|
||||
}
|
||||
else
|
||||
return(0); // only one letter, don't speak as a Roman Number
|
||||
}
|
||||
|
||||
word_start = word;
|
||||
while((c = *word++) != ' ')
|
||||
@@ -1972,9 +1979,9 @@ static int LookupNum3(Translator *tr, int value, char *ph_out, int suppress_null
|
||||
x |= 0x208; // use #f form for both tens and units
|
||||
}
|
||||
|
||||
if(tr->langopts.numbers2 & NUM2_ZERO_TENS)
|
||||
if((tr->langopts.numbers2 & NUM2_ZERO_TENS) && ((control & 1) || (hundreds > 0)))
|
||||
{
|
||||
// LANG=zh
|
||||
// LANG=zh,
|
||||
x |= 0x10;
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -35,7 +35,7 @@
|
||||
#include "translate.h"
|
||||
#include "wave.h"
|
||||
|
||||
const char *version_string = "1.48.14 01.Apr.15";
|
||||
const char *version_string = "1.48.15 16.Apr.15";
|
||||
const int version_phdata = 0x014801;
|
||||
|
||||
int option_device_number = -1;
|
||||
|
||||
@@ -563,6 +563,13 @@ Translator *SelectTranslator(const char *name)
|
||||
|
||||
tr->langopts.numbers = NUM_SWAP_TENS;
|
||||
tr->langopts.break_numbers = 0x24924aa8; // for languages which have numbers for 100,000 and 100,00,000, eg Hindi
|
||||
|
||||
if(name2 == L_mni)
|
||||
{
|
||||
tr->langopts.numbers = 1;
|
||||
tr->langopts.numbers2 = NUM2_SWAP_THOUSANDS;
|
||||
}
|
||||
|
||||
}
|
||||
break;
|
||||
|
||||
|
||||
@@ -518,6 +518,7 @@ typedef struct {
|
||||
#define NUM2_THOUSANDS_VAR4 0x100
|
||||
#define NUM2_THOUSANDS_VAR5 0x140
|
||||
|
||||
#define NUM2_SWAP_THOUSANDS 0x200
|
||||
#define NUM2_ORDINAL_NO_AND 0x800
|
||||
#define NUM2_MULTIPLE_ORDINAL 0x1000
|
||||
#define NUM2_NO_TEEN_ORDINALS 0x2000
|
||||
|
||||
+2
-2
@@ -1,5 +1,5 @@
|
||||
/***************************************************************************
|
||||
* Copyright (C) 2005 to 2014 by Jonathan Duddington *
|
||||
* Copyright (C) 2005 to 2015 by Jonathan Duddington *
|
||||
* email: jonsd@users.sourceforge.net *
|
||||
* *
|
||||
* This program is free software; you can redistribute it and/or modify *
|
||||
@@ -874,7 +874,7 @@ voice_t *LoadVoice(const char *vname, int control)
|
||||
else
|
||||
{
|
||||
if((key==V_NUMBERS) && (n < 64))
|
||||
langopts->numbers |= (1 << (n-32));
|
||||
langopts->numbers2 |= (1 << (n-32));
|
||||
else
|
||||
fprintf(stderr,"Bad option number %d\n", n);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user