From e404310b8f27326d1ef2bf8bdc63a4214a1d294f Mon Sep 17 00:00:00 2001 From: jonsd Date: Mon, 30 Nov 2009 13:54:30 +0000 Subject: [PATCH] [1.42.02] git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@231 d46cf337-b52f-0410-862d-fd96e6ae7743 --- dictsource/da_list | 9 +- dictsource/da_rules | 58 +- dictsource/de_list | 145 +- dictsource/de_rules | 104 +- dictsource/dict_phonemes | 46 +- dictsource/en_list | 49 +- dictsource/en_rules | 158 +- dictsource/fr_rules | 6 +- dictsource/hi_rules | 2 +- dictsource/hu_list | 333 +++- dictsource/hu_rules | 731 ++++++--- dictsource/no_list | 57 +- dictsource/no_rules | 12 +- dictsource/pap_list | 121 ++ dictsource/pap_rules | 139 ++ dictsource/pt_list | 162 +- dictsource/pt_rules | 1336 +++++++++-------- dictsource/ta_list | 26 +- dictsource/ta_rules | 283 +++- docs/commands.html | 25 +- docs/dictionary.html | 19 +- docs/index.html | 46 +- phsource/compile_report | 39 +- phsource/d/tap2 | Bin 2916 -> 2916 bytes phsource/n/nr@ | Bin 0 -> 1311 bytes phsource/n/nra | Bin 0 -> 1325 bytes phsource/n/nre | Bin 0 -> 1329 bytes phsource/n/nri | Bin 0 -> 1293 bytes phsource/n/nro | Bin 0 -> 1249 bytes phsource/n/nru | Bin 0 -> 1323 bytes phsource/ph_danish | 20 +- phsource/ph_english | 14 +- phsource/ph_english_us | 9 - phsource/ph_german | 2 +- phsource/ph_hungarian | 7 + phsource/ph_pt_brazil | 29 +- phsource/vnasal/a#_n | Bin 1292 -> 1292 bytes phsource/vowel/a#_3 | Bin 970 -> 1292 bytes phsource/vowel/a_5 | Bin 8311 -> 8311 bytes phsource/vowel/e_8 | Bin 0 -> 6015 bytes phsource/vowel/e_9 | Bin 0 -> 5205 bytes phsource/vowel/ii_2 | Bin 10677 -> 4020 bytes phsource/vowel/o_8 | Bin 0 -> 10011 bytes phsource/vowel/vowelchart.png | Bin 73410 -> 73659 bytes phsource/vwl_fr/_r | Bin 0 -> 46622 bytes phsource/vwl_fr/r | Bin 0 -> 1005 bytes phsource/vwl_fr/r_ | Bin 0 -> 4166 bytes phsource/vwl_fr/r_@ | Bin 680 -> 679 bytes phsource/vwl_fr/r_a | Bin 4168 -> 4167 bytes phsource/vwl_fr/r_i | Bin 679 -> 679 bytes phsource/vwl_fr/r_o | Bin 679 -> 679 bytes phsource/vwl_fr/r_u | Bin 680 -> 679 bytes phsource/vwl_fr/r_y | Bin 679 -> 679 bytes phsource/vwl_fr/ra | Bin 0 -> 994 bytes phsource/vwl_fr/re | Bin 0 -> 672 bytes phsource/vwl_fr/ri | Bin 0 -> 672 bytes phsource/vwl_fr/ro | Bin 0 -> 672 bytes phsource/vwl_fr/ru | Bin 0 -> 680 bytes phsource/vwl_fr/ry | Bin 0 -> 680 bytes phsource/vwl_fr/tr | Bin 0 -> 678 bytes phsource/vwl_fr/xr | Bin 0 -> 684 bytes platforms/windows/make_espeak.iss | 28 +- platforms/windows/make_espeakedit.iss | 2 +- platforms/windows/windows_dll/src/speak_lib.h | 45 +- platforms/windows/windows_dll/src/speech.h | 1 + platforms/windows/windows_sapi/version.rc2 | 10 +- src/compiledict.cpp | 44 +- src/dictionary.cpp | 131 +- src/espeakedit.cpp | 3 +- src/intonation.cpp | 6 +- src/menus.cpp | 2 +- src/numbers.cpp | 134 +- src/phoneme.h | 1 + src/readclause.cpp | 103 +- src/setlengths.cpp | 4 +- src/speak_lib.cpp | 40 +- src/speak_lib.h | 2 +- src/synthdata.cpp | 16 +- src/synthesize.cpp | 63 +- src/tr_languages.cpp | 41 +- src/translate.cpp | 141 +- src/translate.h | 33 +- src/voices.cpp | 7 +- 83 files changed, 3253 insertions(+), 1591 deletions(-) create mode 100644 dictsource/pap_list create mode 100644 dictsource/pap_rules create mode 100644 phsource/n/nr@ create mode 100644 phsource/n/nra create mode 100644 phsource/n/nre create mode 100644 phsource/n/nri create mode 100644 phsource/n/nro create mode 100644 phsource/n/nru create mode 100755 phsource/vowel/e_8 create mode 100755 phsource/vowel/e_9 create mode 100755 phsource/vowel/o_8 create mode 100755 phsource/vwl_fr/_r create mode 100755 phsource/vwl_fr/r create mode 100755 phsource/vwl_fr/r_ create mode 100755 phsource/vwl_fr/ra create mode 100755 phsource/vwl_fr/re create mode 100755 phsource/vwl_fr/ri create mode 100755 phsource/vwl_fr/ro create mode 100755 phsource/vwl_fr/ru create mode 100755 phsource/vwl_fr/ry create mode 100755 phsource/vwl_fr/tr create mode 100755 phsource/vwl_fr/xr diff --git a/dictsource/da_list b/dictsource/da_list index 20b5064a..ec50ff24 100755 --- a/dictsource/da_list +++ b/dictsource/da_list @@ -1,4 +1,4 @@ - + // This file is UTF8 encoded // Spelling-to-phoneme words for Danish @@ -73,7 +73,7 @@ __ b'Onsdrai ÷ divid'eReD meD = l'imeD # n'OmV -§ paragr'af +§ paragR'af @@ -240,11 +240,16 @@ eget a:j@D egne a:in@ enter entV ide id'e // idea +idé id'e // idea igen igen Ny ny // new også Vs@ // also havde h'aD@ // had +idet id'e // in so far as sagde sa@ // said sig sAi // oneself +//slags sl+ags // sort, type +tre tr'e // the number 3 + diff --git a/dictsource/da_rules b/dictsource/da_rules index 0e8b2342..ad38e9cd 100755 --- a/dictsource/da_rules +++ b/dictsource/da_rules @@ -28,6 +28,7 @@ au (K au ch) au (f o nive) au o + an (cienn aN aw (K aw ay (K aj aa O: @@ -106,10 +107,12 @@ al) d (er al) d (et al) d (o d + al) d (rig d an) d (re d An) d (rA d An) d (re d be) d (A d + be) d (es D bu) d (get bu) d (t ej) d (e d @@ -123,6 +126,7 @@ in) d (u d in) d (uC d in) d (ue d + la) d (t le) d (t li) d (e D li) d (s D @@ -148,12 +152,16 @@ or) d (ning d or) d (re d or) d (ret + pu) d (s pæ) d (a d + ro) d (s + ry) d (ni D re) d (a d re) d (i d ri) d (e D rø) dd (er D si) d (e D + si) dd (e D si) d (eA D si) d (eC D ti) d (e D @@ -161,9 +169,11 @@ ud) d d ur) d (e d ve) d (h D + ve) d (t D vi) d (e D vi) d (er D yl) d (er + ær) d (es d æl) d (e æl) d (i d æl) d (re d @@ -173,10 +183,6 @@ kla) dd (e D kry) dd (er D dd (et D - pu) d (s - ro) d (s - ry) d (ni D - ær) d (es d bla) d (r D dar) d d gui) de d @@ -189,6 +195,8 @@ mad) d (A D plu) d (se ral) d (e + sag) d (e + sku) d (t smu) d (s snu) d (e D Aor) d (ret d @@ -215,6 +223,8 @@ ver) d (en d sli) d (so D sli) d (s + skræ) dd (e D + kandi) d (at 'd tilfre) d (s @@ -229,14 +239,16 @@ tilfre) d (s g) e (C e g) e (js aj em) e (nt a - plem) e (nter e + cem) e (nt e elem) e (nt e + plem) e (nter e em) e (ntal e glem) e (nt a glem) e (ntal e ni) e ni) e (n e - niv) e (au + bur) eau 'o + niv) eau 'o ani) e (l e lini) e e r) e (_ V% @@ -265,6 +277,8 @@ tilfre) d (s en (gage aN en (tre aN c) en (t en + c) en (tA en + c) en (tC en p) en (sion aN r) en (ce aN r) eg (n A:j @@ -298,7 +312,7 @@ tilfre) d (s ika) e (l ir) e (n 'e yr) e (n 'e - + ompet) en (ce aN .group f @@ -352,6 +366,7 @@ tilfre) d (s i) g (t_ i) g i) g (A + i) g (a g i) g (en g i) g (ere g i) g (i g @@ -376,12 +391,18 @@ tilfre) d (s ø) g (e ø) g (n æ) g (e j + g (iv+ g // avoid letter "g" pronounced with phoneme S Ca) g (en j + ha) g (l u in) ge (niør Se ki) gg (e g + la) g (C u + la) g (t g + la) gde e li) g (ere ra) g (_ w ra) g (e w + sa) g (n u ør) g (s ur) g (A g l) g (_ j @@ -390,6 +411,8 @@ tilfre) d (s li) g (g g mA) g (a g nA) g (a g + ta) g (A u + ta) g (C u &e) g j an) g (å g ba) g (e @@ -412,10 +435,13 @@ tilfre) d (s sa) g (a =g sa) g (s ' si) g (t g + va) g (n u pli) g (t g &ti) g + bor) g u bud) g (et S gti) g + hol) g (er g jer) g (A w jer) g (C w rea) g (er g @@ -502,6 +528,7 @@ foreta) g (e t) i (on // i ommitted because of sj t) i (øs s) i (on j + des) ign ain ingen) i (ør @@ -571,6 +598,7 @@ foreta) g (e i) nd (eks nd i) nd (ing n u) nd ( n + bå) nd (A n pu) n (kt ru) n (ke sa) n (kt @@ -667,9 +695,8 @@ foreta) g (e .group r r r - b) r r + r (A R ø) r V: - A) r r Ae) r V &) rd (e_ r &) rd (eKK r @@ -711,11 +738,13 @@ kompromi) s &) tt t &) th d +simpel) th (en th t (ie t t (ion+ sj' t (iøs+ sj' lek) t (i S emen) t + cemen) t t elemen) t t emen) t (al t glemen) t @@ -733,21 +762,24 @@ glemen) t (al t u (mK O a) u (g u b) u (dget y + b) u (reau y g) ui (de ai + g) u (st O l) u (k O? l) u (kas u m) u (k O? r) u u r) u (m O r) u (nd O? + r) u (s u + s) u (cc y comp) u (ter ju fris) u (r y frit) u (r y men) u y +proced) u (re y +proven) u y resso) u (rs 'u - g) u (st O - r) u (s u - s) u (cc y .group v @@ -859,3 +891,5 @@ glemen) t (al t + + diff --git a/dictsource/de_list b/dictsource/de_list index 3bf38345..dfeb3065 100644 --- a/dictsource/de_list +++ b/dictsource/de_list @@ -23,9 +23,9 @@ _. pUnkt € OY*o: £ paUnd & Unt -@ kl'ame:*,af@ +@ kl'am3_,af@ ~ tIld@ -\ bEkslES +\ bakslaS ° g@-*A:t _, kOma @@ -34,45 +34,46 @@ _: d'Op@lp,UNkt _; St@-*'ICpUNkt __ ,Unt3St@-*'IC _- b'IndEst@-*,IC -_! 'aUs_|@-*,u:fe:ts,aIC@n -_? f@-*'Age:ts,aIC@n -_' 'apOst@-*,Of +_! 'aUs_|@-*,u:f@ts,aIC@n +_? f@-*'Ag@ts,aIC@n +_' ,apo:st@-*'Of _" tsi:t'A:t -_/ S@-*'Egst@-*IC +_/ S@-*'e:gSt@-*IC _( kl'am3||_|'aUf _) kl'am3||ts'u: _{ g@Sv'aIft@kl'am3||_|'aUf _} g@Sv'aIft@kl'am3||ts'u: _[ 'EkIg@kl'am3||_|'aUf -_] 'ECIg@kl'am3||ts'u: +_] 'EkIg@kl'am3||ts'u: _< klaIn3 -_> g@-*Ws3 +_> g@-*Y:s3 _` g@-*A:v -_^ sI*kUmflEks -_— g@d'ank@nSt@-*,IC +_^ tsI*kUmflEks +_— g@d'aNk@nSt@-*,IC -_#9 t,abu:l'Ato:* + +_#9 t,abu:l'A:to:3 _#32 l'e:*ts'aIC@n _?? zymb'o:l -_?A b'UxstA:b@ +_?A b'u:xstA:b@ _cap g@-*'o:s // accent names -_lig l'i:gat,u:* +_lig l'i:gat,u:3 _acu ak'u:t -_ac2 d'Op@l,aku:t -_brv b@-*'e:v@ -_ced tse:d'Il@ +_ac2 d'Op@lak,u:t +_brv b@-*'E:v@ +_ced se:d'i:j _cir ts'I*kUmflEks _dia 'UmlaUt _dot p'Unkt -_grv g@-*'AvIs -_hac h'atSe:k -_mcn m'ak@-*o:n -_ogo 'o:go:n,e:k -_rng k@-*'u:Ze:k -_stk S@-*'Egst@-*IC +_grv g@-*'A:vIs +_hac h'atSEk +_mcn m'A:k@-*On +_ogo 'o:gOn,Ek +_rng k@-*'o:wZEk +_stk S@-*'e:gst@-*IC _tld t'Ild@ æ $accent @@ -103,19 +104,19 @@ _10 'tse:n _11 '_Elf _12 'tsvWlf _13 'd@-*aItse:n -_14 'fi:*tse:n +_14 'fI*tse:n _15 'fynftse:n -_16 'zEktse:n +_16 'zECtse:n _17 'zi:btse:n -_18 '_axttse:n +_18 '_axtse:n _19 'nOYntse:n _2X 'tsvantsIC _3X 'd@-*aIsIC -_4X 'fi:*tsIC +_4X 'fI*tsIC _5X 'fynftsIC _6X 'zECtsIC _7X 'zi:btsIC -_8X '_axttsIC +_8X '_axtsIC _9X 'nOYntsIC _0C 'hUnd3t _0M1 'taUz@nt @@ -131,7 +132,7 @@ _dpt _kOma // ordinal numbers _ord t@ // default ending _ord20 st@ // 20,30,etc -_1o _'e:*st@ +_1o _'e:3st@ _3o dr'It@ _7o z'i:bt@ _8o _'axt@ @@ -139,15 +140,15 @@ _0Co 'hUnd3tst@ // Abbreviations //============== -a.a.o A:A:o: -allg 'alg@maIn@n +a.a.o A:||A:||_o: +allg 'alg@maIn abb 'abb,IldUN anm 'anm,E*kUN bd band bde bEnd@ -bzw b@tsi:hUNsvaIz@ -chr k@-*Istu:s -dm d'OYtSm,A:*k $capital $only $abbrev +bzw b@tsi:UNsvaIz@ +chr k@-*IstUs +dm d'OYtS@||m'A:*k $capital $only $abbrev dr dOkt'o:* evtl e:vEntu:'El od o:d3 @@ -155,7 +156,7 @@ fr f@-*aU frl f@-*OYlaIn hr hE* hrsg hE*'aUsge:b3 -inkl Inklu:s'i:v@ +inkl Inklu:z'i:v@ km ki:lo:me:t3 nr nUm3 st 'Este: @@ -174,7 +175,7 @@ dem %de:m des %dEs derselb $2 -desselb dEss'Elb +desselb dEsz'Elb dieselb $2 dasselb dasz'Elb demselb $2 @@ -188,13 +189,13 @@ sondern $pause denn dEn $u+ $pause weil $pause als $u+ $pause -bevor be:fo:* $2 $pause +bevor b@fo:* $2 $pause also $pause wenn ,vEn $pause $strend sowie $2 $pause obgleich $2 $pause obwohl $2 $pause -deren dE*@n $u+ $brk +deren de:*@n $u+ $brk // prepositions ab ap $u+ $brk @@ -218,7 +219,7 @@ in In $u+ $brk im Im $u+ $brk ins Ins $u+ $brk mit mIt $u+ $pause -nach nax $u+ $brk +nach nA:x $u+ $brk ob ,Ob $pause $strend $only pro ,p@-*o: $pause von fOn $u+ $brk @@ -232,14 +233,14 @@ zur tsu:* $u+ $pause unter ,Unt3 $pause $strend um Um $u+ $brk //(um die) %Umd%i: $brk -//(um den) %Umd%e:m $brk +//(um den) %Umd%e:n $brk während $pause // misc so zo: $u+ doch dOx $u+ noch $pause -(noch nicht) n'Ox||n,ICt $brk +(noch nicht) n'Ox||n'ICt $brk (nicht mehr) n'ICt||,me:* (nicht mehr) n,ICt||m'e:* $atend (nicht nur) n'ICt||n'u:* $pause @@ -277,13 +278,13 @@ worin vo:*'In ich IC $u $only du du: $u $only er Er $u $brk $only -es Ez $u $only +es Es $u $only sie zi: $u $only wir vi:* $u $only ihr i:* $u man man $u $only sich zIC $u $only -(es ist) %Ez%Ist +(es ist) %Es%Ist daß das $u+ @@ -343,7 +344,7 @@ sind zInt $u seit zaIt $u $only habe %hA:b@ $only -habst %habst $only +habest hA:bEst $only $u hast %hast $only hat %hat $only haben h,A:b@n $only @@ -362,15 +363,15 @@ waren 'vA:*@n will %vIl $only willst %vIlst $only wollen %vOl@n $only -wolt %vOlt +wollt %vOlt werden v,E*d@n werde v,E*d@ -werdst v,E*dst +wirst v,I*st werdet v,E*d@t wurden vU*d@n wurde vU*d@ -wurdst vU*dst +wurdest v,U*dEst wurdet vU*d@t können ,kWn@n $only @@ -396,6 +397,7 @@ account _^_EN aid _^_EN // aids appeal _^_EN apple _^_EN +association _^_EN baseball _^_EN bbc _^_EN beat _^_EN @@ -410,9 +412,11 @@ computer _^_EN cool _^_EN couch _^_EN cursor _^_EN +debugger _^_EN dj _^_EN email _^_EN ensemble _^_FR +enterprise _^_EN event _^_EN firewall _^_EN foul _^_EN @@ -428,6 +432,7 @@ interface _^_EN jean _^_EN jet _^_EN job _^_EN +joint _^_EN joke _^_EN joystick _^_EN junkie _^_EN @@ -439,6 +444,8 @@ look _^_EN macho _^_EN mail _^_EN message _^_EN +my _^_EN +mysql _^_EN offline _^_EN online _^_EN out _^_EN @@ -467,6 +474,7 @@ slum _^_EN small _^_EN snob _^_EN song _^_EN +source _^_EN spam _^_EN spirit _^_EN squaw _^_EN @@ -479,6 +487,7 @@ terminal _^_EN trip _^_EN tuner _^_EN unix _^_EN +venture _^_EN window _^_EN word _^_EN @@ -494,16 +503,17 @@ allein $2 andre and@-*@ // andere anomalie $2 antik ant'i:k -archaik a*k'A:Ik +archaik a*C'A:Ik arie $alt arpeggier a*pEdZ'i:* arrangier a*aNZ'i:@ arterie $alt asphalt $2 +atommüll $1 ausgeschamt aUsg@SA:mt -außerdem aUs3d'e:m +außerdem 'aUs3d,e:m aventurin avEntu:*'i:n -ave A:ve: +ave A:vE balkan $1 balkon $2 @@ -521,6 +531,7 @@ ciao tSaU coup ku: dahlie $alt +debatte $2 deshalb $2 dezember $2 diadem di:ad'e:m @@ -533,13 +544,14 @@ duett du:'Et ebendaher e:b@ndah'e:r ebendahin e:b@ndah'In +ebenso $1 einander aIn'and3 einerlei aIn@*laI einher aInh'e:r einig aInIC $only einige aInIg@ $u+ einiges aInIg@s $u+ -enagier EngaZ'i:* +engagier aNgaZ'i:* endivie $alt endlich EntlIC episkopal e:pIsko:p'A:l @@ -548,7 +560,7 @@ erst e:*st ersten e:*st@n erstmal e:*stma:l extravagant $1 -extrem Ekstr'e:m +extrem Ekst@-*'e:m feuerrot $3 friedvoll f@-*'i:tf,Ol @@ -565,18 +577,17 @@ geranie ge:*'A:nI@ gessen gEs@n geste ge:st@ gestern gEst3n -gestrig gEst@-*IC glorie $alt grazie $alt -handy handI +handy hEndi: häuschen hOYsC@n hausier haUz'i:* -heimat haImat +heimat $1 herberg hE*bE*g historie $alt hm h@m -horsam ho:zA:m +horsam hO3zA:m hostie $alt illegitim Ile:gi:t'i:m @@ -603,16 +614,14 @@ kanoe kan'u: kastanie $alt kid kId komödie $alt -konkret k%ONk@-*e:t konservativ $1 -konstatier kOnStat'i:* konsul $1 kurie $alt -lakaienhaft l%akaInhaft lappalie $alt lilie $alt logier lo:Z'i:* +lucent lu:sEnt luetisch lu:'e:tIS machen max@n @@ -621,7 +630,7 @@ materie $alt menagier me:naZ'i:* menuette mEnu:'Et minut $2 -mikrofiche maIk@-*o:fIS +mikrofiche mi:k@-*o:fi:S miteinander $1 modell mo:d'El monoton $3 @@ -632,9 +641,10 @@ mumie $alt nebulos $3 negligent ne:gli:dZ'Ent +numero $1 oberen o:b@*@n -oboe o:bo:@ +oboe o:b'o:@ orgie $alt ok o:k'e: @@ -643,7 +653,7 @@ passage pas'aZ@ perplex $2 petersilie $alt pinie $alt -planet plan'Et +planet plan'e:t pochier pOS'i:* pochs pOxs präsident $3 @@ -669,7 +679,7 @@ sowohl $2 sparsam SpA:*zA:m spinozaisch spi:n'o:tsaIS stalagmit stalagm'It -system z%IstEm +system zIst'e:m tag tA:g telegen te:le:g'e:n @@ -677,7 +687,6 @@ the D@ // English theater te:'A:t3 train t@-*e:n turin $2 -tuerei tu:*aI umweg $1 unten Unt@n @@ -694,13 +703,19 @@ vielleicht $2 vorbei fo:*b'aI vorher fo:*h'e:* vorherig fo:*h'e:*IC -vorig fo:*IC +vorig fo:*Ig //wahrscheinlich $2 warum vA:*'Um zoom zu:m -zuerst tsu:'E*st +//zuerst tsu:'E*st +zugegen tsu:g'e:g@n zudem tsu:'de:m zurück $2 +zymbal $1 + +// Names +Neumexiko $2 +Neuseeland $2 diff --git a/dictsource/de_rules b/dictsource/de_rules index 27fcbcc4..054d768a 100644 --- a/dictsource/de_rules +++ b/dictsource/de_rules @@ -18,6 +18,7 @@ // * . * // ***************************************************************************/ +.L01 c f h k p q s t // unvoiced, except s+vowel // This file is UTF-8 encoded @@ -75,6 +76,7 @@ _) animal ,ani:mA:l _) anim ,ani:m _) ani (s %ani: + a (Co_ 'A: _) anti (@P4 ,antI _) an (tw an _) auf (@P3 _!'aUf @@ -104,6 +106,7 @@ air (_ E:r akqu %akv @A) al (_ 'A:l + b) al (_ 'A:l g) al (_ 'A:l k) al (_ 'A:l n) al (_ 'A:l @@ -129,6 +132,7 @@ @) atisch (_S6 'A:tIS @) atisieren (_S9 A:tIs'i:*@n a (tion a + _) ato (m %ato: _) au (Ceinand aU _) aufent aUf@nt austra (l %aUst@-*A @@ -142,8 +146,8 @@ b b b) b b (_N p - b (h p - b (s_ p + b (L01 p + b (sA b bt (_N pt _) be (@P2 b@ @@ -212,14 +216,17 @@ _) cey tsaI chef SEf _) c (ent ts + _) ch (ic S + _) ch (if S _) ch (il S - chip (_ _^_EN + chip (_ tSIp // English _) ch (ol k _) ch (or k bre) ch (en x chro k@-*o: nä) chs (t Cs + wa) chstu (m kstu: c (ie s pla) c (ie ts coat (_ _^_EN @@ -227,13 +234,15 @@ _) cow _^_EN crew _^_EN cup _^_EN + _) cyber saIb3 .group d _) d (_ de: d d d) d d (_N t - d (h t + d (L01 t + d (sA d ds (_ ts dt t ddt t @@ -310,6 +319,7 @@ &) end (_ @nd ier) end (_NS3 @nt ier) end (_ @nd + @) enhaft (_ =@nhaft @) ent (_ 'Ent @) entlich @ntl%IC @m) ent (_ 'Ent @@ -331,7 +341,8 @@ w) er (k_ E* &) er (nd_ @* &) erin (_ @*In - &) erisch (_ @*IS + &) erisch (_ @*IS + exp) er (t E* @) es (_S2 @s &) et (_S2 @t &) est (_S3 @st @@ -369,16 +380,19 @@ _) emp (@P3 _|%Emp _) emph (@ %Emf _) emp (ir %Emp + br) ems Ems // brems-t, not brem-st _) ene (rg %e:nE + _) energie e:nE*g'i: @) en (i e:n @) e (nsi E _) ent (@P3 _|%Ent _) enten Ent@n _) ent (er Ent + pat) ent 'Ent t) en (t En qu) en (tA En &) en (tum @n - &) e (nz_ 'E + &) e (nzK 'E _) epi (@ ,e:pi: _) epi (sk e:pI _) er (@P2 _|%E* @@ -387,6 +401,7 @@ &) er (igst @* _) er (beK E* _) er (HC E* // lC, mC, nC, rC + er (o_ 'e:* _) ergeb (nis E*g'e:b _) er (stC E* _) er (ste E* @@ -431,9 +446,9 @@ g g g (g g (_N k - g (h k + g (L01 k + g (sA g gd (_N kt - gt (_N kt gtet (_ kt@t gtest kt@st @@ -459,6 +474,7 @@ _) ge (orP2 g@ ge (rman gE ge (rät g@ + ge (strig gE @) ght (_ _^_EN graph g@-*Af graph (_ g@-*'A:f @@ -564,6 +580,9 @@ _) illeg ,Ile:g _) i (llu %I _) i (mag I + i (Co_ 'i: + ik (o_ i:k + &) im (o_ =i:m r) i (na_ 'i: // @) ing (_N _^_EN _) in (k %In @@ -603,6 +622,7 @@ bank) ie (r I'e: barr) ie (r I'e: financ) ie (r I'e: + arr) ie (r I'e: hotel) ie (r I'e: prem) ie (r I'e: hyg) ie (n I'e: @@ -679,24 +699,24 @@ _) leit (@P4 l'aIt _) lern (@@P4 l'E*n _) lexi (@ lEksi: - @) lich (_S4 lIC - @) liche (_S5 lIC@ - @) lichem (_S6 lIC@m - @) lichen (_S6 lIC@n - @) licher (_S6 lIC3 - @) liches (_S6 lIC@s - @) lichere (_S7 lIC@*@ - @) licherem (_S8 lIC@*@m - @) licheren (_S8 lIC@*@n - @) licherer (_S8 lIC@*@3 - @) licheres (_S8 lIC@*@s - @) lichste (_S7 lICst@ - @) lichstem (_S8 lICst@m - @) lichsten (_S8 lICst@n - @) lichster (_S8 lICst@r - @) lichstes (_S8 lICst@s - @) lichkeit (_S8 lICk%aIt - @) lichung (_S7 lIC%UN + &) lich (_S4 lIC + &) liche (_S5 lIC@ + &) lichem (_S6 lIC@m + &) lichen (_S6 lIC@n + &) licher (_S6 lIC3 + &) liches (_S6 lIC@s + &) lichere (_S7 lIC@*@ + &) licherem (_S8 lIC@*@m + &) licheren (_S8 lIC@*@n + &) licherer (_S8 lIC@*@3 + &) licheres (_S8 lIC@*@s + &) lichste (_S7 lICst@ + &) lichstem (_S8 lICst@m + &) lichsten (_S8 lICst@n + &) lichster (_S8 lICst@r + &) lichstes (_S8 lICst@s + &) lichkeit (_S8 lICk%aIt + &) lichung (_S7 lIC%UN @) lo (gisch l'o: .group m @@ -760,6 +780,8 @@ o (sch O o (x O &CC) o (_ =o: + o (Co_ 'o: + o (lo_ o: ob (t_ o:p og (t_ o:k @@ -793,6 +815,7 @@ pf pF ph f + pake (t p%ake: _) para (@ p,a*a passagie pasaZ'i: _) peri p,e:*i: @@ -859,6 +882,9 @@ _be) sp Sp _ge) sp Sp _ver) sp Sp + sp (eich Sp + sp (err Sp + sp (r Sp &C) st (_S2 st &C) ste (_S3 st@ &C) stem (_S4 st@m @@ -870,6 +896,8 @@ _be) st St _ge) st St _ver) st St + ste (ll StE + a) ste (ll stE _) safe _^_EN &) schaft (_S6 Saft @@ -892,6 +920,7 @@ schwer Sve:* _) sechs (P5 z'Eks _) selbst (@@P6 z'Elpst + service (_S7 z%Ervi:s shop _^_EN _) sky _^_EN soldat z%OldA:t @@ -899,6 +928,7 @@ sound _^_EN speed _^_EN + stau) ss s @) straße (_S6 st*,A:s@ _) street _^_EN style _^_EN @@ -940,10 +970,12 @@ ier) tester (_S6 t@st3 ier) testes (_S6 t@st@s + _) talent tal'Ent tch tS t (chen_ t _) teen _^_EN _) tele (@ t,e:le: + tuerei (_ tu:@*'aI thrill _^_EN _pa) th t the (era te: @@ -1042,12 +1074,18 @@ _) v (on f _) vehe ve:he: - _) ver (@P3 f%E* - _) ver (bal v%E* - _) ver (sion vE* - _) ver (tik vE* + _) ver (@P3 f%Er + _) ve (rbal vE + _) ve (rbos v%E + _) ve (rsat vE + _) ve (rsie vE + _) ve (rsif vE + _) ve (rsion vE + _) ve (rteb vE + _) ve (rtik vE @) versich fE*z,IC @) vergess fE*g,Es + @) verfahren (_S9 fErf,A:@-*@n _) viel (@P4 f'i:l _) vier (g@P4 f'i:* _) viet vIEt @@ -1080,6 +1118,8 @@ _) weg (C@P3 v'e:k _) weit (C@P4 v'aIt _) weiter (@P6 v'aIt@* + _) weither vaIthe:* + _) wieder (@P6 vi:d3 _) wo (hin v%o: _) wohl (@P4 v'o:l work _^_EN @@ -1119,6 +1159,9 @@ _) zigaretten (@P10 tsi:ga*'Et@n _) zigeu tsi:g'OY _) zu (C@P2 ts%u: + _) zu (eP2 ts%u: + _) zu (g@ tsu: + _) zu (gu@P2 ts%u: _) zu (nC tsU _) zurück (@P6 tsu:*'yk _) zyklo (@P5 ,tsy:klo: @@ -1136,6 +1179,7 @@ äb (t_ E:p äg (t_ E:k t) ät (_ 'E:t + ä (um_N 'E: .group ö ö Y: diff --git a/dictsource/dict_phonemes b/dictsource/dict_phonemes index 478e9a78..0880bffb 100644 --- a/dictsource/dict_phonemes +++ b/dictsource/dict_phonemes @@ -107,10 +107,10 @@ Dictionary en_dict 0 3 3: @ @- @2 @5 @L a a2 A: A@ aa aI aI@ aU -aU@ A~ E e@ eI I i I2 -i: i@ i@3 IR O O: o: O@ -o@ OI oU O~ U u: U@ V -VR +aU@ A~ E e: e@ eI I i +I2 i: i@ i@3 IR O O: o: +O@ o@ OI oU O~ U u: U@ +V VR : ; ? b C d D dZ f g g- h j k l L @@ -221,10 +221,10 @@ Dictionary hu_dict A a: E e: i i: o o: u u: Y y y: Y: -: b c C d dZ f g -h j J k l l^ m n -N n^ p R R2 s S s2 -t tS ts v z Z +- : b c d dZ f g +h j J k l m n n^ +p r R R2 s S s2 t +tS ts v z Z Dictionary hy_dict @@ -292,9 +292,9 @@ y : b bh c ch d d. dh dh. dZ f g gh h j J Jh k kh l l. m n N -n. n^ p ph R R2 s S -s. S; t t. th th. tS v -w z +n. n^ p ph r R R2 s +S s. S; t t. th th. tS +v w z Dictionary ku_dict @@ -445,9 +445,11 @@ tS; v w x z Z Z; Dictionary prs_dict -@ A i o +@ A E eI i o u -b d h l t X +: b d dZ f g h j +k l m n p r R s +S t tS v w X z Z Dictionary pt_dict @@ -471,12 +473,12 @@ ea eI eo eU i i/ I^ iI iU o O Oa oI oU u uI y Y yI yU -* *; - b b; c C d -d; dZ f f; g h j k -l l; m m; n N n; p -p; r s S S; t t; tS -ts ts; v v; w w2 x z -Z z; Z; +* *; b b; c C d d; +dZ f f; g h j k l +l; m m; n N n; p p; +r s S S; t t; tS ts +ts; v v; w w2 x z Z +z; Z; Dictionary ru_dict @@ -558,9 +560,9 @@ I i: o o: U u u: V : ; b C d d. dZ f g h H j k l l. m -n N n. n^ p r R s -S s. t t. th tS v w -z z. +n N n. n^ p Q r R +s S s. t t. th tS v +w z z. Dictionary tr_dict diff --git a/dictsource/en_list b/dictsource/en_list index 00dc18b7..0b90379a 100644 --- a/dictsource/en_list +++ b/dictsource/en_list @@ -98,7 +98,7 @@ _?A l,Et3 _?? sImb@L _#9 tab _#32 speIs -… _::d%0td,0t // for elipsis or ... while reading +//… _::d%0td,0t // for elipsis or ... while reading _  hA@dspeIs // U+00A0 no-break-space _! Ekskl@m'eIS@n @@ -181,10 +181,8 @@ _₠ jU@roU # haS $max3 @ _at_ $u+ & _and $u+ -\ bakstroUk $max3 -/ stroUk $max3 -?3 \ bakslaS $max3 -?3 / slaS $max3 +\ bakslaS $max3 +/ slaS $max3 * ast@rIsk $max3 % p3sEnt $max3 ?5 % pVRs'Ent $max3 @@ -346,11 +344,11 @@ ctrl k0ntr'oUl dept dI2pA@tm@nt diy $abbrev edt $abbrev -eg fO@Egz'aamp@L +eg fO@Egz'aamp@L $only est $abbrev etc Et'sEtr@ eu $abbrev -eur jU@ +eur jU@ $only hmm h@m (http ://) eItSti:ti:'pi:_ ibm $abbrev @@ -362,6 +360,7 @@ lbs paUndz LBS $abbrev ltd lImI2tI2d mc m@k $combine // combine with the following word +mya $abbrev ny $abbrev oem $abbrev ok $abbrev @@ -506,6 +505,7 @@ albeit O:lb'i:It alfalfa alf'alf@ alias eIli@s alibi al@baI +alibis al@baIz alkali alk@laI allay a2leI allegiance a2li:dZ@ns @@ -598,6 +598,7 @@ archimedes A@kIm'i:di:z archive A@kaIv archway $1 arena a2ri:n@ +argue A@gju: arithmetic a2rITm@tIk arise a2raIz arisen a2rIz@n @@ -739,7 +740,6 @@ campus kamp@s // campuses canal k@nal canary k@ne@rI canine keInaIn -cannabis kana2bIs canoe k@nu: canoes k@nu:z canton kant0n @@ -781,6 +781,7 @@ chemise SEm'i:z chic Si:k chimpanzee $3 chisel tSIz@L +chloroplast $1 chocolate tS0kl@t cholera k0l@r@ cholesterol k@lEst@r0l @@ -1048,6 +1049,7 @@ eras i@r@z erase I2reIz // erasing erases ere e@ $only eros i@r0s +err 3: errand Er@nd escapism Esk'eIpI2z@m escargot I2sk'A@goU @@ -1157,6 +1159,7 @@ furthermore f3:D3m'o@ $pause ?5 furthermore fVRD3m'o@ $pause fuscia fju:S@ fuselage fju:z@lA:Z +futon fu:t0n gala gA:l@ galaxy gala2ksI @@ -1210,6 +1213,7 @@ havoc hav@k hasty heIstI hatred heItrI2d hazardous haz3d@s +heh hEh hehe hi:h'i: heifer hEf@ heist haIst @@ -1349,6 +1353,7 @@ july dZu:l'aI kaput ka2pUt karate k@rA:tI kebab k@bab +kefir ki:f3 hiatus haI'eIt@s kilo ki:loU kilter kIlt3 @@ -1382,7 +1387,7 @@ leant lEnt leapt lEpt lego lEgoU leisure l'EZ3 -lemme lElI // let me +lemme lEmI // let me lemonade $3 leo li:oU leopard lEp@d @@ -1390,6 +1395,7 @@ lesion li:Z@n lethal li:T@L liaison li:'eIz0n libre li:br@ +lichen laIk@n lier laI3 // outlier ligate li:geIt lilac laIl@k @@ -1503,7 +1509,8 @@ mitre maIt3 mixer mIks3 modem moUdEm moderate m0d@reIt $verb -momentum $2 +momentary moUm@nt@rI +momentum $2 monday mVndeI monotone m0n@toUn monsieur m@sj3: @@ -1603,6 +1610,7 @@ orion 0r'aI@n ordeal O@d'i@l orphan O@f@n // orphaned outage $1 +outback $1 outcome $1 outer aUt3 outbreak $1 @@ -1612,13 +1620,16 @@ outcrop $1 outcry $1 outed aUtI2d outfit $1 +outhouse $1 outing $1 outlaw $1 +outlay $1 outlet $1 outlier 'aUtl,aI3 outline $1 outlive aUtl'Iv outlook $1 +outmost $1 outpost aUtpoUst output $1 outrage $1 @@ -1786,6 +1797,7 @@ question kwEstS@n quiche ki:S quiver kwIv3 +rabbis rabaIz rabid reIbI2d radar reIdA@ radioactive reIdI2oU'aktIv @@ -1925,8 +1937,6 @@ saucepan sO:sp@n saudi saUdI saute sO:teI says sEz -schema ski:m@ -shallow SaloU salmon sam@n scalpel skalp@L scared ske@d @@ -1972,10 +1982,12 @@ severe sI2v'i@3 $only severely sI2v'i@3lI2 $verbf sex sEks // sexism several sEvr@L +shallow SaloU shampoo $2 sheriff S'ErI2f shew SoU shia Si:@ +shiitake Si:t'A:ke: shillelagh S,I2l'eIl@ shiver SIv3 shone S0n @@ -2293,7 +2305,7 @@ yoghurt j0g3t ?3 yoghurt joUg3t yoyo joUjoU -zulu zu:lu: +zulus zu:lu:z // place names @@ -2580,6 +2592,7 @@ Cheri Se@r'i: Cherie Se@r'i: Chloe kloUI Chris krIs +Cleo kli:oU Connie k0nI Connor k0n3 Daphne dafnI @@ -2786,6 +2799,7 @@ of 0v $u $only (of a) @v@ $nounf (of an) @v@n $nounf (of which) 0vwItS $2 $pause +(of the) %0vD@2 $nounf ?6 (of the) %VD@2 $nounf ?6 (of which) VvwItS $2 $pause @@ -2834,7 +2848,7 @@ from fr0m $u (from which) %fr0m||w'ItS $pause up ,Vp $strend2 down ,daUn $only $strend2 -by baI $u +by baI $u+ across @kr0s $u2 $strend2 per p3: $u (per cent) p3||s'Ent @@ -2866,7 +2880,7 @@ thence DEns //aux. verbs -be %bi: $pastf $only +be bi: $pastf $only $u+ been ,bi:n $pastf $only ?3 been ,bIn $pastf $only being ,bi:IN $pastf $only $strend2 @@ -2939,7 +2953,7 @@ might ,maIt $verbf $strend2 $only (might have) maItha2v $pastf $u1+ (might have to) ,maIth'avt@5 $verbf $atend -have %hav $pastf $only $strend2 +have hav $pastf $only $u $strend2 haves havz (have been) %hav%bIn $pastf has %ha2z $pastf $only @@ -2979,6 +2993,9 @@ did dId $verbf didn't dIdnt $verbf done dVn +make m,eIk $strend2 $only +made m,eId $strend2 $only + putting pUtI2N put ,pUt $onlys $strend2 diff --git a/dictsource/en_rules b/dictsource/en_rules index d9a95f13..2196bd88 100644 --- a/dictsource/en_rules +++ b/dictsource/en_rules @@ -495,6 +495,7 @@ al (ien eIl _) al (i al _) al (ig a2l + X) al (in eIl _) ali (Be a2laI &) ali (sC_ @lI &) al (isCic @l @@ -628,6 +629,7 @@ amaz (o am@z ambi (d ambI ch) am (b eIm + ambiv amb'Iv fl) ame eIm As) ame (_ 'A:mE _) ame (l a2mi: @@ -733,6 +735,7 @@ ch) ang (e eIndZ ch) anging eIndZIN d) ang (er eIndZ + m) angel aNg@L r) ang (e eIndZ r) anging eIndZIN r) anged (S1 d @@ -782,7 +785,7 @@ app (licab a2p app (reh ap apres apreI - _) apprec (i a2pri:S + _) apprec (L02 a2pri:S _) ap (ri eIp ap (ro eIp _) ap (s ap @@ -1297,7 +1300,6 @@ e) ch (el S cli) ch S fi) ch S - li) ch k ni) ch S clo) ch S _o) ch (e S @@ -1464,6 +1466,7 @@ d (d _) d' (AP2 d @@e) d (_S1 d // suffix + db (_ d,i:bi: ddh d dj dZ dg (_ dZ @@ -1729,7 +1732,7 @@ fr) e (q i: _s) e (que i: e (quip %I - e (quiv %I + equiv %IkwIv e'er e@ h) e (sion 'i: &f) e's (_S2i s @@ -2038,6 +2041,7 @@ engin EndZIn eng (_ 'EN // place names enging EndZIN + eng (th EN en (ig En en (igma_ %En &) enine @ni:n @@ -2251,7 +2255,7 @@ z) er (o i@r _C) er (o_ i@r er (rA E - err (_ 3: + err (_N e@ .group es &) es (_S1i z @@ -2477,7 +2481,7 @@ gue (_ g _) gue gE _) guer (n g3: - ar) gue gju: + // _ar) gu gju: .group h h h @@ -2606,6 +2610,7 @@ if (icAnC 'If r) i (fl aI st) i (fl aI + i (genous 'I igeo IdZ@ n) ihi aI|@ @@ -2648,34 +2653,8 @@ sh) i (ma_ 'i: i (mum I @) i (ness I - io (_ =I2oU -?7 io (_ =i:oU - b) io aIoU - b) io (logy aI0 - v) io aI0 i (o I2 ?7 i (o i: - io (li_ I2'oU - &) ion (_ =i@n -?8 &) ion (_ =IVn - n) ion =i@n - v) io (l aI@ - g) io (n @ - m) io (n I20 - sh) io (n @ - _) io (n aI0 - _l) ion aI@n - z) io (n aI@ - r) ior (_ I3 - &) ior (+ i@3 - &) ior (_ j3 - iority I'0rI2t%I - iou (rA j@ - iour (K j3 - @) ious (_ =I2@s - ioux u: - _r) io (t aI@ - io (t_ I|@ ipede Ipi:d _s) i (ph aI i (que_ 'i: @@ -2697,6 +2676,7 @@ iz (er_ aIz prAm) is Is @Cs) is (_ =Is + b) is (_ Is ize (_ aIz ise (d_ aIz ize (d_ aIz @@ -2899,21 +2879,21 @@ ?3 s) im (ult aIm .group in - @) ing (_+S3dve I2N - @) ings (_S4dve I2Nz - @) ingly (_S5dve I2Ng-lI - @) ingment (_S7dve I2Ng-m@nt - logu) ing (_S4v I2N - x) ing (_+S3v I2N - el) ing (_+S3dv I2N - @@om) ing (_S3dv I2N - en) ing (_S3v I2N - en) ings (_S4v I2Nz - en) ingly (_S5vf I2Ng-lI - er) ing (_S3v I2N - er) ings (_S4v I2Nz - er) ingly (_S5vf I2Ng-lI - er) ingment (_S7v I2Ng-m@nt + @) ing (_+S3dve IN + @) ings (_S4dve INz + @) ingly (_S5dve INg-lI + @) ingment (_S7dve INg-m@nt + logu) ing (_S4v IN + x) ing (_+S3v IN + el) ing (_+S3dv IN + @@om) ing (_S3dv IN + en) ing (_S3v IN + en) ings (_S4v INz + en) ingly (_S5vf INg-lI + er) ing (_S3v IN + er) ings (_S4v INz + er) ingly (_S5vf INg-lI + er) ingment (_S7v INg-m@nt Br) ing (_ IN ?7 &) in (_ @n @@ -3081,6 +3061,34 @@ _) intra Intr@ _) intra (CC %Intra +.group io + io (_ =I2oU +?7 io (_ =i:oU + b) io aIoU + b) io (logy aI0 + v) io aI0 + io (li_ I2'oU + &) ion (_ =i@n +?8 &) ion (_ =IVn + n) ion =i@n + v) io (l aI@ + g) io (n @ + m) io (n I20 + sh) io (n @ + _) io (n aI0 + _l) ion aI@n + z) io (n aI@ + r) ior (_ I3 + &) ior (+ i@3 + &) ior (_ j3 + iority I'0rI2t%I + iou (rA j@ + iour (K j3 + @) ious (_ =I2@s + ioux u: + _r) io (t aI@ + io (t_ I|@ + .group ir _) ir (a I2r ir (a_ 'i@r @@ -3339,6 +3347,8 @@ @) men (_ mEn &) ment (_S4 m@nt &) ments (_S5 m@nt|s + u) ment (_ m@nt + u) ments (_ m@nt|s ?8 &) ment (_S4 mEnt ?8 &) ments (_S5 mEnt|s mEnt (_ m@nt @@ -3395,7 +3405,7 @@ n) n &ia) n (_S1 n &ia) ns (_S2 nz - @) name (_ neIm + @) name (_S4 neIm _) nano (P4 n,anoU nause nO:sI necessit n@sEsIt @@ -3566,7 +3576,8 @@ o (ffic 0 o (gan_ oU &) o (gen_ @ - hom) o (gen '0 + o (genous '0 + o (geny '0 ogeni (c oUdZ'EnI r) o (ger 0 l) o (gy @ @@ -3574,7 +3585,7 @@ r) ogue oUg v) ogue oUg @@) ogue 0g - @) oged 0gd + @l) oge (_ 0g oh oU o (hA oU j) oh (n 0 @@ -3653,11 +3664,6 @@ tr) othe oUD l) oth (ian oUD _r) o (ther 0 - ph) oto oUtoU - ph) o (ton oU - ph) otocop oUt@k0p - ph) oto (grapher @t0 - ph) oto (graphy @t0 pr) oto oUtoU pr) oto (n oUt0 m) otor oUt@ @@ -3715,7 +3721,7 @@ olo (gic @l'0 v) olt oUlt w) olv Ulv - _p) oly ,0lI + N_p) oly ,0lI .group om &) om (_ @m @@ -3910,7 +3916,7 @@ _) or (iC 0r @t) ore (_ 3 st) ore (_ o@ - @) orily (_ '0r@l%I + @) orily (_ =@r@l%I h) ori (z @raI h) ori (zont 0rI ?!3 _h) or (o 0r @@ -4206,6 +4212,14 @@ p (haza p ph (erd p phila fIla + _) photo (@@P5 f,oUtoU + photo foUtoU + photon foUt0n + photocop foUt@k0p + photo (grapher f@t0 + photo (graphy f@t0 + photo (met foUt'0 + _) phyco f,aIkoU p (hole p sym) pa p@ _) paleo (@P5 p,eIli:oU @@ -4289,7 +4303,7 @@ _) pre (ss prE _) pre (st prE _) pre (u pr%i: - _) pre (val prE + _) prev (al prEv _) pre (vio pri: _) pre (view pri: _) pri (o praI @@ -4445,6 +4459,7 @@ _) re (i@P2 r,i: _) rei (c raI _) rei (l raI + rei (s raI _) rele (g rElI2 rele (nt rI2lE rele (v rElI @@ -4497,7 +4512,7 @@ s (s s (sh s _) sch S - sch (em sk + sche (m ski: _) sch (ism sk _) schiz skIts sch (o sk @@ -4750,6 +4765,7 @@ ca) th (eri T _e) th (er T th (ern_ D + _) thio T,aIoU th (ith D th (ole th _) th (om@ t @@ -4767,16 +4783,17 @@ .group u u V + u (_N u: u (_ ju: - r) u (_ u: - l) u (_ u: - w) u (_ u: + L01) u (_ u: h) u (_ =u: + men) u (_ ju: u (ga_ 'u: u (ki_ 'u: u (ma_ 'u: u (mo_ 'u: u (CA ju: + u (Cu_ u: ?3 d) u (CA u: ?3 n) u (CA u: ?3 t) u (CA+ u: @@ -4954,24 +4971,20 @@ _) una (b ,Vna2 t) un (e ju:n ?3 t) un (e u:n - _) un (if ju:n un (ani %ju:n _) under (@P5 ,Vnd3 // prefix _) un (deP2 ,Vn _) un (dula Vn _) un (enP2 ,Vn _) un (exP2 ,Vn - _) un (ic ju:n _) un (imP2 ,Vn - _) unin ,VnI2n - un (inj %Vn + _) uni ju:nI + _) un (id ,Vn + _) un (inP2 ,Vn _) un (il ,ju:n _) un (io ju:n _) un (iq %ju:n - _) un (is ju:n - _) un (it ju:n unit (e ju:n'aIt - _) un (iv ju:n _) un (ix ju:n un (i ju:n p) un (ish Vn @@ -5050,6 +5063,8 @@ .group v v v v (v + + @) va (len veI _) vehem vi@m _) vi (brat v%aI vivi (@ vIvI @@ -5076,6 +5091,7 @@ wh (ol h m) w (ich_ B) wing (_ wIN + B) wing (s_ wIN @) wise (_S4 waIz e) with (_ w'ID with (C w%ID @@ -5096,7 +5112,7 @@ _) x z xio (n kS@ xious =kS@s - xu (a kSu: + xu (a =kSu: .group y y j @@ -5146,7 +5162,7 @@ d) ynam aInam @C) y (mAn_ I w) y (n I - gl) y (ce I + gl) y (cer I d) yse (n Is@ f) y (_ aI ff) y (_ I @@ -5251,6 +5267,7 @@ Em (_ @m @) E (mber 'E Eme (_ i:m + Em (ic_ 'i:m Ensk (_ 'Ensk En (_ @n ?8 En (_ En @@ -5298,6 +5315,7 @@ Esque 'Esk E (ss E Ess (_ Es + E (te_ i: E (tric E Etta (_ 'Et@ Ette (_ 'Et diff --git a/dictsource/fr_rules b/dictsource/fr_rules index e0464db9..0083590f 100755 --- a/dictsource/fr_rules +++ b/dictsource/fr_rules @@ -23,7 +23,7 @@ // 2006-11-18 Gilles Casse // -// Updated: 2009-10-15 Michel Such +// Updated: 2009-11-20 Michel Such // // Letter classes: @@ -753,6 +753,7 @@ C) i (es_ i dist) ill il // distiller _L05) ill il // Lille, mille, ville, william osc) ill il // osciller + gu) ill ij // guillaume qu) ill ij // quille A) ill j // caillou C) ill ij // famille @@ -1363,7 +1364,7 @@ VCi) t (_ t2 .group v v v vers (_ vErz2 -Xri) ver (X vWr +dri) ver (X vWr _) view (X vju _) view (A vjuv @@ -1477,4 +1478,3 @@ _r) w (an u // Rwanda - diff --git a/dictsource/hi_rules b/dictsource/hi_rules index 738f6415..d83f8ddd 100755 --- a/dictsource/hi_rules +++ b/dictsource/hi_rules @@ -2,7 +2,7 @@ // This file is UTF8 encoded // letter groups: -// A vowel letters +// A vowel letters and vowel signs // B vowel signs and virama ् // C consonants // Y vowel letters and vowel signs diff --git a/dictsource/hu_list b/dictsource/hu_list index 406593ac..1517f3bd 100755 --- a/dictsource/hu_list +++ b/dictsource/hu_list @@ -25,12 +25,11 @@ _7X hEtvEn _8X n^oltsvAn _9X kilEntsvEn _0C sa:z - _0M1 EzER2 _1M1 EzER2 _2M1 ke:tEzER2 _0M2 millio: -_1M2 millio: +_1M2 EJmillio: _2M2 ke:tmillio: _0M3 millia:R2d _1M3 EJmillia:R2d @@ -95,7 +94,16 @@ _0-ei Ei $alt2 _0-től e:tY:l $alt2 _0-tól a:to:l $alt2 _0-ig e:ig $alt2 //special date ordinal numbers for example elsejéig, negyedikéig etc. - +_0-éről e:R2Y:l $alt2 +_0-áról a:R2o:l $alt2 +_0-ára a:R2A $alt2 +_0-ától a:to:l $alt2 +_0-ről e:R2Y:l $alt2 +_0-ról a:R2o:l $alt2 +_0-ével e:vEl $alt2 +_0-ával a:vAl $alt2 +_0-éig e:ig $alt2 +_0-áig a:ig $alt2 (1-e) elseje $text $alt2 (1-én) elsején $text $alt2 (1-jén) elsején $text $alt2 @@ -105,7 +113,10 @@ _0-ig e:ig $alt2 //special date ordinal numbers for example elsejéig, negyedik (1-re) elsejére $text $alt2 (1-től) elsejétől $text $alt2 (1-ig) elsejéig $text $alt2 - +(1-éről) elsejéről $text $alt2 +(1-ről) elsejéről $text $alt2 +(1-ével) elsejével $text $alt2 +(1-éig) elsejéig $text $alt2 (2-i) másodikai $text $alt2 (2-ig) másodikáig $text $alt2 (3-i) hAR2_mAdikAi $alt2 @@ -118,7 +129,6 @@ _0-ig e:ig $alt2 //special date ordinal numbers for example elsejéig, negyedik (16-ig) tizenhatodikáig $text $alt2 (18-ig) tizennyolcadikáig $text $alt2 (20-i) huszadikai $text $alt2 - (20-ig) huszadikáig $text $alt2 (23-ig) huszonharmadikáig $text $alt2 (26-ig) huszonhatodikáig $text $alt2 @@ -128,10 +138,14 @@ _0-ig e:ig $alt2 //special date ordinal numbers for example elsejéig, negyedik + // these exceptions only for 0, not for other numbers ending in '0' (0-ás) nul:a:S (0-t) nul:a:t (0-val) nul:a:vAl +(0-ra) nul:a:R2A +(0-nál) nul:a:na:l +(0-hoz) nul:a:hoz // entries with a single digit such as (2-i) also apply to 22, 32, etc, unless $only @@ -159,22 +173,29 @@ _0-ig e:ig $alt2 //special date ordinal numbers for example elsejéig, negyedik (2-esekkel) kEt:ESEk:El (2-eseket) kEt:ESEkEt (2-eseik) kEt:ESEik - +(2-esük) kEt:ESyk (3-as) ha:R2mAS (3-asának) ha:R2mASa:nAk (3-ason) ha:R2mASon (3-assal) ha:R2mAS:Al (3-asával) ha:R2mASa:vAl (3-ast) ha:R2mASt +(3-astól) ha:R2mASto:l +(3-ashoz) ha:R2mAShoz (3-at) ha:R2mAt (3-al) ha:R2om:Al -(4-el) ne:J:El //4 number suffixes (now contains one suffix) +//4 number suffixes +(4-el) ne:J:El //Nneed J: phoneme, not J phoneme contains one suffix) +(4-gyel) ne:J:El //Need J: phoneme, not J phoneme (5-tel) Yt:El (5-el) Yt:El +(5-től) Yt:Y:l +(5-től) YtYdike:tY:l $alt2 (6-al) hAt:Al (6-tal) hAt:Al - +(6-tól) hAt:o:l +(6-tól) h'Atodika:to:l $alt2 (7-es) hEtES (7-est) hEtESt (7-esek) hEtESEk @@ -185,16 +206,23 @@ _0-ig e:ig $alt2 //special date ordinal numbers for example elsejéig, negyedik (7-esük) hEtESyk (7-tel) he:t:El (7-el) he:t:El - +(7-től) he:t:Y:l +(7-től) hEtEdike:tY:l $alt2 +(7-essel) hEtES:El (10-es) tizES // use [i] not [i:] (10-est) tizESt (10-essel) tizES:El (10-esével) tizESe:vEl - +(10-en) tizEn +(10-et) tizEt +(10-szer) ti:s:ER2 +(10-szeres) ti:s:ER2ES (20-as) husAS // use [u] not [u:] (20-ast) husASt (20-assal) husAS:Al (20-asával) husASa:vAl +(20-at) husAt + //special number exceptions (10-el) ti:zzEl @@ -234,7 +262,7 @@ júl $alt aug $alt szept $alt okt $alt -now $alt +nov $alt dec $alt //this following 7 lines means the 7 hungarian day name @@ -268,14 +296,19 @@ _#9 tAb _#13 vAlAmi _#32 so:kYz _cap n'AJ_| +_?? kAR2AktEr||ko:d // unknown characters (change this) + // Abbreviations +ADSL a:de:ESEl $allcaps //Internet connection type, we pronouns this with ádéesel ÁNTSZ a:Ente:Es $allcaps +ATM a:te:Em $allcaps //The ATM stands. We pronouns this abbreviation with átéem word. Default, Espeak pronouns this abbreviation with atéem word. + km kilo:me:tER2 GYSEV JESEv $allcaps GYESEV JESEv $allcaps HÉV he:v $allcaps -City siti $capital +IPTV $abbrev $allcaps GDP dZi:di:pi: $allcaps HSDPA $abbrev $allcaps ORTT $abbrev $allcaps @@ -283,27 +316,29 @@ ORFK oEREfka: $abbrev $allcaps MÁV ma:v $allcaps MTI $abbrev $allcaps mm milime:tER2 - +RAM R2Am $allcaps //Espeak normaly spokening this abbreviation with erraem, but this is not good +Psszt ps:t $capital // similar word with quiet word. Espeak default spokening this abbrew quiet word with letter by letter by default. VDSZSZ ve:de:EsEs $allcaps a.m An^n^i||m'int $dot -ún u:JnEvEzEt: $dot +ún u:JnEvEzEt: $hasdot dr doktoR2 $dot -mr mistER2 $dot //in hungarian we not use, but lot of books contains this word. -mrs misis $dot //In hungarian we not use, but lot of book contains this word. +mr mistER2 $hasdot //in hungarian we not use, but lot of books contains this word. +mrs misis $hasdot //In hungarian we not use, but lot of book contains this word. +miss mis: $hasdot gpu $abbrev GB gigAba:jt $allcaps MB mEgAba:jt $allcaps OK ok $allcaps mvgyosz Emve:Je:oEs OTP o:te:pe: $allcaps -id idY:SEb: $dot -ill illEtvE $dot -ifj ifjAb: $dot +id idY:SEb: $hasdot +ill illEtvE $hasdot +ifj ifjAb: $hasdot mta $abbrev -pl pe:lda:ul $dot -stb SAtYb:i $dot -u.n u:JnEvEzEt: $dot -ú.n u:JnEvEzEt: $dot +pl pe:lda:ul $hasdot +stb SAtYb:i $hasdot +u.n u:JnEvEzEt: $hasdot +ú.n u:JnEvEzEt: $hasdot vö v'EZd||_'Yss2E @@ -336,7 +371,7 @@ maguk $unstressend de $u+ $pause // but vagy $u+ $pause // or -mert $u $pause // because +mert $u $pause // because miatt $u // because bár $u $pause // although habár $u $pause // although @@ -348,7 +383,8 @@ noha $u $pause // even thought // Negative -nem $unstressend $combine $strend +nem $strend2 $combine +?2 nem $strend2 ne $unstressend e $u // "-e" question @@ -380,9 +416,9 @@ fölé $unstressend felett $unstressend // above fölött $unstressend -//mellől $u // besides -//mellé $u -//mellett $u +mellől $unstressend // besides +mellé $unstressend +mellett $unstressend lett $unstressend ott $unstressend itt $unstressend @@ -391,9 +427,9 @@ nektek $unstressend nekik $unstressend neki $unstressend nekem $unstressend -//közül $u -//közé $u -//között $u +közül $unstressend +közé $unstressend +között $u an $u // so many persons as $u ba $unstressend // into @@ -426,6 +462,7 @@ ről $unstressend szer $u szor $u // times szó $unstressend +szót $unstressend szór $u ször $u tól $unstressend // from @@ -465,8 +502,8 @@ rá $unstressend //onto ide $unstressend // here oda $unstressend // there szét $unstressend //apart -//össze $u //connect with -//vissza $u //back +össze $unstressend //connect with +vissza $unstressend //back volna $unstressend // would //részén $u //on ... part of @@ -488,6 +525,7 @@ jót $unstressend kér $unstressend tartják $unstressend erős $unstressend +lenni $unstressend lennie $unstressend közt $u+ levegőjére $unstressend @@ -505,6 +543,7 @@ lenne $unstressend őt $unstressend helyes $u+ fák $unstressend +fát $unstressend et $unstressend megvédeni $unstressend sztrájk $unstressend @@ -552,6 +591,7 @@ srác $unstressend rám $unstressend tűnik $unstressend nyújt $unstressend +nincs $unstressend nincsen $unstressend mégy $unstressend nő $unstressend @@ -565,7 +605,8 @@ düh $unstressend más $unstressend mást $unstressend rúd $unstressend -mint $unstressend $brk $combine +mint $unstressend $combine +?2 mint $unstressend iránt $unstressend légy $unstressend tűnt $unstressend @@ -586,6 +627,7 @@ jött $unstressend szólsz $unstressend lőtt $unstressend sor $unstressend +sort $unstressend árt $unstressend fest $unstressend fújt $unstressend @@ -622,7 +664,167 @@ napját $unstressend több $unstressend tart $unstressend hág $unstressend - +sors $unstressend +küzd $unstressend +vert $unstressend +csaj $unstressend +tárgy $unstressend +lágy $unstressend +pont $unstressend //This is mean pont word, not dot character. +pontok $unstressend +bújt $unstressend +mély $unstressend +úr $unstressend +szép $unstressend +szék $unstressend +nagy $unstressend +kár $unstressend +hó $unstressend +tánc $unstressend +füst $unstressend +két $unstressend +őr $unstressend +őrt $unstressend +nyílt $unstressend +fényt $unstressend +éjt $unstressend +ég $unstressend +lépett $unstressend +perc $unstressend +halk $unstressend +busz $unstressend +gyors $unstressend +vett $unstressend +kést $unstressend +fess $unstressend +szín $unstressend +szög $unstressend +sincs $unstressend +tér $unstressend +sztár $unstressend +vers $unstressend +mondja $unstressend +mondják $unstressend +mondta $unstressend +mondták $unstressend +szert $unstressend +látja $unstressend +szél $unstressend +óra $unstressend +hegy $unstressend +colt $unstressend +róla $unstressend +rólunk $unstressend +rólatok $unstressend +róluk $unstressend +szád $unstressend +nos $u +no $u +na $u +vall $unstressend +magam $unstressend +magad $unstressend +tűz $unstressend +egy $unstressend +lehetett $unstressend +arra $unstressend +erre $unstressend +arról $unstressend +erről $unstressend +ölt $unstressend +rosszak $unstressend +helyt $unstressend +bort $unstressend +látszik $unstressend +látszott $unstressend +látszanak $unstressend +látszotok $unstressend +körül $unstressend +dőlt $unstressend +vér $unstressend +sót $unstressend +múlt $unstressend +ügy $unstressend +cél $unstressend +célt $unstressend +láb $unstressend +bőr $unstressend +víz $unstressend +fagy $unstressend +nyelt $unstressend +sokk $unstressend +hét $unstressend +zajt $unstressend +pest $unstressend +stáb $unstressend +súlyt $unstressend +szólt $unstressend +vidd $unstressend +fönn $unstressend +szűk $unstressend +fordul $unstressend +fordult $unstressend +hús $unstressend +bor $unstressend +húsz $unstressend +tőle $unstressend +tőled $unstressend +tőlük $unstressend +tőletek $unstressend +tőlünk $unstressend +mászni $unstressend +jel $unstressend +szállt $unstressend +száll $unstressend +sínt $unstressend +kút $unstressend +bőrt $unstressend +vért $unstressend +lóg $unstressend +vette $unstressend +lenn $unstressend +indult $unstressend +völgy $unstressend +frászt $unstressend +hang $unstressend +fény $unstressend +kösz $unstressend +gramm $unstressend +húst $unstressend +telt $unstressend +zár $unstressend +rész $unstressend +nyom $unstressend +hiszem $unstressend +hiszed $unstressend +hiszi $unstressend +telik $unstressend +adott $unstressend +gázt $unstressend +csap $unstressend +falán $unstressend +hitte $unstressend +nyár $unstressend +túl $unstressend +fáj $unstressend +tudni $unstressend +hinni $unstressend +hopp $unstressend +vinni $unstressend +hozni $unstressend +hittem $unstressend +hitted $unstressend +hittük $unstressend +hittétek $unstressend +hitték $unstressend +folt $unstressend +írva $unstressend +vele $unstressend +veled $unstressend +velem $unstressend +velünk $unstressend +veletek $unstressend +velük $unstressend // word pairs @@ -635,10 +837,10 @@ hág $unstressend vagyok $u // to be, present vagy $u -van $u -vagyunk $u -vagytok $u -vannak $u +van $unstressend +vagyunk $unstressend +vagytok $unstressend +vannak $unstressend voltam $u // to be, past voltál $u @@ -666,7 +868,7 @@ fogunk $u+ fogtok $u+ fognak $u+ -tud $u+ // can +tud $unstressend // can tudok $u+ tudsz $u+ tudunk $u+ @@ -751,7 +953,7 @@ _? ke:R2dY:jEl _- m'inus $max3 __ Ala:hu:za:S $max3 _' ApostR2o:f -_– nAJkYtY: +_– gondolAtjEl _— kviR2tmi:nus _" ide:zY:jEl _( b'Alza:R2o:jEl $max3 @@ -762,17 +964,56 @@ _{ k'EzdY:kAptSoS $max3 _} v'e:gkAptSoS $max3 _… pontpontpont -_• di:spont +_• fElSoR2ola:SjEl _| fyg:Y:lEgESvonAl _> nAJob _< kiSSEb _¤ pe:nznEmjEl - +® bEjEJzEt: +™ ve:djEJ +_` tompA +_  SokYz +_« bElSY:|bAl|ide:zY:jEl +_» bElSY:|jobb|ide:zY:jEl +_­ la:JkYtY:jEl +_² ma:Sodik|hAtva:n^ +_³ hArmAdik|hAtva:n^ +_· kYze:pSY:pont +_¹ ElsY:hAtva:n^ +_º Sorsa:m +_‘ bAloldAli|ide:zY:jEl +_’ job:oldAli|ide:zY:jEl +_‚ ide:zY:jEl +_‛ ide:zY:jEl +_“ ide:zY:jEl +_” ide:zY:jEl +_„ ide:zY:jEl +_‟ ide:zY:jEl +_‣ ha:R2omsYgAlAku:|fElSoR2ola:SjEl +_‰ EzR2Ele:k +_′ ApostR2o:f +_″ duplA|ApostR2o:f +© tsopiR2ight-jEl +° fok +− minus +± plusminus +µ my: +¼ nEJEd +½ fe:l +¾ ha:R2omnEJEd +× tAlpAS +÷ osta:S +¬ logikAinEm +√ JYkjEl +∞ vEgtElEn +≠ nEmEJEnlY: +_ˇ lEfEle:n^i:l // Main Exceptions List //===================== nato na:to: +(end-of line) u:jS,oR2 $textmode MSZP emeszpé @@ -792,3 +1033,9 @@ egyezség eggyesség (db-os) darabos (db-ot) darabot + + + + + + diff --git a/dictsource/hu_rules b/dictsource/hu_rules index 62d1134e..637a8cf5 100644 --- a/dictsource/hu_rules +++ b/dictsource/hu_rules @@ -12,9 +12,10 @@ .group a a A _) a (_ %A - D00_-) al (_ zAl // double z for 100-al - 000_-) al (_ Al // ... but not 1000-al + D00_-) al (_ zAl // double z for 100-al + 000_-) al (_ Al // ... but not 1000-al _) alattvaló AlAtvAlo: + ahhoz Ahoz .group á á a: @@ -25,11 +26,12 @@ .group b b b bb b: - @) ban (_S3 bAn + @) ban (_S3q bAn @) ben (_S3 bEn biz (A biz, // bizalmas etc. biedermeier bi:dER2ma:jER2 +_) batthiány bAc:a:n^i .group c c ts @@ -37,35 +39,59 @@ cs tS ccs tS: !) cz ts // in names which start with a capital letter + + csz ts|s + papu) cs tS + ar) c (cson ts - anar) ch (i C - balda) ch (in C -hierar) ch (i C - me) ch (a C - te) ch C - pszi) ch C - pszy) ch C - mün) ch (en C - maso) ch (istA C - monar) ch (i C - _pe) ch C - szé) ch tS - _zi) ch (y tS - - mala) c (sá ts pá) c (só ts pol) c (so ts por) c (sé ts por) c (sz ts - - _szé) che (ny tSe: - _szé) ché (ny tSe: _sto) ck (holm k har) c (csoport ts - _) church tSYR2tS lán) c (cs ts + _) colt kolt + _) coltt kolt: + _) coltj kolc + kudar) c (sorozat ts + gerin) c ts + tán) c (cs ts + tán) c (s ts + kilen) c (csatorn ts + ner) c (stóla ts + kavi) cs (zátony tS + + + + + +.group ch + anar) ch (i h + balda) ch (in h +hierar) ch (i h + me) ch (a h + te) ch h + pszi) ch h + pszy) ch h + mün) ch (en h + maso) ch (istA h + monar) ch (i h + _pe) ch h + szé) ch tS + _zi) ch (y tS + _szé) che (ny tSe: + _szé) ché (ny tSe: + ja) ch (t h + ce) ch (et h: + or) ch (ídea h + stri) ch (el h: + ar) ch (ív h + ar) ch (ivál h + +?!2 _) church (il tSYR2tS .group d d d @@ -76,37 +102,20 @@ hierar) ch (i C apró) d (sz d dsz (_S3 ts: beszé) d (szin d + beszé) d (sebesség d cselé) d d - fogó) dz (kod ts - fogó) dz (ó z -fenyegető) dz z + dobermann dob:ER2mAn föl) d (sánc d ha) dd (_S2 d ha) d (járat d ha) d (sor d hor) d (szék d -máso) d (sor d - akaró) dz z -hallgató) dz z - húzó) dz ts -harapó) dz z -himbáló) dz z - lopó) dz z -tapogató) dz z - villó) dz z - e) dz (ő dz - e) dz (és dz + máso) d (sor d pa) d (sor d ren) d (sza d va) d (sző d - kére) dz ts -mentegető) dz z - dz dz - A) dz (A d:z - dzs dZ - A) dzs dZ: C) ds tS ds (C tS A) ds (A tS: @@ -120,23 +129,64 @@ mentegető) dz z a) dsz (í ds é) dsz ds ó) dsz ts: - dz dz - C) dzs dZ - A) dzs (A dZ: C) dj J A) dj (A J: dj J: min) dny n^ ná) d d ná) dd d: + diesel di:zEl + hí) d (szerkezet d + dühvel dyvEl + epizó) d (szerep d + negye) d (száz d + dühbe dybE + fülle) dtt (é t: + föl) d (sáv d + dühtől dytY:l + rövi) d (zárlat d + sarja) d (zik d + nyála) d (z d +ren) dsz (erint d|s +.group dz + fogó) dz (kod ts + fogó) dz (ó z +fenyegető) dz z + akaró) dz z +hallgató) dz z + húzó) dz ts +harapó) dz z +himbáló) dz z + lopó) dz z +szedelő) dz z +tapogató) dz z + ó) dz (kod ts + villó) dz z + e) dz (ő dz + e) dz (és dz + kére) dz ts +mentegető) dz z + dz dz + A) dz (A dz + dzs dZ + A) dzs dZ: + dz dz + C) dzs dZ + A) dzs (A dZ: + borsó) dz z + beszé) dz (avar dz +dobáló) dz z + kérő) dz z +követelő) dz z +rángató) dz z .group e e E - 000_-) el (_ REl // double R for 1000-el -000000_-) el (_ El // ... but not 1000000-el - + 000_-) el (_ REl // double R for 1000-el +000000_-) el (_ El // ... but not 1000000-el + _) ehhez EhEz _) egyezség EJ:ESSe:g .group é @@ -145,25 +195,58 @@ mentegető) dz z @) ében (_S4q e:bEn @) ének (_S4q e:nEk @) étől (_S4q e:tY:l + éhség e:Se:g + éhségg e:Se:g: .group ë ë Y .group f f f - + führer fy:R2ER2 .group g g g gg g: - gy J ggy J: + _) goethe gY:tE + _) goethé gY:te: + me) g (gy g + me) ggy (fa J + me) ggy (piros J + me) ggy (vörös J + me) ggy (es J: + me) ggy (et J: + me) ggy (_S3 J: + me) ggy (szín J + le) g (gy g + orszá) g (gyűlés g + fü) gg (vény g + fo) g (gyűrű g + fo) g (gyö g +kuplun) g (gyár g + bélye) g (gyűjt g + jo) g (gyakor g + dö) g (gyapjú g + fo) g (gyalu g +hadianya) g (gyár g + ide) g (gy g + lé) g (gyök g + műjé) g (gyár g +régisé) g (gyűjt g +ritkasá) g (gyűjt g + üve) g (gy g + vilá) g (gyűlöl g + + +.group gy + gy J gys tS A) gys (A tS: gysz Js - A) gysz (A Js: + A) gysz (A Js C) gyj J A) gyj (A J: ha) gyj J: @@ -180,19 +263,25 @@ _minde) gy (ik J: na) gysz (a Js na) gy (sokára J -na) gy (siet J - _) goethe gY:tE - _) goethé gY:te: - me) g (gy g - le) g (gy g - orszá) g (gyűlés g + na) gy (siet J ú) gy (se J seho) gy (se J + ho) gy (se J + ú) gy (se J + na) gy (ság J + he) gy (ség J + e) gy (ség J + e) gy (sarkú J + e) gy (sejtű J + e) gy (sínű J + e) gy (sor J + né) gy (sor J .group h h h hertz hER2ts + .group i i i @) i (_S1 i @@ -202,12 +291,11 @@ na) gy (siet J .group í í i: íts i:tS: - fesz) ítsd i:tSd - ford) ítsd i:tSd - szól) ítsd i:tSd - áll) ítsd i:tSd -semmis) ítsd i:tSd -bizony) ítsd i:tSd +ítsd i:tSd + + t) í (zen i + t) í (zet i + v) í (zen i .group j j j @@ -224,19 +312,22 @@ bizony) ítsd i:tSd kk (C k: _) köztársaság k'Ysta:R2SASa:g központ kYspont + központt kYspont: központj kYsponc _) köz kYz község kYSSe:g készség ke:SSe:g - _) kétség ke:tS:e:g + kossuth koSu:t + kossutht koSu:t: + készségg ke:SSe:g: .group l l l fe) l (ju l fe) l (jö l -fe) l (jegy l -fe) l (jelen l - + fe) l (jegy l + fe) l (jelen l + fe) l (jár l e) l (jö l lj l^j @@ -263,15 +354,23 @@ szamue) lly lli szamue) ly lli mi) ll (i l - - + szá) ll (t l + szé) l (jár l + szé) l (jegy l +keresztü) l (j l + _) tú) l (j l: + e) l (játsz l + fe) l (javít l + fe) l (jogosít l + ökö) l (jog l: .group m m m ko) mm (uni m - - + mauser mAuzER2 + mosquito moskito: + mosquitó moskito: .group n n n @@ -281,6 +380,8 @@ szamue) ly lli ny n^ nny n^n^ nj n^n^ + szí) n (ját n + szí) n (józan n nyj n^n^ _) nem (- nEm // has $combine attribute in hu_list, combine with the next word @@ -288,20 +389,36 @@ szamue) ly lli me) nny (d n^ me) nny (k n^ pihe) nj (_S2 n^ -főbe) n (jár n -szí) n (játék n -ingye) n n + főbe) n (jár n + + ingye) n n + _) nylon nEjlon sze) nny (víz n^ ajá) nlj j: + i) nny (ekció n^ + bű) n (jel n +negyve) n (yard n + ötve) n (yard n + benzi) n (jegy n + elle) n (javaslat n + késő) n (jövő n + közbe) n (jár n + magá) n (jog n + óceá) n (jár n + pero) n (jegy n + ö) n (járó n +tulajdo) n (jog n +ko) nn (ektor n //connector word, we spokening one n letter, not two n letter + .group o o o - _r) oose (velt u:z - otthon othon + otthon othon + oscar oska:R2 .group ó ó o: @@ -321,6 +438,8 @@ ingye) n n _) potsdam potsda:m + + .group q q kv qu kv @@ -333,47 +452,218 @@ ingye) n n _) richa (rd R2iCa: _) richá (rd R2iCa: + reichsmarschall R2EjsmAR2SAl: +?!2 _) roose (velt R2u:z@ .group s s S - sz s - ssz ss2 - szts stS: - sztsze stsE - sztsza stsA föld) s (ánc S - s (színű S hel) s (inki z - ki) s (ebb SS - _má) s (szó S _munká) s S _nyílá) s S _o) slo slo: _o) sló slo: tojá) s S - _) semmelweiss sEmmElvEjs _) semmelweis sEmmElvEjs _) semmelweiß sEmmElvEjs engel) s s - mu) ss (olini ss2 _) saar sa:R2 _wa) sh (ing S - - sz (öld Sz - va) s (zabl S|| - - egé) szs (ég S - -liszte) szs (ák SZ pénze) s S - rend) sz (er s: robbaná) s S + schmeisser SmEjsER2 +danubiu) s s //a radio station name +juventu) s s //a radio station name + va) s (s S + óriá) s S + + + +.group ss + ssz ss2 + ssz (ínű Ss + mu) ss (olini ss2 + _má) ssz (ó Ss +mennydörgé) ssz (erű Ss robbaná) ss S: -ejtőernyő) ssz S|s -krumpli) s (zsák S +robbaná) ssz (er Ss +danubiu) ss s: //a radio station name +danubiu) ssz s: //a radio station name +juventu) ss s: +juventu) ssz s: //a radio station name +ejtőernyő) ssz S|s + farka) ssz (em Ss +villamo) ssz (ék Ss + titko) ssz ( olgál Ss + karo) ssz (ék Ss + hú) ssz (elet Ss + vörö) ssz (em Ss + dőlé) ssz (ög Ss + vonó) ssz (erenád Ss + maro) ssz ( Ss + szepe) ssz (ombat Ss + ko) ssz (arv Ss + kaka) ssz (ék Ss + vérte) ssz (őlő Ss + leve) ssz (ed Ss + adá) ssz (ünet Ss + adó) ssz (ámla Ss + állá) ssz (ög Ss + almá) ssz (ürke Ss + ugatá) ssz (erű Ss + autó) ssz (emüveg Ss +zuhaná) ssz (erű Ss + bélé) ssz (öv Ss + karo) ssz (éria Ss + bor) ssz (em Ss + bor) ssz (ór Ss + kéke) ssz (ürke Ss + éde) ssz (áj Ss + égé) ssz (abály Ss +egyene) ssz ( Ss + má) ssz (or Ss + éke) ssz (ól Ss + éle) ssz (em Ss +ellenállá) ssz (ekrény Ss +előírá) ssz (er Ss + löké) ssz (ám Ss +érzékelé) ssz (int Ss + esé) ssz (ög Ss + fagyo) ssz (ent Ss + farka) ssz (erű Ss + farka) ssz (őlő Ss +fedele) ssz (árny Ss + hajlá) ssz (ög Ss + féti) ssz (erű Ss + hő) ssz (erel Ss + fióko) ssz (ekr Ss +rendelkezé) ssz (er Ss + foga) ssz (eg Ss +foglalkozá) ssz (erű Ss + maga) ssz (árú Ss +gondviselé) ssz (er Ss +gyújtá) ssz (abály Ss + hárma) ssz (ab Ss + hárma) ssz (ö Ss + ver) ssz (ak Ss +hártyá) ssz (árny Ss + hegye) ssz (ög Ss +hirdeté) ssz (öveg Ss +hivatá) ssz (erű Ss + pulzu) ssz (ám Ss + hú) ssz (ekrény Ss + írá) ssz (akér Ss +jelené) ssz (erű Ss + kampó) ssz ( Ss + ka) ssz (ék Ss +katalógu) ssz (ám Ss +kattogá) ssz ( Ss + ki) ssz (ám Ss + ki) ssz (erű Ss + ki) ssz (ob Ss + ki) ssz (ék Ss + ki) ssz (ótár Ss +könyve) ssz (ek Ss + köté) ssz ( Ss + laká) ssz (en Ss + lapo) ssz (ár Ss +látomá) ssz (erű Ss + lejté) ssz (ög Ss + lengé) ssz (abály Ss + lépé) ssz (ám Ss + nyomá) ssz (erű Ss + löké) ssz (erű Ss + luxu) ssz ( Ss + mágne) ssz (alag Ss +megállapodá) ssz (erű Ss +meglepeté) ssz (erű Ss +motoro) ssz (án Ss + ülé) ssz (ak Ss + tölté) ssz (abályoz Sss + orvo) ssz (övetség Ss + orvo) ssz (akértő Ss + orvo) ssz (emély Ss + orvo) ssz (er Ss + ökrö) ssz (ekér Ss + ő) ssz (üle Ss + padlá) ssz (ob Ss +pikkelye) ssz (árny Ss + piro) ssz (em Ss + plü) ssz (erű Ss + pré) ssz (er Ss + púpo) ssz (únyog Ss +rajtaüté) ssz (er Ss + karo) ssz (ériájú Ss + ruhá) ssz (ekrény Ss + sárgá) ssz ( Ss + sa) ssz (em Ss + serté) ssz ( Ss + sonká) ssz ( Ss + sor) ssz (erű Ss + töré) ssz (ög Ss + uta) ssz (ál Ss +szerzete) ssz (er Ss +szerződé) ssz (e Ss + tudá) ssz (int Ss + szoká) ssz (er Ss + szólá) ssz (abad Ss +születé) ssz (ab Ss +tágulá) ssz (abály Ss + tár) ssz (ekér Ss + tár) ssz (er Ss + tava) ssz (a s: + váro) ssz (iluett Ss +tejfele) ssz (áj Ss +tejfölö) ssz (áj Ss + többe) ssz (ám Ss + tölté) ssz (ám Ss + tövi) ssz (úr Ss + tudá) ssz (omj Ss + szúrá) ssz (erű Ss + ugrá) ssz (erű Ss + vallá) ssz (ab Ss +vöröse) ssz (őke Ss +zökkené) ssz (erű Ss + zölde) ssz (ürke Ss + zsíro) ssz (én Ss +köhögé) ssz (erű Ss + üté) ssz (erű Ss + olva) ssz s: + vi) ssz (hang s +felelő) ss (ég S +égzengé) ssz (erű Ss + +.group sz + sz s + szts stS: + sztsz st|s + sztsze stsE + sztsza stsA + sz (öld Sz + va) sz (abl S||z + egé) szs (ég S +liszte) szs (ák SZ + rend) sz (er s: +krumpli) szs (ák SZ +szerszámo) szs (ák SZ + maro) sz (ug Sz + körö) sz (ug Sz +fáklyá) sz (ene Sz + hallá) sz (avar Sz + evé) sz (avar Sz + vonó) sz (ene Sz + va) sz (ár Sz +kenyere) szs (ák SZ + sonká) szs (eml SZ + vize) szs (em SZ + iga) szs (ágos S: + li) sztsz (erű st|s + tava) sz (ára s +rongyo) szs (ák SZ + .group t @@ -391,17 +681,14 @@ krumpli) s (zsák S ttm t:m ttl t:l ttr t:R2 + ttv t:v ty c // s) ty c: // // z) ty c: // keztyű - ts (_S2 tS //general rule with word end of ts letters - tsü tSy ttj c: tty c: - apá) ts (ág tS: becsüle) t t becsüle) tt t: -bizo) ts (ág tS: csapa) t (jel t cson) t t cson) tt t: @@ -416,6 +703,119 @@ bizo) ts (ág tS: gondola) t (sor t gráni) t t gráni) tt t: + ada) t t + ada) tt t: + ké) t (sarok t + ké) t (sor t + ké) t (sáv t + ké) t (sarkú t + ké) t (sebességes t +kegyele) t t +kegyele) tt t: + korán) t (se t + üzle) tt t: + üzle) tj c: + nemze) t (szo t + min) t t + t (cs t + tts (á tS: + tts (é tS: + C) tj c + A) tj (A c: + C) tyj c + ttyj c: + A) tyj (A c: + + _ka) ty (n ti + +vörösmar) ty ti + á) t (cikáz t + á) t (caplat t + á) t (sza t + á) t (jár t + á) t (szö t + á) t (sző t + á) t (szú t + á) t (szű t + á) t (jut t + á) t (juss t + á) t (jö t +állapo) t (sor t +felada) t (sor t +művele) t (sor t + szige) t (sor t +folyama) t (jel t + hi) t (sze t + hi) t (szó t + korlá) tj (ára c: + t (jel t //need this general rule when any not added word contains the tjel part + kür) t t + kür) tj c + kür) t (jel t + kür) t (szó t + küldö) ttj c: + o) tt t: + szen) t (szék t + szé) t t + szé) tt t: + á) t (sor t + á) t (sé t + á) t (sze t + á) t (sug t + á) t (suh t + á) t (sur t + ne) t (c t + ne) t (se t + ne) t (szo t + + lá) t (sze t + lé) t (szám t + ké) t (száz t + ö) t (száz t + ha) t (száz t + hé) t (száz t + vona) t (jegy t + tesz) t (sor t + tes) t (sér t + fron) t (jár t + á) t (söpör t + ala) tt (jár t: + fri) tz ts: + halo) tt (sápad t: + mi) t (se t + há) t (szél t + thököly tYkYli + nosz) ty ti + ké) t (szín t +passzá) t (szél t + szen) t (jános t + ö) t (yard t + bi) t (sebesség t + álla) t (sereg t + á) t (segít t + épüle) t (sarok t + mene) t (sor t + skó) t (sapka t +lé) t (jogosultsága t +bérle) t (jegy t +csapa) t (játék t +ese) t (jog t +fejeze) t (jel t +ké) t (jegyű t +krike) tt (játék t: +mene) t (jegy t +szüne) t (jel t +ú) t (jelző t +ú) t (jog t +gondola) t (jel t +helyze) t (jel t + + +.group ts + ts (_S2 tS //general rule with word end of ts letters + tsü tSy + apá) ts (ág tS: + bizo) ts (ág tS: já) tsz ts: já) tssz ts: já) tsz (m ts @@ -428,27 +828,15 @@ gondola) t (sor t tsz (e t|s tsz (á t|s me) tsz (et ts: - ada) t t - ada) tt t: - ké) t (sarok t - ké) t (sor t - ké) t (sáv t ké) tsz (er ts: ö) tsz (ör ts: hé) tsz (er ts: -kegyele) t t -kegyele) tt t: - korán) t (se t szorí) ts (a tS: sie) ts tS: - üzle) tt t: - üzle) tj c: ürí) ts (e tS: mula) ts tS: nemze) ts tS: - nemze) t (szo t néme) ts (ég tS: - min) t t ts (a tS ts (á tS ts (e tS @@ -456,87 +844,40 @@ kegyele) tt t: ts (o tS ts (u tS tsd tSd - t (cs t - tts (á tS: - tts (é tS: - tsö tSY - j) ts tS - C) tj c - A) tj (A c: - C) tyj c - ttyj c: - A) tyj (A c: - - _ka) ty (n ti - -vörösmar) ty ti - á) t (sza t - á) t (jár t - á) t (szö t - á) t (sző t - á) t (szú t - á) t (szű t - á) t (jut t - á) t (juss t - á) t (jö t - állí) ts tS: -állapo) t (sor t bará) ts tS: dön) ts (ön tS -folyama) t (jel t - hi) t (sze t - hi) t (szó t - korlá) tj (ára c: köve) ts (ég tS: - t (jel t //need this general rule when any not added word contains the tjel part - kür) t t - kür) tj c - kür) t (jel t - kür) t (szó t - küldö) ttj c: neve) ts (ég tS: - o) tt t: - szen) t (szék t - szé) t t - szé) tt t: + tsö tSY + j) ts tS + állí) ts tS: szé) tszé t|se: szöve) ts (ég tS: söté) ts (ég tS: sajá) ts (ág tS: - á) t (sor t - á) t (sé t - á) t (sze t - á) t (sug t - á) t (suh t - á) t (sur t - ne) t (c t - ne) t (se t - ne) t (szo t - lehe) ts (ég tS: tehe) ts (ég tS: lá) tsz ts: + lá) tssz (on ts: te) tsz ts: - lá) t (sze t fize) ts (ég tS: segí) ts tS: á) ts (ó tS: ismere) ts (ég tS: - lé) t (szám t - ké) t (száz t - ö) t (száz t - ha) t (száz t - hé) t (száz t vé) ts (ég tS: - vona) t (jegy t - tesz) t (sor t - tes) t (sér t - fron) t (jár t - á) t (söpör t - ala) tt (jár t: - fri) tz ts: -fű) ts tS: - + fű) ts tS: + halla) tsz (ik ts: + ké) ts (ég tS: + ére) ts (ég tS: + men) ts (vár tS + süke) ts (ég tS: + ú) tsz (él t|s +becsüle) tsz (ó t|s +indula) tsz (ó t|s + cson) tsz (én t|s + dró) tsz (őr t|s + lá) tsz (erész t|s + skó) tsz (okny t|s .group u u u @@ -560,6 +901,7 @@ fű) ts tS: .group w w v + wehrmacht vER2mAht .group x _) x (_ iks @@ -569,6 +911,8 @@ fű) ts tS: _) y j y i K) y (K i + yard jAR2d + yardd jAR2d: .group z z z @@ -593,10 +937,11 @@ lefeje) z (te s lefeje) z (ték s pén) z (tár s ré) z (sz z + ré) z (serpenyő z tartó) z s gá) z (sz z -gá) z (cső z -gé) z (sz z + gá) z (cső z + gé) z (sz z ké) z (sz zz há) z (so z @@ -605,6 +950,7 @@ gé) z (sz z má) zc (sz z mé) zc (sz z nehé) z (sé S + nehé) z (súlyú z iga) zs (ág SS iga) z (szí z ga) zs (ág SS @@ -631,12 +977,35 @@ _szára) zs (ág SS _) zürich tsyR2iC vigyá) zz (ba z vigyá) zz (t z + tí) zsz (er s: + szá) zsz (or s: + mé) z (sör z + leme) z (szerz z + ké) z (zsibbadás z + ké) z (sérül z + szű) z (sült z + házho) z (szállít z + gő) z (sugár z +találko) z (t s + eszkö) z (sor z + gő) z (síp z + matró) z (sapka z + nehé) z (súly z + raj) z (szeg z + raj) z (szög z +pén) z (t s +rende) z (ked s +kocká) z (tat s +hibá) z (tat s +különbö) z (tet s +válto) z (tat s +válto) z (tass s +tájéko) z (tat s +tájéko) z (tass s + .group - - - $ dolla:R2 ä E æ E diff --git a/dictsource/no_list b/dictsource/no_list index 513cdc42..fd309040 100755 --- a/dictsource/no_list +++ b/dictsource/no_list @@ -72,24 +72,51 @@ _1M2 'e:n||m'Illi:;,u:n _0and u:g _dpt kOmmA +// ordinal numbers +_ord @nd@2 +_1o f'WRst@2 +_2o 'AndR@2 +_3o tR'Edj@2 +_4o fj'a:R@2 +_5o f'Emt@2 +_6o S'Et:@2 +_8o 'Ot:@nd@2 +_11o 'EllEvt@2 +_12o t'Olvt@2 +_13o tR'Et:@nd@2 +_14o fj'URt@md@2 +_15o f'Emt@nd@2 +_16o s'Ekst@nd@2 +_17o s'yt:@nd@2 +_18o 'At:@nd@2 +_19o n'It:@nd@2 +_2Xo s;'u-:@nd@2 +_0Co h'u-ndR@d@2 +_0M1o t'u-:s@nd@2 + + // punctuation and symbols //======================== +* ss;aRn@2 $max3 += aRli:k $max3 ++ plu-s $max3 +% pR'u:s'Ent $max3 +& O:g +# nu-mm@RtENn $max3 +/ skROstR@k $max3 +\ OmvEndt||skROstR@k $max3 + _! u-:tRu:pstENn _" AnfY:RS@l -_# nu-mm@RtENn _$ dOllA:R -% pR'u:s'Ent -& O:g _' ApUstR'u:f _( paRaNt'e:s||b@j'ynn@R _) paRaNt'e:s||Sl'u-t: _* ss;aRn@2 -+ plu-s _, kOmmA _- stRe:k _. pu-Nktu-:m -/ skROstR@k _: ku:lOn _; se:mi:ku:lOn _< mIndR@2||En @@ -104,7 +131,18 @@ _] h'YyR@2||h'A:ke:paRaNt'e:s __ u-ndaRStR@k _` 'OmvEndt||ApUstR'u:f +_#09 tA:b +_#32 mEllOmRu:m +_acu A:'ku-t: +_ced s'e:dIll@2 +_cir s'IRku-mflEks +_dia tR'e:mA +_grv gR'A:vi:s +_tld t'Ild@2 + +é $accent +ü $accent // abbreviations @@ -250,6 +288,15 @@ _i i: i i: $atend +// English Words +firefox _^_EN +screen _^_EN +reader _^_EN +cancel _^_EN +continue _^_EN +magnifier _^_EN +and @2nd $only + // MAIN WORD DICTIONARY //********************* diff --git a/dictsource/no_rules b/dictsource/no_rules index 0ba1eb46..9c9ad98d 100644 --- a/dictsource/no_rules +++ b/dictsource/no_rules @@ -29,6 +29,7 @@ .group c c k cc k: + _) c (e s c (i s c (y s c (ei s @@ -207,7 +208,6 @@ ü y: $ dOllA:R - \\ OmvEndt||skROstR@k ! _:'u-:tRu:pstENn_: !) ! @@ -218,14 +218,4 @@ __) - (_D mi:nu-:s A_) - (_D _ C_) - (_D _ - --) - - * ss;aRn@2 - *) * (* - ** - **) * (_ _:: - - = aRli:k - = (== - =) = (= - ==) = (_ _:: diff --git a/dictsource/pap_list b/dictsource/pap_list new file mode 100644 index 00000000..84722927 --- /dev/null +++ b/dictsource/pap_list @@ -0,0 +1,121 @@ +// This file is UTF8 encoded +// Spelling to phoneme words and exceptions for Papiamento + +//http://papiamentu.pbworks.com/Pronouns +//http://www.papiamentu.com/vocab.html + + + +// characters +b be +c se +d de +f Ef +g ge +h ha +j je +k ka +l El +m Em +n En +p pe +q ky +r ER +s Es +t te +v ve +w we +x Eks +z zEt +ñ en^e + +_a a +_e e +_i i +_o o +_y igR'Ek $atend + +// these letters are in pap_rules, but the letter names include the accent name +á $accent +é $accent +í $accent +ó $accent +ú $accent +// è $accent +// ò $accent +// ù $accrnt + +// accent names +_acu skERpi +_grv gRave + + +// numbers +_0 z'eRo +_1 'unu +_2 d'os +_3 tR'es +_4 kwat'eR +_5 s'inku +_6 s'Ejs +_7 S'ete +_8 'otSo +_9 nw'ebe +_1X dj'es +_11 djes'un +_2X b'inti +_3X tR'inta +_4X kwaR'enta +_5X sinkw'enta +_6X ses'enta +_7X set'enta +_8X otS'enta +_9X nob'enta +_0C sj'en +_0M1 m'il +_1M1 m'il +_0M2 mi'on +_dpt _kOma/ + + +// common function words + +un $u+ // a +algun $u+ // some +to + +i $u+ $pause // and +y $u $pause // and ?? +y igR'Ek $atend + +o $u+ $pause // or +òf $u+ $pause // or +ma $pause // but +ku $u+ $brk // which, that +(ken su) $u $brk + + +mi $u+ // I,me +bo $u+ // you +e $u+ // the. it, he, she +el $u+ // it, he, she (before 'a') +nos $u+ // we +boso $u+ // you +nan $u+ // they + +ami $u+ // I +abo $u+ // you +su $u+ // his, her, its + + +ta $u+ // to be +tabata $u+ // was +lo $u+ // (future) +a $u+ // (past) +// tin $u+ // have +por $u+ // can + +di $u+ // of +den $u+ // in +na $u+ // at + diff --git a/dictsource/pap_rules b/dictsource/pap_rules new file mode 100644 index 00000000..40810859 --- /dev/null +++ b/dictsource/pap_rules @@ -0,0 +1,139 @@ +// This file is UTF8 encoded +// Spelling-to-phoneme rules for Papiamento (Curacao, Netherlands Antilles) + +.group a + a a + aa a: + ai aI + +.group b + b b + +.group c + c k + c (Y s + ch tS + +.group d + d d + dj dZ + +.group e + e e + ee e: + ei eI + eu ew + +.group è + è 'E + +.group f + f f + +.group g + g g + g (Y x + gu (Y g + +.group h + h h + +.group i + i i + i (A j + A) i (K j + ij eI + +.group j + j j + +.group k + k k + +.group l + l l + +.group m + m m + +.group n + n n + n (_ N + &) nan (_ n%an + +.group ñ + ñ n^ + +.group o + o o + oe u + oo o: + ou ow + +.group ò + ò 'O + +.group p + p p + +.group q + q k + qu (A kw + qui kwi + +.group r + r R + +.group s + s s + sh S + +.group t + t t + +.group u + u u + u (A w + ui uj + uu y + +.group ù + ù Y + ùi Yj + +.group ü + ü y + üi yj + +.group v + v v + +.group w + w w + +.group x + x ks + _) x (A z + +.group y + y j + K) y (K i + +.group z + z z + zj Z + +.group + ' ? + á ''a + é ''e + í ''i + ó ''o + ú ''u + ç s + + $ dOlO + + + + diff --git a/dictsource/pt_list b/dictsource/pt_list index 70fc1ef7..81a878d9 100755 --- a/dictsource/pt_list +++ b/dictsource/pt_list @@ -7,6 +7,11 @@ // ?3 Epenthetic [I] between consonants // ?4 Brazil mbrola voice +// $alt change [e] or [o] in the stressed syllable to [E] or [O] +// $alt2 change [E] or [O] in the stressed syllable to [e] or [o] +// Any [E] or [O] phonemes in unstressed words must be listed explicitly + + // Note for "pt-pt" [R] is the same sound as [r] // for "pt" [y] is the same sound as [i] @@ -44,7 +49,7 @@ _à $accent _à $accent _â $accent _ã $accent -_ç $accent +ç $accent _é $accent _ê $accent _í $accent @@ -205,42 +210,45 @@ vi vi // ABBREVIATIONS //************** -aapp $abbrev -abadv $abbrev -abc $abbrev -a.c 'as'e -adsl $abbrev -ae $abbrev -aids $abbrev -apedv $abbrev -avc $abbrev -bios b'i,OS -d.c d,es'e -cne $abbrev -cpu $abbrev -cpuc $abbrev -dpoc $abbrev -ecg $abbrev -edp $abbrev +aapp $abbrev +abadv $abbrev +abc $abbrev +a.c 'as'e +adsl $abbrev +ae $abbrev +aids $abbrev +apedv $abbrev +avc $abbrev +bios b'i,OS +d.c d,es'e +cne $abbrev +cpu $abbrev +cpuc $abbrev +dpoc $abbrev +ecg $abbrev +edp $abbrev ?1 etc ,ets'Et:*& ?2 etc ,ets'Ete*& -hiv $abbrev -(http ://) ag,atete'pe_ -icc $abbrev -ieee $abbrev // Institute of Electrical and Electronics Engineers -iss $abbrev -jpeg Z,Ot&p'Eg -mpeg ,Emp'Eg -nba $abbrev -nvda $abbrev -oms $abbrev -omt $abbrev -osi $abbrev +e.u.a Eua +eua $abbrev +fbi $abbrev +hiv $abbrev +(http ://) ag,atete'pe_ +icc $abbrev +ieee $abbrev // Institute of Electrical and Electronics Engineers +iss $abbrev +jpeg Z,Ot&p'Eg +mpeg ,Emp'Eg +nba $abbrev +nvda $abbrev +oms $abbrev +omt $abbrev +osi $abbrev ?1 sa ,Esj'a ?1 sos ,Esj,O'Es -ue $abbrev -unts $abbrev -usb $abbrev +ue $abbrev +unts $abbrev +usb $abbrev dr $dot @@ -596,48 +604,65 @@ governo gov'ernU $noun // MAIN WORD DICTIONARY //********************* -borboleta b,orbol'et& -catorze k&t'orzy -fosse f'osy -fossem f'oseIN -hoje 'oZi -líderes l'ide*ys -mexa m'eS& -mexi meS'i -mexo m'eSU -?2 mulher mulj'Er -?4 mulher mul^'Er -mui mu~j -muito m'u~jtu // -s is included as a suffix -muita m'u~jt& -praxedes pR&S'EdZys -?2 rede x'edZy -selvagem seUv'aZeIN -teta t'et& +// $alt changes stressed [e] or [o] phoneme to open [E] or [O] +// $alt2 changes stressed [E] or [O] phoneme to close [e] or [o] +boca $alt2 +borboleta $alt2 +catorze $alt2 +copo $alt +escova $alt2 +fosse $alt2 +fossem $alt2 +hoje $alt2 +líderes $alt2 +mexa m'eS& +mexi meS'i +mexo m'eSU +?2 mulher mulj'Er +?4 mulher mul^'Er +mui mwi +muito mw'iNtU // -s is included as a suffix +muita mw'iNt& +paexa paeSa +perdem $alt +preto $alt2 +onu $1 +rede $alt2 +rixa xiS& +selvagem seUv'aZeIN +suor swOr +tapete $alt2 +teta $alt2 -// $alt changes the first [o] phoneme to open [O] -novos $alt -mortos $alt -corpos $alt -modo $alt -modos $alt -fogos $alt -lopes $alt -jogos $alt +novos $alt +mortos $alt +corpos $alt +modo $alt +modos $alt +fogos $alt +lopes $alt +jogos $alt +doce $alt2 +drogas $alt +grosso $alt2 +torres $alt2 -// Close [O] -?1 calculadora k,Alkul&d'or& -?1 professora pr,ufys'or& -?1 senhora syn^'or& -?1 sobre s'obry +// Close [o] +?1 calculadora $alt2 +?1 professora $alt2 +?1 senhora $alt2 +?1 sobre $alt2 + +vanessa $alt2 +violeta $alt2 abacaxi abakaSy axé aSE elixir eliSir ?1 fixe f'iSy -roxo x'oSU -xiquexique S,ikeS'iky + + // foreign words ?1 alt 'alt ?2 agosto &g'ostU @@ -774,6 +799,7 @@ louis _^_FR ?2 Outlook ,aUtl'uk ?1 paint p'aint ?1 player pl'eI&r- +playstation _^_EN ?1 point p'oint ?1 power p'aU&r- ?1 product p:r'&d&kt @@ -831,7 +857,7 @@ stephen st'i:v@n steve st'i:v turing t'u*iNg voltaire vOlt'Er -von f'On +von f%On // foreign common names/surnames diff --git a/dictsource/pt_rules b/dictsource/pt_rules index a06f3da0..e583d89e 100755 --- a/dictsource/pt_rules +++ b/dictsource/pt_rules @@ -15,840 +15,880 @@ // K not a vowel .group a - _) a (_ a - _) a (_W 'a // in an acronym - a a - &) a (_ =& // in final unstressed syllable - &) a (s_ =& - &) a (_a =&/ // ?? elide final a before a - &) a (_à =&/ -?1 a (_ =& // in final unstressed syllable -?1 a (s_ =& -?1 a (_a =&/ // ?? elide final a before a -?1 a (_à =&/ + _) a (_ a + _) a (_W 'a // in an acronym + a a + &) a (_ =& // in final unstressed syllable + &) a (s_ =& + &) a (_a =&/ // ?? elide final a before a + &) a (_à =&/ +?1 a (_ =& // in final unstressed syllable +?1 a (s_ =& +?1 a (_a =&/ // ?? elide final a before a +?1 a (_à =&/ - a (C_ & - a (r_ 'a -?1 p) a (d_ =E - a (CC_ & -?1 a (l_ 'A // eg: Portugal, capital, etc. -?1 a (lK ,A // Algarve, Almerinda, etc... -?2 al (K aU - a (lh+ a + a (C_ & + a (r_ 'a +?1 p) a (d_ =E + a (CC_ & +?1 a (l_ 'A // eg: Portugal, capital, etc. +?1 a (lK ,A // Algarve, Almerinda, etc... +?2 al (K aU + a (lh+ a - a (m &~ - a (mAr_ & - a (mA@ & - a (n &~ - a (nA@ & - a (nAr_ & - am (_ =&~N - am (C &~m -?4 am (C &~N - an (K+ &~N - anh (A &~n^ - am (_ =&U~ -?1 a (z_ 'a //eg: paz, rapaz, capaz, etc... -?1 C) acç 'a's // eg: selecção, etc... + a (m &~ + a (mAr_ & + a (mA@ & + a (n &~ + a (nA@ & + a (nAr_ & + am (_ =&~N + am (C &~m +?4 am (C &~N + an (K+ &~N + anh (A &~n^ + am (_ =&U~ +?1 a (z_ 'a //eg: paz, rapaz, capaz, etc... +?1 C) acç 'a's // eg: selecção, etc... - ai aI - ai (s aI - a (iu_ a // caiu - a (iCK a - ay aI - ao aU - au aU - au (s aU - a (uCK a + ai aI + ai (s aI + a (iu_ a // caiu + a (iCK a + ay aI + ao (_ aU + au aU + au (s aU + a (uCK a .group â - â ''& - â (m ''&~ - â (n ''&~ - âm (K ''&~m - ân (K ''&~N - ânh ''&~n^ + â ''& + â (m ''&~ + â (n ''&~ + âm (K ''&~m + ân (K ''&~N + ânh ''&~n^ .group à - à a - _) à (s_ aI + à a + _) à (s_ aI - à (m &~ - à (n &~ - àm (K &~m - àn (K &~N - ành (A &~n^ + à (m &~ + à (n &~ + àm (K &~m + àn (K &~N + ành (A &~n^ .group á - á ''a - ái ''aI - ái (s ''aI - á (iCK ''a - áy ''aI - áu ''aU - áu (s ''aU -?1 ál ''Al - á (uCK ''a + á ''a + ái ''aI + ái (s ''aI + á (iCK ''a + áy ''aI + áu ''aU + áu (s ''aU +?1 ál ''Al + á (uCK ''a .group ã - ã &~ - ão &U~ + ã &~ + ão &U~ .group b - _) b (_ be - b b - b (b -?3 b (B bI -?3 b (s b -?3 b (_C b_ + _) b (_ be + b b + b (b +?3 b (B bI +?3 b (s b +?3 b (_C b_ .group c - _) c (_ se - c k - c (Y s // ce ci -?3 c (B kI -?3 c (s k -?3 c (t k -?3 c (_C k_ - ch S - ck k -?1 c (c //drop “c” in European Portuguese (eg: seleccionar) -?1 A) ct t //drop “c” in European Portuguese (eg: exacto) -?1 A) cç s //drop “c” in European Portuguese (eg: selecção) -?1 conta) ct (A kt // eg: contacto, contactar, contactável, incontactável, etc... + _) c (_ se + c k + c (Y s // ce ci +?3 c (B kI +?3 c (s k +?3 c (t k +?3 c (_C k_ + ch S + ck k +?1 c (c //drop “c” in European Portuguese (eg: seleccionar) +?1 A) ct t //drop “c” in European Portuguese (eg: exacto) +?1 A) cç s //drop “c” in European Portuguese (eg: selecção) +?1 conta) ct (A kt // eg: contacto, contactar, contactável, incontactável, etc... .group d - _) d (_ de - d d - d (d -?3 d (B dZI -?3 d (_C d_ -?2 d (i dZ -?2 d (í dZ -?2 d (e_ dZ + _) d (_ de + d d + d (d +?3 d (B dZI +?3 d (_C d_ +?2 d (i dZ +?2 d (í dZ +?2 d (e_ dZ .group e - _) e (_ E - e e - e (_ =y - e (s_ =y -?2 e (_AN =i/ // ?? elide to [j] if next word starts with a vowel -?2 &l) e (_AN =i // but not after l or r -?2 &r) e (_AN =i -?1 e (_iN =i/ // drop final [i] is next word starts with another i + _) e (_ E + e e + e (_ =y + e (s_ =y +?2 e (_AN =i/ // ?? elide to [j] if next word starts with a vowel +?2 &l) e (_AN =i // but not after l or r +?2 &r) e (_AN =i +?1 e (_iN =i/ // drop final [i] is next word starts with another i -?1 e (e i //eg: candeeiro -?2 ee i -?2 pr) ee (n ee +?1 e (e i //eg: candeeiro +?2 ee i +?2 pr) ee (n ee -?2 el (K EU - e (lh+ e - v) e (lhA_ E +?2 el (K EU + e (lh+ e + v) e (lhA_ E - e (be_ E - e (bem_ E + e (be_ E + e (bem_ E - e (ca_ E - e (ce_ E - e (cem_ E + e (ca_ E + e (ce_ E + e (cem_ E - e (chA_ E - e (chAm_ E - r) e (cho_ e + e (chA_ E + e (chAm_ E + r) e (cho_ e - e (clA_ E - e (clAm_ E - e (co_ E - e (ctA_ E - e (ctAm_ E + e (clA_ E + e (clAm_ E + e (co_ E + e (ctA_ E + e (ctAm_ E - e (de_ E - e (dem_ E + e (de_ E + e (dem_ E - e (fa_ E + e (fa_ E - e (gA_ E - e (gAm_ E + e (gA_ E + e (gAm_ E - e (grA_ E - e (grAm_ E + e (grA_ E + e (grAm_ E - h) e (gA_ e - h) e (gAm_ e + h) e (gA_ e + h) e (gAm_ e - e (gue_ E - e (guem_ E + e (gue_ E + e (guem_ E - e (lA_ E - e (lo_ e - e (lAm_ E + e (lA_ E + e (lo_ e + e (lAm_ E - i) e (r_ E - @s) e (r_ E - u) e (r_ E + i) e (r_ E + @s) e (r_ E + u) e (r_ E - ib) e (rA_ E - d) e (rA_ E - ed) e (rAm_ e - m) e (rA_ E - iv) e (rAm_ E - pod) e (rA_ e - d) e (rAm_ E - ib) e (rAm_ E - @s) e (rA_ E - @s) e (rAm_ E - sp) e (rA_ E - sp) e (rAm_ E + ib) e (rA_ E + d) e (rA_ E + ed) e (rAm_ e + m) e (rA_ E + iv) e (rAm_ E + pod) e (rA_ e + d) e (rAm_ E + ib) e (rAm_ E + @s) e (rA_ E + @s) e (rAm_ E + sp) e (rA_ E + sp) e (rAm_ E - e (rdA_ E - e (rdAm_ E - e (rgA_ E - e (rgAm_ E + e (rgA_ E + e (rgAm_ E - e (rsA_ E - e (rsAm_ E + e (rsA_ E + e (rsAm_ E - e (se_ E - e (sem_ E + e (se_ E + e (sem_ E - e (ssA_ E - e (ssAm_ E + e (ssA_ E + e (ssAm_ E - e (stA_ E - e (stAm_ E - e (strA_ E + e (stA_ E + e (stAm_ E + e (strA_ E - e (rnA_ E - e (rnAm_ E + e (rnA_ E + e (rnAm_ E - e (rtA_ E - e (rtAm_ E + e (rtA_ E + e (rtAm_ E - e (rrA_ E - e (rrAm_ E + e (rrA_ E + e (rrAm_ E - e (rvA_ E - e (rvAm_ E + e (rvA_ E + e (rvAm_ E - e (tA_ E - An) e (tA_ e - gaz) e (ta_ e - e (tAm_ E + e (tA_ E + An) e (tA_ e + gaz) e (ta_ e + e (tAm_ E - e (vA_ E - t) e (ve_ e - e (vi_ e - e (vê_ e - e (vAm_ E + e (vA_ E + t) e (ve_ e + e (vi_ e + e (vê_ e + e (vAm_ E - e (rrAs_ E + e (rrAs_ E - e (x_ E - e (xA_ E - e (xAm_ E -?2 _n) e (t E + e (x_ E + e (xA_ E + e (xAm_ E +?2 _n) e (t E - em (C eIm - en (K eIN - enh en^ + em (C eIm + en (K eIN + enh en^ - em (_ =eIN - em (s_ =eIN - en (_ =eIN - en (s_ =eIN + em (_ =eIN + em (s_ =eIN + en (_ =eIN + en (s_ =eIN - ei eI - ei (s eI - e (iCK e - ey eI - eu eU - eu (s eU - e (uCK e + ei eI + ei (s eI + e (iCK e + ey eI + eu eU + eu (s eU + e (uCK e -?1 d) e (CAA y -?1 d) e (CACAA y -?1 d) e (CACAC y -?1 d) e (CACC y -?1 d) e (CCAA y -?1 d) e (nCAA ,e -?1 d) e (CCACA y -?1 d) e (nCACA ,e -?1 d) e (CCACCA y -?1 d) e (nCACCA ,e +?1 d) e (CAA y +?1 d) e (CACAA y +?1 d) e (CACAC y +?1 d) e (CACC y +?1 d) e (CCAA y +?1 d) e (nCAA ,e +?1 d) e (CCACA y +?1 d) e (nCACA ,e +?1 d) e (CCACCA y +?1 d) e (nCACCA ,e - j) e (tA_ E - j) e (tAm_ E + j) e (tA_ E + j) e (tAm_ E + _r) eex (A eez -?1 _) es (C@@ S // drop initial "e". -?1 _) e (f i // efectuar, etc. -?1 _n) e (nhu i // eg: nenhum, nenhuma, nenhuns, nenhumas. -?1 e (la_ 'E // eg: cadela, janela, vela, etc... -?1 C) e (cC ,E // eg: seleccionar, efectuar, etc... -?1 C) ecç 'E's // eg: selecção, etc... -?1 C) e (ã i // leão, panteão, etc. -?1 C) e (a i // oceano, etc. -?1 C) e (o 'i // eg: geologia, etc... -?1 C) e (ú i // conteúdo, etc. -?1 Cã) e j // cães, mãe, etc... -?1 c) e (rea y // cereais -?1 d) e (fici y // deficiênte, deficiência, etc... -?1 _d) e (fini y //definições. -?1 _d) e (slig y // desligar. -?1 _d) e (sloc y // eg: deslocamento, etc... -?1 _f) e (ch y // fechar -?1 _p) e (rcentag y // percentagem -?1 p) e (ssoa y //pessoal, pessoais, etc. -?1 pr) e (cis y // precisar -?1 pr) e (f y // preferências, etc. -?1 _r) e (cicl y // recicla, reciclagem, etc... -?1 r) e (cor y // recorrer, recordar -?1 r) e (luz y // eg: reluzir -?1 r) e (lva ,E // eg: relvado -?1 r) e (smung y // resmungar -?1 r) e (ss y // eg: ressequidos -?1 r) e (volv y // revolver -?1 r) e (vel y // revelar -?1 _t) e (rmin y // terminar. -?1 _v) e (loci y // velocidade -?1 _f) e (rramenta y // ferramenta, ferramentas. -?1 _p) e (squ y // pesquisar -?1 hip) e (r ,E // eg: hiper -?1 sup) e (r ,E // super -?1 _m) e (ga ,E // mega -?1 _int) e (rn ,E // Interno -?1 n) e (t 'E // eg: net -?1 e (l_ 'E // eg: possível, manuel, etc... -?1 v) e (l_ ,E // eg: possível, amovível, disponível, etc... -?1 l) e (ta 'E // eg: bicicleta, atleta. +?1 _) es (C@@ S // drop initial "e". +?1 _) e (f i // efectuar, etc. +?1 _n) e (nhu i // eg: nenhum, nenhuma, nenhuns, nenhumas. +?1 e (la_ 'E // eg: cadela, janela, vela, etc... +?1 C) e (cC ,E // eg: seleccionar, efectuar, etc... +?1 C) ecç 'E's // eg: selecção, etc... +?1 C) e (ã i // leão, panteão, etc. +?1 C) e (a i // oceano, etc. +?1 C) e (o 'i // eg: geologia, etc... +?1 C) e (ú i // conteúdo, etc. +?1 Cã) e j // cães, mãe, etc... +?1 c) e (rea y // cereais +?1 d) e (fici y // deficiênte, deficiência, etc... +?1 _d) e (fini y //definições. +?1 _d) e (slig y // desligar. +?1 _d) e (sloc y // eg: deslocamento, etc... +?1 _f) e (ch y // fechar +?1 _p) e (rcentag y // percentagem +?1 p) e (ssoa y //pessoal, pessoais, etc. +?1 pr) e (cis y // precisar +?1 pr) e (f y // preferências, etc. +?1 _r) e (cicl y // recicla, reciclagem, etc... +?1 r) e (cor y // recorrer, recordar +?1 r) e (luz y // eg: reluzir +?1 r) e (lva ,E // eg: relvado +?1 r) e (smung y // resmungar +?1 r) e (ss y // eg: ressequidos +?1 r) e (volv y // revolver +?1 r) e (vel y // revelar +?1 _t) e (rmin y // terminar. +?1 _v) e (loci y // velocidade +?1 _f) e (rramenta y // ferramenta, ferramentas. +?1 _p) e (squ y // pesquisar +?1 hip) e (r ,E // eg: hiper +?1 sup) e (r ,E // super +?1 _m) e (ga ,E // mega +?1 _int) e (rn ,E // Interno +?1 n) e (t 'E // eg: net +?1 e (l_ 'E // eg: possível, manuel, etc... +?1 v) e (l_ ,E // eg: possível, amovível, disponível, etc... +?1 l) e (ta 'E // eg: bicicleta, atleta. .group é - é ''E - éi ''EI - éi (s ''EI - é (iCK ''E - éy ''eI - éu ''EU - éu (s ''EU - é (uCK ''E - ém (_ ''eIN - ém (s_ ''eIN - én (_ ''eIN - én (s_ ''eIN + é ''E + éi ''EI + éi (s ''EI + é (iCK ''E + éy ''eI + éu ''EU + éu (s ''EU + é (uCK ''E + ém (_ ''eIN + ém (s_ ''eIN + én (_ ''eIN + én (s_ ''eIN .group ê - ê ''e - êm (_ ''eIN - êm (C ''eIm - ên (K ''eIN - ênh ''en^ - êm (_ ''eIN + ê ''e + êm (_ ''eIN + êm (C ''eIm + ên (K ''eIN + ênh ''en^ + êm (_ ''eIN .group f -?1 _) f (_W Ef; // within an acronym -?1 _) f (_ Ef // individual letter or end-of-acronym - _) f (_ 'Efe - f f - f (f -?3 f (B fI -?3 f (_C f_ +?1 _) f (_W Ef; // within an acronym +?1 _) f (_ Ef // individual letter or end-of-acronym + _) f (_ 'Efe + f f + f (f +?3 f (B fI +?3 f (_C f_ .group g -?1 _) g (_ ge -?1 _) g (_W Ze // within an acronym - _) g (_ Ze - g g - g (g -?3 g (B gI -?3 g (_C g_ - g (Y Z // ge gi - gu (Y g -?1 guen (C gw'eIN // aguenta, etc. -?1 n) gu (A gw // eg: língua, etc. -?1 man) gu (ei g // mangueira -?1 gu (ém_ g // eg: alguém, ninguém, etc... +?1 _) g (_ ge +?1 _) g (_W Ze // within an acronym + _) g (_ Ze + g g + g (g +?3 g (B gI +?3 g (_C g_ + g (Y Z // ge gi + gu (Y g +?1 guen (C gw'eIN // aguenta, etc. +?1 n) gu (A gw // eg: língua, etc. +?1 man) gu (ei g // mangueira +?1 gu (ém_ g // eg: alguém, ninguém, etc... .group h - _) h (_ ag'a - h // silent + _) h (_ ag'a + h // silent .group i - _) i (_ i - i i - i (A j - Cr) i i - Cl) i i - i (_ 'i + _) i (_ i + i i + i (A j + i (o i + Cr) i i + Cl) i i + i (_ 'i -?2 il (K iU - i (lh+ i +?2 il (K iU + i (lh+ i - im (_ iN - im (C im -?4 im (C iN - in (C iN // ?4 ?? - in (g iN - in (k iN - inh in^ + im (_ iN + im (C im +?4 im (C iN + in (C iN // ?4 ?? + in (g iN + in (k iN + inh in^ - i (A_ 'i - i (am_ 'i - io (_ iU - io (s_ iU - i (oCK i - iu (_ iU - iu (s_ iU - i (uCK i + i (A_ 'i + i (am_ 'i + io (_ iU + io (s_ iU + i (oCK i + iu (_ iU + iu (s_ iU + i (uCK i - áC) i (A_ j - áCC) i (A_ j - âC) i (A_ j - âCC) i (A_ j - éC) i (A_ j - éCC) i (A_ j - êC) i (A_ j - êCC) i (A_ j - íC) i (A_ j - íCC) i (A_ j - óC) i (A_ j - óCC) i (A_ j - ôC) i (A_ j - ôCC) i (A_ j - úC) i (A_ j - úCC) i (A_ j + áC) i (A_ j + áCC) i (A_ j + âC) i (A_ j + âCC) i (A_ j + éC) i (A_ j + éCC) i (A_ j + êC) i (A_ j + êCC) i (A_ j + íC) i (A_ j + íCC) i (A_ j + óC) i (A_ j + óCC) i (A_ j + ôC) i (A_ j + ôCC) i (A_ j + úC) i (A_ j + úCC) i (A_ j -?1 _) i (ntern 'i //inter -?1 @) ing (_ _^_EN -?1 @) ings (_ _^_EN +?1 _) i (ntern 'i //inter +?1 @) ing (_ _^_EN +?1 @) ings (_ _^_EN .group í - í ''i - í (m ''i - í (n ''i - ím (_ ''iN - ím (C ''im - ín (K ''iN - ính ''in^ + í ''i + í (m ''i + í (n ''i + ím (_ ''iN + ím (C ''im + ín (K ''iN + ính ''in^ .group j - _) j (_ Z'Ot& - j Z -?3 j (B ZI -?3 j (_C Z_ + _) j (_ Z'Ot& + j Z +?3 j (B ZI +?3 j (_C Z_ .group k -?1 _) k (_ k'ap& -?2 _) k (_ ka - k k - k (k -?3 k (B kI -?3 k (s k -?3 k (t k -?3 k (_C k_ +?1 _) k (_ k'ap& +?2 _) k (_ ka + k k + k (k +?3 k (B kI +?3 k (s k +?3 k (t k +?3 k (_C k_ .group l -?1 _) l (_W El; // within an acronym -?1 _) l (_ El - _) l (_ 'Ele - l l - l) l - lh l^ - A) lh lj -?1 A) lh l^ -?4 A) lh l^ +?1 _) l (_W El; // within an acronym +?1 _) l (_ El + _) l (_ 'Ele + l l + l) l + lh l^ + A) lh lj +?1 A) lh l^ +?4 A) lh l^ .group m -?1 _) m (_W Em; -?1 _) m (_ Em - _) m (_ 'eme - m m - m (m -?3 m (B mI -?3 m (_C m_ +?1 _) m (_W Em; +?1 _) m (_ Em + _) m (_ 'eme + m m + m (m +?3 m (B mI +?3 m (_C m_ .group n -?1 _) n (_W En; -?1 _) n (_ En - _) n (_ 'ene - n n - n (n -?3 n (B nI -?3 n (_C n_ - nh n^ -?1 A) nn n //drop “n” (eg: connosco). +?1 _) n (_W En; +?1 _) n (_ En + _) n (_ 'ene + n n + n (n +?3 n (B nI +?3 n (_C n_ + nh n^ +?1 A) nn n //drop “n” (eg: connosco). .group o - o o - @) o (_ =U - o (s_ =U - ou ow - oi oI - oi (s oI - o (iCK o - oo u - oon u~N - c) oo oo -?1 C) oo (_ ow // eg: voo, enjoo, etc... - oy OI + o o + @) o (_ =U + o (s_ =U + ou ow + oi oI + oi (s oI + o (iCK o + oo u + oon u~N + c) oo oo +?1 C) oo (_ ow // eg: voo, enjoo, etc... + oy OI - o (cA_ O - o (cAm_ O + o (cA_ O + o (cAm_ O - o (que_ O - o (quem_ O + o (que_ O + o (quem_ O - p) o (dA_ O - p) o (dAm_ O + p) o (dA_ O + p) o (dAm_ O - o (g_ O - o (gs_ O + o (g_ O + o (gs_ O - o (ge_ O - o (gem_ O + o (ge_ O + o (gem_ O - o (jA_ O - o (jAm_ O + o (jA_ O + o (jAm_ O - o (ldA_ O - o (ldAm_ O + o (ldA_ O + o (ldAm_ O - o (lA_ O - o (lAm_ O + o (lA_ O + o (lAm_ O - o (ltA_ O - o (ltAm_ O + o (ltA_ O + o (ltAm_ O - o (sA_ O - o (so_ o - o (sAm_ O + o (sA_ O + o (so_ o + o (sAm_ O - o (ssA_ O - o (ssAm_ O + o (ssA_ O + o (ssAm_ O - o (va_ O - o (vAm_ O - o (ve_ O - m) o (va_ o - m) o (vam_ o - o (veCs_ O + o (va_ O + o (vAm_ O + o (ve_ O + m) o (va_ o + m) o (vam_ o + o (veCs_ O -?1 o (l_ 'O -?2 ol (_ Ow - o (lh+ o -?2 _) o (lhA_ O -?2 _) o (lhAm_ O - om (_ oN - o (ma_ o +?1 o (l_ 'O +?2 ol (_ Ow + o (lh+ o +?2 _) o (lhA_ O +?2 _) o (lhAm_ O + om (_ oN + o (ma_ o - om (C om -?4 om (C oN - on (K oN - o (na_ o - onh on^ + om (C om +?4 om (C oN + on (K oN + @s) on (_ %oN // words ending in -son + o (na_ o + onh on^ - o (brA_ O - o (brAm_ O - o (dA_ O - o (dAm_ O - t) o (dA_ o + o (brA_ O + o (brAm_ O + o (dA_ O + o (dAm_ O + t) o (dA_ o - o (rCA_ O - o (rCo_ o - o (rCAm_ O + o (rCA_ O + o (rCo_ o + o (rCAm_ O - o (stA_ O - o (sto_ o - o (stAm_ O - o (strA_ O - os (trAm_ O + o (stA_ O + o (sto_ o + o (stAm_ O + o (strA_ O + os (trAm_ O - o (tA_ O - o (tAm_ O + o (tA_ O + o (tAm_ O -?2 o (x_ O -?1 oz (_ Os# -?2 oz (_ Oz - o (zes_ O - o (rA_ O - b) o (re_ o - c) o (re_ o - d) o (re_ o - l) o (re_ o - t) o (re_ o - v) o (re_ o - o (rAm_ O - b) o (rA_ O - @@) o (rA_ o +?2 o (x_ O +?1 oz (_ Os# +?2 oz (_ Oz + o (zes_ O + o (rA_ O + b) o (re_ o + c) o (re_ o + d) o (re_ o + l) o (re_ o + t) o (re_ o + v) o (re_ o + o (rAm_ O + b) o (rA_ O + @@) o (rA_ o - o (p_ O -?1 _) o (C O // eg: olá, orla, opção, etc... -?1 _C) o (CACAC u // Documento, documentação, localizar, etc. -?1 f) o (rmat u // formatar, formato. -?1 _p) o (rtuC u // Portugal, Portucalense, etc... -?1 pr) o (f u -?1 _s) o (lu u // solução, soluções. -?1 interr) o (g u // eg: interrogação -?1 f) o (rmulá u // eg: formulário, formulários. -?1 v) o (lt O + o (p_ O +?1 _) o (C O // eg: olá, orla, opção, etc... +?1 _C) o (CACAC u // Documento, documentação, localizar, etc. +?1 f) o (rmat u // formatar, formato. +?1 _p) o (rtuC u // Portugal, Portucalense, etc... +?1 pr) o (f u +?1 _s) o (lu u // solução, soluções. +?1 interr) o (g u // eg: interrogação +?1 f) o (rmulá u // eg: formulário, formulários. +?1 v) o (lt O .group ô - ô ''o - ôm (_ ''oN - ôm (C ''om - ôn (K ''oN - ônh ''on^ + ô ''o + ôm (_ ''oN + ôm (C ''om + ôn (K ''oN + ônh ''on^ .group ó - ó ''O + ó ''O - ói ''OI - ói (s ''OI - ó (iCK ''O - óu ''Ow - óy ''OI + ói ''OI + ói (s ''OI + ó (iCK ''O + óu ''Ow + óy ''OI .group õ - õ o~ - õe o~j + õ o~ + õe o~j .group p - _) p (_ pe - p p - p (p -?3 p (B pI -?3 p (s p -?3 p (t p -?3 p (_C p_ -?1 ph f //Didn’t use in European Portuguese (eg: English) -?1 ple (_ _^_EN + _) p (_ pe + p p + p (p +?3 p (B pI +?3 p (s p +?3 p (t p +?3 p (_C p_ +?1 ph f //Didn’t use in European Portuguese (eg: English) +?1 ple (_ _^_EN .group q - _) q (_ ke - q k -?3 q (B kI - qu kw - qü kw - qu (Y k - qu (K ku -?1 _) qua kwa // quatro, etc. -?1 _) que ke // quente, etc. -?1 _) quei (C k'eI // queira, queima, etc -?1 C) quen (C kw'eIN // cinquenta, etc. -?1 A) quen (C kw'eIN // frequência, etc. -?1 quec kes // esquece, etc. -?1 queç kes // esqueça. -?1 A) que (nA_ ke // pequeno, etc. -?1 C) quê (_ ke // porquê, etc. -?1 que (l ke // aquele, etc. -?1 que (r_ kE // qualquer, etc. -?1 qui ki // quinta, esquilo, etc. -?1 _) quind kuind // quindecágono, etc. -?1 tran) qui kui // tranquilo, etc. -?1 _) quo kuo // quoficiente, etc. + _) q (_ ke + q k +?3 q (B kI + qu kw + qü kw + qu (Y k + qu (K ku +?1 _) qua kwa // quatro, etc. +?1 _) que ke // quente, etc. +?1 _) quei (C k'eI // queira, queima, etc +?1 C) quen (C kw'eIN // cinquenta, etc. +?1 A) quen (C kw'eIN // frequência, etc. +?1 quec kes // esquece, etc. +?1 queç kes // esqueça. +?1 A) que (nA_ ke // pequeno, etc. +?1 C) quê (_ ke // porquê, etc. +?1 que (l ke // aquele, etc. +?1 que (r_ kE // qualquer, etc. +?1 qui ki // quinta, esquilo, etc. +?1 _) quind kuind // quindecágono, etc. +?1 tran) qui kui // tranquilo, etc. +?1 _) quo kuo // quoficiente, etc. + - .group r -?1 _) r (_W 'Err; // within an acronym -?1 _) r (_ 'Err - _) r (_ 'Exe - _) r (_\$ xe'aU // currency - r r - A) r (A * - A) r (_A * - rr x - C) r (A R // for "pt-pt" [R] is the same as [r] - _) r x - l) r x - n) r (+ x - s) r x -?1 A) r (_ r- // [r-] is English linking-r +?1 _) r (_W 'Err; // within an acronym +?1 _) r (_ 'Err + _) r (_ 'Exe + _) r (_\$ xe'aU // currency + r * + r (_ r + r (C *@- + A) r (A * + A) r (_A * + rr x + XC) r (A R + C) r (A r +//?1 C) r (A r + _) r x + l) r x + n) r (+ x + s) r x +?1 A) r (_ r- // [r-] is English linking-r .group s -?1 _) s (_W Es|; within an acronym [s]+[;] not [s;] phoneme -?1 _) s (_ Es -?2 _) s (_ 'Ese - s s - ss s - sc (Y s - sç s - sh S -?4 _) s (C Is - 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 +?1 _) s (_W Es|; within an acronym [s]+[;] not [s;] phoneme +?1 _) s (_ Es +?2 _) s (_ 'Ese + s s + ss s + sc (Y s + sç s + sh S +?4 _) s (C Is + 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 + 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 -?1 A) s (C s# -?1 A) ss s -?1 A) s (G+ Z -?1 A) s (_KS1 s# -?1 A) s (_G+S1 Z +?1 A) s (C s# +?1 A) ss s +?1 A) s (G+ Z +?1 A) s (_KS1 s# +?1 A) s (_G+S1 Z + + _) sobre (@P5 sob*e .group t - _) t (_ te - t t - t (t -?3 t (B tSI -?3 t (_C t_ -?2 t (i tS -?2 t (í tS -?2 t (e_ tS -?1 th _^_EN -?1 tion (_ _^_EN + _) t (_ te + t t + t (t +?3 t (B tSI +?3 t (_C t_ +?2 t (i tS +?2 t (í tS +?2 t (e_ tS +?1 th _^_EN +?1 tion (_ _^_EN .group u - _) u (_ u - u u - u (A w - u (_A w - r) u (A u - r) u (_A u - u (A_ 'u + _) u (_ u + u u + u (A w + u (_A w + r) u (A u + r) u (_A u + u (A_ 'u - ui 'uI - ui (_ uI - ui (s 'uI - u (iCK u - uy uI + ui 'uI + ui (_ uI + ui (s 'uI + u (iu w + u (iCK u + uy uI - um (_ u~N - um (C u~m -?4 um (C u~N - un (K u~N - unh u~n^ + um (_ u~N + um (C u~m +?4 um (C u~N + un (K u~N + unh u~n^ - g) u (Y + g) u (Y .group ú - ú ''u - úm (_ ''u~N - úm (C ''u~m -?4 úm (C ''u~N - ún (K ''u~N - únh ''u~n^ + ú ''u + úm (_ ''u~N + úm (C ''u~m +?4 úm (C ''u~N + ún (K ''u~N + únh ''u~n^ .group v - v v - v (v -?3 v (B vI -?3 v (_C v_ + v v + v (v +?3 v (B vI +?3 v (_C v_ .group w -?1 _) w (_ d'&bl,iu -?2 _) w (_ d'ablju - w w -?1 w (_ _^_EN -?4 _) w u +?1 _) w (_ d'&bl,iu +?2 _) w (_ d'ablju + w w +?1 w (_ _^_EN +?4 _) w u .group x - x (A S - A) x (A ks - _e) x (A z - e) x (A ks -?1 e) x (CA S - ai) x (A S - ei) x (A S - au) x s - ou) x s - x (C s - x (s - x (_ ks - ale) x (a S - _fa) x (i S - _li) x (A S - _lu) x (A S - má) x (im s // máximo, máximas, etc. - me) x (A S - pro) x (i s // aproximado, aproximadamente, aproximar, etc. - pró) x (i s // próximo, etc. - pu) x (A S // verb "puxar" and all its conjugations - rela) x (A S - _xi) x (A S -?1 i) x (a_ S -?1 i) x (as_ S + x (A S + A) x (A ks + _e) x (A z + _ê) x (A z + _ine) x (A z + e) x (A ks +?1 e) x (CA S + ai) x (A S + ei) x (A S + _au) x s + ou) x (+ S + u) x (i S + x (iqu S + x (C s + xc (Y s + x (s + x (_ ks + x (AxA S + x (ó_ z + a) x (a S + a) x (á S + a) x (ar S + a) x (ei S + xA) x (A S + ale) x (a S + bau) x (A S + brA) x (A S + bY) x (A S + _ca) x (A S + _co) x (A S + _coe) x (A z + _fa) x (i S + _fle) x (a S + gra) x (A S + _he) x (A z + _li) x (A S + _lu) x (A S + _mar) x ks + má) x (im s // máximo, máximas, etc. + me) x (A S + _mé) x (i S + mo) x (a S + _o) x (A S + _o) x (i ks + pi) x (A S + _pro) x (A S + _pra) x (A S + prA) x (i s // aproximado, aproximadamente, aproximar, próximo, etc. + pu) x (A S // verb "puxar" and all its conjugations + qui) x (A S + ri) x (A S + rela) x (A S + _ro) x (A S + _ve) x (A S + _xi) x (A S +?1 i) x (a_ S +?1 i) x (as_ S .group y -?1 _) y (_ 'ips,ilON -?2 _) y (_ 'ipsiloN - y i - y (A j +?1 _) y (_ 'ips,ilON +?2 _) y (_ 'ipsiloN + y i + y (A j + y (_ %i // ?? stress on 1st syllable EN .group z - _) z (_ ze - z z - z (z -?3 z (B zI -?3 z (_C z_ -?1 @) z (_ S -?2 @) z (_ s - @) z (_A z - @) z (_G z + _) z (_ ze + z z + z (z +?3 z (B zI +?3 z (_C z_ +?1 @) z (_ S +?2 @) z (_ s + @) z (_A z + @) z (_G z -?1 A) z (C S -?1 A) z (G+ Z -?1 A) z (_C S -?1 A) z (_G+ Z +?1 A) z (C S +?1 A) z (G+ Z +?1 A) z (_C S +?1 A) z (_G+ Z .group - ç s - _) ç (_ s'esed'il^& + ç s - ü u - ß s + ü u + ß s - $ sifR'&U~ - _r_) $ + $ sifR'&U~ + _r_) $ - D_) º %o // ordinal - D_) ª %a // ordinal + D_) º %o // ordinal + D_) ª %a // ordinal - , (D v'irgul& + , (D v'irgul& - __) - (_D m'enUs - A_) - (_D _ - C_) - (_D _ + __) - (_D m'enUs + A_) - (_D _ + C_) - (_D _ diff --git a/dictsource/ta_list b/dictsource/ta_list index abbd4d56..dfbc712c 100644 --- a/dictsource/ta_list +++ b/dictsource/ta_list @@ -28,7 +28,7 @@ ஸ் is ஹ் iC U+b82 anUsvVRV -ஃ ah +ஃ agH U+bcd ot.RU ஏ je: @@ -165,17 +165,13 @@ _1M3x orUko:d.i _0M3 ko:d.ie: _1M3 orUko:d.ie: -_0M4x a:jirVmko:d.i // 10,000,000,000 -_1M4x a:jirVmko:d.i -_0M4 a:jirVmko:d.ie: -_1M4 a:jirVmko:d.ie: - -_0M5 a:jirVma:jirVmko:d.i // 10,000,000,000,000 -_1M5 a:jirVma:jirVmko:d.i - _dpt _pul.l.i +// English words +tamil தமிழ் $text + + // exceptions பாபு $alt // initial ப as [b] பவானி $alt @@ -204,6 +200,13 @@ _dpt _pul.l.i பீடி $alt பீதி $alt பேகம் $alt +பார்லி $alt +பிக்கினி $alt +பேதம் $alt +போனஸ் $alt +போகி $alt +பாபா ba:ba: +புத்த buddV // initial த as [d] @@ -222,6 +225,10 @@ _dpt _pul.l.i தடியன் $alt தரிசனம் $alt தட்சணை $alt +தைவதம் $alt +தாட்சண்யம் $alt +தனம் $alt +திக்கற்ற $alt கக $alt // initial க as [g] @@ -242,4 +249,3 @@ _dpt _pul.l.i பப pVpV -டாக்டர் d.a:ktVr diff --git a/dictsource/ta_rules b/dictsource/ta_rules index 89ed1ecd..cc7b1ad9 100644 --- a/dictsource/ta_rules +++ b/dictsource/ta_rules @@ -3,6 +3,7 @@ // Spelling to phoneme rules for Tamil // B means a combining vowel sign, or a virama +// K means a consonant or end-of-word .replace @@ -16,56 +17,28 @@ ௭ 7 ௮ 8 ௯ 9 + ொ ொ ோ ோ ௌ ௌ -.group 0xe0ae // characters which start with UTF-8 bytes: [e0 ae] - - ஂ // anusvara - - ஃ // visarga - - அ a - - ஆ a: - - இ i - - ஈ i: - - உ u - - ஊ u: - - எ e - _) எ ;e // add a short [j] sound at start of word ? - - ஏ e: - _) ஏ ;e: // add a short [j] sound at start of word ? - - ஐ aI - - ஒ o - - ஓ o: - - ஔ aU - // consonants +.group க + க்ஷ ks.V + க்ஷ (B ks. + க gV // inter-vocalic, unless there is virama before or after க (B g - க (் g - ்) க gV - ்) க (B g _) க kV _) க (B k _) க (T gV // if word has $alt attribute in ta_list _) க (BT g // $alt க்க kkV க்க (B kk + ற்) க _kV + ற்) க (B _k க (ீத g க (ஜ gV @@ -92,50 +65,74 @@ _) க (ுண g _) க (தியில் gV _) க (டிகார gV + வி) க்ட (ோரியா kt. // victoria + க (ோப g + க (ாரன k + க (ாரர k + _) க (ோபம k + _) கோப (ித்து ko:b + _) க (ோபப் k + _) க (ெட்டி g +.group ங ங NV ங (B N +.group ச ச sV // ?? [z] ச (B s - _) ச sa + _) ச sV _) ச (B s ச்ச tS:V ச்ச (B tS: - ற்ச tS: - ற்ச (B tS: ட்) ச tSV ட்) ச (B tS + ற்) ச tSV + ற்) ச (B tS ஞ்) ச dZV ஞ்) ச (B dZ + ச் (_ tS + ச்_) ச tSV // previous word ends in ச் + ச்_) ச (B tS + _) ச (ிட் tS _) ச (ின் tS + _) ச (ப்பாத்தி tSV +.group ஜ ஜ dZV ஜ (B dZ +.group ஞ ஞ n^V ஞ (B n^ +.group ட ட d.V ட (B d. -// _) ட t.V -// _) ட (B t. + _) ட (ீ t. ட்ட t.t.V ட்ட (B t.t. ஷ்) ட t.V ஷ்) ட (B t. + _) டாக்ட (ர d.a:kt.V + _) ட (ோக்கியோ t. + ிங்) ட (ன் t.V // -ington + _) ட (ாக்க t. // talkies + +.group ண ண n.V ண (B n. +.group த த dV த (B d _) த tV @@ -149,27 +146,27 @@ ஸ்) த tV ஸ்) த (B t - - // exceptions, த as [d] - _) த (ன dV - _) த (ர்ம dV - _) த (ுர் d - _) த (ூர d + _) த (ர்ம dV + _) த (ுர் d + _) த (ூர d _) த (ெய்வ d - _) த (ுஷ் d + _) த (ுஷ் d _) த (க்ஷிணா dV - _) த (ண்ட dV - _) த (ருமி dV - _) த (ர்பை dV + _) த (ண்ட dV + _) த (ருமி dV + _) த (ர்பை dV _) த (ாவா d _) த (ாதா d _) த (ரித்திரம dV - _) த (ர்பார dV - _) த (ீர்க d + _) த (ர்பார dV + _) த (ீர்க d + _) த (ீரன d + _) த (ீரர் d + _) த (ீரச் d _) த (ினுச d _) த (ாராவி d - _) த (ர்க dV + _) த (ர்க dV _) த (ான d _) த (ேக d _) த (ேக்கு t @@ -177,12 +174,11 @@ _) த (ேக்கடி t _) த (ிரவிய d _) த (ூப d - _) த (ீப d - _) த (ீர d + _) த (ீப d _) த (ைரிய d - _) த (ிட d + _) த (ிட d _) த (ிரவ d - _) த (ிடீ d + _) த (ிடீ d _) த (ிவச d _) த (ியான d _) த (ானிய d @@ -190,7 +186,7 @@ _) த (ிகில d _) த (ூம d _) த (ாவணி d - _) த (ாம்_தூம d + _) த (ாம்_தூம d _) த (ாடி d _) த (ாச d _) த (சரா dV @@ -198,17 +194,52 @@ _) த (ரணி dV _) த (ாரணி d _) த (ோசை d + _) த (வம dV + _) த (ட்சன dV + _) த (ாட்சாய d + _) த (ாக்கா d + _) த (ில்லி d + _) த (டித்த dV + _) த (டியன dV + _) த (டியர dV + _) த (ிக்கு d + _) த (ிக்கு_வாய t + _) த (ிக்கில d + _) த (னபால dV + _) த (னசேகரன dV + _) த (னலட்சுமி dV + _) த (னகோடி dV + _) த (னன்ஜெயன dV + _) த (ிசை d + _) த (சை dV + _) த (னராஜ dV + _) த (ன்மந்திரி dV + _) த (ினம d + _) த (ினக d + _) த (னலக்ஷ்மி dV + _) த (க்க்ஷிண dV + _) த (ட்சிண dV + _) த (ன்ராஜ dV + _) த (ாராபுர d + _) த (டி_மாட dV + + பு) த்த (ி dd + பு) த்த (ியி dd + பு) த்த (ர ddV + பு) த்த (ன ddV - +.group ந ந nV ந (B n // dental n +.group ன ன nV ன (B n // alveolar n +.group ப ப bV ப (B b _) ப pV @@ -221,20 +252,24 @@ ட்) ப (B p ற்) ப pV ற்) ப (B p - று) ப pV - று) ப(B p + று) ப _pV + று) ப(B _p ன்) ப pV ன்) ப (B p - ம்) ப p - ம்) ப (ா p - ம்) ப (B b - த்) ப p - த்) ப (ா p - த்) ப (B b + ம) ப pV + ம) ப (ா p + ம) ப (B b + த) ப pV + த) ப (ா p + த) ப (B b + + பத (ி pVt + ப (ுர p + ப (ால p + ப (ாள p + ம்) ப (ா b - ஃ) ப fV - ஃ) ப (B f _) ப (ால b _) ப (ால் p @@ -273,59 +308,163 @@ _) ப (லி bV _) ப (கவான bV _) ப (ௌதிக b + _) ப (ரோட bV + _) ப (ெர்லிங b + _) ப (ீஜிங b + _) ப (ுவன b + _) ப (ரதநாட்டிய bV + _) ப (ேதலித்த b + _) ப (ோன்ஸ்லே b + _) ப (ௌத்த b + _) ப (கீர bV + _) ப (கிரங்க bV + _) ப (ோபால b + _) ப (ெங்களூர b + _) ப (ூபாள b + _) ப (ுத்த b + _) ப (னியன bV + கோ) ப (ி p + // musical notes + சா) ப (ா p + ரி) ப (K pV + ரீ) ப (K pV + ரி) ப (ா p + ரீ) ப (ா p + ம) ப (K pV + மா) ப (K pV + ம) ப (ா p + மா) ப( ா p + பப (K pVpV + பாப (K pa:pV + பப (ா pVp + பாப (ா pa:p +// த) ப (K pV + தா) ப (K pV +// த) ப (ா p + தா) ப (ா p + + னி) ப (K pV + னீ) ப (K pV + னி) ப (ா p + னீ) ப( ா p + க) ப (K pV + க) ப (ா p + கா) ப (K pV + கா) ப (ா p + + // (exceptions) + தா) ப (ம் bV + _த) ப (ால b + _க) ப (ால b + _கா) ப (ந்து bV + + + +.group ம ம mV ம (B m +.group ய ய jV ய (B j +.group ர ர rV ர (B r +.group ற ற RV ற (B R ற் (ற t. // RR -> t.R + ற்ச tS: + ற்ச (B tS: +.group ல ல lV ல (B l +.group ள ள l.V ள (B l. +.group ழ ழ z.V ழ (B z. - +.group வ வ vV வ (B v +.group ஶ ஶ SV ஶ (B S +.group ஷ ஷ s.V ஷ (B s. +.group ஸ ஸ sV ஸ (B s +.group ஹ ஹ HV ஹ (B H - க்ஷ ks.V - க்ஷ (B ks. +.group ஃ + ஃ h + ஃப fV + ஃப (B f + ஃத QdV + ஃத (B Qd + ஃக gQV + ஃக (B gQ + +// vowel letters + +.group 0xe0ae // characters which start with UTF-8 bytes: [e0 ae] + + ஂ // anusvara + + அ a + + ஆ a: + + இ i + _) இ (ரா // silent before 'raa' + + ஈ i: + + உ u + + ஊ u: + + எ e + _) எ ;e // add a short [j] sound at start of word ? + + ஏ e: + _) ஏ ;e: // add a short [j] sound at start of word ? + + ஐ aI + + ஒ o + + ஓ o: + + ஔ aU // combining vowels diff --git a/docs/commands.html b/docs/commands.html index 3e2f27fd..5ae1d008 100644 --- a/docs/commands.html +++ b/docs/commands.html @@ -58,7 +58,9 @@ or
Or just type
  espeak
