From fddf2e726537ed8baf507b3a77fbdfbcbc9ecb31 Mon Sep 17 00:00:00 2001 From: jonsd Date: Sun, 23 Mar 2008 11:05:33 +0000 Subject: [PATCH] [1.36.06] TranslateChar(): Break Korean hangul syllables into individual jamo characters. Remove Translator_Afrikaans class. git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@170 d46cf337-b52f-0410-862d-fd96e6ae7743 --- dictsource/af_list | 23 ++++- dictsource/af_rules | 98 +++++++++++++++--- dictsource/de_rules | 6 ++ dictsource/dict_phonemes | 31 ++++-- dictsource/en_list | 3 +- dictsource/en_rules | 13 ++- dictsource/fr_list | 17 ++-- dictsource/fr_rules | 39 ++++---- dictsource/hu_list | 2 +- dictsource/id_list | 100 ++++++++++++++++--- dictsource/id_rules | 31 +++++- phsource/compile_report | 32 +++++- phsource/mbrola/fr1 | 4 + phsource/ph_french | 6 +- phsource/ph_indonesian | 14 +++ phsource/ph_russian | 8 ++ phsource/phonemes | 3 + phsource/r3/@tap | Bin 3540 -> 3540 bytes platforms/windows/espeakedit/espeakedit.dsp | 2 +- platforms/windows/windows_sapi/ttsengobj.cpp | 1 - platforms/windows/windows_sapi/ttsengobj.h | 1 + platforms/windows/windows_sapi/version.rc2 | 12 +-- src/numbers.cpp | 13 ++- src/speak_riscos.cpp | 1 + src/synthdata.cpp | 2 +- src/tr_languages.cpp | 59 ++++------- src/tr_languages.h | 13 --- src/translate.cpp | 66 ++++++++++++ src/translate.h | 4 +- src/voices.cpp | 2 +- 30 files changed, 454 insertions(+), 152 deletions(-) diff --git a/dictsource/af_list b/dictsource/af_list index db99d471..e0a4f7e7 100755 --- a/dictsource/af_list +++ b/dictsource/af_list @@ -12,6 +12,7 @@ // abbreviations (http ://) hA:te@te@p'e@_ e.a _:En_'and@r +sabc Es_A:be@s'e@ // letter names // any letter which also appear as words should be prefixed by a _ here @@ -60,6 +61,7 @@ z zEd û kapi?y ü de@lte@k@n?y + _cap h'o@flEt@r _?? s@mb'o@l _?A l'Et@r @@ -140,12 +142,15 @@ carolina karul'ina ceres se@r@s ceylon s@lOn china S'ina +duitswes dYytsv'Es franschhoek frA~nsh'uk gadara x2@dA:ra galilea x2al@l'i:a gariep x2ar'ip getsémané x2Ets'e@mani goudini $2 +goodwood _^_EN +gordonsbaai gO:rd@nsb'AI (graaff reinet) x2rA:f||r@n'Et griekeland x2rik@lant hermon $1 @@ -174,6 +179,7 @@ outeniekwa @Ut@n'ikwa portugal $1 potchefstroom pOtSIfstr'o@m pretoria prit'o@ria +robertson _^_EN stellenbosch st%&l@mbOs swellendam $3 tunisië $2 @@ -220,7 +226,9 @@ christo krIstu christoffel kr@stOf@l christian krIstian christelle kr@st&l +christina kr@stina christine kr@st'i:n +cindy sIndi coetzee kuts'e@ cronjé krOnj'e@ debora d@bo@ra @@ -328,6 +336,7 @@ retief r@tif ronel run'&l rousseau r@s@U roux r'u +ruda ruda salomo sA:l@mo@ sandra sandra schalk sk'alk @@ -349,6 +358,7 @@ tania tanja telemann te@l@man terblanche t@rblA:nS theron tr'On +thys teIs toerien $2 trudie trudi versfeld f&rsf< @@ -373,8 +383,9 @@ xhosa kO:za khumalo kum'A:lu - - +// Other proper names +checkers tSEk@rs +wimpy wImpi // article @@ -524,6 +535,7 @@ bv beIf'o@rbe@lt $dot aangaande $2 aanstaande $2 adagio ad'A:dZi;%@U +africana $3 afkere afke@r@ agamemnon ax2am'EmnOn agterstevoor $4 @@ -566,6 +578,7 @@ camembert kam@mb'&:r camouflage kamufl'A:Z charisma kar'Isma chemikalieë $3 +crescendo kr@SEndu dadelik dA:d@lIk darem dar@m @@ -659,6 +672,7 @@ klaasvakie $2 knapsekêrel knaps@k&:r@l komaan kOmA:n konkawe kOnk'A:v@ +konte $1 kopiereg kup'ir&x2 korswel kOrsv@l kotiljons kOt@lj'o~ns @@ -674,6 +688,7 @@ madame mad'A:m malles mal@s maskering mask'e@r@N $only meegee me@x2e@ +memorabilia mEmOrab'ilija memoriam mEm'o@riam mercedes $2 merlot m&rl'o@ @@ -711,7 +726,6 @@ normale nOrm'A:l@ numeri nWm@ri oeuvre W:vr@ -omega $2 omrede $2 omtrent Omtr'Ent onbegrip $1 @@ -785,6 +799,8 @@ skares skA:r@s skepsele skEps@l@ skuldelas skWld@las s'n s@n $u +slaparm slap_ar@-m +sopas $2 spaghetti sp%agEt%i sobere s'o@b@r@ sombere s'Omb@r@ @@ -797,6 +813,7 @@ sonore sun'o@r@ sover so@f&r stabiel stab'il staccato $2 +suburbia sWb'Wrbija terdeë $2 terug t@-rWx2 diff --git a/dictsource/af_rules b/dictsource/af_rules index 2020750e..595e356c 100755 --- a/dictsource/af_rules +++ b/dictsource/af_rules @@ -11,6 +11,9 @@ .group a _C) a (Cie_ 'A: + @) a (Cisasie %a // fix a sound: akklimatisasie/meganisasie/penalisasie/polarisasie and many similar + @) a (Ciseer %a // fix a sound: akklimatiseer and many similar + @) a (Cisering %a // fix a sound: akklimatisering and many similar a A: AC) a (_ %a // short final a in words like: Eva/Pieta/(su)sara %C) a (_ %a // short final a in words like: Bella/Betta/gogga @@ -78,6 +81,8 @@ t) abell %ab&l //tabelle fix double l w) a (tering A: //watering exception to the rest C) a (tering %a //short unstressed a before tering formatering etc. except watering + @C) a (tief %a // fix a sound: akkumulatief/negatief and many similar + @C) a (tiewe %a // fix a sound: konserwatiewe/putatiewe and many similar ai aI adres %adrEs // fix last e sound of adres as last part of compounds al (baster %al // move default stress: albaster and compounds @@ -102,7 +107,8 @@ ane (mo %an@ // fix stress and vowel sounds: anemoon/anemone apart ap'art - _) a (po %a // apologie/apollo/apostel + _) a (po %a // apollo/apostel + apolog (A %ap%Ol%ux2 // fix stress and vowel sounds: apologie/apologeer/-gering/-geties/-getika/-geet/-gete aposto (lie %ap@sto@ // fix stress and vowel sounds: apostolies/-e apoka (l %ap%Ok%a // fix stress and vowel sounds: apokalips/apokalipties/-e appar (A %ap@r // apparaat/apparate and compounds @@ -162,6 +168,7 @@ _) agterge (@P7 'ax2t@rx2@ agter (midda %ax2t@r // fix stress: agtermiddag/-s/agtermiddae agterna ax2t@rn'A: // agterna/-kyk/-loop/-sit/-staar + agter (stall %ax2t@r // move default stress: agterstallig/-e/-heid agter (uit %ax2t@r? // move default stress: agteruit/-boer/-gang/-ry... agter (volg %ax2t@r // move default stress: agtervolg/-ers/-ing _) agt (uur ax2t // restore default stress; exception to "tuur" rule: agtuur and compounds @@ -176,6 +183,7 @@ // adresseer adrEs'e@r // stress admini %atm@n@ // administrasie/administratief/administratiewe agent %ax2Ent + aka (sia %akA: // fix stress and 2nd a sound: akasia/-s and compounds _) a (ku %a // shorten a sound and move default stress: akute/-r a (larm %a // shorten 1st a sound and fix stress: alarm and compounds _) al (ewig %al; // shorten 1st a sound and move default stress: alewig/-e @@ -439,6 +447,7 @@ @) be (C b@ bene (dy b%e@n@ // fix stress and e sounds: gebenedy/-de beni (g be@n@ // fix stress and e sound: (swaar/twee/vier)benig, etc. + ber (serk b@r // fix stress and 1st e sound: berserk/-er C) be (rsie b'&: //kombersie etc. bene (r be@n@ //benerig/e be (C%+ bE // beffie/bessie/bennie/bettie/blombeddings @@ -640,7 +649,7 @@ debi (te d%Eb%i // fix stress and e sound: debiteer/debiteur/debitering debu (ta d%Eb%y // fix stress and e sound: debutant/-e and compounds debu (te@ d%Eb%y // fix stress and e sound: debuteer/debutering - debuut d@b'yt // debuut/-bundel/-vertoning + debuut d@byt // debuut/-bundel/-vertoning dee (moedig d%e@ // move default stress: deemoedig/-e/-er/-ste/-heid/-ing desember d%e@sEmb@r digers d@x2@rs @@ -709,6 +718,7 @@ aai) e (rC @ // fix e sound: baaierd/waaierstert/compounds starting with baaiers- bloup) ers &:rs // fix e sound: bloupers treil) e (rC @ // fix e sound: (vis)treilerkaptein/-wrak and similar compounds + dehands) e (C@ @ // fix e sound: tweedehandsemotorhandelaar/-winkel, etc. hond) e (@ @_ // fix e sound: hondebloed/-oor/-trou, etc. kod) e (C @ // fix e sound: kodenommer/kodetaal/kodewoord, etc. Cond) e (CA @ // blondekop/geskondenes/hondebelasting and many compounds/sondebok/sondelas @@ -718,6 +728,7 @@ noord) e (C @ // fix e sound: noordewind and compounds olw) e (C @ // fix e sound: golweslag/wolwedans ros) e (CA @ // fix e sound: rosegeur/roseweg + slang) e (C @ // fix e sound: slangebesweerder/-diens/-draer/-gebroedsel/-kuil/-teelt speld) e (C @ // fix e sound: speldekop/-kussing/-punt, etc. spok) e (C @ // fix e sound: compounds beginning with spoke: spokebeeld/-lywe/-dans styw) e (C @ // fix e sound: stywepas/stywesiek/-te @@ -735,6 +746,7 @@ Cien) e (rC@ @ // fix e sound: opsienersamp/tienerstatus and many similar compounds @) erts (_ _&rts // fix e sound of many compounds ending in erts @p) e (rtjie @ // fix e sound: helpertjies/wegkruipertjie + @C) e (male_ @ // fix e sound: enemale/telkemale C) e (man @ // e sound: briewemandjie/derdemannetjie/dowemansdeur/semantiek/semanties/Weideman C) e (mm++ E // geelkoperemmer/wateremmer CAnn) e (CA @ // banneling/sinnebeeld/spinnekop/-rak @@ -870,12 +882,14 @@ C) e (kA+ e@ C) e (ks++ E C) e (kt@++ E // digbedekte + ekwi (libri %Ekw%i // move default stress: ekwilibrium and derivitives ekstase Ekst'A:s@ // stress ekstase/s wink) e (l @ // winkelvensters/-sentrum/-personeel/winkelier/winkelhaak C) eloos @lo@s // haweloos/hopeloos/hulpeloos/vlekkeloos C) elose @lo@s@ // hawelose/hopelose/hulpelose/vlekkelose C) elwers ''&lv@rs // fix e sounds: delwersdorp/-drome/-kamp/-komitee/-lisensie/sigselwers C) ema (_ e@ma // words ending in ema: compounds of skema/tema + emfi (seem %Emf%i // move default stress: emfiseem and compounds C) enaar @nA:r // eienaar/lessenaar C) enier @n'i:r // kruidenier/spysenier/valkenier/Renier C) en (heid @n // opgewondenheid/bedorwenheid and many similar @@ -917,12 +931,12 @@ Add) e (le_ @ ACd) e (le_ e@ los) e (s @ - + @C) ess (_ _^_EN // English words ending in -ess in Afrikaans text e (lK & %C) e (C @ // (d)warrelwind/slakkepas %C) e (tt+ E // fix e sound: (enkelveel)lettergrepige/koppelletter/krulletter/spannette ll) e (lK & // parallel/-le - @s) e (l@ @ // e sound in words like borselkop/voedselaanvulling and many similar + &s) e (l@ @ // e sound in words like borselkop/voedselaanvulling and many similar tronks) e (l & // fix e sound: tronksel/-selletjie @s) e (lfde '& //fix dieselfde Cs) e (lf & // e sound in words like terselfdertyd/vanselfsprekend @@ -981,6 +995,7 @@ &) e (nC_ @ &) e (nde_ @ // fix penultimate e sound: sinkende/drinkende/klinkende &) e (ndeC_ @ // fix penultimate e sound: helpendes/sterwendes/blinkender, etc. + sk) e (nd E // fix e sound: lyk/grafskend(er) and similar endel (_ End@l // fix e sound: deurgrendel/toegrendel, etc. &) e (ng_ E @f) e (nis @ //erfenis/kultuurerfenis/verderfenis @@ -1000,7 +1015,7 @@ e (r & Ank) e (r@ @ // ankerpaal/kankerlyer/donkerbril rp) e (rCC @ // fix e sound: ontwerpersbaadjie/purperkleurig, etc. - _rasp) e (rC@ @ // fix e sound in rasper- compounds: raspertong/-vyl, etc. + _rasp) e (r @ // fix e sound in rasper- compounds: raspertong/-vyl, etc./rasperend lew) e (ns @ &d) e (r@ @ // not initial or final syllable @@ -1010,6 +1025,7 @@ &b) e (s@ @ rw) e (s @ // fix e sound: larwes/afsterwes/(van der )Merwes eskader %EskA:d@r // fix stress and 1st e sound: (lug)eskader)bevelvoerder and similar compounds + eska (pade %Esk@ // fix stress and a sound: eskapade/-s and compounds essen (si %isEn // fix e sounds: essensie/essensieel/essensiële komp) e (t@ @ // kompetisie/s/uitklopkompetisie/inkompetensie een (drag@ %e@n // eendrag has stress on 1st slb, but eendragtig and similar on 2nd @@ -1027,7 +1043,7 @@ entjie EiNci &k) entjie iNci // fix -entjie sound: bakentjie/dekentjie/kuikentjielakentjie/tekentjie, etc. edjie 'E:ici - &) etjie ici + &) etjie (+ ici Cn) etjies Eicis // kraaknetjies/hipernetjies nn) etjies icis // kannetjies/mannetjies/pennetjies, etc. &) elik (_S4 @l@k @@ -1111,6 +1127,7 @@ Ab) e (wa @ //bewaking/bewaring in compounds polisiebewaking @C) e (waen @ // plurals and diminutives of some of the above @C) ewerk @v&rk // fix e sounds: aardewerk/dradewerk/klerkewerk/naaldewerk/soldatewerk + weeld) e (wA @ // fix e sound: weeldeware/-wet/-te/groenweeldewasem w) e (ling @ //weling always v@l@N wild) e @ //wilde in compounds @@ -1139,7 +1156,7 @@ werk) e (rs @ //fix werkers in compounds werkershuis etc. Ceuw) e (l @ //gesneuwelde heuwelhang etc. - v) e (nno @ //vennoot and friends + v) e (nno@+ @ //vennoot and friends _) euro (pe %Y@r%o@ // stress: Europees/Europese _) ewe (red %e@v@ // move default stress: (on)eweredig/-e/-heid ex (+ _^_EN // words containing ex are English @@ -1184,6 +1201,7 @@ flo (re fl%u // move default stress, correct o sound: florerend flori (ssA fl%o@r@ // move default stress: florissant/-e flu (we fl%y // move default stress: fluweel/fluwele and compounds + _) fok (o fOk_ // fix o sound, insert short break: fokop/fokof folio fo@li_u // fix o sounds: folio and compounds @) fonie fun'i // kakofonie/simfonieorkes/telefonie @) fonies f'o@nis // fix stress: simfoniese/polifonies/telefonies @@ -1233,6 +1251,7 @@ glans x2lans // glans not nasalised: glans/-ende/-papier, etc. glas (o x2las_ // fix a sound and short break: glasoog/-ogie/-oë/-opaal/-oppervlakte gletser x2l''Ets@r // fix 2nd e sound: gletserbeweging/-meer/-vorming/vergletsering, etc. + @) gn (_ _^_EN // English words like design/foreign/resign/sign in Afrikaans text go (din x2%o@ // move default stress: godin/-ne/-netjie, etc. godde (lo x2%Od@ // move default stress: goddelose/goddeloos god (salig x2%Ot // move default stress: godsalig/-e/-heid @@ -1259,13 +1278,18 @@ griekwa x2rikwa // fix w sound and a sound in compounds: Griekwa/-land, etc. ouCa) gr (ootjie x2r' // move default stress: ouma/oupagrootjie/-s _) graad (e x2r%A:t_ // fix stress and d sound: graadeen(tjies)/-elfs + _) graad (nege x2r%A:t // fix stress: graadnege(tjies) _) graadse (s x2r%A:tsE // fix stress and e sound: graadsesse/-sessies/-sesklas + _) graad (t x2r%A: // fix stress and drop d: graadtweetjies/-tiens/-twaalfs _) graad (vyf x2r%A:t // move default stress: graadvyfs/graadvyfklas, etc. gra (niet x2r%a // move default stress and fix a sound: graniet and compounds gra (sieu x2r%a // fix stress and shorten a sound: grasieus/-e _) gras (A x2ras_ // fix stress and a sound: graseter/grasoppervlakte/grasuie _) gra (sie x2rA: // but restore default stress and long a: grasie _) gri (mA x2r@ // grimas/grimeer/-middel and other compounds/grimering + grondwetlik x2r%OntvEtl@k // move default stress: grondwetlik/-e/-heid + grondwe (tK x2rOntvE // restore default stress: grondwet/-te/-hof, etc. + grondwet (a x2rOntvEt_ // fix e sound and insert short pause: grondwetartikel/-s grotere x2ro@t@r@ // fix vowel sounds and stress: grotere/-s guerrilla g@r'Ila guttu (ra x2%Wt%W // move default stress: gutturaal/gutturale @@ -1280,6 +1304,7 @@ gems x2Ems // fix e sound: (baster)gemsbok/-bul/-ooi, etc. gene (_ x2e@n@ // gene/diegene gene (rA x2@n@ // generaal/generasie/-s/genereer + genie (_ Z@ni: // genie and compounds ending in -genie genre Z'A~nr@ //genre and compounds _) gens (C x2E:ns // fix stress and e sound: gensbok and compounds _) geo (s x2%i%u // fix stress and -eo- sound: geosentries/geosfeer/geoskoop/geostaties @@ -1296,6 +1321,7 @@ ge (kg x2& // fix stress and e sound: gekgeskeer ge (kk x2& ge (kh x2& + ge (kt x2& // fix e sound: gektalery genade x2@nA:d@ // correct 2nd e in compounds: genadedood, etc. genad (etjie x2@nA:d // correct 2nd e in genadetjie _) ge (rC x2& // gerf/gerwe/gert/gerber @@ -1333,6 +1359,7 @@ ge (olo x2i //geoloog etc. ge (ome x2i //geometries etc. gesels x2@s'&ls + A) ge (tjie x2i // fix e sound: (graad)negetjie/-s @C) gewens x2@ve~ns @@ -1672,7 +1699,9 @@ n) kerend (_ k@r@nt //hunkerend and others n) kerende (_ k@r@nd@ //hunkerende and others kerker k&rk@r // fix e sounds: gekerkerde/inkerkering/kerkermuur, etc. + flik) kerkers k@rk&:rs // fix e sounds: flikkerkers/-e weder) ker (A k'e@r // wederkerend/wederkerig + bottel) kers k&:rs // fix e sound: bottelkers/-e kete (l ke@t@ // fix e sounds: stookketel/ketelmaker and many similar compounds _) keuse k''Y@s@ // fix connecting e sound in compounds starting with keuse kiaat k%i;A:t // move default stress: kiaat and compounds @@ -1841,6 +1870,7 @@ kombers k%Omb&:rs // fix stress and e sound: kombers/-e/dons-/lappieskombers, etc. ko (mete k%u // fix stress and 1st o sound: komete and compounds kommando k%umandu // move stress, fix o sounds: kommando and compounds + kommer (si k%Om%&r // fix e sound: kommersieel/-ële kommissie k%umis%i //kommissie alone and in compounds ko (pie@ k%u // kopiereg/kopie koe (rA k%u // koerier/koerasie/koerant and compounds @@ -1849,7 +1879,7 @@ korri (ge k%Or@ // move default stress: korrigeer and derivitives kort (stond k%Ort // move default stress: kortstondig/-e/-heid koever (t k%uf&r // koevert/-e/-jie and compounds - kollege k'OlidZ // kollege/onderwyskollege + kollege kOlidZ // kollege/onderwyskollege kolleges (_ k'OlidZ@s // kolleges/onderwyskolleges kollek (s k%ulEk // fix stress and vowel sounds: (deur)kolleksie/-s kolle (kteK k%ulE // fix stress and vowel sounds: (straat)kollekte(-bordjie/blikkie...) @@ -1944,11 +1974,13 @@ lening le@n@N // banklening/sorgverlening/hulpverlening... lepe (ll le@p@ // fix 2nd e sound in compounds: lepellê, etc. @C) les (K lEs // aanvangsles/geskiedenislesse/musiekles/koffiefles + @) less (_ _^_EN // English words ending in -less in Afrikaans text: harmless/motherless, etc. @l) le (sC@ l@ // fix e sound: getallestelsel/gevallestudie/novelleskrywer leuen (tjie lY@iN // leuentjie/witleuentjie _) lev (i l@f // Levitikus/Leviet levi (atan l%e@v%i // fix stress and vowel and v sounds: leviatan(sgeslag) lewe (K le@v@ // belewenis/lewendig/agtergeblewenes/hotellewe/skoollewe/stillewe + lewe (tjie le@vi // fix 2nd e sound: lewetjie/-s libe (rA l@b@ // liberaal/liberale/liberalis/-me/(ge)libereer _) libe (ri@ l@be@ // fix stress and vowel sounds: Liberië/Liberies/-e liefdes lifd@s // liefdesbrief/daad/geskiedenis/verhouding... @@ -1963,6 +1995,7 @@ &) like (_S4 l@k@ &) likes (_S5 l@k@s &) liker (_S5 l@k@r + li (keur l@ // fix stress and i sound: likeur and compounds likke (wa l@k@ // move default stress: likkewaan/likkewane &) likste (_S6 l@kst@ litera (t l@t@r%a // literatuur/literature/literatore, but literbottel @@ -2146,7 +2179,7 @@ melankolie (_N m%El%aNk%o@li // fix stress and 1st e sound: melankolie melank m%El%aNk // stress and 1st e sound: melankolies/melankoliek/-e/melankolikus/-ci mem (bra m%Em // move default stress: membraan/membrane - memo (ran m%Em%u // fix stress and vowel sounds: memorandum/memoranda and compounds + memo (rA m%Em%u // fix stress and vowel sounds: memorandum/memoranda and compounds/memoriseer/-sering meneer m@n'e@r // meneer/meneertjie menere m@n'e@r@ // menere/beroepsmenere mening m'e@n@N @@ -2374,10 +2407,12 @@ okraat ukr'A:t // burokraat/outokraat and similar okrasie ukras'i // burokrasie/outokrasie and similar okrat (A ukr'A:t // burokraties/outokraties/demokrate and similar + okrat (isA %ukr%at // fix stress: demokratisasie/-seer/-sering and similar ologie ulux2'i // biologie/tegnologie and similar ologies ul'o@x2is // biologies/tegnologies and similar oloog ul'o@x2 // bioloog/kardioloog and similar oloë ul'u@ // bioloë/kardioloë and similar + omega %o@me@x2a // omega/-s ometrie ume@tr'i // geometrie/psigometrie ometries um'e@tris // geometries/psigometriese oskope usk'o@p@ // kaleidoskope/mikroskope @@ -2473,6 +2508,7 @@ fr) ons o~ns g) ons o~ns + on (dier On // restore default stress: ondier/-e ondjie OINci ontjie OINci ontering %Onte@r@N //ontering in compounds montering etc. @@ -2642,6 +2678,7 @@ palin (dro p%al@n // fix stress and a sound: palindroom/-drome/-dromies _) palja (K palj''a // fix stress on -jas: (ge)paljas/paljasse/paljasagtig/-e pal (miet p%al // move default stress: palmiet and compounds + panado p@nA:d@U: // fix stress and vowel sounds: panado/-'s _) pan (dem p%an // move default stress: pandemie/-s and compounds _) pan (do p%an // move default stress: pandoer/-e/Pandora/pandok panga paNga // fix g sound: panga/-s @@ -2680,9 +2717,11 @@ patri (@ p%atr%i // move default stress: patriarg/patriot/-te and derivitives patriar (ga p%atr%i%ar // move default stress: patriargaal/-gale paté p%ate@ // fix stress and vowel sounds: (lewer)paté, etc. - pa (Ciljoe p%a% // fix stress: pawiljoen/paviljoen/-e and compounds + pavil (joe p%av@l // fix stress and v sound: paviljoen and compounds + pawil (joe p%av@l // fix stress: pawiljoen and compounds polio po@li;u // polio and compounds _) peli (ka p%El%i // move default stress: pelikaan/pelikane + pe (nali p%E // fix e sound: penalisasie/-seer/-sering/-teit pe (narie p@ // fix e sound: penarie/-s and compounds pen (dule p%En // move defaul;t stress: pendule/-s pene (_ p@n@ // geroepenes/ontslapenes/uitgeworpenes @@ -2700,9 +2739,11 @@ @) pere (_ pe@r@ // compounds ending in pere indicating the fruit skam) pere (_ p@r@ ?? shorten 1st e in ending perfek p@rfEk // perfek/-te/-sie/-sionis + perife (rA@ p%Er@f@ // fix stress and vowel sounds: periferie/-ë/periferaal/-ale peri (o p%e@r%i; // stress: periode/-s and compounds peripa (t pEripa'' // fix stress and vowel sounds: peripateties/-e/peripatetikus/-se/peripatetici peri (stal p%Er@ // fix stress and vowel sounds: peristalties/-e/peristaltiek + @) perke (_ p&rk@ // fix e sound in some words ending in -perke: menseperke per (kussie p@r // fix stress and e sound: perkussie and compounds perle (moe p%&rl@ // move default stress: perlemoen/perlemoer and compounds/reperkussie/-s pe (rron p@ // move default stress and fix e sound: perron and derivitives @@ -2892,9 +2933,11 @@ reden (ACA r@d@n' // redenasie/s rede (ry r%e@d@ // move default stress: redery/-e and compounds _) redi (gA r%Ed%i // redigeer/geredigeer/-de/ongeredigeerde + reflek (C r%iflEk // fix 1st e sound: refleksie/reflekteer refor (m r@f%Or // gereformeerde/reformering/reformasie re (frein r@ // move default stress: refrein/-e C) re (gat r@ // fix e sound: fregat/-te and compounds/harregat + reggae rEgeI // reggae(musiek/-sanger..., etc.) regime (_ r@Zi:m // regime/-s and compounds regi (ment r@x2@ // fix stress and e and i sounds: regement/-e and compounds reg (ist r@x2 // registrasie/-nommer/register/bevolkingsregister @@ -2913,6 +2956,7 @@ re (produ r%e@ // fix stress and e sound: reproduksie/reproduseer rep (tiel r%Ep // move default stress: reptiel/-e and compounds reso (nA r%Es%u // fix stress and e sound: resonant/-e/resonansie/resoneer + re (spon r@ // fix stress and e sound: respons/-e/-ie/respondent, etc. _) re (spyt r@ // fix stress and e sound: respyt/-dae/-tydperk _) re (stant r@ // fix stress and e sound: restant/-e repu (t r%Epy // move stress from 1st slb @@ -2989,8 +3033,10 @@ si (viel s@ // move default stress and fix i sound: siviel/-e s (iën S _) sebra se@bra // fix vowel sounds: sebra/-strepe; variant of zebra + se (ggA s& // fix e sound: niksseggend/-e selek (CA s@lEk //seleksie selekteer etc. sending (_ sEnd@N //fix sending at word end + seroto (ni s%Er@t%u // fix stress and vowel sounds: serotonien(vlakke, etc.) saamge (P6 s'A:mx2@ // saamgepers/-de/saamgetel/saamgeêet saamgee sA:mx2e@ // fix ee in saamgee; see rule: saamge (P6 @@ -3009,6 +3055,7 @@ samel (C sA:m@l // versamelde: see rule:_) same (@P4 s'A:m@ samen (+ sA:m@n // gesamentlik/-e _) san (da s%an // move default stress: sandaal/-tjies/sandale + sand (adder sant_ // fix stress, d sound, insert short pause: sandadder/-s sara (se s%ar%a // move default stress: saraseen and compounds/sarasene _) sar (d s%ar // sardien/-blikkie/sardinies/sardyne sar (kA s%ar // move default stress: sarkasme/sarkasties/sarkoom @@ -3026,6 +3073,7 @@ se (ku s@ // sekuriteit/sekuur seku (l s%Ek%y // sekulër/sekulariseer sekwe (strA s%Ekw@ // fix e sounds: sekwestrasie/sekwestreer and compounds + heuning) se (lK s& // fix e sound: heuningsel/-le sela (kant s%e@l@ // fix stress and vowel sounds: selakant/-e selder (y s%&ld@r // move default stress: seldery and compounds &) sele (_ s'e@l@ @@ -3125,8 +3173,8 @@ spreekwoordeli spr%e@kvo@rd@l@ // move default stress: spreekwoordelik/-e, vs. spreekwoord sproke spro@k@ // see rule: pro (CA pr%u : aangesprokene/onbesproke, etc. self (_ s'&lf // myself/vanself -// self s'&lf K) sewe (C s'e@v@ // sewejarige/standerdseweklas + sewe (tjie se@vi // fix e sound: sewetjie/-s september s@ptEmb@r @) sief (_ s'if // massief/aggressief/passief/intensief @) siewe (_ s'iv@ // massiewe/aggressiewe/passiewe/intensiewe @@ -3166,7 +3214,7 @@ spesialis spESal'Is spesi (f sp%Es%I // spesifiek/spesifiseer stede (C ste@d@ // fix e sounds of many compounds and derivitives containing stede - dubbel) ste (r st& // fix e sound: dubbelster/-re + %Cel) ste (r st& // fix e sound: dubbelster/-re dwaal) ste (r st& // fix e sound: dwaalster/-re dwerg) ste (r st& // fix e sound: dwergster/-re nd) ste (r st& // fix e sound: aandster/oggendster @@ -3177,7 +3225,7 @@ stimu (lA st@m%y // move default stress and fix i sound: stimuleer/stimulering/stimulasie _) sub (a sWb_ // subagent/subartikel/subatomies, etc. sub (li s%Wb // move default stress: subliem/-e - subli (mA s%Wbl%i // move default stress: sublimaat/-ate/sublimering + subli (mA s%Wbl%i // move default stress: sublimaat/-ate/sublimering sublimi (na s%Wbl%im%i // move default stress: subliminaal/-ale sub (sidA s%Wb // move default stress: subsidie/-s and compounds sub (stansie s%Wp // move default stress and fix b sound: substansie/-s/substansieel/-siële @@ -3200,6 +3248,10 @@ swart (gal sw%art // move default stress: swartgallig @) swem (_ swEm // fix e sound of compounds ending in swem: uitswem/wegswem... @) swerk sv&rk + @) swee (_ sve@ // fix w sound: volkswee + sweep swe@p // fix w sound: rubbersweep + swepe swe@p@ // fix w sound: rubberswepe + sw (erm sw // fix e sound: naderswerm .group st D_) ste st@ //ste after numbers 22ste etc. @@ -3322,6 +3374,7 @@ @) tion (_ _^_EN //words ending in tion is English @) tions (_ _^_EN //words ending in tions is English + @) tle (_ _^_EN // words like little/bottle, etc. in Afr. text toegank t%ux2'aNk // toeganklik/heid toegewen (d t%ux2e@v@n // move default stress: toegewend/-e/-heid toe (komsti t%u // move default stress: toekomstig/-e @@ -3355,6 +3408,7 @@ traw (a trav' // trawant/e/trawal &) treding tre@d@N // betreding/uittreding @) treer tr'e@r // this slb always takes stress; many words + @) treer (A tre@r // default stress: aantreery/-e/intreerede tref (afs trEf_ // fix e sound and insert short pause: trefafstand/-e trens (_ tre~ns // fix e sound and nasalise: trens/-snytrens and similar _) tri (bu tr@ // fix stress and i sound: tribuun/tribune/tribuut/tribute @@ -3362,9 +3416,11 @@ tre (k tr& trekker tr&k@r // voortrekkerleier/Voortrekkerstraat/salaristrekkersvergadering + trio (_ tri:u // fix o sound: (fluit-/harp/-kitaar...)trio triomf (ant tr%i%Omf // move default stress: triomfantlik/-e tri (omf tr%i // move default stress: triomf/-boog/-lied/-tog, etc. @) trise (_ tr'is@ // aktrise and similar + trivia trIvij%a // trivia and compounds: musiektrivia, etc. troglo (die tr%Ox2l%u // fix stress and 2nd o sound: troglodiet/-e and compounds _) trom (b tr%Om // move default stress: tromboon/trombone/trombose and compounds _) trom (pet tr%Om // move default stress: trompet/-tte/-tter and compounds @@ -3400,7 +3456,7 @@ teleks t&lEks // fix stress and vowel sounds: teleks and compounds _) teler te@l@r // fix stress and vowel sounds: teler/-s/-y/-svereniging, etc. @C) te (nk t& ++ //tenk and friends - _) te (no t@ //tenoor, tenore etc. + _) te (no t@ //tenoor, tenore etc. @C) te (C t@ /// s) te (king te@ //ontsteking in compounds te (kkie+ tE // fix e sound: tekkie/-s/staptekkies and similar @@ -3415,6 +3471,7 @@ tempel tEmp@l // fix e sounds: afgodtempel/Hindoetempel/kultuurtempel/tempelbewaarder/tempeldienaar tent (_ tEnt //suurstoftent and others tente (_ tEnt@ // (suurstof-/wa-)tente and similar + ten (toon t%En // move default stress: tentoonstel/-ling te (oo t@ // geboorteoorskot/kosteoorweging/siekteoorsaak/terroristeoorlog _) teraarde t%&r?A:rd@ // move default stress and fix e sounds: teraardebestelling/-s &) terd (_ t@rt // fix e sound: beteuterd/gelouterd/stouterd @@ -3551,8 +3608,9 @@ urienweg %yrinv&x2_ // fix stress and e sound: urienweginfeksie/-ontsteking, etc. urine %yrin@ // urine and compounds urineer yrin'e@r // stress to end + _b) u (sA 'W //busongeluk etc. utjie Yyci - universiteit yniv&rsit'eIt + univers (A@ %yn%iv%&rs // universiteit and compounds/universeel/-ele C) uwelik yv@l@k // gruwelik/huwelik/afskuwelik m) u (skiet %W //change stress for muskiet compounds n) uwe (C yv@ // nuwelinge/nuwemaan @@ -3578,6 +3636,7 @@ _) vanklik faNkl@k // (on)ontvanklik/-e/-er/-heid vanself (spr f%ans%&lf // move default stress: vanselfsprekend/-e/-heid vari (A v%ar%i // fix v sound and stress: variasie/-s/varieer + vaseline v%as@lin // fix stress, v and vowel sounds: vaseline/-bottel, etc. vati (kaan f%at%i // fix stress and shorten a sound: vatikaan and derivitives and compounds @) ve (_ _^_EN //words ending in ve is English veel (duid f%e@l // move default stress: veelduidig/-e/veelduidend/-e @@ -3610,14 +3669,18 @@ @C) ver (_ f&:r // fix e sound in compounds ending in -ver verant (w f@r%ant // (on)verantwoordelik/-heid/verantwoording verant (woord_ f@r_ant // fix stress: (on)verantwoord (single word) - verant (woorde_ f@r_ant // fix stress: (on)verantwoorde (single word) + verant (woorde_N f@r_ant // fix stress: (on)verantwoorde (single word) + ver (baal v%&r // fix v and e sounds and stress: (nie)verbaal + ver (balA v%&r // fix v and e sounds and stress: (nie)verbale/verbaliseer vere (b fe@r@ // ver- not prefix: verebed/-bedryf/-bedekking vere (h fe@r@ // ver- not prefix: verehoed/-e/-ens vere (k fe@r@ // ver- not prefix: verekombers/-kuif/-kussing vere (m fe@r@ // ver- not prefix: verematras/-se/-sie verende f'e@r@nd@ verer (ing f@r_e@r // verering and compounds ending with verering, eg. heldeverering + vere (v fe@r@ // fix stress and e sounds: verevlam and similar ver (gesig f&r // fix stress and 1st e sound: vergesig/-te + verge (strek f&:rx2@ // fix stress and e sound: vergestrek/-te vergete f@rx2'e@t@ // vergeterig/vergetelheid _) vergewe f@rx2e@v@ // vergewe/vergewend/-e vering f'e@r@N //motivering preservering etc. @@ -3739,6 +3802,7 @@ .group w w v w (w + @) w (C_ _^_EN // words like: awl/crowd/lawn, etc. d) w w gh) w w // fix w sound: ghwano and compounds/ghwar/ghwarrie and compounds/ghwel ad) w v // w sound: badwater/bladwisselend/stadwaarts @@ -3877,6 +3941,7 @@ _) wol (A vOl_ // fix o sound, insert short break: wol(onderbaadjie/-broek/-hemp/-klere)/-olie worth _^_EN wood _^_EN + woongewes vo@nx2@vEs // fix stress and e sounds: woongewes/-te @C) w (ooC v // fix w sound: eenmanswoonstel/handelswoorde/openingswoord/privaatwoonstel @) ws (_N _^_EN @) w (_N _^_EN @@ -3902,6 +3967,7 @@ .group y y eI + ysterre (lin eIst@re@ // fix e sound: ysterreling/-s .group z z z diff --git a/dictsource/de_rules b/dictsource/de_rules index a2f2cff6..ab0c1719 100644 --- a/dictsource/de_rules +++ b/dictsource/de_rules @@ -597,6 +597,12 @@ &n) ien (_ I@n p) ien (_ 'i:@n &r) ien (_ =i:@n + ser) ien (_ 'i:@n + tter) ien (_ 'i:@n + eor) ien (_ 'i:@n + gor) ien (_ 'i:@n + etr) ien (_ 'i:@n + dustr) ien (_ 'i:@n s) ien (_ 'i:@n t) ien (_ 'i:@n &) iens (_ =I;@ns diff --git a/dictsource/dict_phonemes b/dictsource/dict_phonemes index 0d28f1db..1810335c 100644 --- a/dictsource/dict_phonemes +++ b/dictsource/dict_phonemes @@ -113,14 +113,13 @@ S s2 t v Z Dictionary fr_dict @ @- a A A~ e E E~ -i i: o O O~ u W w^i -W~ y Y +i i: o O O~ u w W +w^i W~ y Y -* : ; b c d dZ f -g h j k l m n N -n2 n^ p p2 r R s S -t t2 tS v w z Z z2 -z3 +: ; b c d dZ f g +h j k l m n N n2 +n^ p p2 r R s S t +t2 tS v z Z z2 z3 Dictionary hi_dict @@ -359,6 +358,16 @@ l m n N p R s S t tS v w x z Z +Dictionary ko_dict + +a E e i o u u- V +Y + +b d dZ g h j k k` +l m n N p p` r s +s` t t` tS tS` w + + Dictionary hbs_dict & @ @2 a A a: aI aU @@ -376,10 +385,10 @@ Dictionary id_dict @ a aI aU e E i o O u -* ? b d dZ f g h -j k l m n N n^ p -r R s S t tS v w -x z +* : ? b d dZ f g +h j k l m n N n^ +p r R R2 s S t tS +v w x z Dictionary tr_dict diff --git a/dictsource/en_list b/dictsource/en_list index c30a7894..8646da81 100644 --- a/dictsource/en_list +++ b/dictsource/en_list @@ -2240,6 +2240,7 @@ Nepal nEp'O:l Noumea nu:m'eI@ Oahu oU'A:hu: Ohio oUh'aIoU +Omaha oUma2hA: Oman oUm'an Oregon 0rIg@n Pacific pa2sIfIk @@ -2434,7 +2435,7 @@ Yvonne $2 Zoe zoUI Andromeda andr'0mId@ -Buchannan bju:k'an@n +Buchanan bju:k'an@n Campbell kamb@l Disney dIznI2 Patel p@t'El diff --git a/dictsource/en_rules b/dictsource/en_rules index 17d18a36..379723a6 100644 --- a/dictsource/en_rules +++ b/dictsource/en_rules @@ -38,8 +38,10 @@ .group a _) a (_ a2 _) a (- 'eI + -) a (- a2 _) a (-half a2 _) a (_D ,eI + _) a (_- eI _) a's (_ eIz D_) a (_ eI a a @@ -278,6 +280,7 @@ _) ac (i a2s acious 'eIS@s _) ack (_ ak + &) ac (le_ @k _) ac (o ak ac (on ak ac (orn eIk @@ -1288,8 +1291,8 @@ _ar) chi (@ kI ar) ch (ive k or) ch (i k - ch (lor k - chloro kl,O:roU + chlo (r klo@ + chloro kl,o@roU choir kwaI@ ch (ol k choly k@lI2 @@ -1463,7 +1466,6 @@ de (ck dE de (com di: de (cor dE - deco (ra dEk@ de (coru dI2 de (creas di: de (crem dE @@ -1883,8 +1885,8 @@ th) ei (sC i:I _s) eis (m aIz f) ei (t_ I - ei (th aI - ei (th_ i: +?!3 ei (ther aI + ei (th i: ei (v i: ei (z i: @@ -3711,6 +3713,7 @@ or (t O@ p) or (t o@ or (A o@r + &) or (ate 3r @@) or (_$2d 3 // suffix &) or (_ 3 ?8 @@) or (_$2d o@ // suffix diff --git a/dictsource/fr_list b/dictsource/fr_list index 24c98e95..08c4b80f 100755 --- a/dictsource/fr_list +++ b/dictsource/fr_list @@ -5,7 +5,7 @@ // 2006-11-18 Gilles Casse // -// Updated 2008-03-12 Michel Such +// Updated 2008-03-19 Michel Such // // * Numbers, a few abbreviations and exceptions. // @@ -273,10 +273,10 @@ toutefois $u comme $u dont dO~t2 $u lorsque $u -parce $u +(parce que) parsk@ $u puisque $u quand $u -que $u +que $u $verbf qui $u $verbf quoique $u si $u @@ -285,6 +285,7 @@ si $u je $u $verbf tu $u $verbf elle $u $verbf +y $u $verbf il $u $verbf nous $u+ $verbf vous $u+ $verbf @@ -347,6 +348,7 @@ sur $u par $u pour $u en $u +en $u $verb $verbextend (en suspens) A~||sysp'A~ vers $u @@ -376,7 +378,7 @@ sont $u+ $verb étais $u+ $verb était $u+ $verb -étions $u+ *verb +étions $u+ $verb étiez $u+ $verb étaient $u+ $verb @@ -414,8 +416,6 @@ consent kO~s'A~t2 scient si coing kwE~ convent kO~vA~ -couvent k'uvt2 $verb -(couvent couvent) kuvA~||k'uvt2 dessous d@su divers divErz2 hareng _!arA~ @@ -434,6 +434,7 @@ monsieur m@sjY montréal mO~Real (n'est ce pas) n'Es@-||p'az2 (qu'est ce que) kEsk@ $u +(quelque chose) kElk@S'oz (cent un) s'A~||W~ (cent unième) s'A~||ynj'Em (cent une) s'A~||yn @@ -452,6 +453,7 @@ casus kazys choeur k@r cocus coky estomac Estoma +éloquent ElokA~t2 fils fis gars ga iris iris @@ -485,7 +487,7 @@ l'y li $verbf qu'y ki $verbf (sud est) sydEst (nord est) nOREst -potentiomètre pOtA~sjOmEtR@- +tiomètre pOtA~sjOmEtR@- processus pROsEsys @@ -675,3 +677,4 @@ vincent vE~sA~ + diff --git a/dictsource/fr_rules b/dictsource/fr_rules index 98941004..4f5237d7 100755 --- a/dictsource/fr_rules +++ b/dictsource/fr_rules @@ -4,7 +4,7 @@ // 2006-11-18 Gilles Casse // -// Updated: 2008-03-12 Michel Such +// Updated: 2008-03-19 Michel Such // // * The rules are based on Cicero TTS. // Y @@ -205,13 +205,15 @@ _dol) en (t_ A~ // dolent ol) en (t_ A~ // somnolent, violent Vol) en (t_ // somnolent, violent + Xol) en (t_ // volent imCoC) en (t_ A~ // impotent inCoC) en (t_ A~ // innocent, indolent XACcid) en (t_ A~ // accident, occident _ag) en (t_ A~ // agent - _arC) en (t_ A~ // argent, ardent, arpent + _ard) en (t_ A~ // argent, ardent + _arg) en (t_ A~ // argent, argent _urg) en (t_ A~ // urgent V_urg) en (t_ // urgent (verbe) @@ -260,6 +262,7 @@ Vferm) en (t_ // ferment, referment (verbe) XArp) en (t_ A~ // arpent, serpent CArr) en (t_ A~ // conncurrent, torrent + Cerr) en (t_ // ils serrent _appar) en (t_ A~ // apparent spar) en (t_ A~ // transparent _par) en (t_ A~ // parent @@ -301,11 +304,12 @@ _souv) en (t_ A~ // souvent Cud) en (t_ A~ + _couv) en (tS3f A~ // le couvent + V_couv) en (t_ // elles couvent s_couv) en (t_ // elles couvent - qui_couv) en (t_ - _couv) en (t_ A~ // le couvent - en (t_ t2 // étaient mangent + + en (t_ // étaient mangent Ci) en (_ E~ // viendra Ci) en (C E~ // viendra @@ -393,13 +397,11 @@ _CC) e (_ @- _qu) e (_ @ // que - CC) e (_C @- - CC) es (_C @-z2 -j) e (_ @- gu) e (_C @- - gu) es (_C @-z2 + gu) es (_C @- qu) e (_C @- - qu) es (_C @-z2 + qu) es (_C @- e (_ // montre @@ -670,10 +672,11 @@ _) half _^_en iev _^_en ife (_ _^_en igh _^_en - ing (_ _^_en // parking ind (_ _^_en // find, mind _C) ind (er_ _^_en // finder, reminder _AC) ind (er_ _^_en // finder, reminder + ing (_ _^_en // parking + ink _^_en // link ize _^_en // realize @@ -900,7 +903,6 @@ mou) rr RR // mourrai s s // verser sien s (_S1 z2 -e) s (_h z2 _) s' (P2 s // s'amène sç s // immisça @@ -985,16 +987,14 @@ e) s (_h z2 _) t (_ te -) t (- t V) t (_ t2 // silent at end of verb unless next word starts with a vowel +n) t (_ // silent at end of verb unless next word starts with a vowel +n) t (- t2 // silent at end of verb unless next word starts with a vowel t (_ // silent at end of word t (-S1 t - _) th (onX t // thon - _) th (ymX t // shym + _) th t // thon ts (_S1 z2 // silent at end of word unless next word starts with a vowel C) t (_ t // compost watt soft script malttact abrupt - Vn) t (_ t2 // silent at end of verb unless next word starts with a vowel - n) t (_ // silent at end of word r) t (_ t2 // fort -C) te (_ t@- // patte aul) t (_ // Renault @@ -1026,7 +1026,7 @@ C) te (_ t@- // patte t) t (ion t // combattions t (iel s // partiel patiemment - t (iem s + t (iAm s mar) t (ien s // martien vénitienne i) t (ien s @@ -1146,9 +1146,7 @@ C) te (_ t@- // patte _soi) x (A s // soixante - au) x (_ z2 // faux beaux - eu) x (_ z2 // jeux - ou) x (_ z2 // choux genoux + Au) x (_S1 z2 // faux feux choux _au) x (quel // auxquels @@ -1229,3 +1227,4 @@ C) te (_ t@- // patte + diff --git a/dictsource/hu_list b/dictsource/hu_list index 2df88294..6f0d9e86 100755 --- a/dictsource/hu_list +++ b/dictsource/hu_list @@ -65,7 +65,7 @@ _tld tildE // characters _#9 tAb _#32 so:kYz - +_cap n'AJ_| // Abbreviations km kilo:me:tER2 diff --git a/dictsource/id_list b/dictsource/id_list index d31bec5e..85f9e1f0 100644 --- a/dictsource/id_list +++ b/dictsource/id_list @@ -18,7 +18,7 @@ m Em n En o o p pe -q ke +q ki r ER s Es t te @@ -33,22 +33,22 @@ _0 n'ol _1 s'atu _2 d'ua _3 t'iga -_4 'Empat +_4 '@mpat _5 l'ima -_6 'Enam +_6 '@nam _7 t'udZuh _8 d@l'apan _9 s@mb'ilan _10 s@p'uluh -_11 s@belas -_12 d'uabelas -_13 t'igabelas -_14 'Empatbelas -_15 l'imabelas -_16 'Enambelas -_17 t'udZuhbelas -_18 d@l'apanbelas -_19 s@mb'ilanbelas +_11 s'@b@las +_12 d'uab@las +_13 t'igab@las +_14 '@mpatb@las +_15 l'imab@las +_16 '@namb@las +_17 t'udZuhb@las +_18 d@l'apanb@las +_19 s@mb'ilanb@las _2X d'uapuluh _3X t'igapuluh _4X 'Empatpuluh @@ -63,3 +63,79 @@ _0M1 R'ibu_ _1M1 s@r'ibu_ _0M2 dZ'uta_ _1M2 s@dZ'uta_ +_0M3 m'iljaR +_1M3 s@m'iljaR +_dpt _k,oma_ + +_cap b'EsaR // after the letter +_?? k,odeh'uR2uf + +// accented letters +_lig d'aIgRaf +_acu akj'ut +_ac2 dub@lakj'ut +_brv bR2'i:v +_ced s@d'ila +_cir t'opi +_dia 'umlaUt +_dot d'Ot +_grv gR2'av +_hac h'atSEk +_mcn m'akR2On +_ogo 'OgonEk +_rng R2'iNg +_stk stR'ok +_tld t'ild@ + +// punctuation +_! t,anda||s'ER2u +_" t,andak'utip +£ ponst'E*RliN +% p@*Rs'En +^ t,andat'opi +& t,andad'an +_* b'intaN +_( k,uR2uN||b'uka +_) k,uR2uN||t'utup +__ g,aR2is||b'awah +_- t,andah'ubuN ++ t'ambah += s,ama||d'ENan +_{ k,uR2uN||kuR2'awal +_} k,uR2uN||kuR2,awal||t'utup +_[ k,uR2uN||s'iku +_] k,uR2uN||s,iku||t'utup +_: t,iti?||d'ua +_; t,iti?||k'oma +@ a||k'EOng +_' k,utip||t'uNgal +~ t'ilde +# p'agaR +_< k,uR2aN||d'aR2i +_> l,Ebih||d'aR2i +_, k'oma +_. t'iti? +_? t,anda||t'an^a +/ g,aR2is||m'iR2iN +_\ 'bEkslES + + +// unstressed words +suatu $u +dari $u +pada $u +daripada $u +ke k@ $u +di $u +si $u +sang $u +hang $u +yang $u +dan $u +atau $u +untuk $u +ialah $u +adalah $u +sebagai $u +bahwa $u +per p@r $u diff --git a/dictsource/id_rules b/dictsource/id_rules index 512a7dd0..5ea33ea8 100644 --- a/dictsource/id_rules +++ b/dictsource/id_rules @@ -13,6 +13,9 @@ .group b b b + _) be (@@ b@ + + .group c c tS @@ -49,6 +52,9 @@ k (_ ? kh x + _) ke (@@ k@ + + .group l l l ll l @@ -56,6 +62,9 @@ .group m m m + _) me (@@ m@ + _) mempe (@ m@mp@ + .group n n n ng N @@ -73,12 +82,18 @@ p p pp p + _) pe (@@ p@ + + .group q q k qu kw .group r - r R + r R2 + r (K R + e) r (K *R + .group s s s @@ -86,10 +101,16 @@ sy S // perhaps [S;] ?? sj S + _) se (@@ s@ + + .group t t t tj tS // Dutch + _) ter (@@ t@*R + + .group u u u u) u _|u @@ -112,7 +133,13 @@ z z .group - $ dolaR + $ dOlaR + __) - (_D t,andak'uR2aN + + * b'intaN + *) * (* + ** + **) * (_ _:: diff --git a/phsource/compile_report b/phsource/compile_report index 3f0790ef..f7472d67 100644 --- a/phsource/compile_report +++ b/phsource/compile_report @@ -1,4 +1,4 @@ -47 phoneme tables +48 phoneme tables new total base 98 98 base2 24 117 @@ -27,7 +27,7 @@ hr 20 132 mk 3 133 sr 14 132 - ru 38 128 + ru 39 129 it 17 120 la 21 116 es 9 118 @@ -46,7 +46,8 @@ sw 14 107 tr 18 122 ku 17 121 - id 14 119 + id 15 119 + ko 16 112 Data file Used by b/b [b] base @@ -97,6 +98,7 @@ d/d [d] base [d;] ro [d] el [d] sw + [d] id d/d_ [d] base [d[] base [d] base2 @@ -113,6 +115,7 @@ d/d_ [d] base [d;] ro [d] el [d] sw + [d] id d/d_dnt [d] sr d/dr [*] base [d] base @@ -131,6 +134,7 @@ d/dr [*] base [d;] ro [d] el [d] sw + [d] id d/tap [*;] ro d/tap1 [*] base d/tap2 [t#] en_us @@ -151,6 +155,7 @@ d/xd [d] base [d;] ro [d] el [d] sw + [d] id d/xd_pzd [d;] pl [d;] ru d/x_tap [t#] en_us @@ -461,6 +466,7 @@ r3/r_n [r/] base [r/] fr [r/] ru r3/r_o [(o)] base +r3/r_ru [R4] ru r3/r_trill [R2] base [R3] base [r] af @@ -471,6 +477,7 @@ r3/r_trill [R2] base r3/r_trill2 [R] base [r] cy [R] hr + [R4] ru r3/r_trill2.wav [R] base [r] cy [R] hr @@ -494,7 +501,9 @@ r3/rx [*] base r3/rz_cs [R^] sk [R^/] sk r3/@tap [**] base + [r] ko r3/@tap2 [**] base + [r] ko r/r [r] base [r-] base [r] en_sc @@ -563,6 +572,7 @@ ufric/s [s] base [s] fr [s] es [s#] pt + [s`] ko ufric/s_ [s] base [z] base [s2] fi @@ -685,6 +695,7 @@ ustop/k_unasp [k] base [k] sk [k] el [k] zhy + [k`] ko ustop/k_unasp_ [k] zh ustop/null [?] base ustop/p [p] base @@ -727,6 +738,7 @@ ustop/p_unasp [p] base [p] la [p;] ro [p] zh + [p`] ko ustop/p_unasp_ [p] base2 [p] fi [p] hi @@ -763,6 +775,7 @@ ustop/t_dnt [t] base [t;] ro [t[] vi [t] sw + [t`] ko ustop/t_dnt2 [t[] vi ustop/t_hi [t] hi [th] hi @@ -797,6 +810,7 @@ ustop/ts_pzd [tS;] base [ts;] base [ch] hi [tS;] ru + [tS`] ko ustop/ts_pzd_ [c] hi [c] hu ustop/ts_pzd2 [c] hi @@ -1191,6 +1205,7 @@ vowel/a [a] en_n [a] it [a] zh [a] id + [a] ko vowel/a# [a/] base2 [a2] en_sc [a2] en_wi @@ -1291,6 +1306,7 @@ vowel/e [e] base2 [e] grc [e] vi [e] id + [E] ko vowel/e# [I] en_sc [I2] en_sc vowel/e_2 [eI] en_sc @@ -1345,6 +1361,7 @@ vowel/e_mid [E] en_rp [E] tr [E] id [E2] id + [e] ko vowel/e_mid2 [E] af [E] de [E2] de @@ -1382,6 +1399,7 @@ vowel/i [i] base2 [i] zhy [i] zh [i] sw + [i] ko vowel/i# [i] en_rp [y:] cy vowel/i_2 [i:] en_rp @@ -1501,6 +1519,7 @@ vowel/oe_4 [W] sv vowel/o_mid [O] fr [o] hu [o] tr + [o] ko vowel/oo [O:] en_sc [O] en_wi [O:] en_wi @@ -1608,6 +1627,7 @@ vowel/u_bck [u] base2 [u] is [u] zhy [u] zh + [u] ko vowel/u_bck2 [u:] la vowel/u_fnt [u:] en_rp vowel/uu [U] en @@ -1628,7 +1648,9 @@ vowel/uu_bck [U] en_n [U] pt [U] no [u] zhy +vowel/u_unr [u-] ko vowel/V [3] en_sc + [V] ko vowel/V_2 [V] en [a] af [V] ru @@ -1657,6 +1679,7 @@ vowel/y# [Y:] en [Y] ro [y] vi [oe] zhy + [Y] ko vowel/y## [y#] is vowel/y_2 [y] fr [y"] fr @@ -1812,7 +1835,6 @@ w/w2 [w2] base2 [w] pt_pt w/wa [(a)] base w/we [(e)] base - [w] fr w/wi [(i)] base [i] vi [i] zhy @@ -1846,6 +1868,7 @@ x/d [d] base [d] hr [d] el [d] is + [d] id x/d_ [d] base [d[] base [d] base2 @@ -1861,6 +1884,7 @@ x/d_ [d] base [d] el [d] is [d] sw + [d] id x/d_dnt [d[] base [d] base2 [d] fi diff --git a/phsource/mbrola/fr1 b/phsource/mbrola/fr1 index c83c5018..37c5a3ab 100644 --- a/phsource/mbrola/fr1 +++ b/phsource/mbrola/fr1 @@ -10,6 +10,7 @@ volume 15 0 g- NULL 0 NULL 0 @- NULL 0 NULL 0 * NULL 0 R +0 : NULL 0 NULL 0 Y NULL 0 2 0 W NULL 0 9 @@ -27,8 +28,11 @@ volume 15 0 y" NULL 0 y 0 E: NULL 0 E 0 h NULL 0 NULL +0 n2 NULL 0 n +0 p2 NULL 0 p 0 t2 NULL 0 t 0 z2 NULL 0 z +0 z3 NULL 0 z 0 i: NULL 0 i 0 u: NULL 0 u diff --git a/phsource/ph_french b/phsource/ph_french index 693ceedf..6daea861 100644 --- a/phsource/ph_french +++ b/phsource/ph_french @@ -91,13 +91,12 @@ endphoneme phoneme w - liquid + vowel starttype (o) endtype (o) unstressed - length 120 + length 100 beforenotvowel w/ lengthmod 7 formants w/w - before (e) w/we after _ w/_w endphoneme @@ -432,3 +431,4 @@ endphoneme + diff --git a/phsource/ph_indonesian b/phsource/ph_indonesian index fb1c3654..657dfc9e 100644 --- a/phsource/ph_indonesian +++ b/phsource/ph_indonesian @@ -12,6 +12,7 @@ phoneme a vowel starttype (a) endtype (a) length 180 formants vowel/a + reduceto a/ 1 endphoneme @@ -90,3 +91,16 @@ phoneme @U endphoneme + +phoneme d // English [d] + vcd alv stop + vowelin f1=1 f2=1700 -300 300 f3=-100 80 + vowelout f1=2 f2=1700 -300 300 f3=-100 80 + formants d/d+x/d + before _ d/d_+x/d_ + before r d/dr+x/d + after _ NULL + after @ d/xd + lengthmod 5 + switchvoicing t +endphoneme diff --git a/phsource/ph_russian b/phsource/ph_russian index fb133eb1..375ce4f4 100755 --- a/phsource/ph_russian +++ b/phsource/ph_russian @@ -306,3 +306,11 @@ phoneme a# endphoneme +phoneme R4 + liquid + vowelin f1=0 f2=1500 -300 300 f3=-300 80 + vowelout f1=2 f2=1500 -300 300 f3=-300 80 brk + formants r3/r_trill2+r3/r_ru%50 + lengthmod 6 +endphoneme + diff --git a/phsource/phonemes b/phsource/phonemes index d2587ff2..408097f9 100644 --- a/phsource/phonemes +++ b/phsource/phonemes @@ -1274,3 +1274,6 @@ include ph_kurdish phonemetable id base2 include ph_indonesian + +phonemetable ko base +include ph_korean diff --git a/phsource/r3/@tap b/phsource/r3/@tap index fec2aeea7c50ac54583cf369329f33bcae5bbce5..6a7e0001978357302e563a755f4e17f52fd7546a 100644 GIT binary patch delta 64 zcmca2eMNf1F(%#zj0{{s%t6co>>dmfn=dnMX9fvzf`qu)eSkvK*^q>|*aLt<(Oi|x E055_MfdBvi delta 64 zcmca2eMNf1F(%#{j0{{s%t6co>>dmbn=dnMX9fvzf`qu)eSkvK*^q>|*aLt<(Oi|x E05`%9;Q#;t diff --git a/platforms/windows/espeakedit/espeakedit.dsp b/platforms/windows/espeakedit/espeakedit.dsp index e0bcfe67..5caa8d6a 100755 --- a/platforms/windows/espeakedit/espeakedit.dsp +++ b/platforms/windows/espeakedit/espeakedit.dsp @@ -472,7 +472,7 @@ LINK32=link.exe # PROP Default_Filter "" # Begin Source File -SOURCE=.\..\..\samples\sample.rc +SOURCE=.\sample.rc # End Source File # End Group # Begin Source File diff --git a/platforms/windows/windows_sapi/ttsengobj.cpp b/platforms/windows/windows_sapi/ttsengobj.cpp index a4c52273..d4f341ef 100755 --- a/platforms/windows/windows_sapi/ttsengobj.cpp +++ b/platforms/windows/windows_sapi/ttsengobj.cpp @@ -154,7 +154,6 @@ static int ConvertRate(int new_rate) rate = new_rate + master_rate; if(rate < -10) rate = -10; if(rate > 10) rate = 10; - return(rate_table[rate+10]); } // end of ConvertRate diff --git a/platforms/windows/windows_sapi/ttsengobj.h b/platforms/windows/windows_sapi/ttsengobj.h index 871ee84e..7181ded0 100755 --- a/platforms/windows/windows_sapi/ttsengobj.h +++ b/platforms/windows/windows_sapi/ttsengobj.h @@ -96,6 +96,7 @@ class ATL_NO_VTABLE CTTSEngObj : HRESULT CheckActions( ISpTTSEngineSite* pOutputSite ); int ProcessFragList(const SPVTEXTFRAG* pTextFragList, wchar_t *pW, ISpTTSEngineSite* pOutputSite, int *n_text); + int WritePhonemes(SPPHONEID *phons, wchar_t *pW_start); private: /*--- Non interface methods ---*/ diff --git a/platforms/windows/windows_sapi/version.rc2 b/platforms/windows/windows_sapi/version.rc2 index 3dd9ea36..b3e58cd7 100755 --- a/platforms/windows/windows_sapi/version.rc2 +++ b/platforms/windows/windows_sapi/version.rc2 @@ -5,8 +5,8 @@ // VS_VERSION_INFO VERSIONINFO - FILEVERSION 1,0,30,00 - PRODUCTVERSION 1,0,30,00 + FILEVERSION 1,0,36,00 + PRODUCTVERSION 1,0,36,00 FILEFLAGSMASK 0x3fL #ifdef _DEBUG FILEFLAGS 0x1L @@ -24,20 +24,20 @@ BEGIN VALUE "Comments", "\0" VALUE "CompanyName", "Jonathan Duddington\0" VALUE "FileDescription", "Text to Speech\0" - VALUE "FileVersion", "1, 0,30,00\0" - VALUE "InternalName", "espeak1.30\0" + VALUE "FileVersion", "1, 0,36,00\0" + VALUE "InternalName", "espeak1.36\0" VALUE "LegalCopyright", "Copyright (c) Jonathan Duddington\0" VALUE "LegalTrademarks", "\0" VALUE "OriginalFilename", "espeak_sapi.dll\0" VALUE "PrivateBuild", "\0" VALUE "ProductName", "espeak TTS\0" - VALUE "ProductVersion", "1, 0, 30, 00\0" + VALUE "ProductVersion", "1, 0, 36, 00\0" VALUE "SpecialBuild", "\0" END END BLOCK "VarFileInfo" BEGIN - VALUE "Translation", 0x809, 1200 + VALUE "Translation", 0x409, 1200 END END diff --git a/src/numbers.cpp b/src/numbers.cpp index 0aa9f9a1..559ba15a 100644 --- a/src/numbers.cpp +++ b/src/numbers.cpp @@ -550,7 +550,7 @@ void Translator::LookupLetter(unsigned int letter, int next_byte, char *ph_buf1) single_letter[1] = ' '; if(Lookup(&single_letter[2],ph_buf3) == 0) { - TranslateRules(&single_letter[2], ph_buf3, sizeof(ph_buf3), NULL,0,NULL); + TranslateRules(&single_letter[2], ph_buf3, sizeof(ph_buf3), NULL,FLAG_NO_TRACE,NULL); } } @@ -591,6 +591,7 @@ int Translator::TranslateLetter(char *word, char *phonemes, int control, int wor int n_bytes; int letter; int len; + int save_option_phonemes; char *p2; char *pbuf; char capital[20]; @@ -627,12 +628,15 @@ int Translator::TranslateLetter(char *word, char *phonemes, int control, int wor } if((ph_buf[0] == 0) && (translator_name != L('e','n'))) -// if((ph_buf[0] == 0) && (word_length == 1) && (translator_name != L('e','n'))) { // speak as English, check whether there is a translation for this character SetTranslator2("en"); + save_option_phonemes = option_phonemes; + option_phonemes = 0; translator2->LookupLetter(letter, word[n_bytes], ph_buf); SelectPhonemeTable(voice->phoneme_tab_ix); // revert to original phoneme table + option_phonemes = save_option_phonemes; + if(ph_buf[0] != 0) { sprintf(phonemes,"%cen",phonSWITCH); @@ -664,7 +668,10 @@ int Translator::TranslateLetter(char *word, char *phonemes, int control, int wor } len = strlen(phonemes); - sprintf(ph_buf2,"%c%s%s",0xff,capital,ph_buf); // the 0xff marker will be removed or replaced in SetSpellingStress() + if(langopts.accents & 2) + sprintf(ph_buf2,"%c%s%s",0xff,ph_buf,capital); + else + sprintf(ph_buf2,"%c%s%s",0xff,capital,ph_buf); // the 0xff marker will be removed or replaced in SetSpellingStress() if((len + strlen(ph_buf2)) < N_WORD_PHONEMES) { strcpy(&phonemes[len],ph_buf2); diff --git a/src/speak_riscos.cpp b/src/speak_riscos.cpp index 3c683ab3..6ff133a0 100644 --- a/src/speak_riscos.cpp +++ b/src/speak_riscos.cpp @@ -437,6 +437,7 @@ void speak_text_string(char *data, int terminator, int len, int wait, int voice_ regs.r[1] = (int)module_data; _kernel_swi(0x5f, ®s, ®s); + option_endpause = 1; if((voice_num >= 0) && (voice_num != current_voice_num) && (voice_num < N_VOICE_NAMES)) { diff --git a/src/synthdata.cpp b/src/synthdata.cpp index 8c0aa786..ed7d97c1 100755 --- a/src/synthdata.cpp +++ b/src/synthdata.cpp @@ -35,7 +35,7 @@ #include "translate.h" #include "wave.h" -const char *version_string = "1.36.02 13.Mar.08"; +const char *version_string = "1.36.06 22.Mar.08"; const int version_phdata = 0x013400; int option_device_number = -1; diff --git a/src/tr_languages.cpp b/src/tr_languages.cpp index c0d5de22..0992d6cc 100644 --- a/src/tr_languages.cpp +++ b/src/tr_languages.cpp @@ -108,7 +108,20 @@ Translator *SelectTranslator(const char *name) switch(name2) { case L('a','f'): - tr = new Translator_Afrikaans(); + { + static const short stress_lengths_af[8] = {170,140, 220,220, 0, 0, 250,270}; + tr = new Translator(); + SetupTranslator(tr,stress_lengths_af,NULL); + + tr->langopts.stress_rule = 0; + tr->langopts.vowel_pause = 0x30; + tr->langopts.param[LOPT_DIERESES] = 1; + tr->langopts.param[LOPT_PREFIXES] = 1; + SetLetterVowel(tr,'y'); // add 'y' to vowels + + tr->langopts.numbers = 0x8d1 + NUM_ROMAN; + tr->langopts.accents = 1; + } break; case L('c','y'): // Welsh @@ -375,6 +388,7 @@ SetLengthMods(tr,3); // all equal tr->langopts.stress_rule = 2; tr->langopts.numbers = 0x1009 + NUM_ROMAN; tr->langopts.stress_flags = 0x6 | 0x10; + tr->langopts.accents = 2; // "capital" after letter name } break; @@ -441,6 +455,11 @@ SetLengthMods(tr,3); // all equal } break; + case L('k','o'): // Korean, TEST + tr = new Translator(); + tr->langopts.param[LOPT_UNPRONOUNCABLE] = 1; // disable check for unpronouncable words + break; + case L('k','u'): // Kurdish { static const unsigned char stress_amps_ku[8] = {18,18, 20,20, 20,24, 24,22 }; @@ -1043,41 +1062,3 @@ if(prev->mnemonic == 'j') } #endif -//********************************************************************************************************** - - - -Translator_Afrikaans::Translator_Afrikaans() : Translator() -{//========================================= -// Initialise options for this language - - static const short stress_lengths2[8] = {170,140, 220,220, 0, 0, 250,270}; - langopts.stress_rule = 0; - langopts.vowel_pause = 0x30; - langopts.param[LOPT_DIERESES] = 1; - langopts.param[LOPT_PREFIXES] = 1; - SetLetterVowel(this,'y'); // add 'y' to vowels - - langopts.numbers = 0x8d1 + NUM_ROMAN; - langopts.accents = 1; - memcpy(stress_lengths,stress_lengths2,sizeof(stress_lengths)); -} - - -int Translator_Afrikaans::TranslateChar(char *ptr, int prev_in, unsigned int c, unsigned int next_in, int *insert) -{//=============================================================================================================== -// look for 'n and replace by a special character (unicode: schwa) - - if(!iswalpha(prev_in)) - { - if((c == '\'') && (next_in == 'n')) - { - // n preceded by either apostrophe or U2019 "right single quotation mark" - ptr[0] = ' '; // delete the n - return(0x0259); // replace ' by unicode schwa character - } - } - return(c); -} - - diff --git a/src/tr_languages.h b/src/tr_languages.h index 8b421b3b..5eddb1f0 100644 --- a/src/tr_languages.h +++ b/src/tr_languages.h @@ -43,16 +43,3 @@ private: - - -class Translator_Afrikaans: public Translator -{//========================================== - -public: - Translator_Afrikaans(); -private: - int TranslateChar(char *ptr, int prev_in, unsigned int c, unsigned int next_in, int *insert); - -}; // end of class Translator_Afrikaans - - diff --git a/src/translate.cpp b/src/translate.cpp index bf391d20..01cbeb41 100755 --- a/src/translate.cpp +++ b/src/translate.cpp @@ -370,6 +370,9 @@ int IsAlpha(unsigned int c) if((c >= 0x300) && (c <= 0x36f)) return(1); // combining accents + if((c >= 0x1100) && (c <= 0x11ff)) + return(1); //Korean jamo + return(0); } @@ -1908,6 +1911,69 @@ int SubstituteChar(Translator *tr, unsigned int c, unsigned int next_in, int *in int Translator::TranslateChar(char *ptr, int prev_in, unsigned int c, unsigned int next_in, int *insert) {//===================================================================================================== // To allow language specific examination and replacement of characters + + int code; + int initial; + int medial; + int final; + + static const unsigned char hangul_compatibility[0x34] = { + 0, 0x00,0x01,0x82,0x02,0x84,0x85,0x03, + 0x04,0x05,0x88,0x89,0x8a,0x8b,0x8c,0x8d, + 0x8e,0x06,0x07,0x08,0x91,0x09,0x0a,0x94, + 0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x40, + 0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48, + 0x49,0x4a,0x4b,0x4c,0x4d,0x4e,0x4f,0x50, + 0x51,0x52,0x53,0x54 }; + + + switch(translator_name) + { + case L('a','f'): + // look for 'n and replace by a special character (unicode: schwa) + + if(!iswalpha(prev_in)) + { + if((c == '\'') && (next_in == 'n')) + { + // n preceded by either apostrophe or U2019 "right single quotation mark" + ptr[0] = ' '; // delete the n + return(0x0259); // replace ' by unicode schwa character + } + } + break; + + case L('k','o'): + if(((code = c - 0xac00) >= 0) && (c <= 0xd7af)) + { + // break a syllable hangul into 2 or 3 individual jamo + initial = (code/28)/21; + medial = (code/28) % 21; + final = code % 28; + + if(initial == 11) + { + // null initial + c = medial + 0x1161; + if(final > 0) + *insert = final + 0x11a7; + } + else + { + // extact the initial and insert the remainder with a null initial + c = initial + 0x1100; + *insert = (11*28*21) + (medial*28) + final + 0xac00; + } + return(c); + } + else + if(((code = c - 0x3130) >= 0) && (code < 0x34)) + { + // Hangul compatibility jamo + return(hangul_compatibility[code] + 0x1100); + } + break; + } return(SubstituteChar(this,c,next_in,insert)); } diff --git a/src/translate.h b/src/translate.h index b90ddc21..740ba86a 100755 --- a/src/translate.h +++ b/src/translate.h @@ -348,7 +348,7 @@ typedef struct { int thousands_sep; int decimal_sep; - // bit 0, accent name before the letter name + // bit 0, accent name before the letter name, bit 1 "capital" after letter name int accents; int tone_language; // 1=tone language @@ -448,6 +448,7 @@ private: int LookupThousands(int value, int thousandplex, char *ph_out); int TranslateNumber_1(char *word1, char *ph_out, unsigned int *flags, int wflags); int TranslateRoman(char *word, char *ph_out); + int TranslateChar(char *ptr, int prev_in, unsigned int c, unsigned int next_in, int *insert); void InitGroups(void); void AppendPhonemes(char *string, int size, const char *ph); @@ -465,7 +466,6 @@ protected: virtual int Unpronouncable(char *word); virtual void SetWordStress(char *output, unsigned int dictionary_flags, int tonic, int prev_stress); virtual int RemoveEnding(char *word, int end_type, char *word_copy); - virtual int TranslateChar(char *ptr, int prev_in, unsigned int c, unsigned int next_in, int *insert); virtual int TranslateNumber(char *word1, char *ph_out, unsigned int *flags, int wflags); virtual int ChangePhonemes(PHONEME_LIST2 *phlist, int n_ph, int index, PHONEME_TAB *ph, CHANGEPH *ch); diff --git a/src/voices.cpp b/src/voices.cpp index 3f24bbb0..3e06138b 100755 --- a/src/voices.cpp +++ b/src/voices.cpp @@ -1583,7 +1583,7 @@ espeak_ERROR SetVoiceByName(const char *name) memset(&voice_selector,0,sizeof(voice_selector)); // voice_selector.name = buf; - voice_selector.name = name; // include variant name in voice stack ?? + voice_selector.name = (char *)name; // include variant name in voice stack ?? // first check for a voice with this filename // This may avoid the need to call espeak_ListVoices().