diff --git a/dictsource/en_list b/dictsource/en_list index 31d7f517..0341c962 100644 --- a/dictsource/en_list +++ b/dictsource/en_list @@ -3087,6 +3087,7 @@ Cheadle tSi:d@L Cheshire tSES3 Chiswick tSIzIk Clwyd klu:Id +Conway $1 Dagenham dag@n@m Devon dEv@n Dolgellau d0lg'EClaI @@ -3212,6 +3213,7 @@ Egyptia IdZ'IpS@ Egyptian IdZ'IpS@n Eire e@r@ Elysee eIl'i:zeI +Elysée eIl'i:zeI Erie i@ri Euphrates ju:fr'eIti:z Eyjafjalla eIja#fjatla# @@ -3345,6 +3347,7 @@ Punjabi pVndZ'A:bi Pyrenees pIr@n'i:z Qatar katA@ Quebec kwI2bEk +Québec kwI2bEk Raleigh rA:li Reno ri:noU Rio ri:oU diff --git a/dictsource/en_rules b/dictsource/en_rules index 4370796b..c0f7f7e9 100644 --- a/dictsource/en_rules +++ b/dictsource/en_rules @@ -1351,7 +1351,7 @@ bi (ry bI bi (sc bI bi (sec b%aI - bi (sh bI + _) bi (sh bI bi (sm bI bi (sq bi: bi (str bi: @@ -2473,7 +2473,7 @@ s) er (van 3: ery (_ @r%i ?3 ery (_++$w_alt2 @rI -?3 @@AC) ery (_ e@ri +?3 @@AC) ery (_ ,e@ri ery (A 3j _v) ery ErI2 qu) ery i@rI @@ -3055,7 +3055,6 @@ ier i@3 ier (a I'e@r &) ier (_NS2i 3 - &) ier's (_NS4i 3z _h) ie (r aI3 pl) ier (_ aI3 _Cr) ier aI3 @@ -3269,7 +3268,6 @@ _) inno (ce In@ _) inno (v In@ _) inn (um %In - _) in (of In _) in (org In _) in (p In _) in (que In @@ -3497,6 +3495,7 @@ is (er+_ aIz iser (_ aIz3 &) ish (_ I2S + ish (A_ 'i:S is (ive aIs _) island aIl@nd _) is (le aI @@ -4423,7 +4422,7 @@ w) or (e o@ or (um_ 'o@r &) ory (_ @r%I -?3 @@At) ory (_ o:ri +?3 @@At) ory (_ ,o:ri _st) ory o@rI .group os @@ -4664,7 +4663,7 @@ _all) ow aU isall) ow aU cl) ow aU - fl) ow (er aU + fl) ower aU|3 gl) ow (er aU pl) ow aU _n) ow (_ aU @@ -5300,7 +5299,6 @@ ttu (r t@ tz ts tze (_ tsi -?3 @@A) t (Ary_ t2 .group th th T @@ -6014,18 +6012,18 @@ .group ' 's (_S2m z - f) 's (_S2 s - p) 's (_S2 s - t) 's (_S2 s - k) 's (_S2 s - se) 's (_S2 I2z - s) 's (_S2 I2z - ce) 's (_S2 I2z - ch) 's (_S2 I2z - och) 's (_S2 s - sh) 's (_S2 I2z - x) 's (_S2 I2z - z) 's (_S2 I2z + f) 's (_S2m s + p) 's (_S2m s + t) 's (_S2m s + k) 's (_S2m s + se) 's (_S2m I2z + s) 's (_S2m I2z + ce) 's (_S2m I2z + ch) 's (_S2m I2z + och) 's (_S2m s + sh) 's (_S2m I2z + x) 's (_S2m I2z + z) 's (_S2m I2z 6_) 's (_ I2z 16_) 's (_ z 're (_S3 @ diff --git a/dictsource/hi_rules b/dictsource/hi_rules index 76592172..6e29d89f 100644 --- a/dictsource/hi_rules +++ b/dictsource/hi_rules @@ -49,8 +49,8 @@ .group ऊ ऊ u - ऊं u~ // + anusvara - ऊँ u~ // + candrabinbu + ऊं (_ u~ // + anusvara + ऊँ (_ u~ // + candrabinbu .group ऋ ऋ rI @@ -63,14 +63,19 @@ .group ऎ ऎ e + ऎं (_ e~ + ऎँ (_ e~ .group ए ए e: + एँ e~: + एं (_ e~: + ा) एँ (_ j .group ऐ ऐ E: // ?? [aI] [E:] [&:] - ऐं E~ - ऐँ E~ + ऐं (_ E~ + ऐँ (_ E~ ?2 ऐ aI // ?? [aI] [E:] [&:] @@ -79,16 +84,21 @@ .group ऒ ऒ o + ऒं (_ o~ + ऒँ (_ o~ .group ओ ओ o: - ओं o~ // +anusvara - ओँ o~ // +candrabindu + ओं (_ o~ // +anusvara + ओँ (_ o~ // +candrabindu + ा) ओं (_ w // +anusvara + ा) ओँ (_ w + .group औ औ O: // ?? [aU] [O:] - औं O~ // +anusvara - औँ O~ // +candrabindu + औं (_ O~ // +anusvara + औँ (_ O~ // +candrabindu ?3 औ aU // ?? [aU] [O:] @@ -96,6 +106,8 @@ .group ा ा a: + ाँ (_ a~ + ां (_ a~ ाव aU .group ि @@ -106,14 +118,18 @@ .group ी ी i: ी (_ i + ीँ (_ i~ + ीं (_ i~ .group ु - ु u + ु U + ुं (_ u~ + ुँ (_ u~ .group ू ू u: - ूं u~ // or O~ ?? - ूँ u~ + ूं (_ u~ // or O~ ?? + ूँ (_ u~ .group ृ ृ rI @@ -126,14 +142,18 @@ .group ॆ ॆ e + ॆं (_ e~ + ॆँ (_ e~ .group े े e: + ें (_ e~: + ेँ (_ e~: .group ै ै E: // ?? [aI] [E:] [&:] - ैं E~ - ैँ E~ + ैं (_ E~ + ैँ (_ E~ ?2 ै aI // ?? [aI] [E:] [&:] .group ॉ @@ -141,16 +161,18 @@ .group ॊ ॊ o + ॊं (_ o~ + ॊँ (_ o~ .group ो ो o: - ों o~ - ोँ o~ + ों (_ o~ + ोँ (_ o~ .group ौ ौ O: // [O:] or [aU] ?? - ौं O~ - ौँ O~ + ौं (_ O~ + ौँ (_ O~ ?3 ौ aU // [O:] or [aU] ?? .group ॢ // vowel sign l @@ -305,8 +327,9 @@ न्) म (_ m // n +virama .group य - य j@ + य jV य (B j + C) य (_ Ej // [Ej] not [@j] ्) य (_ j@ .group र @@ -341,6 +364,7 @@ _) व wV _) व (B w _) व (् v // +virma + व (_ w .group श श SV diff --git a/dictsource/pl_list b/dictsource/pl_list index 2ecf158b..90cbd0dc 100644 --- a/dictsource/pl_list +++ b/dictsource/pl_list @@ -121,8 +121,8 @@ _w vu x iks y 'igREk _z zEt -ż Z;Et -ź ZEt +ż ZEt +ź Z;Et ä $accent ö $accent diff --git a/dictsource/pt_list b/dictsource/pt_list index b1e7c337..7fde30e2 100644 --- a/dictsource/pt_list +++ b/dictsource/pt_list @@ -117,7 +117,7 @@ _] f,ES&kowS'etSi _^ s,irku~Nfl'Eksu _´ as'eINtu,ag'udU __ s,ublin^'adu -_` gR'avi + _` gR'avi _{ ,abRiS'avi ?1 _| b,ax&v,ertSik'al ?2 _| b,ax&v,ertSik'aU @@ -187,8 +187,8 @@ _1C0 s'eIN _1C s'eINtu ?1_2C duz'eINtus# ?2_2C duz'eINtUz -?1_3C tryz'eNtus# -?2_3C tRez'eNtUz +?1_3C tryz'eINtus# +?2_3C tRez'eINtUz ?1_5C kin^'eINtus# ?2_5C kin^'eINtUz ?1_0M1 m'il_ @@ -654,6 +654,10 @@ algozes $alt almoço $alt $verb ameba $alt amores $alt2 +amorno $alt +ampola $alt2 +ampulheta $alt2 +andorra $alt2 antonieta $alt2 apego $alt2 $noun apelo $alt2 $noun @@ -676,6 +680,7 @@ avesso $alt2 axé aSE azeda $alt $verb azedo $alt $verb +bairro b'aIxU baqueta $alt2 beco $alt2 besta $alt2 @@ -696,12 +701,14 @@ boto $alt2 $noun boxe $alt brejo $alt bromelha $alt +broto $alt2 $noun cabelo $alt2 cabresto $alt2 cacete $alt2 cachorra $alt2 caderneta $alt2 cadete $alt2 +cãibra k'&~IbR& caibro k'aIbRU camelha $alt camelo $alt2 @@ -721,6 +728,7 @@ catorze $alt2 cebola $alt2 cedro $alt cefaleia $alt +cerebelo $alt2 centopeia $alt cerca $alt cerca $alt2 $noun @@ -775,7 +783,8 @@ desapego $alt2 $noun descordo $alt desemprego $alt2 desemprego $alt $verb -desespero $alt2 $noun +desespero $alt2 +desespero $alt $verb desfecho $alt2 desmantelo $alt2 $noun desporto $alt2 @@ -792,6 +801,7 @@ dez $alt diarreia $alt diego $alt2 discordo $alt +dispneia dZIspyn'EI& dobro $alt2 $noun doce $alt2 doutora $alt2 @@ -818,8 +828,8 @@ erro $alt2 erro $alt $verb esboço $alt $verb escopeta $alt2 -escova $alt2 $noun -escovas $alt2 +escova $alt2 +escova $alt $verb escovo $alt escroto $alt2 esforço $alt $verb @@ -870,8 +880,8 @@ frevo $alt2 fulgores $alt2 galera $alt galileia $alt -gameta $alt2 -garçonete $alt2 +gangorra $alt2 +garçonete $alt geleia $alt gelo $alt2 gelo $alt $verb @@ -889,19 +899,24 @@ grelha $alt groselha $alt grosso $alt2 grozo $alt $verb +gueto $alt2 hemorroida $alt hoje $alt2 horrores $alt2 +humores $alt2 ideia $alt imberbe $alt interesse $alt2 interesse $alt $verb -jogo $alt2 $noun +jogo $alt2 +jogo $alt $verb +jogos $alt joguete $alt2 lagosta $alt2 lambreta $alt2 lanchonete $alt lebre $alt +leitora $alt2 lembrete $alt2 lepra $alt leste $alt2 $verb @@ -911,6 +926,7 @@ lopes $alt macete $alt2 maior $alt maleta $alt2 +maniçoba $alt marionete $alt marreta $alt2 megera $alt @@ -921,9 +937,6 @@ merda $alt meta $alt $noun meteoro $alt metro $alt -mexa m'eS& -mexi meS'i -mexo m'eSU minueto $alt2 miolo $alt2 miolos $alt @@ -932,6 +945,7 @@ modelo $alt $verb moeda $alt moem $alt mofo $alt $verb +moleta $alt2 molho $alt2 $noun monera $alt morcego $alt2 @@ -968,6 +982,7 @@ ovelha $alt2 ovos $alt pachorra $alt2 paexa paeSa +paella pa'el^& palacete $alt2 palheta $alt2 panfleto $alt2 @@ -980,6 +995,7 @@ pedra $alt pela $alt $verb pelo $alt2 pelo $alt $verb +peroba $alt peso $alt $verb piloto $alt2 $noun pintora $alt2 @@ -989,6 +1005,7 @@ plaqueta $alt2 plateia $alt plebeia $alt polca $alt +pompeia $alt porcos $alt porra $alt2 porrete $alt2 @@ -998,6 +1015,7 @@ pose $alt2 povos $alt poxa p'oS& primavera $alt +primores $alt2 prosopopeia $alt quarteto $alt2 queda $alt @@ -1013,15 +1031,14 @@ reembolso $alt $verb reforço $alt $verb reforços $alt refresco $alt $verb +rego $alt2 $noun reitora $alt2 -rejo $alt relevo $alt2 $noun remorso $alt renovo $alt $verb retorno $alt $verb reuva x'EUv& rigores $alt2 -rixa x'iS& rocha $alt rock $alt roem $alt @@ -1086,6 +1103,7 @@ tumores $alt2 valeta $alt2 vanessa $alt2 velozes $alt +vera $alt verbete $alt2 violeta $alt2 violoncelo $alt @@ -1098,7 +1116,7 @@ zorra $alt2 // foreign words ?1 alt 'alt -?2 agosto &g'ostU +?2 agosto ag'ostU ?1 back b'Ek ?2 backup bEk'&p ?2 backups bEk'&ps @@ -1166,6 +1184,7 @@ python p'aIT&~N ?1 readme r'i:dmi: ?1 sapi s,ap'i ?1 scanner sk'En&r +shake S'eIk ?1 shift S'ift ?1 scroll sk:r'ol ?1 site s'aIt @@ -1196,6 +1215,7 @@ louis _^_FR // foreign product names ?1 access 'aks,Es ?1 adobe &d'Oby + android &ndR'Oid apple 'Epow chrome kR'owmi debian d'Ebj&~N @@ -1254,7 +1274,7 @@ twitter tw'iter ?2 window w'iNdow -// historical/famous person names +// historical/famous person s babbage b'abidZ bernhard bern'ard darwin d'Arwin @@ -1279,7 +1299,7 @@ oppenheimer _!'Op@nh,aImar richard x'iS&rd riemann r'i:man rijndael x'ain;d'al -rousseau Rus'o +?2 rousseau xus'o schrödinger Sr'edinger stephen st'i:v@n steve st'i:v @@ -1290,24 +1310,31 @@ von f%On // foreign common names/surnames ?1 alison &l'is&N +anderson '&ndersoN +antonio &~nt'onIU ?1 cleverson kl'Evyrs&N ?2 cleverson kl'EversoN ?1 elton 'Elt&N +?2 elton 'EUton +emerson 'emE*@-soN ?1 halison &l'is&N klein kl'aIn // Very common on southern Brazil. ?1 kleverson kl'Evers&N krueger kR'iZer krüger kR'iZer kühl k'il -?1 nelson n'Els&N +milton m'Iwton mueler m'iler mueller m'iler müler m'iler müller m'iler +?1 nelson n'Els&N ronchi r'OnCi: +valter v'aUter vogel f'o:g@l volkmann f'Olkman - +wellington w'Elynton +wilton w'Iwton diff --git a/dictsource/pt_rules b/dictsource/pt_rules index 62abc1c7..81875216 100644 --- a/dictsource/pt_rules +++ b/dictsource/pt_rules @@ -1,5 +1,3 @@ - // translation rules Brazilian -// translation rules Brazilian // translation rules Brazilian // This file is UTF-8 encoded @@ -43,6 +41,7 @@ a (r_ 'a ?1 p) a (d_ =E a (CC_ & + a (h_ a ?1 a (l_ 'A // eg: Portugal, capital, etc. ?1 a (lK ,A // Algarve, Almerinda, etc... ?2 al (K aU @@ -51,6 +50,7 @@ a (mAr_ & a (mA@ & a (n &~ + a (ñ &~ a (nA@ & a (nAr_ & am (_ =&~N @@ -59,6 +59,8 @@ an (K+ &~N anh (A &~n^ am (_ =&U~ + a (t_ a + a (x_ a a (z_ 'a //eg: paz, rapaz, capaz, etc... ?1 C) acç 'a's // eg: selecção, etc... @@ -257,10 +259,22 @@ e (rvAm_ E e (tA_ E + m) e (ta_ e + m) e (tam_ e + m) e (to_ e An) e (tA_ e gaz) e (ta_ e e (tAm_ E + e (gi_ e + e (gri_ e + e (li_ e + e (rgi_ e + e (sti_ e + e (ti_ e + e (rti_ e + e (rvi_ e + e (xi_ e e (vA_ E t) e (ve_ e e (vi_ e @@ -368,6 +382,7 @@ _soub) e (L05_ E _talh) e (L05_ E _trem) e (L05_ e +_troux) e (L05_ E diss) e (L06_ E // contra- fend) e (L06_ e // de- o- tend) e (L06_ e // a- con- en- es- @@ -384,6 +399,7 @@ respond) e (L06_ e // cor- 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- + mex) e (L07_ e mov) e (L07_ e // re- co- viv) e (L07_ e // re- _beb) e (L07_ e @@ -400,6 +416,7 @@ respond) e (L06_ e // cor- vend) e (L07_ e // re- vert) e (L07_ e // in- re- con- volv) e (L07_ e // de- en- re- + _desc) e (L07_ e _eleg) e (L07_ e _ergu) e (L07_ e _mord) e (L07_ e @@ -414,12 +431,14 @@ respond) e (L06_ e // cor- screv) e (L07_ e // e- in- ree- pre- de- _aborrec) e (L07_ e _absolv) e (L07_ e +_acontec) e (L07_ e _adoec) e (L07_ e _adormec) e (L07_ e _agradec) e (L07_ e _amanhec) e (L07_ e _amolec) e (L07_ e _anoitec) e (L07_ e +_apodrec) e (L07_ e _arrepend) e (L07_ e _atrev) e (L07_ e _cresc) e (L07_ e @@ -444,6 +463,7 @@ _perec) e (L07_ e _rejuvenec) e (L07_ e _resolv) e (L07_ e _suspend) e (L07_ e +_troux) e (L07_ E abastec) e (L07_ e // re- conhec) e (L07_ e // & re- des- estabelec) e (L07_ e // re- @@ -454,6 +474,7 @@ proteg) e (L07_ e // des- respond) e (L07_ e // cor- qu) e (brL04_ E _cel) e (brL04_ E + _ex) e (crL04_ E _enr) e (dL01_ E _arr) e (dL03_ E _depr) e (dL03_ E @@ -464,6 +485,7 @@ respond) e (L07_ e // cor- _n) e (grL03_ e _ch) e (guL02_ e estr) ei (L04_ EI + _r) e (jL03_ E _inv) e (jL04_ E tr) e (pL04_ E // es- _dec) e (pL04_ E @@ -491,6 +513,7 @@ respond) e (L07_ e // cor- _recup) e (rL04_ E _refrig) e (rL04_ E _v) e (rbL03_ E + _ex) e (rcL02_ E _alic) e (rcL02_ E _p) e (rdL02_ E _l) e (rdL03_ E @@ -512,11 +535,8 @@ _refrig) e (rL04_ E _l) e (ssL02_ e _esp) e (ssL03_ e _c) e (stL03_ e - _m) e (tL03_ e _pr) e (tL03_ e - _com) e (tL03_ e _rem) e (tL03_ e - prom) e (tL03_ e // com- _derr) e (tL03_ e _obsol) e (tL03_ e _sol) e (trL03_ E @@ -524,12 +544,12 @@ _obsol) e (tL03_ e _d) e (vL03_ e scr) e (vL03_ e // e- in- pre- ree- de- _atr) e (vL03_ e + m) e (xL03_ e _r) e (zL04_ E _pr) e (zL04_ E + spr) e (zL04_ E _rev) e (zL04_ E -_despr) e (zL04_ E _embel) e (zL04_ E -_menospr) e (zL04_ E com) e (çL01_ E p) e (çL03_ E _m) e (çL03_ E @@ -695,7 +715,8 @@ _entorp) e (çL03_ e _) l (_ 'Ely l l l) l - lh l^ +?1 lh l^ +?2 lh lj ?4 A) lh l^ @@ -721,6 +742,12 @@ _entorp) e (çL03_ e ?1 A) nn n //drop “n” (eg: connosco). +.group ñ + _) ñ (_ 'En^e + ñ n^ + + + .group o o o @) o (_ =U @@ -770,6 +797,13 @@ _entorp) e (çL03_ e o (lve_ O o (lvem_ O + o (bri_ o + o (di_ o + o (li_ o + o (rci_ o + o (rdi_ o + o (rri_ o + o (rvi_ o o (sA_ O o (so_N o // not for osos_ o (sAm_ O @@ -872,6 +906,7 @@ _pormen) o (L05_ O ent) o (pL02_ O _c) o (pL03_ O _ens) o (pL04_ O + _gal) o (pL04_ O _s) o (prL04_ O _) o (ptL04_ O p) o (rL02_ o @@ -881,6 +916,7 @@ _pormen) o (L05_ O _inod) o (rL03_ O _inson) o (rL03_ O _comem) o (rL04 O +_aprim) o (rL04_ O _remem) o (rL04_ O f) o (rmL03_ O _enf) o (rquL02_ O @@ -895,6 +931,7 @@ _remem) o (rL04_ O p) ostos (_ Ost=Us# // dispostos etc. _gar) o (tL03_ o _mar) o (tL03_ O + _ch) o (vL01_ o pr) o (vL03_ O _g) o (zL04_ O _esb) o (çL01_ O @@ -936,7 +973,6 @@ _remem) o (rL04_ O ?3 p (t p ?3 p (_C p_ ph f -?1 ple (_ _^_EN .group q @@ -989,9 +1025,8 @@ _remem) o (rL04_ O r (C *@- A) r (A * A) r (_A * - rr x - XC) r (A R C) r (A R + rr x _) r x l) r x n) r (+ x @@ -1012,11 +1047,12 @@ _remem) o (rL04_ O A) s (A z ?1 @) s (_ s# ?2 s (_ s# - @) s (_A z // next word starts with vowel + ?!4 @) s (_G z // next word starts with voiced consonant A) s (_S1 s A) s (_AS1 z // next word starts with vowel + ese) s (_ s ?!4 A) s (_GS1 z // next word starts with voiced consonant @@ -1026,9 +1062,11 @@ _remem) o (rL04_ O ?1 A) s (_KS1 s# ?1 A) s (_G+S1 Z s (G z + s (w+ s sr zx _) sobre (@P5 sob*e + _tran) s (A z .group t @@ -1101,6 +1139,7 @@ _remem) o (rL04_ O _e) x (A z _ê) x (A z _ine) x (A z + _ine) x (oráv ks e) x (A ks ?1 e) x (CA S ai) x (A S @@ -1131,6 +1170,7 @@ _remem) o (rL04_ O _fle) x (a S gra) x (A S _he) x (A z +?2 _he) x (A ks _li) x (A S _lu) x (A S _mar) x ks @@ -1150,8 +1190,8 @@ _remem) o (rL04_ O ri) x (A S rela) x (A S _ro) x (A S + _ta) x (e S _trou) x (e s - _trou) xe (@ sE _ve) x (A S _xi) x (A S ?1 i) x (a_ S diff --git a/phsource/intonation b/phsource/intonation index 8bc10510..072c66ba 100644 --- a/phsource/intonation +++ b/phsource/intonation @@ -16,7 +16,16 @@ nucleus0 fall-rise 80 18 nucleus fall-rise2 78 22 34 52 endtune -tune q1 +tune q1 // small change for version 1.47.05 +prehead 45 56 +headenv fall 16 +head 3 75 43 -7 0 +headextend 20 60 35 11 0 +nucleus0 fall-rise 89 21 +nucleus fall-rise2 86 21 34 68 +endtune + +tune q1a // previous version prehead 46 57 headenv fall 16 head 4 75 43 -7 0 diff --git a/phsource/ph_english_us b/phsource/ph_english_us index 760ede5e..e1449dce 100644 --- a/phsource/ph_english_us +++ b/phsource/ph_english_us @@ -263,8 +263,8 @@ endphoneme phoneme OI vowel starttype #o endtype #i - length 280 - FMT(vdiph/ooi_4) + length 270 + FMT(vdiph/ooi_3) endphoneme diff --git a/phsource/phonemes b/phsource/phonemes index 22f593bd..a1d86ca6 100644 --- a/phsource/phonemes +++ b/phsource/phonemes @@ -616,8 +616,8 @@ phoneme w VowelEnding(w/xw, -30) - IF prevPh(isPause) THEN - FMT(w/_w) + IF prevPhW(isNasal) THEN + FMT(w/w) ELSE FMT(w/_w) ENDIF @@ -1745,9 +1745,6 @@ include ph_kannada phonemetable ml hi include ph_malayalam -phonemetable te hi -include ph_telugu - phonemetable hu base @@ -1867,31 +1864,14 @@ include ph_georgian phonemetable fa base include ph_farsi -// experimental - -phonemetable ko base -include ph_korean - -phonemetable kl base -include ph_greenlandic - -phonemetable am base -include ph_amhari - //************************************************************************************** // The following lines are experimental, for future additions. // These langauges are not in a usable state. // These lines can be deleted. -phonemetable si hi -include ph_sinhala - -phonemetable sl sk -include ph_slovenian - -//phonemetable rw base2 -//include ph_kinyarwanda +phonemetable rw base2 +include ph_kinyarwanda //phonemetable mr hi //include ph_marathi @@ -1902,42 +1882,67 @@ include ph_slovenian //phonemetable mn base //include ph_mongolian -//phonemetable prs base -//include ph_dari +phonemetable prs base +include ph_dari -//phonemetable gd base -//include ph_s_gaelic +phonemetable sl sk +include ph_slovenian -//phonemetable nso base -//include ph_northern-sotho +phonemetable gd base +include ph_s_gaelic -//phonemetable ht fr -//include ph_haitian +phonemetable nso base +include ph_northern-sotho -//phonemetable az tr -//include ph_azerbaijani +phonemetable ht fr +include ph_haitian -//phonemetable ak base -//include ph_akan +phonemetable az tr +include ph_azerbaijani -//phonemetable wo base -//include ph_wolof +phonemetable ak base +include ph_akan -//phonemetable dv hi -//include ph_divehi +phonemetable am base +include ph_amhari -//phonemetable tn base -//include ph_setswana +phonemetable wo base +include ph_wolof -//phonemetable mt base -//include ph_maltese +phonemetable dv hi +include ph_divehi -//phonemetable bo hi -//include ph_tibetan +phonemetable te hi +include ph_telugu -//phonemetable kk base -//include ph_kazakh +phonemetable si hi +include ph_sinhala -//phonemetable tt base -//include ph_tatar +phonemetable tn base +include ph_setswana + + +phonemetable mt base +include ph_maltese + +phonemetable bo hi +include ph_tibetan + +phonemetable kk base +include ph_kazakh + +phonemetable tt base +include ph_tatar + +phonemetable ko base +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/vdiph/ooi_3 b/phsource/vdiph/ooi_3 index f512113d..0496a5b4 100644 Binary files a/phsource/vdiph/ooi_3 and b/phsource/vdiph/ooi_3 differ diff --git a/phsource/vwl_en_us/aU@ b/phsource/vwl_en_us/aU@ index 63ee0e09..f1c1759d 100644 Binary files a/phsource/vwl_en_us/aU@ and b/phsource/vwl_en_us/aU@ differ diff --git a/phsource/w/_w b/phsource/w/_w index 863e2a13..aab2856f 100644 Binary files a/phsource/w/_w and b/phsource/w/_w differ diff --git a/phsource/w/w b/phsource/w/w index 65cbe6e4..71ea65b9 100644 Binary files a/phsource/w/w and b/phsource/w/w differ diff --git a/platforms/riscos/cpp/speak_riscos b/platforms/riscos/cpp/speak_riscos index 0b08f6e9..1b34c320 100644 --- a/platforms/riscos/cpp/speak_riscos +++ b/platforms/riscos/cpp/speak_riscos @@ -634,7 +634,7 @@ void jsd_swi_functions(int *r) case 3: // translate into phonemes use_ipa = 0; - if((r[2] >= 1) && (use_ipa <= 4)) + if((r[2] >= 1) && (r[2] <= 5)) use_ipa = r[2]; TranslateClause(translator,NULL,(char *)r[1],NULL,NULL); GetTranslatedPhonemeString(translator->phon_out, sizeof(translator->phon_out), use_ipa); diff --git a/platforms/windows/make_espeak.iss b/platforms/windows/make_espeak.iss index ec9bca85..429ad00f 100644 --- a/platforms/windows/make_espeak.iss +++ b/platforms/windows/make_espeak.iss @@ -2,7 +2,7 @@ [Setup] AppName=eSpeak -AppVerName=eSpeak version 1.47.04 +AppVerName=eSpeak version 1.47.05 AppCopyright=Licensed under GNU General Public License version 3. (See file License.txt for details). WindowVisible=yes diff --git a/platforms/windows/make_espeakedit.iss b/platforms/windows/make_espeakedit.iss index 235aa67d..7b631f67 100644 --- a/platforms/windows/make_espeakedit.iss +++ b/platforms/windows/make_espeakedit.iss @@ -1,7 +1,7 @@ [Setup] AppName=eSpeakEdit -AppVerName=eSpeakEdit version 1.47.04 +AppVerName=eSpeakEdit version 1.47.05 DefaultDirName={pf}\eSpeak DefaultGroupName=eSpeak OutputBaseFilename=setup_espeakedit diff --git a/src/compiledata.cpp b/src/compiledata.cpp index a275558d..b633057a 100644 --- a/src/compiledata.cpp +++ b/src/compiledata.cpp @@ -2727,7 +2727,6 @@ static void DecThenCount() static void InstnPlusPhoneme(int instn) {//==================================== int phcode; - DecThenCount(); phcode = NextItemBrackets(tPHONEMEMNEM,0); *prog_out++ = instn + phcode; @@ -2835,16 +2834,19 @@ int CompilePhoneme(int compile_phoneme) case i_CHANGE_IF+2: case i_CHANGE_IF+3: InstnPlusPhoneme(keyword << 8); + DecThenCount(); break; case i_PAUSE_BEFORE: value = NextItemMax(255); *prog_out++ = (i_PAUSE_BEFORE << 8) + value; + DecThenCount(); break; case i_PAUSE_AFTER: value = NextItemMax(255); *prog_out++ = (i_PAUSE_AFTER << 8) + value; + DecThenCount(); break; case i_SET_LENGTH: @@ -2936,6 +2938,7 @@ int CompilePhoneme(int compile_phoneme) { *prog_out++ = (ipa_buf[ix+start] << 8) + (ipa_buf[ix+start+1] & 0xff); } + DecThenCount(); break; } break; @@ -3018,6 +3021,7 @@ int CompilePhoneme(int compile_phoneme) case kCALLPH: CallPhoneme(); + DecThenCount(); break; case kFMT: @@ -3049,6 +3053,7 @@ int CompilePhoneme(int compile_phoneme) break; case kTONESPEC: + DecThenCount(); endphoneme = CompileToneSpec(); break; diff --git a/src/dictionary.cpp b/src/dictionary.cpp index 15e9d3e5..60222023 100644 --- a/src/dictionary.cpp +++ b/src/dictionary.cpp @@ -653,13 +653,15 @@ void GetTranslatedPhonemeString(char *phon_out, int n_phon_out, int use_ipa) static const char *stress_chars = "==,,''"; static const int char_tie[] = {0x0361, 0x200d}; // combining-double-inverted-breve, zero-width-joiner - if(use_ipa == 4) + if(use_ipa >= 4) { // separate individual phonemes with underscores - use_ipa = 1; separate_phonemes = '_'; + if(use_ipa == 5) + use_ipa = 0; + else + use_ipa = 1; } - if(phon_out != NULL) { for(ix=1; ix<(n_phoneme_list-2); ix++) @@ -698,8 +700,8 @@ void GetTranslatedPhonemeString(char *phon_out, int n_phon_out, int use_ipa) if(c != 0) { buf += utf8_out(c, buf); - if(separate_phonemes) - *buf++ = separate_phonemes; +// if(separate_phonemes) +// *buf++ = separate_phonemes; } } } @@ -1637,8 +1639,11 @@ void SetWordStress(Translator *tr, char *output, unsigned int *dictionary_flags, if(!(control & 1) && ((ph = phoneme_tab[*p]) != NULL)) { - if(ph->type == phSTRESS) - ph = phoneme_tab[p[1]]; + while((ph->type == phSTRESS) || (*p == phonEND_WORD)) + { + p++; + ph = phoneme_tab[p[0]]; + } #ifdef deleted int gap = tr->langopts.word_gap & 0x700; diff --git a/src/espeak.cpp b/src/espeak.cpp index 8db7b2d1..2e769e0b 100644 --- a/src/espeak.cpp +++ b/src/espeak.cpp @@ -20,6 +20,7 @@ #include #include #include +#include #ifndef NEED_GETOPT #include #endif @@ -221,14 +222,17 @@ int OpenWavFile(char *path, int rate) if(path == NULL) return(2); - if(path[0] == 0) - return(0); - - if(strcmp(path,"stdout")==0) - f_wavfile = stdout; - else - f_wavfile = fopen(path,"wb"); + while(isspace(*path)) path++; + f_wavfile = NULL; + if(path[0] != 0) + { + if(strcmp(path,"stdout")==0) + f_wavfile = stdout; + else + f_wavfile = fopen(path,"wb"); + } + if(f_wavfile == NULL) { fprintf(stderr,"Can't write to: '%s'\n",path); diff --git a/src/readclause.cpp b/src/readclause.cpp index 049ef18d..d8c5f0c3 100644 --- a/src/readclause.cpp +++ b/src/readclause.cpp @@ -71,6 +71,8 @@ static int ssml_ignore_l_angle = 0; // punctuations symbols that can end a clause static const unsigned short punct_chars[] = {',','.','?','!',':',';', + 0x00a1, // inverted exclamation + 0x00bf, // inverted question 0x2013, // en-dash 0x2014, // em-dash 0x2026, // elipsis @@ -119,6 +121,8 @@ static const unsigned short punct_chars[] = {',','.','?','!',':',';', // bits 0-7 pause x 10mS, bits 12-14 intonation type, bit 15 don't need following space or bracket static const unsigned int punct_attributes [] = { 0, CLAUSE_COMMA, CLAUSE_PERIOD, CLAUSE_QUESTION, CLAUSE_EXCLAMATION, CLAUSE_COLON, CLAUSE_SEMICOLON, + CLAUSE_SEMICOLON | 0x8000, // inverted exclamation + CLAUSE_SEMICOLON | 0x8000, // inverted question CLAUSE_SEMICOLON, // en-dash CLAUSE_SEMICOLON, // em-dash CLAUSE_SEMICOLON | PUNCT_SAY_NAME | 0x8000, // elipsis diff --git a/src/speak.cpp b/src/speak.cpp index c2e30a62..be869a09 100644 --- a/src/speak.cpp +++ b/src/speak.cpp @@ -24,6 +24,7 @@ #include #include #include +#include #ifndef PLATFORM_DOS #ifdef PLATFORM_WINDOWS @@ -243,16 +244,22 @@ static int OpenWaveFile(const char *path, int rate) if(path == NULL) return(2); - if(strcmp(path,"stdout")==0) + while(isspace(*path)) path++; + + f_wave = NULL; + if(path[0] != 0) { + if(strcmp(path,"stdout")==0) + { #ifdef PLATFORM_WINDOWS // prevent Windows adding 0x0d before 0x0a bytes - _setmode(_fileno(stdout), _O_BINARY); + _setmode(_fileno(stdout), _O_BINARY); #endif - f_wave = stdout; + f_wave = stdout; + } + else + f_wave = fopen(path,"wb"); } - else - f_wave = fopen(path,"wb"); if(f_wave != NULL) { diff --git a/src/synthdata.cpp b/src/synthdata.cpp index ea85a3f3..9796548f 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.04a 05.Apr.13"; +const char *version_string = "1.47.05 08.Apr.13"; const int version_phdata = 0x014701; int option_device_number = -1;