followed by text on subsequent lines. Each line is spoken when -RETURN is pressed.
Use espeak -x to see the corresponding phoneme codes. +RETURN is pressed. +

+Use espeak -x to see the corresponding phoneme codes.

 


2.2.2 The Command Line Options

@@ -88,11 +90,15 @@ If neither -f nor --stdin is given, then the text input is taken from "text word
-s <integer>
Sets the speed in words-per-minute (approximate values for the default English voice, others may differ slightly). The default value is 170. I generally use a faster speed -of 190. Range 80 to 390. +of 190. Range 80 to 390. Larger value are rounded down to the maximum.

--b
-
Indicates that the input text is not UTF-8, but the 8-bit character set which corresponds to the language (eg. Latin-2 for Polish). Without this option, eSpeak assumes text is UTF8, but will automatically switch to the 8-bit character set if it finds an illegal UTF8 sequence. That may give wrong results if some 8-bit character sequences look like valid UFT8 multibyte characters. +-b <integer>
+
Input text character format.

+1   UTF-8. This is the default.

+2   The 8-bit character set which corresponds to the language (eg. Latin-2 for Polish).

+4   16 bit Unicode.

+Without this option, eSpeak assumes text is UTF-8, but will automatically switch to the 8-bit character set if it finds an illegal UTF-8 sequence.

