| @@ -107,57 +107,67 @@ _1M2 un||mil^'on | |||
| _0M4 bil^'ons | |||
| _1M4 un||bil^'on | |||
| _0and i | |||
| _0and %i | |||
| _dpt kon | |||
| // ordinal numbers | |||
| _#º 'eno | |||
| _#ª 'ena | |||
| _#º o | |||
| _#ª a | |||
| //_ord eno | |||
| _1o un | |||
| 1o prim'Er | |||
| _2o dos | |||
| 2o seQ'und | |||
| _3o tres | |||
| 3o tErT'Er | |||
| _4o kwatr | |||
| _5o Tink | |||
| _6o seIs | |||
| _7o sEt | |||
| _8o gwit | |||
| _9o n'U | |||
| _10o DET | |||
| _11o onT | |||
| _12o DoT | |||
| _13o tReT | |||
| _14o katorT | |||
| _15o kinT | |||
| _16o sET | |||
| _1ox prim'Er | |||
| _2ox seQ'und | |||
| _3ox tErT'Er | |||
| _1o un'en | |||
| _2o dos'en | |||
| _3o tres'en | |||
| _4o kwatr'en | |||
| _5o Tink'en | |||
| _6o seIs'en | |||
| _7o sEt'en | |||
| _8o gwit'en | |||
| _9o nU'en | |||
| _11o onT'en | |||
| _12o DoT'en | |||
| _13o tReT'en | |||
| _14o katorT'en | |||
| _15o kinT'en | |||
| _16o sET'en | |||
| _10o DET'en | |||
| _20o Bint'en | |||
| _30o trent'en | |||
| _40o kwarant'en | |||
| _50o Tinkwant'en | |||
| _60o siSant'en | |||
| _70o sEtant'en | |||
| _80o gwitant'en | |||
| _90o noBant'en | |||
| _1Xo DeTi | |||
| _20o Bint | |||
| _2Xo Binti | |||
| _30o trent | |||
| _3Xo trentaI | |||
| _40o kwarant | |||
| _4Xo kwarantaI | |||
| _50o Tinkwant | |||
| _5Xo TinkwantaI | |||
| _60o siSant | |||
| _6Xo siSantaI | |||
| _70o sEtant | |||
| _7Xo sEtantaI | |||
| _80o gwitant | |||
| _8Xo gwitantaI | |||
| _90o noBant | |||
| _9Xo noBantaI | |||
| _0Co TEnt | |||
| _1Co TEnt | |||
| _0M1o mil | |||
| _1M1 mil | |||
| _0M2o mil^on | |||
| _1M2o mil^on | |||
| _1Co TEnt'en | |||
| _2Co dosTEnt'en | |||
| _3Co tresTEnt'en | |||
| _4Co kw,atroTEnt'en | |||
| _5Co T,inkoTEnt'en | |||
| _6Co seIsTEnt'en | |||
| _7Co sjEtTEnt'en | |||
| _8Co gw,eItoTEnt'en | |||
| _9Co nweUTEnt'en | |||
| _0M1o mil'en | |||
| _1M1 mil'en | |||
| _0M2o mil^on'en | |||
| _1M2o mil^on'en | |||
| // unstressed words | |||
| @@ -4,13 +4,17 @@ | |||
| // words of one letter | |||
| в $combine | |||
| а $u $combine | |||
| а $u $combine | |||
| е $u | |||
| й i $u | |||
| й i $u | |||
| и $u $pause | |||
| у $u $combine | |||
| с $combine | |||
| г god'ina $hasdot | |||
| у $u $combine | |||
| с $combine | |||
| г god'ina $hasdot | |||
| (а в) %av | |||
| (а с) %as | |||
| // letter names | |||
| б b@ | |||
| @@ -5864,7 +5864,7 @@ | |||
| _) zs (Y z | |||
| _) z (wY z | |||
| n) z (_ ts | |||
| n) z (_N ts | |||
| @) zales (_ z'A:l@s | |||
| zei zaI | |||
| zes (_ zI2z | |||
| @@ -195,12 +195,7 @@ _dpt _d@s@ml'o:_ // ?? what is Hi for "." ? | |||
| ॐ #X1o~m | |||
| _?? Vks.@r | |||
| _a ej | |||
| _b bi: | |||
| _c si: | |||
| _d di: | |||
| _e i: | |||
| _f Ef | |||
| // Punctuation | |||
| । dVn.d.V | |||
| @@ -26,7 +26,7 @@ p pi: | |||
| q kju: | |||
| r a:r | |||
| s Es | |||
| t thi: | |||
| t t#i: | |||
| u ju: | |||
| v vi: | |||
| w dabalju: | |||
| @@ -63,7 +63,7 @@ p pi: | |||
| q kju: | |||
| r a:R | |||
| s Es | |||
| t ti: | |||
| t t#i: | |||
| u ju: | |||
| v vi: | |||
| w dVbVlju: | |||
| @@ -734,6 +734,7 @@ comodo $alt2 | |||
| concerto $alt2 $noun | |||
| concordo $alt | |||
| conforto $alt $verb | |||
| congelo $alt | |||
| consolo $alt2 $noun | |||
| controle $alt2 $noun | |||
| controlo $alt2 $noun | |||
| @@ -861,7 +862,6 @@ hemorroida $alt | |||
| hoje $alt2 | |||
| horrores $alt2 | |||
| ideia $alt | |||
| insonoro $alt | |||
| interesse $alt2 $noun | |||
| jogo $alt2 $noun | |||
| joguete $alt2 | |||
| @@ -993,6 +993,7 @@ selvagem seUv'aZeIN | |||
| sexteto $alt2 | |||
| ?1 senhora $alt2 | |||
| senhores $alt2 | |||
| singelo $alt | |||
| sinopse $alt | |||
| soco $alt2 | |||
| soco $alt $verb | |||
| @@ -1030,6 +1031,7 @@ trombeta $alt2 | |||
| tumores $alt2 | |||
| valeta $alt2 | |||
| vanessa $alt2 | |||
| velo $alt | |||
| velozes $alt | |||
| verme $alt | |||
| violeta $alt2 | |||
| @@ -359,12 +359,11 @@ | |||
| _perd) e (L05_ e | |||
| _quis) e (L05_ E | |||
| _soub) e (L05_ E | |||
| proteg) e (L05_ e // des- | |||
| diss) e (L06_ E / contra- | |||
| diss) e (L06_ E // contra- | |||
| tend) e (L06_ e // a- con- en- es- | |||
| vend) e (L06_ e // re- | |||
| _mord) e (L06_ e | |||
| _rend) e (L06_ e | |||
| _vend) e (L06_ e | |||
| prend) e (L06_ e // a- rea- des- desa- | |||
| _arrepend) e (L06_ e | |||
| _defend) e (L06_ e | |||
| @@ -373,7 +372,7 @@ _escond) e (L06_ e | |||
| preend) e (L06_ e // com- a- re- sur- | |||
| respond) e (L06_ e // cor- | |||
| bat) e (L07_ e // re- com- | |||
| ceb) e (L07_ e / re- per- con- | |||
| ceb) e (L07_ e // re- per- con- | |||
| ced) e (L07_ e // pro- con- su- | |||
| met) e (L07_ e // co- pro- arre- re- intro- compro- sub- | |||
| mov) e (L07_ e // re- co- | |||
| @@ -388,6 +387,7 @@ respond) e (L06_ e // cor- | |||
| tend) e (L07_ e // en- con- a- es- | |||
| torc) e (L07_ e // con- | |||
| venc) e (L07_ e // con- | |||
| vend) e (L07_ e // re- | |||
| vert) e (L07_ e // in- re- con- | |||
| volv) e (L07_ e // de- en- re- | |||
| _eleg) e (L07_ e | |||
| @@ -401,7 +401,6 @@ respond) e (L06_ e // cor- | |||
| parec) e (L07_ e // a- rea- com- desa- | |||
| prend) e (L07_ e // a- rea- des- | |||
| screv) e (L07_ e // e- in- ree- pre- de- | |||
| _abastec) e (L07_ e | |||
| _aborrec) e (L07_ e | |||
| _absolv) e (L07_ e | |||
| _adoec) e (L07_ e | |||
| @@ -434,6 +433,7 @@ _perec) e (L07_ e | |||
| _rejuvenec) e (L07_ e | |||
| _resolv) e (L07_ e | |||
| _suspend) e (L07_ e | |||
| abastec) e (L07_ e // re- | |||
| conhec) e (L07_ e // & re- des- | |||
| estabelec) e (L07_ e // re- | |||
| favorec) e (L07_ e // des- | |||
| @@ -458,10 +458,12 @@ respond) e (L07_ e // cor- | |||
| _sev) e (rL03_ E | |||
| _reit) e (rL03_ E | |||
| _sinc) e (rL03_ E | |||
| g) e (rL04_ E // su- refri- | |||
| _g) e (rL04_ E | |||
| qu) e (rL04_ E // re- | |||
| _op) e (rL04_ E | |||
| gen) e (rL04_ E // de- re- | |||
| _alt) e (rL04_ E | |||
| _sug) e (rL04_ E | |||
| _sup) e (rL04_ E | |||
| _tol) e (rL04_ E | |||
| _ven) e (rL04_ E | |||
| @@ -469,6 +471,7 @@ respond) e (L07_ e // cor- | |||
| _coop) e (rL04_ E | |||
| _temp) e (rL04_ E | |||
| _recup) e (rL04_ E | |||
| _refrig) e (rL04_ E | |||
| _v) e (rbL03_ E | |||
| _p) e (rdL02_ E | |||
| _l) e (rdL03_ E | |||
| @@ -503,11 +506,13 @@ _obsol) e (tL03_ e | |||
| scr) e (vL03_ e // e- in- pre- ree- de- | |||
| _atr) e (vL03_ e | |||
| _r) e (zL04_ E | |||
| pr) e (zL04_ E / des- menos- | |||
| _pr) e (zL04_ E | |||
| _despr) e (zL04_ E | |||
| _embel) e (zL04_ E | |||
| _menospr) e (zL04_ E | |||
| _emagr) e (çL03 | |||
| pr) e (çL03_ e // a- | |||
| aqu) e (çL03_ e / re- | |||
| aqu) e (çL03_ e // re- | |||
| mer) e (çL03_ e // des- | |||
| pad) e (çL03_ e // com- | |||
| par) e (çL03_ e // a- re- com- rea- desa- | |||
| @@ -859,6 +864,10 @@ _desabr) o (chL04_ O | |||
| _ens) o (pL04_ O | |||
| _s) o (prL04_ O | |||
| _) o (ptL04_ O | |||
| _inod) o (rL03_ O | |||
| _inson) o (rL03_ O | |||
| _comem) o (rL04 O | |||
| _remem) o (rL04_ O | |||
| _enf) o (rquL02_ O | |||
| c) o (rrL01_ o // escorra, incorra, corra, recorra | |||
| _m) o (rrL01_ o | |||
| @@ -68,7 +68,7 @@ p pi: | |||
| q kju: | |||
| r a:R | |||
| s Es | |||
| t thi: | |||
| t t#i: | |||
| u ju: | |||
| v vi: | |||
| w dVbVlju: | |||
| @@ -950,6 +950,7 @@ _துப்பாக்கி) க்க (ுண்ட gg | |||
| _ப) சக் tSVk | |||
| _) ச (க்கரவர்த்தி tSV | |||
| _) ச (க்கிலி tSV | |||
| _) சக் (ரவர்த்தி tSVk | |||
| _க) ச (க்ஸ்தான zV | |||
| சங்க (ர s.VNkV | |||
| _) ச (ட்டL08ஸ்கர tSV | |||
| @@ -1057,6 +1058,7 @@ _தணிகா) ச (ல tSV | |||
| _வரதா) ச (ாரி tS | |||
| _வேதா) ச (ாரி tS | |||
| _கிருஷ்ணமா) ச (ாரி tS | |||
| _கோபால) ச (ாரி tS | |||
| _சங்கரா) ச (ாரி tS | |||
| _தேசிகா) ச (ாரி tS | |||
| _பட்டா) ச (ாரி tS | |||
| @@ -1064,6 +1066,7 @@ _பிரம்ம) ச (ாரி tS | |||
| _மத்வா) ச (ாரி tS | |||
| அனந்தா) ச (ாரி tS | |||
| அன்னமா) ச (ாரி tS | |||
| ராஜகோபால) ச (ாரி tS | |||
| ராமானுஜா) ச (ாரி tS | |||
| ஆ) ச (ாரிய_ tS | |||
| ஆ) ச (ாரியார tS | |||
| @@ -2601,6 +2604,10 @@ _டீயும்_) ப (ன்னும்_ bV | |||
| _) ப (ாகீரதி b | |||
| _) ப (ாக்கிக் b | |||
| _) ப (ாக்கிய b | |||
| _) ப (ாக்டரி_ f | |||
| _) ப (ாக்டரியா b | |||
| _) ப (ாக்டரியி f | |||
| _) ப (ாக்டரியை f | |||
| _) பாக்ட (ீரியா ba:kt. | |||
| _) பாக்த (ாத ba:gd | |||
| _) ப (ாக்ய b | |||
| @@ -2947,6 +2954,7 @@ _விளையாடு_) ப (ாம்பே p | |||
| _) பி (ராதித் p | |||
| _) பி (ராத்தல b | |||
| _) பி (ராந்தி_ b | |||
| _) பி (ராந்திய_ p | |||
| _) பி (ராந்தியங் p | |||
| _) பி (ராந்தியத் p | |||
| _) பி (ராந்தியம்_ p | |||
| @@ -2986,8 +2994,10 @@ _விளையாடு_) ப (ாம்பே p | |||
| _) பி (ரித்தானி b | |||
| _) பிரின்சிப (ால prinsip | |||
| _) பி (ரிமிய p | |||
| _) பி (ரியங்கள p | |||
| _) பிரியங்க (ா prijVNk | |||
| _) பி (ரியதர p | |||
| _) பி (ரியத்த p | |||
| _) பி (ரியன p | |||
| _) பி (ரியப்பட p | |||
| _) பி (ரியம p | |||
| @@ -24,7 +24,7 @@ p pi: | |||
| q kju: | |||
| r a:r | |||
| s Es | |||
| t thi: | |||
| t t#i: | |||
| u ju: | |||
| v vi: | |||
| w dVbVlju: | |||
| @@ -77,7 +77,7 @@ ỵ ỵ | |||
| //================================ | |||
| // Consonants | |||
| //================================ | |||
| .L01 t c ne nd k x s nt ch th me te le ce ny ry e o u re nch de p pe ph sh v ve | |||
| .L01 t c ne nd k x s nt ch th me te le ce ny ry e o u re nch de p pe ph sh v ve ge | |||
| .L02 n | |||
| @@ -460,7 +460,7 @@ ỵ ỵ | |||
| .group i | |||
| i i | |||
| i (A j | |||
| //i (A j | |||
| ia i@ | |||
| ià i@2 | |||
| iá i@3 | |||
| @@ -822,7 +822,7 @@ ỵ ỵ | |||
| .group y | |||
| y i | |||
| y (A j | |||
| // y (A j | |||
| ya i@ | |||
| yà i@2 | |||
| yá i@3 | |||
| @@ -837,7 +837,7 @@ ỵ ỵ | |||
| yệ i@6 | |||
| // yêu i@U | |||
| y (L01 _^_EN | |||
| .group ỳ | |||
| ỳ i2 | |||
| @@ -745,6 +745,7 @@ static void CompileReport(void) | |||
| REF_HASH_TAB **list; | |||
| const char *data_path; | |||
| int prev_table; | |||
| int procedure_num; | |||
| int prev_mnemonic; | |||
| if(f_report == NULL) | |||
| @@ -802,7 +803,17 @@ static void CompileReport(void) | |||
| j++; | |||
| } | |||
| fprintf(f_report," [%s] %s",WordToString(prev_mnemonic = list[ix]->ph_mnemonic), phoneme_tab_list2[prev_table = list[ix]->ph_table].name); | |||
| prev_mnemonic = list[ix]->ph_mnemonic; | |||
| if((prev_mnemonic >> 24) == 'P') | |||
| { | |||
| // a procedure, not a phoneme | |||
| procedure_num = atoi(WordToString(prev_mnemonic)); | |||
| fprintf(f_report," %s %s", phoneme_tab_list2[prev_table = list[ix]->ph_table].name, proc_names[procedure_num]); | |||
| } | |||
| else | |||
| { | |||
| fprintf(f_report," [%s] %s",WordToString(prev_mnemonic), phoneme_tab_list2[prev_table = list[ix]->ph_table].name); | |||
| } | |||
| fputc('\n',f_report); | |||
| } | |||
| @@ -1856,7 +1867,7 @@ static int LoadWavefile(FILE *f, const char *fname) | |||
| } | |||
| sprintf(command,"sox \"%s%s.wav\" -r %d -c1 -t wav %s\n",path_source,fname2,samplerate_native, fname_temp); | |||
| if(system(command) < 0) | |||
| if(system(command) != 0) | |||
| { | |||
| failed = 1; | |||
| } | |||
| @@ -2761,6 +2772,8 @@ int CompilePhoneme(int compile_phoneme) | |||
| } | |||
| strcpy(proc_names[n_procs], item_string); | |||
| phoneme_out = &phoneme_out2; | |||
| sprintf(number_buf,"%.3dP", n_procs); | |||
| phoneme_out->mnemonic = StringToWord(number_buf); | |||
| } | |||
| phoneme_out->code = phcode; | |||
| @@ -3498,10 +3511,11 @@ static void CompilePhonemeData2(const char *source) | |||
| make_envs(); | |||
| #endif | |||
| wxLogStatus(_T("Compiling phoneme data: ")+wxString(path_source,wxConvLocal)); | |||
| n_envelopes = 0; | |||
| error_count = 0; | |||
| resample_count = 0; | |||
| memset(markers_used,0,sizeof(markers_used)); | |||
| memset(markers_used,0,sizeof(markers_used)); | |||
| f_errors = stderr; | |||
| @@ -3668,7 +3682,7 @@ fprintf(f_errors,"\nRefs %d, Reused %d\n",count_references,duplicate_references | |||
| if(error_count > 0) | |||
| { | |||
| report += _T(" See file: 'phsource/error_log'."); | |||
| report += _T(" See file: '")+wxString(path_source,wxConvLocal)+_T("phsource/error_log'."); | |||
| wxLogError(report); | |||
| } | |||
| wxLogStatus(report + report_dict); | |||
| @@ -4138,7 +4152,11 @@ void CompilePhonemeData() | |||
| void CompileSampleRate() | |||
| { | |||
| long value; | |||
| value = wxGetNumberFromUser(_T("Compile phoneme data with a specified sample rate"), _T("Sample rate"), _T("Resample (needs sox)"), 22050, 5000, 48000); | |||
| #ifndef PLATFORM_POSIX | |||
| wxLogError(_T("Change Sample Rate needs the 'sox' program. It probably doesn't work on Windows")); | |||
| #endif | |||
| value = wxGetNumberFromUser(_T("Compile phoneme data with a specified sample rate"), _T("Sample rate"), _T("Resample (needs 'sox' program)"), 22050, 5000, 48000); | |||
| if(value > 1000) | |||
| { | |||
| @@ -91,8 +91,8 @@ wxMenuBar *MakeMenu(int type, const char *dict_name) | |||
| data_menu = new wxMenu; | |||
| data_menu->Append(MENU_COMPILE_DICT, _("Compile &dictionary")); | |||
| data_menu->Append(MENU_COMPILE_DICT_DEBUG, _("Compile dictionary (debu&g)")); | |||
| data_menu->Append(MENU_COMPILE_PH, _("Compile &phoneme data")); | |||
| data_menu->Append(MENU_COMPILE_PH2, _("Change sample &rate")); | |||
| data_menu->Append(MENU_COMPILE_PH, _("Compile &phoneme data 22050Hz")); | |||
| data_menu->Append(MENU_COMPILE_PH2, _("Compile at sample &rate")); | |||
| data_menu->AppendSeparator(); | |||
| data_menu->Append(MENU_COMPILE_MBROLA, _("Compile &mbrola phonemes list...")); | |||
| data_menu->Append(MENU_COMPILE_INTONATION, _("Compile &intonation data")); | |||
| @@ -35,7 +35,7 @@ | |||
| #include "translate.h" | |||
| #include "wave.h" | |||
| const char *version_string = "1.46.51 15.Mar.13"; | |||
| const char *version_string = "1.46.53 16.Mar.13"; | |||
| const int version_phdata = 0x014640; | |||
| int option_device_number = -1; | |||
| @@ -82,7 +82,7 @@ const char *WordToString(unsigned int word) | |||
| int ix; | |||
| static char buf[5]; | |||
| for(ix=0; ix<3; ix++) | |||
| for(ix=0; ix<4; ix++) | |||
| buf[ix] = word >> (ix*8); | |||
| buf[4] = 0; | |||
| return(buf); | |||
| @@ -455,6 +455,7 @@ Translator *SelectTranslator(const char *name) | |||
| static const short stress_lengths_sk[8] = {190,190, 210,210, 0,0, 210,210}; | |||
| static const short stress_lengths_ta[8] = {200, 200, 210, 210, 0, 0, 230, 230}; | |||
| static const short stress_lengths_ta2[8] = {230, 230, 240, 240, 0, 0, 260, 260}; | |||
| static const unsigned char stress_amps_ta[8] = {18,18, 18,18, 20,20, 22,22 }; | |||
| // convert name string into a word of up to 4 characters, for the switch() | |||
| @@ -731,6 +732,7 @@ Translator *SelectTranslator(const char *name) | |||
| if(name2 == L('a','n')) | |||
| { | |||
| tr->langopts.stress_flags = S_FINAL_SPANISH | S_FINAL_DIM_ONLY | S_FINAL_NO_2; | |||
| tr->langopts.numbers2 = 0; | |||
| } | |||
| else | |||
| if(name2 == L_pap) | |||
| @@ -1423,7 +1425,7 @@ SetLengthMods(tr,3); // all equal | |||
| case L('m','r'): // Marathi | |||
| case L('t','e'): // Telugu | |||
| { | |||
| SetupTranslator(tr,stress_lengths_ta,stress_amps_ta); | |||
| SetupTranslator(tr,stress_lengths_ta2, stress_amps_ta); | |||
| tr->langopts.length_mods0 = tr->langopts.length_mods; // don't lengthen vowels in the last syllable | |||
| tr->langopts.stress_rule = STRESSPOSN_1L; | |||
| @@ -1433,9 +1435,12 @@ SetLengthMods(tr,3); // all equal | |||
| if(name2 == L('t','a')) | |||
| { | |||
| SetupTranslator(tr,stress_lengths_ta, NULL); | |||
| tr->letter_bits_offset = OFFSET_TAMIL; | |||
| tr->langopts.numbers = NUM_OMIT_1_THOUSAND ; | |||
| tr->langopts.param[LOPT_WORD_MERGE] = 1; // don't break vowels betwen words | |||
| } | |||
| else | |||
| if(name2 == L('m','r')) | |||
| { | |||
| tr->letter_bits_offset = OFFSET_DEVANAGARI; | |||
| @@ -1458,9 +1463,8 @@ SetLengthMods(tr,3); // all equal | |||
| tr->letter_bits_offset = OFFSET_TELUGU; | |||
| tr->langopts.numbers = 0x1; | |||
| } | |||
| tr->langopts.param[LOPT_WORD_MERGE] = 1; // don't break vowels betwen words | |||
| SetIndicLetters(tr); // call this after setting OFFSET_ | |||
| SetLetterBitsRange(tr,LETTERGP_B,0x4e,0x4e); // chillu-virama (unofficial) | |||
| SetLetterBitsRange(tr,LETTERGP_B,0x4e,0x4e); // chillu-virama (unofficial) | |||
| } | |||
| break; | |||
| @@ -842,7 +842,7 @@ int TranslateWord(Translator *tr, char *word_start, int next_pause, WORD_TAB *wt | |||
| char prefix_chars[0x3f + 2]; | |||
| int found=0; | |||
| int end_flags; | |||
| char c_temp; // save a character byte while we temporarily replace it with space | |||
| int c_temp; // save a character byte while we temporarily replace it with space | |||
| int first_char; | |||
| int last_char = 0; | |||
| int add_plural_suffix = 0; | |||
| @@ -912,7 +912,9 @@ int TranslateWord(Translator *tr, char *word_start, int next_pause, WORD_TAB *wt | |||
| if((word_length == 1) && (wflags & FLAG_TRANSLATOR2)) | |||
| { | |||
| // retranslating a 1-character word using a different language, say its name | |||
| spell_word = 1; | |||
| utf8_in(&c_temp, wordx+1); // the next character | |||
| if(!IsAlpha(c_temp) || (AlphabetFromChar(last_char) != AlphabetFromChar(c_temp))) | |||
| spell_word = 1; | |||
| } | |||
| if(option_sayas == SAYAS_KEY) | |||
| @@ -1938,6 +1940,7 @@ static int TranslateWord2(Translator *tr, char *word, WORD_TAB *wtab, int pre_pa | |||
| if(ok) | |||
| { | |||
| *p2 = '-'; // replace next space by hyphen | |||
| wtab[0].flags &= ~FLAG_ALL_UPPER; // prevent it being considered an abbreviation | |||
| flags = TranslateWord(translator, word, next_pause, wtab, NULL); // translate the combined word | |||
| if((sylimit > 0) && (CountSyllables(p) > (sylimit & 0x1f))) | |||
| { | |||