diff --git a/dictsource/ru_list b/dictsource/ru_list index 8e7d8a83..00391980 100644 --- a/dictsource/ru_list +++ b/dictsource/ru_list @@ -18,7 +18,7 @@ _2 dv'A _3 t;r'i _4 ts;It'yr;I _5 p;'jat; -_6 s.'Es;t; +_6 S'Es;t; _7 s;'em _8 v'os;E2m _9 d;'ev;It; @@ -28,7 +28,7 @@ _12 dv;In'AttsVt; _13 tr;In'AttsVt; _14 ts;It'y@-*nVttsVt; _15 p;Itn'AttsVt; -_16 s.E#stn'AttsVt; +_16 SE#stn'AttsVt; _17 s;Imn'AttsVt; _18 vOs;Imn'AttsVt; _19 d;E2v;Itn'AttsVt; @@ -36,7 +36,7 @@ _2X dv'AttsVt; _3X tr;'ittsVt; _4X s'o@-*Ok _5X p;Id;d;Is;'jat -_6X s.E2z;d;d;Is;'jat +_6X SE2z;d;d;Is;'jat _7X s;'emd;E2s;It _8X v'os;E2md;E2s;It _9X d;E2v;In'ostO @@ -45,7 +45,7 @@ _2C dv;'es;t;I _3C tr;'ista _4C ts;It'yr;E2sta _5C p;,It;s'ot -_6C s.,E#s;t;s'ot +_6C S,E#s;t;s'ot _7C s;,Ims'ot _8C vOs;Ims'ot _9C d;E2v;It;s'ot @@ -82,7 +82,7 @@ _dpt2 _d;Is;'atYx // end of decimal fraction // questions -что s.to $u $pause // what, that +что Sto $u $pause // what, that // misc. diff --git a/dictsource/ru_rules b/dictsource/ru_rules index f6f430f3..5b2affab 100755 --- a/dictsource/ru_rules +++ b/dictsource/ru_rules @@ -177,25 +177,25 @@ .group ж - _) ж (_ z.E - ж (кY s. - ж (кь s. - ж (пY s. - ж (пь s. - ж (сь s. - ж (сY s. - ж (ть s. - ж (тY s. - ж (фь s. - ж (фY s. - ж (ффь s. - ж (ффY s. - ж (хь s. - ж (хY s. - ж (хкY s. - ж (хкь s. + _) ж (_ ZE + ж (кY S + ж (кь S + ж (пY S + ж (пь S + ж (сь S + ж (сY S + ж (ть S + ж (тY S + ж (фь S + ж (фY S + ж (ффь S + ж (ффY S + ж (хь S + ж (хY S + ж (хкY S + ж (хкь S - ж z. + ж Z .group з _) з (_ zE @@ -243,8 +243,8 @@ з (сь s; з (сY s; - з (ж z. - з (ш s. + з (ж Z + з (ш S з (щ s;s; з (ч s;s; з z @@ -285,7 +285,6 @@ .group л _) л (_ El^ -// л (_ l^ // rule removed л (Y l^ л l @@ -308,21 +307,21 @@ .group н _) н (_ En - н (ь n; + н (ь n^ н (Y n; - н (B n; - н (дь n; - н (дY n; - н (дB n; - н (ть n; - н (тY n; - н (зь n; - н (зY n; - н (сь n; - н (сY n; - н (нь n; - н (нY n; - н (нB n; + н (B n^ + н (дь n^ + н (дY n^ + н (дB n^ + н (ть n^ + н (тY n^ + н (зь n^ + н (зY n^ + н (сь n^ + н (сY n^ + н (нь n^ + н (нY n^ + н (нB n^ н n @@ -330,10 +329,8 @@ .group о о o о (B oj - о (Cь oj о (FY oj - .group п _) п (_ pE п (б b @@ -400,10 +397,10 @@ с (дY z; с (дB z; - с (ж z. - с (ш s. - с (щ s; - с (ч s; + с (ж Z + с (ш S + с (щ s;s; + с (ч s;s; с s @@ -434,7 +431,7 @@ т (ж d - т t + т t .group у _) у (_ u @@ -550,27 +547,27 @@ .group ш - _) ш (_ s.A - ш (б z. - ш (бь z. - ш (бY z. - ш (бмь z. - ш (бмY z. - ш (бвь z. - ш (бвY z. - ш (г z. - ш (гь z. - ш (гY z. - ш (д z. - ш (дь z. - ш (дY z. - ш (дB z. - ш (ж z. - ш (з z. - ш (зь z. - ш (зY z. + _) ш (_ SA + ш (б Z + ш (бь Z + ш (бY Z + ш (бмь Z + ш (бмY Z + ш (бвь Z + ш (бвY Z + ш (г Z + ш (гь Z + ш (гY Z + ш (д Z + ш (дь Z + ш (дY Z + ш (дB Z + ш (ж Z + ш (з Z + ш (зь Z + ш (зY Z - ш s. + ш S .group щ _) щ (_ S;ja diff --git a/phsource/compile_report b/phsource/compile_report index c5110806..acd57941 100644 --- a/phsource/compile_report +++ b/phsource/compile_report @@ -18,7 +18,7 @@ hu 24 109 nl 25 112 pl 17 103 - sk 22 118 + sk 23 118 cs 7 119 hr 16 122 ru 36 120 @@ -248,15 +248,15 @@ 7 ustop/p_unasp base fi hi hu hr it ro 6 ustop/p_unasp_ fi hi hu hr it ro 2 ustop/t base hi - 4 ustop/t_ base hi el + 5 ustop/t_ base hi sk el 26 ustop/t_dnt base fi fr hi hu pl hr ru it ro vi sw 2 ustop/t_dnt2 hi vi 4 ustop/t_pzd pl ru - 7 ustop/tr base hi ru el + 9 ustop/tr base hi sk ru el 8 ustop/ts de eo hu pl ru it ro zh_yue 2 ustop/tsh base zh_yue 2 ustop/tsh_ base zh_yue - 2 ustop/t_short hi el + 3 ustop/t_short hi sk el 8 ustop/ts_pzd base hi ru 2 ustop/ts_pzd_ hi hu 2 ustop/ts_pzd2 hi hu diff --git a/phsource/ph_slovak b/phsource/ph_slovak index d25e10d2..b304ae67 100644 --- a/phsource/ph_slovak +++ b/phsource/ph_slovak @@ -138,4 +138,16 @@ phoneme w after _ w/w2 endphoneme +phoneme t + vls alv stop + vowelin f1=0 f2=1700 -300 300 f3=-100 80 + vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20 + lengthmod 2 + wave ustop/t_short + before _ ustop/t_ + before r ustop/tr + before R ustop/tr + switchvoicing d +endphoneme + diff --git a/phsource/phonemes b/phsource/phonemes index 2f1f2a76..750ecff2 100644 --- a/phsource/phonemes +++ b/phsource/phonemes @@ -383,7 +383,8 @@ phoneme R liquid vowelin f1=0 f2=1700 -300 300 f3=-300 80 vowelout f1=2 f2=1700 -300 300 f3=-300 80 brk - formants r3/r_trill+r3/r_trill.wav%60 + formants r3/r_trill+r3/r_trill.wav%45 + trill lengthmod 6 endphoneme @@ -1028,7 +1029,7 @@ phoneme s. vowelout f1=0 f2=1800 -100 300 f3=-300 80 length 100 lengthmod 3 - wave ufric/sh_rfx%80 + wave ufric/sh_rfx%90 before _ ufric/sh_rfx%60 switchvoicing z. endphoneme diff --git a/phsource/r3/r_trill b/phsource/r3/r_trill index cc9efda4..45211f84 100644 Binary files a/phsource/r3/r_trill and b/phsource/r3/r_trill differ diff --git a/phsource/r3/r_trill.wav b/phsource/r3/r_trill.wav index 6fa3ac82..f6b228b2 100644 Binary files a/phsource/r3/r_trill.wav and b/phsource/r3/r_trill.wav differ diff --git a/src/compiledata.cpp b/src/compiledata.cpp index 02e85a68..9d7e84d5 100755 --- a/src/compiledata.cpp +++ b/src/compiledata.cpp @@ -1997,8 +1997,8 @@ memset(markers_used,0,sizeof(markers_used)); } // write a word so that further data doesn't start at displ=0 - fwrite(&version_phdata,4,1,f_phdata); - fwrite(&version_phdata,4,1,f_phindex); + Write4Bytes(f_phdata,version_phdata); + Write4Bytes(f_phindex,version_phdata); memset(ref_hash_tab,0,sizeof(ref_hash_tab)); diff --git a/src/dictionary.cpp b/src/dictionary.cpp index 40ee9398..8c7d7408 100755 --- a/src/dictionary.cpp +++ b/src/dictionary.cpp @@ -1097,7 +1097,16 @@ void Translator::SetWordStress(char *output, unsigned int dictionary_flags, int stress = 3; - if((langopts.stress_flags & 0x1000) && (vowel_stress[1] == 0)) + if((langopts.stress_flags & 0x1000) && (vowel_count == 2)) + { + // Two syllable word, if one syllable has primary stress, then give the other secondary stress + if(vowel_stress[1] == 4) + vowel_stress[2] = 3; + if(vowel_stress[2] == 4) + vowel_stress[1] = 3; + } +#if deleted + if((langopts.stress_flags & 0x2000) && (vowel_stress[1] == 0)) { // If there is only one syllable before the primary stress, give it a secondary stress if((vowel_count > 2) && (vowel_stress[2] >= 4)) @@ -1105,6 +1114,7 @@ void Translator::SetWordStress(char *output, unsigned int dictionary_flags, int vowel_stress[1] = 3; } } +#endif for(v=1; v