-g <integer>
@@ -130,7 +136,7 @@ Quiet. No sound is generated. This may be useful with the -x option.
   espeak -vaf
To use the Afrikaans voice. A modifier after the voice name can be used to vary the tone of the voice, eg:
   espeak -vaf+3
-The variants are +m1 +m2 +m3 +m4 +m5 +m6 for male voices and +f1 +f2 +f3 +f4 which simulate female voices by using higher pitches. Other variants are +croak and +whisper. +The variants are +m1 +m2 +m3 +m4 +m5 +m6 +m7 for male voices and +f1 +f2 +f3 +f4 which simulate female voices by using higher pitches. Other variants include +croak and +whisper.

<voice filename> is a file within the espeak-data/voices directory.
<variant> is a file within the espeak-data/voices/!v directory.

@@ -188,7 +194,7 @@ Used with -w, it starts a new WAV file every <minutes& --voices [=<language code>]

Lists the available voices.
If =<language code> is present then only those voices which are suitable for that language are listed.
---voices=mbrola lists the voices which use mbrola diphone voices. These are not included in the --voices list
+--voices=mbrola lists the voices which use mbrola diphone voices. These are not included in the default --voices list
--voices=variant lists the voice variants (voice modifiers).
@@ -205,7 +211,8 @@ As well as plain text, phoneme mnemonics can be used in the text input to espeak -v en "[[D,Is Iz sVm f@n'EtIk t'Ekst 'InpUt]]"

