This commit is contained in:
Reece Dunn
2011-11-23 21:31:16 +00:00
parent f8cab9250f
commit fa131df13e
28 changed files with 3308 additions and 2558 deletions
+2 -1
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
+3
View File
@@ -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