diff --git a/dictsource/en_list b/dictsource/en_list index d40f4655..49f01297 100644 --- a/dictsource/en_list +++ b/dictsource/en_list @@ -1750,6 +1750,7 @@ hominem h0mInEm hooah h'u:'A: hopi hoUpi: horizontal $3 +(hors d'oeuvres) O@'d3:vz hospitable h0sp'It@b@L hostage h0stI2dZ hostess hoUstEs diff --git a/dictsource/hy_list b/dictsource/hy_list index 97a09844..6cd7405d 100644 --- a/dictsource/hy_list +++ b/dictsource/hy_list @@ -62,6 +62,11 @@ $ dolar + գումարած $text = հավասար $text +_- gits +_« tSak,ert#@||b'ats# +_» tSak,ert#@||p#'ak +_( p#akag,its@||b'ats# +_) p#akag,its@||p#'ak _՝ b'ut# _՞ harts#ak'an @@ -71,7 +76,7 @@ _: verdZak'et _, storak'et _. midZak'et _֊ jent#amn'a // hyphen -_՜ bats#akantSut#j'un +_՜ bats#akantSak'an _՟ pat'iw diff --git a/dictsource/hy_rules b/dictsource/hy_rules index 316ba232..1925687e 100644 --- a/dictsource/hy_rules +++ b/dictsource/hy_rules @@ -5,7 +5,7 @@ // ?1 West Armenian .L01 բ գ թ կ պ տ ք -.L02 ու այ իւ իյ ոյ ա ե ը ի ո օ // vowel sounds +.L02 ու այ իւ իյ ոյ ա ե ը ի ո օ ույ // vowel sounds // ligature .replace @@ -14,8 +14,8 @@ .group ա ա a - այ (K aI - այ (_ a + այ aI +?1 այ (_ a .group բ բ b @@ -43,7 +43,7 @@ .group է է e էօ W - էյ (K eI + էյ eI .group ը ը @ @@ -122,7 +122,7 @@ ու (A v ոյ uj // ?? uj or uy A) ոյ oj // ?? oj or oy - ոյ (_ o +?1 ոյ (_ o .group չ չ tS @@ -139,6 +139,7 @@ .group ռ ռ R2 _) ռ (C R2@ +?1 L02) ռ (L02 * .group ս ս s @@ -155,7 +156,7 @@ .group ր ր r - L02) ր (L02 * +?1 L02) ր (L02 r _) ր (C r@ C) ր (_ @r L02) ր (_ r diff --git a/dictsource/pl_list b/dictsource/pl_list index 90cbd0dc..c70dce6b 100644 --- a/dictsource/pl_list +++ b/dictsource/pl_list @@ -112,7 +112,7 @@ _ó ,u_kREskOv'anE p pE q ku r ER -s ES +s Es ś S;i t tE _u u diff --git a/dictsource/pt_list b/dictsource/pt_list index 8e3eb0a0..e7b9e75a 100644 --- a/dictsource/pt_list +++ b/dictsource/pt_list @@ -50,7 +50,7 @@ _zh Sin'es // character names -á $accent +_á $accent _à $accent // à can be a word â $accent ã $accent @@ -359,8 +359,12 @@ desta $nounf nesse n'esy $u+ $nounf aquela $u+ $nounf aquele $alt2 $nounf +àquela $u+ $nounf +àquele $alt2 $nounf daquela $u+ $nounf daquele $alt2 $nounf +praquela $u+ $nounf +praquele $alt2 $nounf que $u // pronunciation is in pt_rules // possessive adjectives @@ -382,7 +386,7 @@ nele nely $u1+ // prepositions de $u $nounf // of,from -do du $u $nounf +do dU $u $nounf da $u $nounf dos $u $nounf das $u $nounf @@ -744,9 +748,8 @@ catorze $alt2 cebola $alt2 cedro $alt cefaleia $alt -cerebelo $alt2 centopeia $alt -cerca $alt +cerebelo $alt2 cerca $alt2 $noun cerco $alt $verb cerda $alt @@ -827,6 +830,7 @@ deveras $alt dez $alt diarreia $alt diego $alt2 +diogo $alt2 discordo $alt dissabores $alt2 dispneia dZIspyn'EI& @@ -837,8 +841,8 @@ doutora $alt2 doze $alt2 dueto $alt2 elixir eliSir +emprego $alt2 emprego $alt2 $noun -empregos $alt2 encosto $alt $verb endereço $alt $verb enforco $alt @@ -896,6 +900,7 @@ filete $alt2 flerte $alt2 $noun foda $alt2 $verb fodo $alt2 +fogo $alt2 fogos $alt foguete $alt2 foice $alt2 @@ -942,6 +947,7 @@ hoje $alt2 horrores $alt2 humores $alt2 ideia $alt +inovo $alt interesse $alt2 interesse $alt $verb iodo $alt2 @@ -960,7 +966,7 @@ lepra $alt leste $alt2 $verb ?2 lhe l^y lingueta $alt2 -lisboeta $alt2 +lisboeta $alt2 lodo $alt2 logro $alt lopes $alt @@ -1138,7 +1144,7 @@ tempero $alt2 $noun tenores $alt2 terrores $alt2 teta $alt2 -toga $alt +togo $alt2 topo $alt2 $noun torno $alt $verb tornozelo $alt2 @@ -1173,15 +1179,17 @@ zorra $alt2 // foreign words +?2 álcool 'aUkow ?1 alt 'alt ?2 agosto ag'ostU ?1 back b'Ek ?2 backup bEk'&p ?2 backups bEk'&ps +bad bEd beatle b'itow beatles b'itows +black blEk blind bl'aind -book buk ?1 braille b:r'aily ?2 Braille bR'aili ?1 cancel k'&ns'El @@ -1207,14 +1215,17 @@ drivers dR'aIveRs ?1 explorer ,ekspl'O:*&r- ?2 Explorer ekspl'O*er ?1 eyes 'aiz +?2 eyes 'aIs ?1 frame fr'eImy ?2 frame fR'eImi +game g'eImy ?1 gmail g,em'eIl ?2 Gmail Zem'eIl ?1 google g'u:g&l ?2 google g'ugol ?1 hardware 'ard,w'Er- ?2 hardware h'ardwe@- +happy x'Epy ?1 home 'omy ?2 home h'owmi ?1 hotmail h'Otm'eIl @@ -1306,7 +1317,6 @@ mac mEk ?2 microsoft m'aIkRows'Oft ?1 movie m'uvi ?1 nero n'Eru -?2 netbook nEtbUk ?2 netbooks nEtbUks ?2 notebook nowtbUk ?2 notebooks nowtbUks @@ -1317,8 +1327,9 @@ mac mEk ?2 Outlook ,aUtl'uk ?1 paint p'aint ?1 player pl'eI&r- -playstation _^_EN -?1 point p'oint +?1 playstation _^_EN +?2 playstation pleIst'eIS&~N + point p'oint ?1 power p'aU&r- ?1 product p:r'&d&kt ?1 Publisher p'&bl,iS&r- @@ -1394,6 +1405,7 @@ klein kl'aIn // Very common on southern Brazil. krueger kR'iZer krüger kR'iZer kühl k'il +?2 juan xu&~N mueler m'iler mueller m'iler müler m'iler diff --git a/dictsource/pt_rules b/dictsource/pt_rules index df452595..9db32f47 100644 --- a/dictsource/pt_rules +++ b/dictsource/pt_rules @@ -47,6 +47,7 @@ ?1 a (lK ,A // Algarve, Almerinda, etc... ?2 al (K aU a (lh+ a + a (ll+ a a (m &~ a (mAr_ & a (mA@ & @@ -61,6 +62,7 @@ anh (A &~n^ am (_ =&U~ a (t_ a + a (ts_ a a (x_ a a (z_ 'a //eg: paz, rapaz, capaz, etc... ?1 C) acç 'a's // eg: selecção, etc... @@ -90,8 +92,7 @@ óCC) a (CA_ & óC) a (CCA_ & úC) a (CA_ & -?2 ation (_ 'eIS&~N -?2 action (_ 'EkS&~N + ation (_ 'eIS&~N .group â @@ -184,6 +185,7 @@ ?2 el (K EU e (lh+ e + e (ll+ E v) e (lhA_ E e (bL02_ E @@ -238,8 +240,9 @@ e (ssL04_ E e (ss_ E // stress and english words -?2 ection (_ 'EkS&~N -?2 ee (n_ i +?2 C) ee (_ i +?2 ee (C_ i +?2 C) e (em_ e e (stL04_ E e (strL04_ E @@ -255,7 +258,7 @@ e (rvL04_ E e (tL04_ E - m) e (tL04_ e + m) e (tL03_ e An) e (tA_ e on) e (te_ E gaz) e (ta_ e @@ -447,6 +450,8 @@ _enver) e (dL03_ E _dec) e (pL04_ E _in) e (ptL03_ E ad) e (quL04_ E + _dig) e (rL02_ E + _ing) e (rL02_ E _sev) e (rL03_ E _reit) e (rL03_ E _sinc) e (rL03_ E @@ -471,9 +476,11 @@ _enver) e (dL03_ E _exub) e (rL04_ E _temp) e (rL04_ E _adult) e (rL04_ E +_incin) e (rL04_ E _persev) e (rL04_ E _recup) e (rL04_ E _refrig) e (rL04_ E + _c) e (rcL02_ E _ex) e (rcL02_ E _alic) e (rcL02_ E _p) e (rdL02_ E @@ -484,6 +491,7 @@ s_colh) e (res_ E _) e (rgL03_ e _re) e (rgL03_ e _so) e (rgL03_ e + _c) e (rquL02_ E _bez) e (rrL03_ e v) e (rtL03_ e // con- re- in- _f) e (rvL03_ e @@ -594,6 +602,8 @@ _entorp) e (çL03_ e .group h _) h (_ ag'a h // silent +?1 _) help _^_En +?2 _) hel (p x'EU .group i @@ -612,6 +622,7 @@ _entorp) e (çL03_ e ?2 il (K iU i (lh+ i + i (ll+ i im (_ iN im (C im @@ -654,6 +665,8 @@ _entorp) e (çL03_ e ?1 @) ings (_ _^_EN ?2 il (ton_ 'iU ?2 i (rton_ 'i +?1 ight (_ _^_EN +?1 ights (_ _^_EN .group í @@ -744,6 +757,8 @@ _entorp) e (çL03_ e oi (de_ OI oi (s oI o (iCK o + oo (C_ U + o (os_ o ?1 C) oo (_ ow // eg: voo, enjoo, etc... oy OI @@ -757,9 +772,8 @@ _entorp) e (çL03_ e o (g_ O o (gs_ O - - o (gL02_ O - + o (gL04_ O + g) o (gL03_ o o (jL04_ O o (ldL04_ O @@ -855,7 +869,6 @@ _entorp) e (çL03_ e óCC) o (CA_ o úC) o (CA_ o úCC) o (CA_ o -?2 otion (_ 'owS&~N //sort _f) o (L05_ o @@ -869,13 +882,8 @@ _pormen) o (L05_ O _) o (cL03_ o _m) o (fL01_ O _m) o (fL02_ O + _af) o (fL04_ O _s) o (frL02_ O - l) o (gL04_ O // dialoga, etc. - r) o (gL04_ O // inter- - v) o (gL04_ O // advoga, etc. - _j) o (gL04_ O - af) o (gL04_ O // des- - _ref) o (gL04_ O _ap) oi (L01_ OI _ap) oi (L02_ OI _b) oi (L04_ OI @@ -969,13 +977,11 @@ _remem) o (rL04_ O qü kw qu (Y k qu (K ku -?2 _) que (_K ke _) que (_ ky ?1 _) qua kwa // quatro, etc. ?1 _) que ke // quente, etc. ?1 _) quei (C k'eI // queira, queima, etc - A) quên kw'eIN // frequência, etc. - C) quên kw'eIN // delinquência, etc. + @) quên kw'eIN // frequência, etc. ade) qu (e kw A) qu (idade_ kw _a) qu (ífero_ kw @@ -1053,6 +1059,7 @@ _remem) o (rL04_ O _) sobre (@P5 sob*e _tran) s (A z +?1 ssion (_ _^_EN .group t @@ -1092,7 +1099,7 @@ _remem) o (rL04_ O uy uI ul (K uw u (lh+ u - + u (ll+ u um (_ u~N um (C u~m ?4 um (C u~N @@ -1101,7 +1108,6 @@ _remem) o (rL04_ O g) u (Y _m) ui (tA_ 'wiN -?2 ution (_ 'uS&~N .group ú diff --git a/dictsource/sl_list b/dictsource/sl_list index 521910f2..973638c7 100644 --- a/dictsource/sl_list +++ b/dictsource/sl_list @@ -2,7 +2,11 @@ // translation rules for Slovenian // This file is UTF-8 encoded +// $alt1 open vowel [E] or [O] in the stressed syllable +// $alt2 open vowel [o] or [o] in the stressed syllable +// $alt3 short stress on final syllable + // letter names b b@ c ts@ @@ -11,7 +15,7 @@ d d@ e e f f@ g g@ -h h@ +_h h@ j j@ _k k@ l l@ @@ -50,28 +54,28 @@ _2 dv#'a _3 tR'i _4 St'i*i _5 p'et -_6 S'Est -_7 s'edEm -_8 'Os@m -_9 d@v'Et -_10 d@s'Et -_11 'e'najst +_6 S'est +_7 s'ed@m +_8 'os@m +_9 dEv'et +_10 dEs'et +_11 'E'najst _12 dv#'anajst _13 tR'inajst _14 St'iRinajst _15 p'etnajst _16 S'estnajst -_17 s'edemnajst -_18 'Osemnajst +_17 s'ed@mnajst +_18 'os@mnajst _19 d'evEtnajst -_2X dv#'ajsEt -_3X tR'id@sEt -_4X St'i*id@sEt -_5X p'etd@sEt -_6X S'estd@sEt -_7X s'edemd@sEt -_8X 'Os@md@sEt -_9X d'evEtd@sEt +_2X dv#'ajset +_3X tR'idEset +_4X St'i*idEset +_5X p'etdEset +_6X S'estdEset +_7X s'ed@mdEset +_8X 'os@mdEset +_9X dEv'etdEset _2C dv'esto _0C sto _0M1 t'isotS @@ -116,8 +120,18 @@ z z@ $atend // Function words (unstressed) - // verb: to be -sem $u +bom bo+m $u // example of unstressed [o] + +//pronouns + + +// prepositions +skozi sko+zi $u+ +za $u+ + + +// verb: to be +sem s@m $u si $u je $u sva $u @@ -130,3 +144,13 @@ bil $u bila $u bili $u + +// exceptions + +deset $2 +devet $2 +dim $alt3 +oba $2 +žena $alt1 +šel S@w + diff --git a/dictsource/sl_rules b/dictsource/sl_rules index fa5665d9..93e648e9 100644 --- a/dictsource/sl_rules +++ b/dictsource/sl_rules @@ -4,9 +4,12 @@ .L01 b d g j l m n v z ž // voiced consonants +.L04 l v + .group a - a a + a a: + a (X$w_alt3+ 'a .group b b b @@ -27,11 +30,13 @@ .group e - e e - e (_ E // ?? - e (C_ E - e (l_ e - _) e E + e e: + e (X$w_alt3+ 'E + + @) e (n_ E# + @C) e (r_ E# + + _) e (m@ E .group f @@ -49,8 +54,10 @@ .group i - i i + i i: + i (X$w_alt3+ 'i i (A j + @) i (ja_ =i .group j @@ -67,7 +74,7 @@ K) l (K @l K) l (rK l K) l (_ u - @) l (_ =w + @) l (_ w lj l^ lj (A lj lj (i l^ @@ -92,12 +99,14 @@ .group o - o o - _) o O - _) o (l o - _) o (v o - + o o: + o (X$w_alt3+ 'O + + o (Co O: + o (CCo O: + o (L04+ o: + .group p p p @@ -110,7 +119,6 @@ .group r r R rr R - A) r (A * K) r (K @R @@ -129,7 +137,9 @@ .group u - u u + u u: + u (X$w_alt3+ 'u + u (A w A) u (K w @@ -168,17 +178,17 @@ á 'a: é 'e: ê 'E: - è E + è 'E í 'i: ó 'o: ô 'O: - ò O + ò 'O ú 'u: đ dZ ř R^ - ä E + ä E: ö @: - ü y + ü y: ß _^_DE $ d'olaR diff --git a/phsource/d/dr2 b/phsource/d/dr2 new file mode 100755 index 00000000..b6748826 Binary files /dev/null and b/phsource/d/dr2 differ diff --git a/phsource/ph_hindi b/phsource/ph_hindi index 315e6180..2e4114f1 100644 --- a/phsource/ph_hindi +++ b/phsource/ph_hindi @@ -430,15 +430,14 @@ phoneme d.# lengthmod 5 ipa ɖU+02B0 voicingswitch t.# - Vowelin f1=1 f2=1800 -300 300 f3=-400 80 + Vowelin f1=1 f2=1800 -300 300 f3=-150 80 Vowelout f1=1 f2=1800 -300 300 f3=-400 80 colr=2 IF PreVoicing THEN FMT(d/xdr) ENDIF - FMT(d/dr) addWav(ustop/t) -// FMT(d/dr) addWav(ustop/th_rfx) + FMT(d/dr2, 50) addWav(ustop/th_rfx2, 80) endphoneme diff --git a/phsource/ph_malayalam b/phsource/ph_malayalam index 9c6c09e4..1aba2c74 100644 --- a/phsource/ph_malayalam +++ b/phsource/ph_malayalam @@ -193,11 +193,26 @@ phoneme d# endphoneme +phoneme t.# + vls rfx stop + lengthmod 2 + ipa ʈU+02B0 + voicingswitch d.# + Vowelin f1=0 f2=1800 -300 300 f3=-200 80 + Vowelout f1=0 f2=1800 -300 250 f3=-400 80 rms=20 colr=2 + + IF nextPhW(t.#) THEN + ChangePhoneme(t.) + ENDIF + WAV(ustop/th_rfx2, 80) +endphoneme + + phoneme d.# vls rfx stop prevoice lengthmod 2 ipa ʈU+02B0 - Vowelin f1=0 f2=1800 -300 300 f3=-400 80 + Vowelin f1=0 f2=1800 -300 300 f3=-200 80 Vowelout f1=0 f2=1800 -300 250 f3=-400 80 rms=20 colr=2 IF PreVoicing THEN @@ -209,7 +224,7 @@ phoneme d.# ENDIF voicingswitch d.# - WAV(ustop/t) + WAV(ustop/th_rfx2, 80) endphoneme diff --git a/phsource/ph_slovenian b/phsource/ph_slovenian index bd5154ce..8a97d60c 100644 --- a/phsource/ph_slovenian +++ b/phsource/ph_slovenian @@ -1,13 +1,20 @@ + +phoneme : // lengthen previous vowel by "length" + virtual + length 40 // only a small increase for "long stress" because we probably put the stress on the wrong syllable +endphoneme + + phoneme @ // Schwa, can be stressed vowel starttype #@ endtype #@ - length 140 + length 160 FMT(vowel/@) endphoneme phoneme i vowel starttype #i endtype #i - length 140 + length 160 IfNextVowelAppend(;) IF thisPh(isStressed) AND NOT nextPhW(isRhotic) THEN FMT(vowel/ii_6) @@ -17,31 +24,32 @@ endphoneme phoneme u vowel starttype #u endtype #u - length 140 + length 160 FMT(vowel/u_2) endphoneme - phoneme a vowel starttype #a endtype #a length 170 + IF thisPh(isUnstressed) THEN + FMT(vowel/a_8) + ENDIF FMT(vowel/a) endphoneme phoneme e vowel starttype #e endtype #e - length 160 + length 170 + ChangeIfUnstressed(E) FMT(vowel/e_2) endphoneme -phoneme e: +phoneme e+ // doesn't reduce to [e] vowel starttype #e endtype #e - length 240 - FMT(vowel/e) -endphoneme - + ChangePhoneme(e) + endphoneme phoneme E vowel starttype #e endtype #e @@ -49,14 +57,27 @@ phoneme E FMT(vowel/e_mid) endphoneme +phoneme E# + vowel starttype #e endtype #e + length 160 + IF thisPh(isNotStressed) THEN + ChangePhoneme(@) + ENDIF + FMT(vowel/e_mid) +endphoneme phoneme o vowel starttype #o endtype #o - length 160 + length 170 + ChangeIfUnstressed(O) FMT(vowel/o_8) endphoneme +phoneme o+ // doesn't reduce to [O] + vowel starttype #o endtype #o + ChangePhoneme(o) + endphoneme phoneme O vowel starttype #o endtype #o @@ -69,3 +90,17 @@ endphoneme phoneme v import_phoneme base/v# endphoneme + + +// for foreign letters +phoneme y + vowel starttype #i endtype #i + length 170 + FMT(vowel/y) +endphoneme + +phoneme R^ // Czech r-caron + import_phoneme sk/R^ +endphoneme + + diff --git a/phsource/ph_telugu b/phsource/ph_telugu index b5b75581..7399aa0c 100644 --- a/phsource/ph_telugu +++ b/phsource/ph_telugu @@ -104,3 +104,36 @@ endphoneme phoneme r import_phoneme base/R2 endphoneme + + +phoneme t.# + vls rfx stop + lengthmod 2 + ipa ʈU+02B0 + voicingswitch d.# + Vowelin f1=0 f2=1800 -300 300 f3=-200 80 + Vowelout f1=0 f2=1800 -300 250 f3=-400 80 rms=20 colr=2 + + IF nextPhW(t.#) THEN + ChangePhoneme(t.) + ENDIF + WAV(ustop/th_rfx2, 80) +endphoneme + +phoneme d.# + vcd rfx stop + lengthmod 5 + ipa ɖU+02B0 + voicingswitch t.# + Vowelin f1=1 f2=1800 -300 300 f3=-150 80 + Vowelout f1=1 f2=1800 -300 300 f3=-400 80 colr=2 + + IF PreVoicing THEN + FMT(d/xdr) + ENDIF + + FMT(d/dr2, 50) addWav(ustop/th_rfx2, 80) + +endphoneme + + diff --git a/phsource/ph_turkish b/phsource/ph_turkish index 424d6ce5..13060a8d 100644 --- a/phsource/ph_turkish +++ b/phsource/ph_turkish @@ -92,7 +92,10 @@ endphoneme phoneme a vowel starttype #a endtype #a length 200 - FMT(vowel/a#_4) + IF thisPh(isUnstressed) AND thisPh(isWordEnd) THEN + FMT(vowel/a#_2) + ENDIF + FMT(vowel/aa_6) endphoneme @@ -198,13 +201,11 @@ endphoneme phoneme R - vcd alv flp rhotic + liquid trill rhotic + lengthmod 6 IF prevPhW(isVowel) AND nextPhW(isVowel) THEN - CALL base/* -// ELIF prevPhW(isNotVowel) THEN -// CALL base/R - ELSE - CALL base/r + ChangePhoneme(*) ENDIF - ipa ɾ + CALL base/R endphoneme + diff --git a/phsource/phonemes b/phsource/phonemes index 2a143571..c3917647 100644 --- a/phsource/phonemes +++ b/phsource/phonemes @@ -344,7 +344,7 @@ endphoneme phoneme R - liquid + liquid rhotic trill lengthmod 6 ipa r @@ -357,7 +357,7 @@ phoneme R endphoneme phoneme R2 // this is [R] from Slovak/Czech - liquid + liquid rhotic trill lengthmod 6 ipa r @@ -367,7 +367,7 @@ phoneme R2 // this is [R] from Slovak/Czech endphoneme phoneme R3 // Afrikaans - liquid + liquid rhotic trill lengthmod 6 length 60 @@ -394,7 +394,7 @@ endphoneme phoneme r" // uvular trill - vcd uvl frc + vcd uvl frc rhotic ipa ʀ lengthmod 6 IF nextPh(isNotVowel) THEN @@ -1892,7 +1892,7 @@ include ph_kinyarwanda phonemetable prs base include ph_dari -phonemetable sl sk +phonemetable sl pl include ph_slovenian phonemetable gd base @@ -1947,9 +1947,3 @@ include ph_korean phonemetable kl base include ph_greenlandic -phonemetable ar base -include ph_arabic - -phonemetable gu hi -include ph_gujarati - diff --git a/phsource/ustop/th_rfx2.wav b/phsource/ustop/th_rfx2.wav new file mode 100755 index 00000000..4bb756d2 Binary files /dev/null and b/phsource/ustop/th_rfx2.wav differ diff --git a/src/synthdata.cpp b/src/synthdata.cpp index 35705473..a936f6b7 100644 --- a/src/synthdata.cpp +++ b/src/synthdata.cpp @@ -35,7 +35,7 @@ #include "translate.h" #include "wave.h" -const char *version_string = "1.47.09 29.Apr.13"; +const char *version_string = "1.47.10a 03.May.13"; const int version_phdata = 0x014709; int option_device_number = -1; diff --git a/src/tr_languages.cpp b/src/tr_languages.cpp index 31084a48..f9ad27e4 100644 --- a/src/tr_languages.cpp +++ b/src/tr_languages.cpp @@ -1389,6 +1389,8 @@ SetLengthMods(tr,3); // all equal tr->langopts.stress_flags = S_NO_AUTO_2; tr->langopts.param[LOPT_REGRESSIVE_VOICING] = 0x103; tr->langopts.param[LOPT_UNPRONOUNCABLE] = 0x76; // [v] don't count this character at start of word + tr->langopts.param[LOPT_ALT] = 2; // call ApplySpecialAttributes2() if a word has $alt or $alt2 + tr->langopts.param[LOPT_IT_LENGTHEN] = 1; // remove lengthen indicator from unstressed syllables tr->letter_bits['r'] |= 0x80; // add 'r' to letter group 7, vowels for Unpronouncable test tr->langopts.numbers = NUM_DECIMAL_COMMA | NUM_ALLOW_SPACE | NUM_SWAP_TENS | NUM_OMIT_1_HUNDRED | NUM_DFRACTION_2 | NUM_ORDINAL_DOT | NUM_ROMAN; tr->langopts.numbers2 = 0x100; // plural forms of millions etc diff --git a/src/voices.cpp b/src/voices.cpp index 4eaefca1..566fc7ef 100644 --- a/src/voices.cpp +++ b/src/voices.cpp @@ -902,7 +902,8 @@ voice_t *LoadVoice(const char *vname, int control) case V_OPTION: value2 = 0; - if((sscanf(p,"%s %d %d",option_name,&value,&value2) >= 2) && ((ix = LookupMnem(options_tab, option_name)) >= 0)) + if(((sscanf(p,"%s %d %d",option_name,&value,&value2) >= 2) && ((ix = LookupMnem(options_tab, option_name)) >= 0)) || + ((sscanf(p,"%d %d %d",&ix,&value,&value2) >= 2) && (ix < N_LOPTS))) { langopts->param[ix] = value; langopts->param2[ix] = value2;