This command will speak: "This is some phonetic text input". + +


+SourceForge.net Logo + - - - diff --git a/docs/dictionary.html b/docs/dictionary.html index a7fc0957..fc9b6c00 100644 --- a/docs/dictionary.html +++ b/docs/dictionary.html @@ -88,13 +88,13 @@ The rules are organized in groups, each starting with a ".group" line: A group for each letter or character.

.group <2 characters>
- Optional groups for some common 2 letter combinations. This is only needed, for efficiency, in cases where there are many rules for a particular letter. They would not be needed for a language which has regular spelling rules. + Optional groups for some common 2 letter combinations. This is only needed, for efficiency, in cases where there are many rules for a particular letter. They would not be needed for a language which has regular spelling rules. The first character can only be an ascii character (less than 0x80).

.group
A group for other characters which don't have their own group.

.L<nn>
- Defines a group of letter sequences, any of which can match with Lnn in a post rule (see below). nn is a 2 digit decimal number in the range 01 to 25. eg:

+ Defines a group of letter sequences, any of which can match with Lnn in a pre or post rule (see below). nn is a 2 digit decimal number in the range 01 to 25. eg:

.L01 b bl br pl pr

.replace
@@ -159,7 +159,11 @@ indicates that a word which ends in "th" is translated using the English transla B H F G Y  These may indicate other sets of characters (defined for a particular language). - + + L<nn> + Any of the sequence of characters defined as a letter group (see 4.3.1 above). + + D Any digit. @@ -480,6 +484,10 @@ A word (or group of words) may be given one or more flags, either instead of, or $dot Ignore a . after this word even when followed by a capital letter (eg. Mr. Dr. ). + + $hasdot + Use this pronunciation if the word is followed by a dot. (This attribute also implies $dot). + $abbrev This has two meanings.
1. If there is no phoneme string: Speak the word as individual letters, even if it contains a vowel (eg. "abc" should be spoken as "a" "b" "c").
2. If there is a phoneme string: This word is capitalized because it is an abbreviation and capitalization does indicate emphasis (if the "emphasize all-caps" is on). @@ -587,13 +595,12 @@ _0 to _9   The numbers 0 to 9 -_13etc. Any pronunciations which are needed for specific numbers in the range _11 to _99   +_13etc. Any pronunciations which are needed for specific numbers in the range _10 to _99   _2X  _3XTwenty, thirty, etc., used to make numbers 10 to 99   -_nnAny two digit numbers with a special pronunciation (eg. _15 "fifteen"). _0CThe word for "hundred" _1C  _2CSpecial pronunciation for one hundred, two hundred, etc., if needed. @@ -601,7 +608,7 @@ _0 to _9   _0M1The word for "thousand" _0M2The word for "million" _0M3The word for 1000000000 -_1M1  _2M1Special pronunciation for one thousand, two thousand, tc, if needed +_1M1  _2M1Special pronunciation for one thousand, two thousand, etc, if needed _0andWord for "and" when speaking numbers (eg. "two hundred and twenty"). _dptWord spoken for the decimnal point/comma _dpt2Word spoken (if any) at the end of all the digits after a decimal point. diff --git a/docs/index.html b/docs/index.html index 9696493d..2c8ed115 100644 --- a/docs/index.html +++ b/docs/index.html @@ -17,8 +17,12 @@
(email)   jonsd at users dot sourceforge.net
Download -         Forum -         eSpeak Sourceforge page +         +eSpeak Sourceforge page +         +Forum +         +Mailing list
@@ -40,32 +44,36 @@ eSpeak is a compact open source software speech synthesizer for English and other languages, for Linux and Windows.   http://espeak.sourceforge.net

