Merge branch 'development'

This commit is contained in:
Reece H. Dunn
2015-04-16 13:58:29 +01:00
27 changed files with 1472 additions and 1172 deletions
+10 -3
View File
@@ -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
View File
@@ -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;
+7
View File
@@ -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;
+1
View File
@@ -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
View File
@@ -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);
}