-eSpeak produces good quality English speech. It uses a different synthesis method from other open source TTS engines, and sounds quite different. It's perhaps not as natural or "smooth", but I find the articulation clearer and easier to listen to for long periods. +eSpeak uses a "formant synthesis" method. This allows many languages to be provided in a small size. The speech is clear, and can be used at high speeds, but is not as natural or smooth as larger synthesizers which are based on human speech recordings.

-It can run as a command line program to speak text from a file or from stdin. A shared library version is also available. - +eSpeak is available as: +

    +
  • A command line program (Linux and Windows) to speak text from a file or from stdin. +
  • A shared library version for use by other programs. (On Windows this is a DLL). +
  • A SAPI5 version for Windows, so it can be used with screen-readers and other programs that support the Windows SAPI5 interface. +
  • eSpeak has been ported to other platforms, including Solaris and Mac OSX. +
+Features.
  • Includes different Voices, whose characteristics can be altered.
  • Can produce speech output as a WAV file.
  • SSML (Speech Synthesis Markup Language) is supported (not complete), and also HTML. -
  • Compact size. The program and its data, including many languages, totals about 1 Mbytes. -
  • Can translate text to phoneme codes, so it could be adapted as a front end for another speech synthesis engine. -
  • Potential for other languages. Several are included in varying stages of progress. Help from native speakers for these or other languages is welcomed. -
  • Development tools available for producing and tuning phoneme data. -
  • Written in C++. +
  • Compact size. The program and its data, including many languages, totals about 1.4 Mbytes. +
  • Can be used as a front-end to MBROLA diphone voices, see mbrola.html. eSpeak converts text to phonemes with pitch and length information. +
  • Can translate text into phoneme codes, so it could be adapted as a front end for another speech synthesis engine. +
  • Potential for other languages. Several are included in varying stages of progress. Help from native speakers for these or other languages is welcome. +
  • Development tools are available for producing and tuning phoneme data. +
  • Written in C.

-It works well as a "Talker" with the KDE text to speech system (KTTS), as an alternative to Festival for example. As such, it can speak text which has been selected into the clipboard, or directly from the Konqueror browser or the Kate editor. A Gnome Speech driver is now available. -

-I regularly use it to listen to blogs and news sites. I prefer the sound through a domestic stereo system rather than my small computer speakers. -


-Windows Version. There are Windows SAPI5 and command-line versions of eSpeak. The SAPI5 version can be used with screen readers such as NVDA, JAWS, Supernova, and Window-Eyes.
-They are available as a Windows installer package from the eSpeak Download page.

-A Windows version of the espeakedit program is also available. +I regularly use eSpeak to listen to blogs and news sites. I prefer the sound through a domestic stereo system rather than small computer speakers, which can sound rather harsh.


-Languages. The eSpeak speech synthesizer supports several languages, however in most cases these are initial drafts and need more work to improve them. Assistance from native speakers is welcome for these, or other new languages. Please contact me if you want to help.

-eSpeak does text to speech synthesis for the following languages, some better than others. Afrikaans, Albanian, Armenian, Cantonese, Catalan, Croatian, Czech, Dutch, English, Esperanto, Finnish, French, German, Greek, Hindi, Hungarian, Icelandic, Indonesian, Italian, Kurdish, Latvian, Lojban, Macedonian, Mandarin, Norwegian, Polish, Portuguese, Romanian, Russian, Serbian, Slovak, Spanish, Swahili, Swedish, Tamil, Vietnamese, Welsh. See Languages. +Languages. The eSpeak speech synthesizer supports several languages, however in many cases these are initial drafts and need more work to improve them. Assistance from native speakers is welcome for these, or other new languages. Please contact me if you want to help.

+eSpeak does text to speech synthesis for the following languages, some better than others. Afrikaans, Albanian, Armenian, Cantonese, Catalan, Croatian, Czech, Danish, Dutch, English, Esperanto, Finnish, French, German, Greek, Hindi, Hungarian, Icelandic, Indonesian, Italian, Kurdish, Latvian, Lojban, Macedonian, Mandarin, Norwegian, Polish, Portuguese, Romanian, Russian, Serbian, Slovak, Spanish, Swahili, Swedish, Tamil, Turkish, Vietnamese, Welsh. +


+The latest development version is at: +espeak.sf.net/test/latest.html.
espeakedit is a GUI program used to prepare and compile phoneme data. It is now available for download. Documentation is currently sparse, but if you want to use it to add or improve language support, let me know.
diff --git a/phsource/compile_report b/phsource/compile_report index aef3af58..d92285d0 100644 --- a/phsource/compile_report +++ b/phsource/compile_report @@ -2,9 +2,9 @@ new total base 104 104 base2 26 125 - en 50 150 + en 51 150 en_n 32 150 - en_us 37 151 + en_us 36 151 en_sc 39 152 en_rp 34 150 en_wm 31 150 @@ -34,8 +34,8 @@ es 9 125 es_la 1 125 ca 11 127 - pt 28 141 - pt_pt 20 141 + pt 30 142 + pt_pt 20 142 ro 36 147 el 8 125 grc 12 129 @@ -51,7 +51,7 @@ id 15 127 sq 35 128 hy 24 120 - da 22 122 + da 20 119 rw 15 132 ml 13 154 kn 15 154 @@ -164,7 +164,8 @@ d/dr [*] base [d.] bn d/tap [*;] ro d/tap1 [*] base -d/tap2 [t#] en_us +d/tap2 [t#] en + [*] pt d/tap3 [*] base d/tap4 [r] es d/tap_i [*;] ro @@ -197,7 +198,8 @@ d/xd_pzd [d;] pl d/xdz [dz] pl [dz] sq [dz] hy -d/x_tap [t#] en_us +d/x_tap [t#] en + [*] pt dzh/dzh [dZ] base [dZ;] base [dz;] base @@ -624,12 +626,10 @@ r3/r_trill.wav [R2] base [x] pt r3/r_u [(u)] base r3/r_uvl [r"] base - [R4] da r3/r_uvl.wav [r"] base [R] fr [r] fr [r/2] fr - [R4] da r3/rx [*] base [r/] base [r/] af @@ -645,12 +645,11 @@ r3/@tap [**] base r3/@tap2 [**] base r3/@tap_rfx [r.] base r/a_ [r] da -r/aa [R6] da +r/aa [R] da r/r [r] base [r-] base [r] en_sc [r] de - [R5] da r/_r [r] base [r] en_sc [r.] bn @@ -1563,8 +1562,6 @@ vowel/a# [a/] base2 [a2] en_sc [a2] en_wi [&] sr - [&] pt - [&/] pt [a#] rw [a/] rw vowel/a_2 [a] base2 @@ -1605,6 +1602,8 @@ vowel/a#_3 [a2] en [a] hi [a#] ru [a#] ca + [&] pt + [&/] pt [&] pt_pt [&/] pt_pt [a] zhy @@ -1725,8 +1724,7 @@ vowel/ee_1 [E] base2 [E:] sv [E:] no [e] zhy -vowel/ee_2 [E] en - [E] cy +vowel/ee_2 [E] cy [E2] nl [E] zh [E#] ku @@ -1739,6 +1737,7 @@ vowel/ee_3 [&] af [E] pt [E] vi vowel/ee_4 [E] sq +vowel/ee_5 [E] en vowel/ee_6 [&] sk [E3] sv [E] ku @@ -1881,7 +1880,8 @@ vowel/ii# [Y] cy [i] sq [y] ml [y] kn -vowel/ii_2 [i] zh +vowel/ii_2 [I] en + [i] zh vowel/ii#_2 [y] pl vowel/ii_3 [I] cy [I] fi @@ -1894,8 +1894,7 @@ vowel/ii_3 [I] cy [I] bn [I] pa vowel/ii#_3 [I2] en_us -vowel/ii_4 [I] en - [I2] en +vowel/ii_4 [I2] en [I] en_us vowel/ii_5 [I] la [i] zh @@ -2073,6 +2072,7 @@ vowel/u [u:] en_wi [u:] lv [u:] cs [U] la + [u2] pt [u] id [u] ml [u:] ml @@ -2448,11 +2448,12 @@ x/b [b] base x/b_ [b] base [b] fr x/d [d] base - [t#] en_us + [t#] en [d] fr [d.] hi [dh.] hi [d] hr + [*] pt [d] el [d] is [d] id diff --git a/phsource/d/tap2 b/phsource/d/tap2 index 01dc9ce87cf93e8af2f70ba0bd74624d07304e52..5efa426ac2c7e515649b75188f84a7e10fe01715 100644 GIT binary patch delta 29 fcmaDN_C#z#9@7!djRl98fz)Ob76|==J%;>O@V z@DE59F1rxiRtQq4i-K-k2rlLa2zDU|y3qHW=_FYQ#a!mzbKZ0AncU}|WbWF`^o_Zh z>pcJ-FGm(0(&+v~_Lo-TN7lyoS88^&t4Mcz19GvkqVd>hWVcW;#aXdi_LA}15PLn_ z=!uP3?H?Yj)L!*FI)-4T`brg8GuO1vXf3g;n8YE}(2pEEJ~`x3Kmebs%h}`H%Q+bt zWL0rgbve6Ka_E5#(HvwrOs*D{3?G}8#dwB~tE$Z%7JWx!vNNe8xl%M%CI-9BS^5)H}O*L+WJBTG+iD6gx}SuzXs z16I#-$UWpqFl2qH=cAk7dYqt(thYZusu|g-Hcvn4)3O0SHnucgG#g&ssB3q9wOd|= zbR@8zMQ^;_b(LJlCO;?Dn>%#f2xf5?r*Ma79>Q^q;xG5r1!APJAt ze}W_AeU!wO27AJ597jTl zvQaV3`IPJA7xGb?ZgZ&B?#O@rcE_-YdpOOvKIQ2b*m0LhVis3$A20ENG#7E6#OkPE zAK5*^bDU$&BL;BNWB+&kr{;$xNTX4AA_zQubo*e)H literal 0 HcmV?d00001 diff --git a/phsource/n/nra b/phsource/n/nra new file mode 100644 index 0000000000000000000000000000000000000000..9c9531e7eaa2ddc0f5b99b404de9fdffe1de1fad GIT binary patch literal 1325 zcmchXOK1~87{~vc>}DTHw|O+tG_fkx+Da9*J}9m3YKe-}N3CzPS`dv074%^66ci8M z171ZvNsk3VB7{=Vi)Zy91o7B|2QNMj{=eDX#zW8cV`l#IpKpfrH{a~^smjEe>B>|b zz}($g9oH%T{qv2_tzho!3*kb?JAr7&GLUL(HI>oU>h^b(V=}23Eu*Tv)I=}Y^>|xr zEBzx0J<{`C9UmpcBEQxLG-FM5&R~C_`>-Ed(T@UBNV28iB8_fzakSVc**olmFkvev zp6mN=mCkjO%~Gzx9XjU;wI(}*b0k+zkrQ+^dOyE-U*#W# zZ!A7j0)G6(M@Pwycb@se`N8Y|MXeW87{d;1#}<;yV=be=mS>a{!8|GEI1_gbdgG8KQ-G8X5L3!y$RO3*n#SOm4tt1f=8^Or>qLCU+uDG9}9)y;QhvG1L3C z`0!oG?5(c^eEoeO$TspW(h2HS*L2LVbO<|HmACPfvvF+W$~w}^p-f%D9n4}B zBk-8zao-H8xQA;vi=#NiI~n0QyReB>o#hUP{4>= zOufnkddwPfZ@7`~m-<#-`)Vu)Fp1;Xg9)6*Zd}HF)NloLH1Hf(d9Metmplitk*~c( zIu*>}5q$b5Np1!=nSYCQeS~~3@J7}%cYri|xub`5EZn3XZNAbp$ET?J#)QJcPGYvOure{RF|pW!l7hxUX?)%p7BDe-lX>TvXWp63{Px|OnQEQCKGT|Z z0X%#(=ixrZ)}L12Qajh)r}c$R?;7$QD?pSv3nn9T+ND(_1(|$TshW3QJEA|9+HU4# zMkf)xTrb9(KI$ms{z4zHR9G_S3=dk}hjENx5Z#DSW{*%o2daoU28?CKkkPgxO2+Yx z8!!fRBDhcx&qtB1z|o^qWLH!k*Ng0daTRxXocm@?cG`0!S5A==JTo?b{#f2A7ll^u zUl{@Iu8S?+E#_O!Zw<9olbShcumDR(`zh&If-5DxLF!LxdV^+GPs!Ep{TsCeS8)an za@#>x6+U0+RZwHw#<7YXbaE{7E}>bg((f|!z}!>r9CB3|uWYh}k7Xy!6tz$j8bVR{ ziZ6Uzj?yK^61KF(vCMt0D|Vkv92d=BpT8~}GFqi=BcQ!^R*+`y-K1k__B&~qIrFBz zbfF!NI-^Fv@zXe4r_&Yca;}r8&3sF3G1kRgXLbEgnnO5?Y3#yf^pn*9IrWlXLW0|= z4&Vmvu}TxJ)ERrpeH@cGgj3`{gxzcn?1$$5lhg_J;TY#to>Su)iqT~yhjgTRBPxj% zHmSGJ)L&>^8)K6bagWr0m1oG;An&ur-ht-Ym&a>{n^qt08nGp8db4ybNmeAkW=ryP zL05DA)K7bIN+j8x>)Ua=GuMY}I>`0^>T-Z}c@al3#pmwD1R0Hy$w8dJanhN^3%tY~ z9O0~&9;^(4-5K7u`D+2Ec54D;^Y%YgiZz~LTTC6}H|KqpLjV8( literal 0 HcmV?d00001 diff --git a/phsource/n/nri b/phsource/n/nri new file mode 100644 index 0000000000000000000000000000000000000000..196f2433764041f80fbe02559a53d576a06dc5c7 GIT binary patch literal 1293 zcmbW1O=uHA6vzLY?q)a1ZoZp-B&66FQf!PLAc&=AtyE8nHC2lgq4+_q(u1d1JnTVH zZyp2>A_(@_lc>G)5X6Ir3LXUU77yM8J$R}Y|8I7e6cIr)?97|@-n`8I=0DpyHGOop zH9gY@VEM*X9hYcq|GCDejz4$x7eS!sJBe_`SHSLSZI#j0yx4b?A~I@i z^ZL44SJ^)j(0yCSn$z>6h)9^zE(05p4OM5X;@f3RVizhXz(#_PjU>`Y!Qp7JPq2@( z_nV2B@95~^`OSBl^N?RB9;$AYs;dV|TQOlT zY7doi5cjA|Uv(v0@_l>Fam~>7itb-kH--fq!xBoDY8=Y=ZCY6fYjTrGPZTD5&CB7_33TGO?EZ^RzJ`dv#SBU1*?>u zi}?39AAeN{Da|`Q`)=wv*9yr=%PTGg_j+ahPj|MC3pkHkI7k9RJntGt$ge=fjZk;v z*iC+uIDwnEhAZTJ507vk*Xg;aSl+>7v~ipqr*ICJahOc&WLRaDEYH9uog5j7TJt0* jN=!47WkkLPaz9OaQ}l=q<*SimOOyRD_fX?5%B=MZfFz$} literal 0 HcmV?d00001 diff --git a/phsource/n/nro b/phsource/n/nro new file mode 100644 index 0000000000000000000000000000000000000000..e0629a02686b9bda6a2c8fc1d9f55965e69d5ec9 GIT binary patch literal 1249 zcmchW%WD%+6vn^F%%n5P%w+OtZEOra3T>su2MB`246UhJA6VLI_X>7pMMZ)O8Nolo zmADWTsT4$9b>TwPm3tS;Y}^&e!c`RNcka!kLAo}F-22_{oO>ttmotl3nzKub%>@&{ ztvhQLZcy}pBKuQ!8Ch>r)$^8-?$`pn#AvCC#E9KCY8hFy?DzJn@!Syo!HvztNR;Gm4A=9$eVSBMXNr$8msjK*yse zIh(&W!|wn?vNm0Zxh%B>Q&kLbWioW7cqSbgEf}2jK1+FWqMRgWTGUb}%2KB`Ixn5i za&1KRw^#{8<})q&yo;>Y)c+U5lemV%m_mtciYRal8Fi8jxGKP>Q((5D2ZJ(fOJEs`y0qk1nXl zdiAjLk2lY?CiVxhpBSsEqY@(y+R&X=vc=aO$gXpfZr9bksHfNcD4Y6m6}`^ft?Opd z;uG()@20Sy{Wp$joWUb3p@}g%HPSoCY!eIY%%jXt;uy|xHI36ag$WGu{w@g%--2RT z;N5){`7YH0=RK(M71)b?JavTiA-NQ}yR80?ic;bh(fIx4^6M^{cA`Yz5ZS3WM^|WV zYF|9LK-2JF`18J3F(xZCb9`f@WoZw5%{P_L&+~R)!%`1QuCFU=RdC1X9;7 zMW+xV(nAnjs!5lhsxKB%ulh}@C_qA@e}YuV_Ii~#*DLq=7emft*SL?%o(DWoS9^3 zgj%m=U`D#n{*c}Dql849Gu;9#CKmNQ`&uL2jRAC`ooNN+;US9vKDAF(V_i3);6)no8k{fJVLVM(1iObv4`n-e6 z+MD?y`B*4xXhZe^dIa=0bBGm~Vbbf9fY6pK$rW-!*rlpx7gZ)A zm|`@_ahNT&arkaIncB%YW&=4vb*}-MEDges?=|lSV7&Ci2{a9^7T5 zkE$JIv@z#8?%)u5srKVA_VVOujNmCA<18-W1dh^rNV0*qxf~g?mx{=6=*enNmNm)h zsLwf~?Q#uRw;Xc=&QgsAU6-8pMis35`ucISM(vBzqHa=F?As*y13mdr(*r_dxj3nH z5>Hag#hB8N^SUwCue^qxkyiE@zreFXRoUgz=Z(L8t3SC557?0x@RAe)vN=FrT_n^- zeG2FB3@mn_~j2xpS{vXog0sAq{Ij;%-2IiQbnE(I) literal 0 HcmV?d00001 diff --git a/phsource/ph_danish b/phsource/ph_danish index 900589d1..a294aa2e 100644 --- a/phsource/ph_danish +++ b/phsource/ph_danish @@ -134,27 +134,9 @@ phoneme r // used for 'r' after a vowel (to create a diphthong) lengthmod 7 endphoneme -phoneme R6 // +phoneme R // liquid formants r/aa lengthmod 7 endphoneme -phoneme R4 // uvular trill [r"] without WAV - vcd uvl frc - formants r3/r_uvl+r3/r_uvl.wav%1 - before _ r3/r_uvl+r3/r_uvl.wav%1 - lengthmod 6 -endphoneme - - -phoneme R5 // English r - liquid starttype #r endtype #r - rhotic - length 100 - lengthmod 7 - beforenotvowel r/ - formants r/r -endphoneme - - diff --git a/phsource/ph_english b/phsource/ph_english index 29b7391b..bbe4eb24 100644 --- a/phsource/ph_english +++ b/phsource/ph_english @@ -27,6 +27,16 @@ phoneme t2 // [t] which doesn't reduce endphoneme +phoneme t# // reduced [t] as in "city" + 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/tap2+x/d%70 + after @ d/x_tap + lengthmod 5 +endphoneme + + phoneme l liquid length 100 @@ -118,7 +128,7 @@ endphoneme phoneme E vowel starttype (e) endtype (e) length 140 - formants vowel/ee_2 + formants vowel/ee_5 reduceto I 0 endphoneme @@ -126,7 +136,7 @@ endphoneme phoneme I vowel starttype (i) endtype (i) length 130 - formants vowel/ii_4 + formants vowel/ii_2 linkout ; endphoneme diff --git a/phsource/ph_english_us b/phsource/ph_english_us index 41b6af65..c1c3c88b 100644 --- a/phsource/ph_english_us +++ b/phsource/ph_english_us @@ -293,12 +293,3 @@ phoneme r/ // used for [r] when not preceding a vowel endphoneme -phoneme t# // reduced [t] as in "city" - 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/tap2+x/d%70 - after @ d/x_tap - lengthmod 5 -endphoneme - diff --git a/phsource/ph_german b/phsource/ph_german index 29e9ab50..6f585468 100755 --- a/phsource/ph_german +++ b/phsource/ph_german @@ -186,7 +186,7 @@ endphoneme phoneme y vowel starttype (u) endtype (u) - length 150 + length 130 formants vowel/yy_4 before * DFT+40 endphoneme diff --git a/phsource/ph_hungarian b/phsource/ph_hungarian index a031c901..b4ed8d6f 100644 --- a/phsource/ph_hungarian +++ b/phsource/ph_hungarian @@ -49,6 +49,7 @@ endphoneme phoneme i: vowel starttype (i) endtype (i) + long length 220 formants vowel/i // linkout ; @@ -56,36 +57,42 @@ endphoneme phoneme e: vowel starttype (e) endtype (e) + long length 240 formants vowel/e_3 endphoneme phoneme a: vowel starttype (a) endtype (a) + long length 270 formants vowel/a endphoneme phoneme o: vowel starttype (o) endtype (o) + long length 260 formants vowel/o_2 endphoneme phoneme u: vowel starttype (u) endtype (u) + long length 240 formants vowel/u_bck endphoneme phoneme y: vowel starttype (u) endtype (u) + long length 240 formants vowel/y endphoneme phoneme Y: vowel starttype (@) endtype (@) + long length 260 formants vowel/y# endphoneme diff --git a/phsource/ph_pt_brazil b/phsource/ph_pt_brazil index 9fd6690c..1fbced1f 100644 --- a/phsource/ph_pt_brazil +++ b/phsource/ph_pt_brazil @@ -37,7 +37,7 @@ endphoneme phoneme &~ vowel starttype (@) endtype (@) - length 200 + length 180 formants vnasal/a#_n // reduceto & 4 endphoneme @@ -60,14 +60,14 @@ endphoneme phoneme & vowel starttype (@) endtype (@) length 180 - formants vowel/a# + formants vowel/a#_3 endphoneme phoneme &/ // Used for final "a" when next word starts with "a" vowel starttype (@) endtype (@) beforevowel NULL length 180 - formants vowel/a# + formants vowel/a#_3 endphoneme @@ -94,7 +94,7 @@ endphoneme phoneme y // this is the same as [i] for Brazil vowel starttype (i) endtype (i) - length 150 + length 110 formants vowel/ii_6 linkout ; endphoneme @@ -122,9 +122,15 @@ phoneme u formants vowel/u_bck endphoneme -phoneme U +phoneme u2 // TEST vowel starttype (u) endtype (u) length 160 + formants vowel/u +endphoneme + +phoneme U + vowel starttype (u) endtype (u) + length 140 formants vowel/uu_bck endphoneme @@ -135,6 +141,7 @@ phoneme aI vowel starttype (a) endtype (i) length 230 formants vdiph/ai + linkout ; endphoneme @@ -142,6 +149,7 @@ phoneme eI vowel starttype (e) endtype (i) length 210 formants vdiph/ei + linkout ; endphoneme @@ -149,6 +157,7 @@ phoneme OI vowel starttype (o) endtype (i) length 230 formants vdiph/0i + linkout ; endphoneme @@ -213,3 +222,13 @@ phoneme s# // This is [s] for Brazi;, [S] for Portugal switchvoicing z endphoneme + +phoneme * + vcd alv stop + vowelin f1=1 f2=1700 -300 300 f3=0 80 + vowelout f1=2 f2=1700 -300 300 f3=0 80 + formants d/tap2+x/d%40 + after @ d/x_tap + lengthmod 6 +endphoneme + diff --git a/phsource/vnasal/a#_n b/phsource/vnasal/a#_n index 4c9c4870d9a5832a283b1937d5232716c7fcef03..9d2cb20040d9e8794692614c6839f266e9e5e886 100644 GIT binary patch delta 71 xcmeC->fxFY#y*3ILBxgW&t!fU^@%OF7?~%>GpZs9{+`^%fxFY#y*LOK_r6d!DN0G^@%OF7#SzWGpZs9{+`^%9(h diff --git a/phsource/vowel/a#_3 b/phsource/vowel/a#_3 index d8c7ab5b90755a2ab94a6ec92c66b12795bf12de..f6c9c0d2177d8322460de62d04ea10f6457fd43b 100644 GIT binary patch delta 126 zcmX@b-oqsr9N_9466_kt!oa|gs2p$1GEvZ)v0PVyq4<3m6zDFJuzt^aYxr!?BA2SuJ}$_ delta 83 zcmeC-I>jy+9N_9466_kt!oa|gs2p$1JWbg~S~2LK1A8sGo` diff --git a/phsource/vowel/a_5 b/phsource/vowel/a_5 index a1c049e7966476c3c590b2d32de4931e868fb0c8..c250b9a05761804bd907df39cfd43e9b23109653 100644 GIT binary patch delta 282 zcmezF@ZDj8I4c7PY?R?(Vfp??&0(_!3y}5WyYYg_CLHRqaX`6j4h2RA-WNXB23`<*l3*p10e=Gr zhz+tuL56_^#;%ZK*t~`%m};w|3|m$2oK1vH<=qY`v?Gi_-i7!!sZAO5Nq`D delta 260 zcmezF@ZDj8III1yjfNQ;WjI(^eqGpRuvvoz#CrEHV6q8^x?em414A~40wV+OOC}~} zOJ-3h@<9QG%_ljEnOT0fe%m$Kfk)jh3M9?|vml!J2LsH4R2F+im<0}8Q{fi0 z@a~3Nz%G=*jIiMUf3O8tc|aCS-mI|MM*!%T-wWkjHb;nnSnFDMZBCH@v35Uuwz)ut Godp1$RZwLB diff --git a/phsource/vowel/e_8 b/phsource/vowel/e_8 new file mode 100755 index 0000000000000000000000000000000000000000..fa834411eae1fc2e9f331af7ef8cf4ef6260b55b GIT binary patch literal 6015 zcmb7|2Y3|KyT*6QY13!6WLwH6Bq1TxU?>SBf*`#FM5F`~N~l8UO$beCf)Eg?g7hv; zIs~bTN>Q395Gm5z9{~yFeuM<{UZ3l|d!F6-_RQ?ew==)0x_LY_=#q ziqDjsT&DCg?jq;0F0#$moNvxY=zDDuy3Mwo-_F}?Rp@ z9vv0CEbeA0ciBzxMum-)FI8bF7g7eKT&!9tX-LIw@iC?1if4pR5ANt)=*|gR>e}l3 z(SaO|?aQo3W?8e5k)aRMj;SNm&(!N`ZEb=!PaC2|YRlC~^-HCdQc4LZ6_jC$uHI4= zy^b-;oMH8}3y#5#Wal>5C3j_Ch2Y5{Z-iD3JrrVw6bn}T-+I$MCxhZ#tsI$FZzD#} z(X-6y_BPHOSIMBNLFZhtuJTURvDfNm1{)7Fw>C!|t}aopsxew4XkpqmHB_yqRFjdk zicTk=k@eJ&8pzF*fVx5TXf3tz+FI?Hc3t~JyR2=}(zOd}Wwo=?Th5SbvTAfBi6tTM zjwN<-4e!K@@fv&rDDglI4sMuw6Bq!;Ny`jXLP9@$IokWku) zX46&l1bs|B>rn*xJQo74O zOVgwur4QxqN?kQy?WkpIwX{QONp+pFPHCZz)*kD#%#QXB&ILgc-kt?e4+K69yAtxfzlC>E z&>@Fl?bSDGdDHtJR_-1yKuZJCaM^NI6Q*Ke+0 zUE^F2oRyt@9sBH6?0MFFtE1($R+^?+!>Fx?Xor-R@~^BtW#j_N7b}VxLNMH$PC|Rp zfj&Y9&>8dtT7z=X1oS!DfsUh7Xcrobs-U~#LGiL!6YWJcfZG#4`a1zkh;&;w|<(K+}&3#FqVv{kGv?iSoaBA=W;A}YIpxD=d|SL zE|(irVSHlGsyCCRlifzZ zd7E^Cm0}_AEEY)<I4nQ# zX2ki3a}g~fdWF9gxEVSvWMJ@Ff1W=*I3nax$brz0!b$|b2%HG44)_ADu*D&#{JGv< zZq4<*UABVFJBHINVG3rBaZzWwPfJkyD!1j$@@091GECjB`HXDy6tL-a<~duqhPhH* zmz+(VxsF;6o8ve88T%3YQhO8oAxpJFOy1b5WvPDUxU_=Jr)$X}d=Uw#vp7I}DE32# z(KAGGK0M#wA&SK<@CSG-9)z0$DNj*8^kn1TaecCq@bn#^QUE2(WnQU+G*enDEtdL8 z#iY%w3foK5sFPkIx#Uyw9>HWTj>5}Od30FJ7VC;-#RRdfxK<3Hg>c4Y*h~78o#ZCr z=o505tRP)M<$lMTfavjfBp!l$;MTY%j>C5R2>lA<X6D13Qx7VNh;tk-t9c5V@DF6#Y^@4< zi^v?!HF`znGP3lQX6|Nou1GU?s&ikFY3Tf4$V{OBrkPQ(-^Y%K+X1zFNIajgup&-e zmQ=pV%p`l_m5OgAM8yv&-L%B5s8!+jLazAwdD;bKJGa

oX%=&(d<$1a-SoQ#mDn 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 literal 0 HcmV?d00001 diff --git a/phsource/vowel/ii_2 b/phsource/vowel/ii_2 index 1d51cea694965f3de4fe220bde88099ddb633315..c4446e94b8bc7c3789bcf789a0a133b8492026a4 100644 GIT binary patch delta 287 zcmdlQyhUCjIKb68B-k~Og@J(~Gc(?ZjUffdVqn-@%XN&2(QUE|ud^fr_XEZUj3Chj z$p#h}yF!j(^8(%jEKDpPCMO9+VpS!=0aA5ENR^4%fn~wu1XfYT(8)rg_>9aGwPmVz z1X;##fPsO#fr*1Di7}301|x%124eT23uy3zXDMr`Jmo3$j~GXel9 Ck3`l0 delta 6406 zcmaKw33!di_s3`E%*?ypEx9+_4H6P8dWZ})>0z2qD9rd zl%iE@P+OH!wWNwzn$Y@Llh8!ue?s!K{XM_upLyQB8e@b=HYSh;dngUsHdYHXd@Q`qp3J!F^2NpcCF^JzZKQySn!NDvER z5&CQzp}%=fGGB%yGa)@$PjpS2>GLOQ=O=7)RMJawT?PmIW0%Y zL^(}vmiy$FvXA^laPbg2L2Le==qMFsrQ)SdP*12&vFuYL)kMYSlD|Vucq|Sos`fxj z)3@pw`dj)eElZW^r%Hx$M9Eh?)F3rN?X50WZ>tg70`00+sugHEwJ_~t^^kH$O4&#( z;5GO|*bVQ%9d?E#Lp1-3FBJ|sT5ggDI65G$SWOkWNfEN(OJMeJM`FZ#Tj=+8JGB zlrRbgn4yTBV#C=r`X%kp444I1p#+NHXP67oP#Lmco{@6YK#a_(krsqiiMnoLy%TFdxpta}c-?%5A(E&)^Sv3o%u!5ub|6gM}t$ z@j@5})j@}t=ec`hU(*&VS6KTXX0^ie$)_a09Ig;Gn}n!ufSRH=rBlk`8e#dEjj+6d ztL*jFR)j0Wb>DMQz@fSkjn70~iQUj_UhK1|&P@WsFVtUO`)F`b(1B`6enzEj-pL-B z?n$;{OR#09Il-K5GMn=Bd0HoRs$x-=$tS`toV*TSEbhyTO0*iNW-4FE4@4K<56-e< z?05DB>&{L<7qL>VQiiGy?XWgOPcg=s-glXMSPCqWR)6bGi`|lD*37p}U>;A7!c1S}`lP<#*C01LY>+ zBbM;CxO<0qd-0oSFXziOa*pgLL#17+QpfA5*eCjmyL>oz`EYmMlmEzDiOu3Bc3&r2 zi5xzg58z3BBA1}CZF)WwN3(UUe z9;PVck#VEZw`i{0;%hUYy9r{D#m^s^8 z=yEHzXM0TbdgN_&UUf$MhWmcw%<}2)z0Xtem}j5k?sN}uPj`RhKFog2-qbPMk>$AN zxae5rsP9O(4|jKSn`V7x{>-$~2sMiITlys|+4@C&i=Lq0(#C2HwQ5>r&8Bfp*8;S7 zZMe2n`$Y@XXXy9zaHF@;(r^{(BlZ2-165P)ibDpA`FtqqNiJ_Awh1mf$mw#WoGD}F zC6Oo!cq-okgIEzw0LmNj$~*@SKn}Fz-}6v0S?m^hqJ|udiakO)X=@{yBe}dvKK-Jdk(hWB3F<&Bga~PaOI~1jt<+=PUUdG=*$_9VtJIV%Y@o+K;p+ zidXy#)T%jHZxwZgmpH~__+|(LcW4F~a2C!XoOw)R5wwuhrOB)}3T8Bt{}8^0gYXyB z=iPV;U&~8)s(2t`WH;$2*Ne&^hH(qO3G2~3idf8FYdtGfz*XiJmG(YVvbd1-u z_WBBagFaZli~IS5x9T&Fy3Co9*ZA zXYI@FE$z?UFStK+Z)-neZ|C^h@u%al<9o+2#~=3Ah}zd~2W%UyX_ortN5)TjzLum} zwR7qxY8zEmFDiSK9m-+ly28*izpKty52EvYsVbV#iq*&J1N6Y9xD>A4QkSSz)DM(z z&}; zkeXer75dg@jIxt7m&UUVteC~&02jfX$MPOLfw$m6T=HD>%%8ys3>;458(V1`^u@z* zSwksdquDNYiRI#()uA7Jj;`+y_!Dlz4R{H4cyB~%IC|x3h}pL=1v)}iC_r7?$d<50 zj4xv=*iP>gjJC+U$y)e$8#y$mEDR(4eP;2B=kzK;yCNZrGqF3fzS*8>Q{(?$Ca%&-&ygT2kBKRo^5J{cCOuRX4aVEsdQsmZ&cRY`Xa@**Bi`%JfbHjCBIl4!nQN<_bZ z(wJ-XGMX5X#&F|^QQeek`rNeK^nq!hX_l$7`E5(7HPn5#qqkRy&zMRXRT}!oR{f%C zzp5GjL;Y&Fs>sSgl|J&7zH6NAofhYPpBp~+eYmrxv!ipYbB=R?bE31g^NCNg&mr#{ zUS~b$cvNv@xaZsYTJM-wm=+pm^eFwR_OaGnD^fS8v1*nQq_||Rm?nm!zdS6M>?l{r zEAlB`W91f+z&)9jpA>(}^@?ay>e`pMOkjU5bqx>X4hU%Eb zkMke+Iewo1gsOOwpFpSlfP0|S4n{HlL@W}^#24Z_aYs~>W8_)+mh!Q3Qwdg+(0tdc zTh&$S6t%1Bsh&~BDkhAK9CC)p=Oek`r(m}WBg_X7j+$LXY!J2NXY!d0QDT&E#Y4%F zt7Q+V$-QEbu!wIl>@f2qFbVy;JLIy1Y#AHR2BN9QvoPkz>@1M=VyiGJ_QbHWFQmgl z*aknKSr>!BJ$WTwh5Ms%`(iLz4B2SdqcBLZU&r_*rg(lxuX3U`DzAxh^`uov&vK%M zDvim|a-s?~7bz?!s*g2}^|Agle5^pWjruprtItbpIW#ac=t;0gogSex!k07| z8GWi*>$m5{wTm0l;(m;bG+bd_>eQ?8(C@H!mfIt}KDWpOSyhSE97Y>ci7DP()0}CV zVRX~~(6;GojY_5`Mq{IfZq?#30SQ+psWa8Os#Tq&3DY`@a5L;X9EBeDJy&}*@&3g- z75VDvY~wubljFU^E6LN(BhUV=`$D%2+YRe->uGCGTY#I3yI*$y(00=NGXziJi@F-@XNsYM`#aDVG_S#?9h|nKs*Pq+L!?i z!q8(R1|W+t9vFuK$#TeqQ&>jAWwr-}KBjm@dVGbFT|poJ_h04^;o)knR%FWm)VCC+ z2}voZv4;LRsZkyrBv=oTg#St7KZUjR|D^FoK&R?M0_O$=)i@W_Corel0>6E}2VGtP zj_q!TZ98mV+eX;Lr(4d&S zTcKW75|mcTLB;hE2D1M8QN4jN!Wd!%8C!K#@1%XHdZ??EI?7HNBDabzqLv60!J-bP z2|Y07T_Lt$NV!Su!n`F&PLda;mlCfeDkGGU%4o%A zU99J0L}N^fcFJ_gRI(T>TSB(RL#dB zp#Ws!U>h7A|d;csI%SPe{dcB4w0c`$E` zr55IEk5NcxLThC24ze{BrLZ$gXIab&ZD9xufJk_W+{R-}^bXt4%vd`f7Gt21iTBRn z3puEQoA+1HxZ+s@LNfabzt|>m6%2;a4@p?LB6d;wkuK#7hUiurQqEvQ>vhubUktuZ zsB;}Do&$Yu`8KcIqjL317ku`4PPPZSb+EO!HML!}hFV8s3N6hkraz5jrZV&#Zt8ot& zh&kx}X5c=2gf42LON|{!2G~f0t`=COei5XEEXJ0;7~8%G2Fwv<|_OIC*ct6fvxZbEX8A!DUgODF&GkY z;}RhWhT?xIn7gK7*qMg+6#V}^Z0UoEbVuCu77&GQI}92?C|+Us90@U48xO6pv~)on zW-pP@5Nbmp_<<7>W?%4!8c+`+uv=RspgZ)y!MfrJQ!8lxdbn^rT51eUAr{|m4efEF zPIz^IcKBaQbi&QCB?fyo#kjZ;P8tezG2gEVL3kt+fag>Jcn`!m(8-2iLrn4B{>#h7 zF5}PX7`9b)eN|ck*E!OioWs_#)H+mINkYrviq&h<*mAhyte=p$f5BDZR=+C!+ueRu z`nS9Ns?_SEz~Fs2jCX179t|VSXn!$Zz<& z+ek5(m8MNz?*~=LWvYsVD|6=g9z=fHoS#oT@ zx!WD19M9~#+%MY}T7pcMwBMC*0(4>Qv=Isxk^;b$5hO^4w)eQ5&iNL$fZ8i4?p(OMTtj6mjG9kDSPJI}=- zKgF^LCzwjdW8EN}ybDg=f<|H2FnpmN!dsJ8MFg#gDo~1~NZfcEbzog(Y^i|*htp^p zhgf&Qr6;^D-Ef=^IDK=(w;ra=J_rq=1!X|EkcE5r@Ps@^{7R81hQpSUSGeo1$eZEa z(Byon9}Pgusfi_sR>R4>sU0V_V6h^94zx2T+EoxPF$@>{HvVEAa0#99d$*%4X)~NU W6z#AoPVPo^guE2VDkS_FPW^urH@zpMKu9Q|N)wP0dau$#5fDYHAczopmktsT1Vji` zL8N!7g7hH0hmv~|67apR_xgR=-|jw{otd4TInVi@bN4Ko@LMNxW{Qd;Bf z?|WC`&Ag(v&u(s*|0mPKvUXZpE7Zbsu|_j2mi$d`iZO5^Q}tp6p;N+t{mx&l=A! zod0lrY0r(_Qr=Q|d&c!@OEW?$&#h1?VQRR0Ao086KQVBjjo8fAaKE3tn0rGP!}+UH zH!Um8^-c5jaq0`cl*Drv5iPFswfr&95=X>Mu~lS>KX?|e#WQ(tJas;XS=ondJEL6T z>seXmMlX_wbSYE0KQCar*fMsGMf0w_Eq~3t*<6~+w~H6@t~yV%=&5?No~QNDHmj%Q zF|nQRXQ|A@ex^yZ5$(=;^EyJ4t7NLWO%2hqv>DnYt%X*g4ptA#m*Nqh%leU5vH$Rs_Z%&#t-uId<}2FkFh%J5xqj6(pU6Px{Q8AooE4J^iML0>?EUU z1$LOF@{xQopUt~-Z~im;g7s%#vAJvl`+%Lq`pan+v+{*JkH6;U_~-m4lWZ=zMy}EZ ztUkL)pON*nG>;d)@`P-lW~=knEY(w;D>d0g9OiZTUu+J`V8>}9ZAYq-TcjdwLX+tg zl1`$@J<^4)pquDKAYeE-LRMg(zp>IhoV(!2`>+t!lwD!{`E8ye+KP^%u80t2L}?Ks zs*9$gj_|};OW_mQX1a`2BxUIkn)d8u_WdHnrOVm1Qs0hvA^Hmc{u7yXik8h(6g8V> z)6d9oWe!nXo|6M)8U0LoPL)#Cs76N`xym3zF}?a9HnL%s==xcQ}zDo%+YIZ*DFR1HzfsZqFsL_I5K$%^ujXeS)S8NQTv=6;;>##|F;#kaDa z`n#H}_0z^^1GK8zGhBJAx=P02s9NK=d_*PDUwkVz0hHk)=~?=kIx+{APcPBK^dzwE&uXyNtP>u+*m$;uJz!ou2H*UEWiw|sh~|-H zWG3lL!bupJO}yxI%7L`6*$SMO$*etd1EPA-;dDP{lP}KWYnq3>2D6?lhn-$xV)Ho(R%dHQ5B;cBfY{$g-o#bv$pnY>fP9* zo@<>lt(>MhQ1cJ^R<(v)C>DuhV9FC>D(323TxT!#8MwO&Tg*@xo1J%Y0cw9jZ=OXQ`vqOx0UGD0@jE zvxTqtj#uK>*itr)Z3S>O5>SSgo$Ul+$IP+$g$$K{7=@F+zMU zI*CN_7`#@QUt*(i9j(lTX)KTaNc&PhdW=jbgGd%w@&NIm-RKYW2@M6)f6RvA=m+6i zH)i!%6V?s?f5oQYF^P@EI16iZVQuhP6p*l!_My&n2}vMsqzM^I=977N?Lbn9jg-TZ zUSt62PCme=zbPveCyY0dd=gJP)2VbD_?j^v7RxHKG#1Z1*aI9}Pw@9oSj$X1Vm68oO7&fl>6?dbo(na%NOeXRtU^U0of$UHzhzC&h)apN5_7g@6Z2goca_$SUZ z`OWe>;eRdQBkRZ3E`hy*OyNhOx5l?foS8H=>FdPf2|vf3ju{$#BI>Is_oz~lwZm_P z1P9d!?CC$GtwUxLr(%1>mFTq(Fn<_+0Yx|g1B8*Snwq8EL6Ez#;G}~qt;maR2z-@ zTvJoE^=e)957}Mji^-y#_>+GFbSl_uHGYB*5KeNobWppfE7g8U{X( zm)pU?gT+koqu4Ee5aUFKxW$L!h?cSrV3Nu#3D@{8U5VPM&{d=jsYJ$+7o;uSLNy%a z2(}5_>d51GZQhKx;w|vnf_LL1P}leITbu|(F!2}vmCxZlz`qLLfhzCKHqunOfi%Rv zekX#KrYgM+yl*AHk}KpTRKino4E#8Z>>^2Y9kpS;-e(#7YwYs@mqLhp{AWIfSHQXY z5}dc64nSr11D{u??NN&-(gm0|2kBqb#DY+7s{}pQJ zPO=`)Ys5mMf!U_CHEl=JUL1ZkqZpYBJ9T*UwWzg57bfW&}f0n{EGHZ1yD{I$f+$s?2dB@HZ>7gs&T zH|lUiOvJ|U^I_dXvw|b+2do|Z@Ax$E8s|R0?6T6E9dBFem>z2`s;4x|^0K=0mODgw zF`ZvvWmr>Mjs8Yc*+{k!O!*0G$kL(5dZLACK(0kqKF&MwH*67W%c_9Cma|xXkxvt~-wE#=ILalOC-D`9Q9S;tt zbSoK7T9Wo;3OPyKXhS*@9JLFY>NgJD0RqQ5(hNhp=qco z2btutygqLU{8!(j{67yjmY;q9bb#e45y= zv_EwNzxE&*m|1vSw4A(%%7b-#lKf`N3BF>-uCYpFwojB@Xx^e zf%9#?!8OCrNAHUtmspULlH4=tc)4})y<&$%heUOa{5`@U;(S=0&{4tj?K1*f1f20T zdoz#IWfztn;y4Vfxj^dyH5jFOsHbEP`4{x}Szd#GhdKNK+sz{27lr~4)p!W>Tn0v; z!x>fJXP~^wvIguBO9xZ@#18{G)x{ODO!iSjwY^#;eX71g->omuTj;N}FEx`kR#nyU z(oN=wdg2A#))08B#oSe(UQ2KFSGBcvMvKs!;t>PCG(ii{a@1tFppmk@Y=fdixEzK; z5Z#1*1J(J0x$`KV2A5Y4{w0Ga!pkxIuKB3>FMxDMI){t~SKTA8frMNj(MDb?apYq% znam+y17}^x417`vxV%bZp%;!of3}6g+Jm|FCqK$p@xDBW9|Z26U_O+g>#;=z5(Q0A z1vR=k=?Go$C75?HSqQwhCo#kyDq$%0IvcYglO&Pa#Ya#I+BuZQVE%kS+tMs(*0lUt z3r`gxE?s^*=q)Q2!xC@*>3|BodF{GC;&mLp42o7rl3p?E%lpW!~DoA_M}l$BMRX40?f-x{f=Ri^8vo2Ip?=LxZ&>>Q5bp<+HxX5(9Xz>MOVPjAxeI;fkWHIG6C7l=S&vI{9q{6Y@W5|=fl53MNWG7J)`Lq~LF>`SWHnH;6G*>8j*{i1A87Dj9C75s`8A#-28ktNo7f|A@jg^k#VlHZdHp+d>{ZkmD>c)y)RXF9 z(W#^-_*bDBV9?QE^8Tnof%FzxMFx@2l#JW#GQS}9#r!*+Jbh19%u<D zoZUp0^ZRt@eQH!#&EGFCNsZPAxL6-ra|27;JZ-<&$_2LwH^(F=G*3!Pxsx&?B{_5@g|kiNU69pW=da**^6=?$(MNuu zTD1q-CVh|*W4dVSXTEIqvbb3Gnq$o^P0fuoJy=Un$H^2Rt&F@Z28we){>QwP7$66$ z%```So=%KZqk&P;;Kp)2QeUX)T32-sQiCmGyqJS)ohP1(8^C54peT#qg^TTn=UTQC zX+kgd3N^VRuIN4DK=0#ve+Gv=j@@FBsI3Dq!vkv4{Ku-vBh#23MM( zo&)f!8t@OHH4A|0bfgobu#fNPIr@m+roRGz*>o-ao!&>~K1gQ)A9d+qxc6{2ik)Y1 zs2ulreUSs5-B?bRo8)%6O!kv@c|i0QUPvRBV;(l<9{e|O=wmvTmZt$om@?@=`Z(%vRX>rVr0J78!E4hkvY`zsWP+}nT0!CQ0hGb{|%Yf0z$1jtYLwU zfwQc~t^W3Yq1~b`#bqRRO|F|_NjZ?Tp_~z4F6Lz9@Q7{^VUgCT6H!m1Iz+ig`i4&m znQU)lWq!N8mb-5%d%JX+({6_~=8mQp#x-N1@kl?UC8=p*GdsbriQaO&tOjJnicqmo zl!X=zh8Fb__4r2S1Y}MX&x8XiER+3Z1=U{@`Xzm}(aA*2{mom<2hA(Z^~|~0vthi} zu0Sn35v_z1IPVuQZ51wnhFyHQm@P-Bjj(ODp06hw)r}D2g5E_xtocD_?3c}Dm`p@H zpNK2H6ke?nRPm3?qJK~_2D_X#3ErE7e zjkIk)T>}Mw4+#BP$qqZ8P-dQB>hp_n?ui<$bG2Hbku}% zB#-?ua(K-O6qSd7d^`cUOjF*3h| z&iwLUk@?R_yR*-BA6LK2ewF>qJ~usw__VN12%ix9vfMAp`6(MyJd*2_`y#e<45>X275h<fU&*%8SMC=*gcS35d1ObE;mxez%in>;kzk%O z;LB3*G5cvW`1C5cY!J`kN06N#1Z(wzTE2t~Y%(0!0hZ4KcvUFFp?oSd;WoY>>+R#~ zkz>{8gwKO2osVR!0cnb=Z9$F`Lw(?~?vnx%g1XxqsBA$)=w0MFRgkeoVXxO&81KL* zgNqMBWY_ml(5TqRYRqdbKJ8cDX0t5Aq(`EULxLFVF|GVek87OnrqnU3T=GKarI z<_6YX*-(tkT>X}kTa3)HmQKppe?%rB?>RFj`h7KbBqi1SkkvhKZ(wKJQaobq&4R!TBNgF3NL@M#jV!vs7lAf2hr zY9YB!M*i9osl#nn13v5-^kEy(6P%d>F5Uq&MW{jzC|v^H8bc)yKmL-h`3Rf4=B=7CX( zSXJ0z;QNpD+Co_+CipchOIZ>iScpq4miQr92S)khs7P zrM(<~;Vo09%O%}M{VOux>&%^`i?XwrGcU7h%H?8Y4%VM3gNuZ!b&*?E_K>O%+I*+!Z zPmpNFla0`t)sY)+LtfYzT(%V+=p@_2mLRK42E!gG>h<`bJ9LvZ1+zt>>v;@4(hwO7 zpT*Fr8Y|+Uwmb0`$m45(JtL8vS3>r92YGrB-B^^hmnD6b8c>EaXdtpR3$VEguKW$x z;d;)YAJCA$!Z$WV)m{f3P=$VsdR+!+AAxLO7>@iNoN{@f%!dlPn|w$vDj$*`(Yx}X z-r(kaWH6~ylr+sDy@?aaQNmE$7XzD%&`U^rIU}mUTYi*F&dmB>AoC~EQTeGDnXg$D z<#jPKJA*Sj7bEjy%U0#%Vq~T|+eqp^I-tU&y#%EN1trLwWuF-IB1DbwioO~9K|*Ze zXG!MdjY*#-E=*VzS1C3(=1fd}%-oof(Muye!_6Vz*=h&0^!?1+(R-Ko6`wzRTl&TM z)%9KD-NEy7x3VtfojfdW^gQE=+1p{Z!&nDLhh~;f%@a-2jM@4!?T{L&-j+hGrH)k> zsZ-SE>N6xb+n^U8@EoyS9#Z#c^YjmlJ%(l~ZMti$FzOqB>7VLvw9eWl^#QK*AYm1$ z;u|Qh7*yjSau~L+C(FrHIaEH8Q`GX>ajh0orgi#qeT?2-ucasJcAe?FwYJ(tHBHTy zirfI@W|1GF8_*Xlx=}pgS6N$lg<-4;RBJF2cp|6CYAVxmwa)r8y{qw)@s~kNZ;ac< z5o43F%2;jW8b^%_#tDqt7RFEnEexAJ`S7ppM__I2Thcvs9CUl}1)Xz|a*C~;a;gEGD% zUm~mh5t-LX)S+g4C_95rQ3d#>AJ|dMi~{C{o@o_c2VSfK_u@BDO%mA_8b!ZHHnkbb z@*18y$Xardq|wDRpC&<9r@dS}#8!;VrT#Vk7sy->WUenpW(@D8#PGL%yqSJUX;zHP zN*0||Dn@3E^JxeLH#&@m%em?$*b(y6afi>#p%`o!v&eO?La#E!J(J z>z=YJT$+?Q?_9xYV5y0g5vGp%7wQgKTYar&YMIEBhM@1=4E`rob_6=wNq>0|UF>8T z5AV`V?`%{yJu{6m-!cbU%31s@SIr~L1*S~XTw|YpQ5DG*VJNwm=-#-~I9eNeup>N7e<;yuNP{+lF?S(l zzYnB!0Jao#(bt0Ol0-Aq^SW?*`FuO_)^L6Tol6I{h{n_HP<;k`$ujhW?vp3DPlsdA z{pfnsU{|1X7#P_XcZ}TO^~3`BscYci1)>SMLEHH(=$A9xUDSqRs1N_RAME-R8pI3u zYeiqfv6UvVV8iD~plU*ECPOt`!v9%Fk5)icy3usFqHeT1xEwjV< z3&%tUCv$V7jb2uF)SqfAv=CI)E8sg1X+aLsNKTPgWi9m=wHCBtlKz#xOFyrl)A#C& z^+9?~-9x{Rn%dBWeNe*%+v;(avknv{zc5_KP-A`#@vb2DOvw zqW&VYuKQo`>4Gn2}Knh>CD97xE{A5!oxR3!di(YfK4Ol{{ia5*e3u0 literal 0 HcmV?d00001 diff --git a/phsource/vowel/vowelchart.png b/phsource/vowel/vowelchart.png index a9b305d10ca6cdb7e8917fa13d8d5a3cdf74a5ac..3e0aaef92d1c003b8ad07f98932e3e03ef080376 100644 GIT binary patch delta 54450 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 diff --git a/phsource/vwl_fr/_r b/phsource/vwl_fr/_r new file mode 100755 index 0000000000000000000000000000000000000000..6a598414d967739bc130198940a1fe8d94584832 GIT binary patch literal 46622 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 literal 0 HcmV?d00001 diff --git a/phsource/vwl_fr/r b/phsource/vwl_fr/r new file mode 100755 index 0000000000000000000000000000000000000000..29acdc462c8efd81401378155e8c403e481c8d5b GIT binary patch literal 1005 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 delta 157 zcmZ3^x`I_8IKb68B-k~Og@J*gDBi(nB7ctB0qzHk4;UF3-u*A(W8j3a85k0z8(3iM z3ONR*i3>l49b{`}5@QBxWe{Ov;1gy7>0)3IWtHMkg0lO$5}5^{?AP4w%*If*BkvZb UN+|oW=s`H!Q-*k6l delta 107 zcmZ3^x}23iIKb68B-k~OnSp_!C_aB8zlY}r{s)X-7=e6-^BfGkqD*Q`AoewG1|Ar@ sfR};SiYWpp{_cO900Ubq(;l!IEoliB7`sA_bK?RJMnVe(7HeE>645p)0m delta 89 zcmZ3^x}0^wd?p8`g$o%yzA~O+WB`IJmJ959OdL!g_A{;kW)Y?bVDXFG0?bxWb~f(; W##Si1M)Uv^jIAIez%=(^b delta 37 tcmZ3^x`I_8IKb68B-k~Og@J*gD8AHaBL4)Y2BwV*-5D8~Cck9d2LQj)3fcew diff --git a/phsource/vwl_fr/r_y b/phsource/vwl_fr/r_y index 34d062e7eabe5faedab95b56fff559ff3ee1a262..41982babf35355fd15a0f63df311b9693807a661 100755 GIT binary patch delta 88 zcmZ3^x}0^w0!GG#3mH8wFv>7706`{e1FI4fggu*!fmwt}1T6lPn}OMi$qLL?N)cV?xi^VT9`D`r&b{+q<~O&xvAVKVUEMSQ9^bd| zfN}U2xbL@n`@nhKPaJwTkk%)jzTE>tbyJsPkTVGFTl<#i?+)y;DXTx{0|Whvx@KzX zw_-rcv{W}!um-wTIP`-_u%c!1Si&0SF@qEm7)2K2I7zRF9REv#y8^}#fs63}5kiPM ziWu`_j1kRvFm!x)%-ZU?R4yz|QF2CvQT7pC9X@N*ap=gD8)Wt9i;{cfgfO!n>+h-CMI*Y~r$`>jS<|C<;2>`L6u)^v#PBB%G-8cV(G;mI z9E=1`#Z=V)oP}NK6a86)HPDOGDOR-10;;%+H+X_GBvQsK<0hWrC@$eF>7K(1N@O}t zzGbZZ=}PB*`J1=e{#RpcDVwu{+=h9mM0~fA=~zMv z*zpkWSRL)p<0EaaYjstBiX%KA+s-#^+x$@f*AbY3ZXTObeTrQeklAh2@f?rP#7n%x z4yj(nDrqigk4}-*dECJ*T&A}~wpVZsH#z2Uk-H15JB>+p^9&XlbA10%vWam`BF-tw kCokbDJfj>QqtA@=U5d=)E9LoRO1v#YsvdJvC!H9@KgjfAcK`qY literal 0 HcmV?d00001 diff --git a/phsource/vwl_fr/re b/phsource/vwl_fr/re new file mode 100755 index 0000000000000000000000000000000000000000..ef0c2e1d64244577cda0c4d4d0948a5a8b963c66 GIT binary patch literal 672 zcmYk3PfJu$7{-71%-os#XL2TIvdJVBK_<{L%BV$kBL->_Bxb1;xX@*r7K6BPmad{N zAovN~)?xyQ@Ea5@UASn`(p{iF=N)e2J)HCY-se4kF3-F8s{QQsVtc^>A2%H9iWk2u z{IS;0vv98u474{i?8MfWuTbi^j=zScqjVCS1fG8vDNMU*(`Qo1`LlT0Et}q}K+pAz zcj^Q=b8Vn!<9!}wp6ATcqE3w}R~g}^v@x3cmzuKc3=B-*_Df&FJwWzZNDMcxM`WO6~NcZI5@i&xJO%$K}+poRwCdjeF34;sE zKwFaPegAoOKsP>i$L7SJpj-bQ{4y60%URMx_j4PL@<-9R;kmlSSqnPvN zjjqeNHI*6Pl7|@!tkPkd5A5)XZ|w4(r?i>lt~orxB=>p83Xi1CbBD*gQJJZ-{*ad FIS1)XN#+0m literal 0 HcmV?d00001 diff --git a/phsource/vwl_fr/ri b/phsource/vwl_fr/ri new file mode 100755 index 0000000000000000000000000000000000000000..81cd020df83361c4ee1e70b204f695dd77d315be GIT binary patch literal 672 zcmYk3J!=$E6o#Lz#==6hu*we*D?1B)&&kGQF87}Iyyt$+bC)jnE?imaEe7D;oxp9y z-CsBPxU!XZlUG}U9q$@VU-9tW8~UZ^;g@a0=cu3ljDAO^vohr(OuN5QS&NHMxNcYb z@j_T|y;*?7fOK9;mLmQ#{r-A=GEmv73>u^om~ z%@xo6dE1yb2qN~WaItIH@vh1>?%)2tfbe5Lu@$Y=HwP5Iq|}-Nir*_#o1y81?$)Ty zg*n$x8kE<=y6Zy|#E%CQAM7XE)}5&=m_96qT^6~?eIBvOQ=ajGm)zn!J&tnR2^X|E z$uc)MBX5>toaGYN)n+)Y?3Csm;eg(v!wJQfXx5!`oxSW)uPU!NtJJw?8gtRqFF3Uk Xz1f)FaGWW%Hluo>Ts50#95em_sgy)j literal 0 HcmV?d00001 diff --git a/phsource/vwl_fr/ro b/phsource/vwl_fr/ro new file mode 100755 index 0000000000000000000000000000000000000000..25e4f26db71626afb8b8ebd6f7129f12e4489e2a GIT binary patch literal 672 zcmYk3y-QnB7{-71+}wC`lbUF38dPdTkO+RXRK*Uh5sBzfsA$`?w9vt|6dZ!MxH^eL z)!%v=iPbTT;JVkZaZNAt7A{`{?~{u zKlk!R^t~tOv$u@+6Nl#)kZrrRT|?E8y$Nmt(|VwC9U7uQW z#^>c>gKa+0=7=vGbHY!)@rgB>JmHylxW**QeB?bZ#FluEjxwb&$wPH0QO)+5k2!7u()UCb literal 0 HcmV?d00001 diff --git a/phsource/vwl_fr/ru b/phsource/vwl_fr/ru new file mode 100755 index 0000000000000000000000000000000000000000..2609a3d71a5c7dace83b3c096f9682379625b729 GIT binary patch literal 680 zcmYk3O=}ZT6o#L<$;>28(kcB&tAz?xYQYvM(jwYw=$8$&)Y2$H7iJ;25QGXXE?v6J zPjKg^v|EL^EiT-)xa`88(4C9;-ZLGNIox}n^WJ-A?woi3`Nmpfe`C)99}gXGwe~-? z@WS+WBObPGH#2Tu4#Iw3?0`o z{xZ_z=46j+x6p}>o92n)KJ$!Fp~|>oihDd@(y}2&Nkqeh#EPPB7>o0wP@_PJvMN(8 zlHzr*7EKF@$XTr}u81sreQ23i3dWvd={eQLcFOB1WwU>CtnWSjcQRD>?NIN2wG8^E zp4O1+9XRbCLvZHKtS7SpV;8}N_4BVIX$QZJTScPF;L^BUp^)-vcR8V$>Ft~3GX6C6 z*=0O?JLNm9vdA`%ctwjf*2SwDyBzS7Z|sO3vceWGd8fNQQ>-i7qQMK^^MN{#H8xq6 zFN< literal 0 HcmV?d00001 diff --git a/phsource/vwl_fr/ry b/phsource/vwl_fr/ry new file mode 100755 index 0000000000000000000000000000000000000000..4220ad8c845717537490d727c498e8ec91e312fd GIT binary patch literal 680 zcmYk3%}X0W7{-4)$?it;Nh7JjrG;8zK}#uODSkC*(kisnVwBJxnnOTA5ZXh)y9bZ` z3#7N+>Qy1Vd-EiC%%KPW0B;`RGZUA%FEjIdpP6@e_I)-t>Z^^-`WFNIJTSDiK76YF z+3!JK_3we9_KhUpwSCz?g`i_P_BD(ff*bF~vwW2#Q85*#&!i#dU*e`|I=!2LuIV~H zDh|0hG34q~bfRmXv8;H-ONwME@mTSMX=a&lS%ER~qDT0IiV@u~6emT#Mv62URSvX3 ziq)+;;xwOtgsauX6@d#|@4L(@DaV#V=?T?_?v&LB6wmg}p}zO-_HSX`wnM!;Z#j4{ z4Yh_;>%d9>Q2jhM$F3&@kK(QuIgUcIks0uHicHVzxjz5T#C+0kjOp| zMv#IBObkF4gl)shz|h9n1{OEr0Ln2w0JC#=7=SDg``!Nx0fhJiX#~4Mj)7qh(;kr1 z7&Me2Y!wCz1~&#<1{nqp24Myf22loa26+Z$1_dBnh=Gqm07!}eAs0}doq-dGL6D7s z73fknpcofW4L6YH0LpOyML;A7g5+V4nSmM1W(A5ubTTn80a+|SK1>Y6=LCzffmsN1 qSb=I;fp&siVE?Cq%^T!=21J;FxoBeHKt3qstG1ILjtmULHyi<{>pqhJ literal 0 HcmV?d00001 diff --git a/phsource/vwl_fr/xr b/phsource/vwl_fr/xr new file mode 100755 index 0000000000000000000000000000000000000000..8747020faf59cd6936845eefed700cf1c83d2bf3 GIT binary patch literal 684 zcmchUJx;?w5QSgX-t|uc1QNtgK#2r$m5K@qgrz9Zf`Wua%?T(XjzGx~!U<@Ra7D!t zXt+gaXyDB(#yJ5VdH3y`*}rcm=i|}kWPD)&+}#>nvtRsj`#SUEJbe32)ZP_B+|d2_ zeg@psOl28t8n}65-VpsBBFIdp{;&yD`hmJIh5BU+C{3yQzEkU>SL?hFR+MHRhd9MC zb`Yb3F4nPuKK3x6Uc)llY`ct<`3MPr2?xuQI(jK~`!W+Ai(l;tb>aB*ZyYlm;S3|}lGPR&_80>U zaX@}cj8*#E%(h7@;eCWnL@u6ON_T}dl1r3li>;6rww|8w3dkn @@ -152,7 +151,7 @@ typedef enum { #ifdef __cplusplus extern "C" #endif -ESPEAK_API int espeak_Initialize(espeak_AUDIO_OUTPUT output, int buflength, const char *path, int options); +int espeak_Initialize(espeak_AUDIO_OUTPUT output, int buflength, const char *path, int options); /* Must be called before any synthesis functions are called. output: the audio data can either be played by eSpeak or passed back by the SynthCallback function. @@ -171,7 +170,7 @@ typedef int (t_espeak_callback)(short*, int, espeak_EVENT*); #ifdef __cplusplus extern "C" #endif -ESPEAK_API void espeak_SetSynthCallback(t_espeak_callback* SynthCallback); +void espeak_SetSynthCallback(t_espeak_callback* SynthCallback); /* Must be called before any synthesis functions are called. This specifies a function in the calling program which is called when a buffer of speech sound data has been produced. @@ -199,7 +198,7 @@ int SynthCallback(short *wav, int numsamples, espeak_EVENT *events); #ifdef __cplusplus extern "C" #endif -ESPEAK_API void espeak_SetUriCallback(int (*UriCallback)(int, const char*, const char*)); +void espeak_SetUriCallback(int (*UriCallback)(int, const char*, const char*)); /* This function may be called before synthesis functions are used, in order to deal with