Keep the original voice variant across SSML xml:lang changes. Use the original language sub-type (eg. en-sc) when SSML xml:lang changes to a compatible language. SSML <emphasis>, increase volume for "strong" and "x-strong". Fix bug where </emphasis> was ignored at end of clause. Fix: $dot attribute was ignored for multi-word entries in *_list files. git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@269 d46cf337-b52f-0410-862d-fd96e6ae7743master
| @@ -290,11 +290,9 @@ skinheads _^_EN | |||
| street _^_EN | |||
| boy _^_EN | |||
| square _^_EN | |||
| appeal _^_EN | |||
| apple _^_EN | |||
| beachbuggy _^_EN | |||
| beachvolley _^_EN | |||
| browser _^_EN | |||
| chart _^_EN | |||
| coach _^_EN | |||
| coke _^_EN | |||
| @@ -307,7 +305,6 @@ event _^_EN | |||
| firewall _^_EN | |||
| freak _^_EN | |||
| friendly _^_EN | |||
| groupie _^_EN | |||
| homepage _^_EN | |||
| hooligan _^_EN | |||
| interface _^_EN | |||
| @@ -371,7 +368,6 @@ bbc _^_EN $alt | |||
| boston _^_EN $alt | |||
| bronx _^_EN $alt | |||
| boyle _^_EN $alt | |||
| clarence _^_EN $alt | |||
| cyrus _^_EN | |||
| cia _^_EN $alt | |||
| fox _^_EN | |||
| @@ -383,7 +379,7 @@ montreal _^_EN $alt | |||
| oregon _^_EN $alt | |||
| piccadilly _^_EN | |||
| reynolds _^_EN $alt | |||
| purvis _^_EN | |||
| //purvis _^_EN | |||
| white _^_EN $alt | |||
| // PB French words | |||
| @@ -1496,6 +1492,7 @@ rentrice $alt | |||
| renæssance $alt | |||
| ressource $alt | |||
| restance $alt | |||
| revanche $alt | |||
| romance $alt | |||
| seance $alt | |||
| service $alt | |||
| @@ -2001,6 +1998,7 @@ spartan $alt | |||
| srilankan $alt | |||
| sudan $alt | |||
| taiwan $alt | |||
| texan $alt | |||
| tibetan $alt | |||
| tongan $alt | |||
| trojan $alt | |||
| @@ -2161,7 +2159,7 @@ etik $alt | |||
| eugenik $alt | |||
| excentrik $alt | |||
| fabrik $alt | |||
| falkeblik $alt | |||
| //falkeblik $alt | |||
| folkloristik $alt | |||
| fonetik $alt | |||
| fysik $alt | |||
| @@ -2183,6 +2181,7 @@ heuristik $alt | |||
| homiletik $alt | |||
| hydraulik $alt | |||
| informatik $alt | |||
| journalistik $alt | |||
| kamik $alt | |||
| karakteristik $alt | |||
| kasuistik $alt | |||
| @@ -2794,6 +2793,7 @@ homofoni $alt | |||
| ironi $alt | |||
| kakofoni $alt | |||
| kapellani $alt | |||
| katatoni $alt | |||
| kleptomani $alt | |||
| koloni $alt | |||
| kompagni $alt | |||
| @@ -2801,7 +2801,6 @@ kosmogoni $alt | |||
| kvadrofoni $alt | |||
| litani $alt | |||
| ludomani $alt | |||
| makaroni m&k@r'Vni $alt | |||
| mani $alt | |||
| misogyni $alt | |||
| monomani $alt | |||
| @@ -6561,16 +6560,16 @@ kontingenter $alt | |||
| kontinuer $alt | |||
| kontraher $alt | |||
| kontrasigner $alt | |||
| kontraster $alt | |||
| kontrastere $alt | |||
| kontribuer $alt | |||
| kontroller $alt | |||
| kontrollere $alt | |||
| konturere $alt | |||
| konvener $alt | |||
| konverger $alt | |||
| konverser $alt | |||
| konverter $alt | |||
| konvojere $alt | |||
| konvoluter $alt | |||
| konvolutere $alt | |||
| kooperer $alt | |||
| koordiner $alt | |||
| kopiere $alt | |||
| @@ -6628,7 +6627,7 @@ lakser $alt | |||
| lamenter $alt | |||
| laminer $alt | |||
| lancer $alt | |||
| lasere $alt | |||
| //lasere $alt | |||
| latiniser $alt | |||
| lavpasteuriser $alt | |||
| legaliser $alt | |||
| @@ -6825,6 +6824,7 @@ patentere $alt | |||
| patiner $alt | |||
| patroniser $alt | |||
| patruljere $alt | |||
| afpatruljer $alt | |||
| pausere $alt | |||
| pelleter $alt | |||
| pendulere $alt | |||
| @@ -7175,7 +7175,7 @@ stoltser $alt | |||
| strabadsere $alt | |||
| stranguler $alt | |||
| stratificer $alt | |||
| strukturer $alt | |||
| strukturere $alt | |||
| omstrukturer $alt | |||
| studere $alt | |||
| indstudere $alt | |||
| @@ -7218,7 +7218,7 @@ taktere $alt | |||
| taktreguler $alt | |||
| taljere $alt | |||
| tamburer $alt | |||
| tamponer $alt | |||
| tamponere $alt | |||
| tangere $alt | |||
| tapetser $alt | |||
| tarer $alt | |||
| @@ -9623,6 +9623,7 @@ interferon $alt | |||
| futon $alt | |||
| føljeton fWljet'Vn $alt | |||
| facon $alt | |||
| kamæleon $alt | |||
| lazaron $alt | |||
| makron $alt | |||
| melon $alt | |||
| @@ -10232,6 +10233,7 @@ palæontolog $alt | |||
| patolog $alt | |||
| politolog $alt | |||
| prolog $alt | |||
| proktolog $alt | |||
| psykolog $alt | |||
| radiolog $alt | |||
| runolog $alt | |||
| @@ -10399,6 +10401,7 @@ zoologi $alt | |||
| økologi $alt | |||
| // final -ose - stressed o | |||
| acidose $alt | |||
| antibiose $alt | |||
| apoteose $alt | |||
| asbestose $alt | |||
| @@ -10717,6 +10720,7 @@ processor $alt | |||
| professor $alt | |||
| provisor $alt | |||
| revisor $alt | |||
| sektor $alt | |||
| sensor $alt | |||
| sponsor $alt | |||
| successor $alt | |||
| @@ -11209,6 +11213,7 @@ fx fVegsemp@l // PB "fx" is short for 'for eksempel' | |||
| emp $abbrev | |||
| hbo $abbrev // TV station | |||
| usa $abbrev | |||
| kfum $abbrev | |||
| who $abbrev $allcaps // PB World Health Organization | |||
| ussr $abbrev $allcaps // Sovjet Union | |||
| vsop $abbrev | |||
| @@ -11234,6 +11239,8 @@ bh $abbrev | |||
| (bh'er) b,e:h'O:V | |||
| (l'chaim) l&kr'ajm | |||
| scsi skVsi // PB | |||
| ike ajk // PB name | |||
| ikes ajks // PB | |||
| // Try to catch errors | |||
| @@ -53,7 +53,7 @@ p r s S t T v w | |||
| x z | |||
| Dictionary da_dict 2011-05-05 | |||
| Dictionary da_dict 2011-07-21 | |||
| & &# 0 3 @ @- a A | |||
| aI e E i o O u V | |||
| @@ -62,11 +62,11 @@ W W# y Y | |||
| * - : ? b B d D | |||
| dZ f g h j J k l | |||
| l/2 l/3 m n N p r R | |||
| s S t T tS v w x | |||
| z Z | |||
| R3 s S t T tS v w | |||
| x z Z | |||
| Dictionary hu_dict 2011-06-25 | |||
| Dictionary hu_dict 2011-08-08 | |||
| a A a: E e: i i: o | |||
| o: u u: Y y y: Y: | |||
| @@ -101,7 +101,7 @@ p Q r R s s; t T | |||
| ts v x z | |||
| Dictionary en_dict 2011-06-21 | |||
| Dictionary en_dict 2011-08-09 | |||
| 0 3 3: @ @- @2 @5 @L | |||
| a a# A: A@ aa aI aI@ aU | |||
| @@ -201,7 +201,7 @@ q r r. s S s. t T | |||
| t. th th. v w x z | |||
| Dictionary ta_dict 2011-06-25 | |||
| Dictionary ta_dict 2011-08-09 | |||
| a a: aI aU e E e: i | |||
| I i: o o: u U u2 u: | |||
| @@ -326,7 +326,7 @@ k l m n p R s S | |||
| t tS v w x | |||
| Dictionary nl_dict 2011-06-08 | |||
| Dictionary nl_dict 2011-07-23 | |||
| 8 @ @- a A a: A~ e | |||
| E e# E2 e: EI eU i I | |||
| @@ -388,7 +388,7 @@ S s# s; t T tS ts v | |||
| w x z Z | |||
| Dictionary ro_dict 2011-03-10 | |||
| Dictionary ro_dict 2011-07-21 | |||
| @ @- @I @U a aI aU e | |||
| ea eI eo eU i i/ I^ iI | |||
| @@ -416,7 +416,7 @@ t; ts tS; v x z Z z; | |||
| Z; | |||
| Dictionary sk_dict 2010-03-12 | |||
| Dictionary sk_dict 2011-08-08 | |||
| & @- a a: e e: i i: | |||
| l- l: o o: oU r- r: u | |||
| @@ -425,8 +425,8 @@ u: | |||
| * ; b d d; dZ dz f | |||
| g h j k l l^ m n | |||
| N n^ p r R R^ R^/ s | |||
| S t t; tS ts v x z | |||
| Z | |||
| S t t; tS ts v w x | |||
| z Z | |||
| Dictionary sq_dict 2008-12-22 | |||
| @@ -748,3 +748,28 @@ b d d. dZ f g h j | |||
| k l l. m m# n N n# | |||
| N# n. n.# n^ n^# p r s | |||
| S t t. th tS v w z | |||
| Dictionary et_dict 2011-07-01 | |||
| & &: &i 8 8: 8u a A1 | |||
| a: e E1 e: i I I1 i1 | |||
| i: o O1 o: u U1 u: Y | |||
| y Y: y: Yi yi | |||
| : b d d^ dZ f g h | |||
| j k l l^ m n N n^ | |||
| p r R s S s2 s^ t | |||
| t^ v w z Z | |||
| Dictionary mt_dict 2011-07-29 | |||
| @ a ai au e ei eu i | |||
| I ie iu l- o u U ui | |||
| y yi yY | |||
| * : b c C d dZ f | |||
| g h j k l m n p | |||
| q r s S t tS v w | |||
| x z Z | |||
| @@ -46,7 +46,6 @@ u ju: | |||
| v vi: | |||
| w d'Vb@Lju: | |||
| x Eks | |||
| y waI | |||
| z zEd | |||
| ?3 z zi: | |||
| @@ -391,6 +390,7 @@ ufo $abbrev | |||
| ui $abbrev | |||
| uk $abbrev | |||
| un $abbrev $allcaps | |||
| unhcr $abbrev | |||
| url $abbrev | |||
| usa $abbrev | |||
| usb $abbrev | |||
| @@ -570,7 +570,6 @@ anniversary anIv'3:s@ri | |||
| anon a#n0n | |||
| anonymous $2 | |||
| another a#nVD3 | |||
| answer aans3 | |||
| ante anti | |||
| antecedent antIs'i:d@nt | |||
| antibody $1 | |||
| @@ -950,6 +949,7 @@ customer k'Vst@m3 | |||
| cutaway kVt@weI | |||
| cutoff kVt0f | |||
| cutout kVtaUt | |||
| cwm kUm | |||
| cyan saI'an | |||
| cymru kVmri | |||
| @@ -957,6 +957,7 @@ dahlia deIli:@ | |||
| dais deIIs | |||
| damaged d'amI2dZd | |||
| dandelion dandI2laI@n | |||
| ddu DI // Welsh | |||
| de d@ $only | |||
| debacle deIb'A:k@L | |||
| debrief di:br'i:f | |||
| @@ -1565,6 +1566,7 @@ million mIli@n | |||
| minibus mInIbVs | |||
| mining maInIN // not mini | |||
| minuet mInju:'Et | |||
| minus maIn@s | |||
| minute mInIt $onlys | |||
| mirage mIrA:Z | |||
| misery mIz@rI | |||
| @@ -2049,7 +2051,6 @@ sceptre sEpt3 | |||
| sclera skli@r | |||
| scourge sk3:dZ | |||
| scrotum skroUt@m | |||
| scythe saID | |||
| seabed si:bEd | |||
| sealion si:laI@n | |||
| seance seI0ns | |||
| @@ -2087,6 +2088,7 @@ sex sEks // sexism | |||
| several sEvr@L | |||
| shallow SaloU | |||
| shampoo $2 | |||
| shepherd SEp@d | |||
| sheriff S'ErI2f | |||
| shew SoU | |||
| shia Si:@ | |||
| @@ -3002,6 +3004,7 @@ Carnegie kA@nEgi | |||
| Cohen koU@n | |||
| Cthulhu k@-Tu:l#u: | |||
| Chrysler kraIzl3 | |||
| Dante danteI | |||
| Disney dIzni | |||
| Dolce d0ltSeI | |||
| Dvorak d@-vo@Zak | |||
| @@ -52,6 +52,7 @@ | |||
| sw) a (B 0 | |||
| a (Be# eI | |||
| w) a (Be# eI | |||
| a (Cee+ a | |||
| a (BeCo_ a | |||
| a (BerA a | |||
| a (BerC a | |||
| @@ -164,6 +165,7 @@ | |||
| @) awi (_ 'A:wI | |||
| _) aw (k O: | |||
| _) aw (ok a#w | |||
| awr (_ aU@ | |||
| C) a (x+ a | |||
| _) a (x+ a | |||
| ay eI | |||
| @@ -777,6 +779,7 @@ | |||
| tr) an (si an | |||
| tr) ansis anz'Is | |||
| tr) an (som an | |||
| answ (er aans | |||
| ante (nn ant'E | |||
| _) anti (@P4 ,antI // prefix | |||
| ant (iq ant | |||
| @@ -868,6 +871,7 @@ | |||
| &h) ar (d_ 3 | |||
| &ch) ar (d 3 | |||
| &k) ar (d_ 3 | |||
| &p) ar (d_ 3 | |||
| &st) ar (d_ 3 | |||
| &w) ar (d_ 3 | |||
| aw) ar (d O@ | |||
| @@ -1456,7 +1460,7 @@ | |||
| co (mpou k0 | |||
| co (mprehen k0 | |||
| co (mprom k0 | |||
| co (mpt k0 | |||
| _) comp (tr k%0m | |||
| co (mputa k,0 | |||
| _) co (mr k0 | |||
| _) con (@ k%0n | |||
| @@ -2206,7 +2210,6 @@ | |||
| &) en (ce_ @n | |||
| ?8 &) en (ce_ En | |||
| f) en (ce_ En | |||
| g) ener (al En@r | |||
| _) en (ough I2n | |||
| .group eo | |||
| @@ -2255,6 +2258,7 @@ | |||
| _) er (A I2r | |||
| _) er 3: | |||
| _) err (A Er | |||
| @) eral (ity @r'al | |||
| &) eram (ent r@m | |||
| X) era (_ i@r@ | |||
| XC) err Er | |||
| @@ -3096,7 +3100,7 @@ | |||
| inte (llec Int@ | |||
| _) inter (@P5 ,Int3 // prefix | |||
| _) inter (AP5 ,Int@r | |||
| inter (est Int@r | |||
| inter (est Intr | |||
| interfer Int@f'i@3 | |||
| _) int (erio+ %Int | |||
| _) inter (n_ %Int3: | |||
| @@ -3183,7 +3187,6 @@ | |||
| inism (_ InIz@m | |||
| infor (matio Inf3 | |||
| ino (_ 'i:noU | |||
| _m) in (us aIn | |||
| _m) inu (te aIn'ju: | |||
| _m) inute (m InIt | |||
| _) intra Intr@ | |||
| @@ -3679,6 +3682,7 @@ | |||
| X) o (By_ oU | |||
| _) o (Cy+ 0 | |||
| o (Be# oU | |||
| oi (ce# OI | |||
| o (BeCo_ 0 | |||
| o (BenC oU | |||
| o (Beon 'oU | |||
| @@ -4792,7 +4796,7 @@ | |||
| _) scar (A ske@ | |||
| _) scar (a skar | |||
| scarc ske@s | |||
| sc (i s | |||
| sc (L02 s | |||
| sci (b s@ | |||
| sci (_ =skaI | |||
| scis (_ =skIs | |||
| @@ -5381,6 +5385,7 @@ | |||
| _) wr (Y r | |||
| C) w (_ w@ | |||
| C) w (X U // Welsh names | |||
| wh w | |||
| wr r | |||
| C) we (_ =wI | |||
| @@ -5424,6 +5429,8 @@ | |||
| xure (_ kS%U@ | |||
| .group y | |||
| _) y (_ waI | |||
| -) y (- @ // Welsh names | |||
| y j | |||
| _) y' (CP2 j@ | |||
| y (C_ I | |||
| @@ -447,6 +447,7 @@ WC ve:tse: $allcaps | |||
| LST ElESte: $allcaps | |||
| BAR bAR2 $allcaps | |||
| //SS EsEs $allcaps | |||
| ALT Alt $allcaps | |||
| (a . m .) An^n^i||m'int $hasdot | |||
| ún u:JnEvEzEt: $hasdot | |||
| @@ -1773,6 +1774,54 @@ fajták $unstressend | |||
| körülményei $unstressend | |||
| bízva $unstressend | |||
| száma $unstressend | |||
| képes $unstressend | |||
| számoltak $unstressend | |||
| fakadó $unstressend | |||
| firtatta $unstressend | |||
| ítélték $unstressend | |||
| itélték $unstressend | |||
| fogják $unstressend | |||
| bennem $unstressend | |||
| állhat $unstressend | |||
| lényege $unstressend | |||
| derített $unstressend | |||
| gyártotta $unstressend | |||
| beszélni $unstressend | |||
| számítógéppel $unstressend | |||
| változást $unstressend | |||
| lettek $unstressend | |||
| tapasztalattal $unstressend | |||
| súlyát $unstressend | |||
| hatnak $unstressend | |||
| rugalmas $unstressend | |||
| anyagok $unstressend | |||
| tárgyak $unstressend | |||
| váltak $unstressend | |||
| szűrő $unstressend | |||
| szűrők $unstressend | |||
| vitát $unstressend | |||
| tevő $unstressend | |||
| lévő $unstressend | |||
| ajánlat $unstressend | |||
| jelentkezhetnek $unstressend | |||
| léphessen $unstressend | |||
| építeni $unstressend | |||
| darabra $unstressend | |||
| figyelmesek $unstressend | |||
| láttuk $unstressend | |||
| hullott $unstressend | |||
| szóltak $unstressend | |||
| hallatszott $unstressend | |||
| keresték $unstressend | |||
| gépeket $unstressend | |||
| követte $unstressend | |||
| keresik $unstressend | |||
| éreztem $unstressend | |||
| vitatta $unstressend | |||
| vitatja $unstressend | |||
| útját $unstressend | |||
| nehézségeket $unstressend | |||
| // word pairs | |||
| (hogy a) h,oJ,A | |||
| @@ -44,7 +44,7 @@ | |||
| bb (L01 b // only speak one b if followed by a consonant | |||
| bbr bR2 //special exception with always need executing | |||
| bbj bj //special exception with always need executing | |||
| .group c | |||
| c ts | |||
| @@ -285,6 +285,8 @@ standar) d (jegy d | |||
| harma) d (szint d | |||
| kó) d (jel d | |||
| harma) d (sor d | |||
| beszé) d (javít d | |||
| rekor) d (sugár d | |||
| .group dz | |||
| fogó) dz (kod ts | |||
| @@ -332,6 +334,7 @@ smarag) dz (öld d|z | |||
| kapáló) dz z | |||
| _ó) dz (ko ts | |||
| gyűrű) dz (ik z | |||
| burkoló) dz z | |||
| .group e | |||
| e E | |||
| @@ -530,6 +533,7 @@ harmince) gy (edik J: | |||
| e) gy (összeg J: | |||
| e) gys (ík J|S //for example egysíkú word need spokening single J and S phoneme | |||
| _e) gy (öntet J: | |||
| tár) gy (sor J | |||
| .group h | |||
| h h | |||
| @@ -745,6 +749,7 @@ helybe) n (jár n | |||
| idé) ny (jel n^ | |||
| vagyo) n (nyilatkozat n //for example vagyonnyilatkozat word need spokening single n phoneme before n^ phoneme, not two n^n^ phoneme. | |||
| szí) n (jelzés n | |||
| kormá) ny (jelentés n^ | |||
| .group o | |||
| o o | |||
| @@ -835,6 +840,9 @@ működé) s (zava S | |||
| viselkedé) s (zava S | |||
| alkalmazá) s (szerver S | |||
| fá) s (szárú S | |||
| ritmu) s (zavar S | |||
| pedagógu) s (sztrájk S | |||
| .group ss | |||
| ssz ss2 | |||
| @@ -1022,6 +1030,7 @@ települé) ssz (er Ss //for example településszerkezet word need spok | |||
| gyor) ssz (űr Ss //for example gyorsszűrő word need spokening single S and s phoneme | |||
| _a) ssz (iszt s //for example the asszisztens word need spokening one s phoneme | |||
| eltu) ss (ol S | |||
| ellátá) ssz (er Ss | |||
| .group sz | |||
| sz s | |||
| @@ -1175,6 +1184,7 @@ interne) tj (egy tj | |||
| álla) tj (ólét tj | |||
| dolgoza) tj (avít tj | |||
| természe) tj (ár tj | |||
| terüle) tj (elöl tj | |||
| .group ts | |||
| ts (_S2 tS //general rule with word end of ts letters | |||
| @@ -1377,7 +1387,7 @@ terüle) ts (áv t|S | |||
| _hé) tsz (ob t|s //same as prewious rule | |||
| gyakorla) ts (oroz t|S | |||
| támogato) ts (ág tS: | |||
| já) tsz (hass ts | |||
| .group tt | |||
| tt t: | |||
| @@ -150,22 +150,23 @@ een @n $only | |||
| ən @-n // char.replacement for 'n | |||
| ət t // char.replacement for 't | |||
| // pronouns | |||
| ik $u | |||
| me $u | |||
| jij $u | |||
| je $u | |||
| gij $u | |||
| ge $u | |||
| u $u | |||
| hij $u | |||
| zij $u | |||
| ze $u | |||
| wij $u | |||
| we $u | |||
| // pronouns (may have -zelf suffix) | |||
| ik %Ik | |||
| me m@ | |||
| jij j%EI | |||
| je j@ | |||
| gij Q%EI | |||
| ge g@ | |||
| u %y | |||
| hij h%EI | |||
| zij z%EI | |||
| ze z@ | |||
| wij v#%EI | |||
| we v#@ | |||
| jullie $u | |||
| hen $u | |||
| zich $u | |||
| hen h%En | |||
| zich z%Ix | |||
| onszelf Ons'Elf | |||
| // possessives | |||
| mijn $u | |||
| @@ -229,7 +230,7 @@ dat $u $pause // that | |||
| hoewel $pause // although | |||
| of $u $pause // whether | |||
| omdat $pause // because | |||
| nadat $u $pause // after | |||
| nadat $u2 $pause // after | |||
| nudat $pause // now that | |||
| sinds $pause // since | |||
| tenzij $pause // unless | |||
| @@ -953,6 +954,7 @@ mokkel $alt | |||
| mormel $alt | |||
| mortel $alt | |||
| morzel $alt | |||
| navel $alt | |||
| obstakel $alt | |||
| parabel $alt | |||
| partikel $alt | |||
| @@ -1451,9 +1453,9 @@ onderhandelingsnota ,ond@r'hAnd@lINs,no:ta: | |||
| ongastvrij OnQAstvr'EI | |||
| ongelooflijk $3 | |||
| ongemakkelijk $3 | |||
| ongelukkig $3 | |||
| //ongelukkig $3 | |||
| ongerieflijk $3 | |||
| ongrondwettig $3 | |||
| //ongrondwettig $3 | |||
| partijvoorzitters $2 | |||
| pistache pist'AS | |||
| proces $2 | |||
| @@ -1478,6 +1480,9 @@ vrouwengek $alt3 | |||
| waarschijnlijk $2 | |||
| wanen v#a:n@n | |||
| wangen v#AN@n | |||
| wanluidend $2 | |||
| wanschapen $2 | |||
| wantrouwend $2 | |||
| ziekenhuisbevalling zi:k@nhWysb@vAlIN | |||
| @@ -1495,6 +1500,7 @@ Ingrid IN@-*It | |||
| Justine Zyst'in | |||
| kennedy kEn@dE | |||
| Laurent lo:r'An^ | |||
| Naomi $2 | |||
| Nys nEIsd'WyzEnt | |||
| //Trademarks | |||
| @@ -1508,7 +1514,24 @@ google gu:g@l | |||
| alexandrië $3 | |||
| canada kAna:da: | |||
| Kinshasa kInS'a:sa: | |||
| Nairobi nAjr'o:bi | |||
| Napel $alt | |||
| Rochefort roS'for | |||
| Zelzate zelzat@ | |||
| (vond dat de) vOn_tA_t@ | |||
| nadelig $2 // nadelig(e) | |||
| nadelige $2 | |||
| naderhand $3 | |||
| nadien $2 $only | |||
| nadrukke $2 // nadrukkelijk | |||
| nafta nAfta: | |||
| nalatig $2 // nalatig(e) | |||
| nalatige $2 | |||
| nasaal $2 | |||
| nasi nAsi | |||
| navoel $2 // navoelbaar(/bare) | |||
| navulbaar $2 | |||
| @@ -1,6 +1,8 @@ | |||
| // translation rules for Dutch | |||
| // This file is UTF-8 encoded | |||
| // Suffix rule: SUFX_E eg. S2e means double the vowel before the final consonant | |||
| .L01 g k | |||
| @@ -34,7 +36,6 @@ | |||
| aire (_ 'E:r@ | |||
| air (_ 'Er | |||
| @) agne (_ 'An^@ | |||
| ale (_ 'a:l@ | |||
| @) ant (_ 'Ant | |||
| @) ant (e_ 'Ant | |||
| @) ant (en_ 'Ant | |||
| @@ -51,7 +52,8 @@ | |||
| bs (_N ps | |||
| baan ba:n | |||
| &) baar (_ =ba:r | |||
| &) baar (_S4 =ba:r | |||
| &) bare (_S4 =ba:r@ | |||
| _) bij (C@P3 b'EI | |||
| _) binnen (P6 b'In@n | |||
| _) boven (P5 b'o:v@n | |||
| @@ -145,7 +147,7 @@ | |||
| .group e | |||
| e e# // [e:] but change to [@] in unstressed syllables | |||
| X) e e: // first syllable in a word | |||
| &C) e (_S1qd @ | |||
| e (_ @ | |||
| e (CK E | |||
| e (x E | |||
| @@ -157,6 +159,12 @@ | |||
| eeuw eU | |||
| eu Y: | |||
| &C) e (_S1qd @ | |||
| KAC) e (_S1e @ // remove 'e' and double the vowel | |||
| el) e (_+S1qd @ | |||
| er) e (_+S1qd @ | |||
| ig) e (_+S1qd @ | |||
| ea (_ 'e:a: | |||
| eau o: //words with French origin | |||
| @) ee (_ 'e: | |||
| @@ -188,12 +196,17 @@ | |||
| &) em (_ @m | |||
| &) e (ment @ | |||
| &) e (nissen_ @ | |||
| &) en (_S2qd @n | |||
| &) en (_S2qd @n // double the previous vowel | |||
| KAC) en (_S2e @n | |||
| el) en (_+S2qd @n | |||
| er) en (_+S2qd @n | |||
| &) ens (_S3q @ns | |||
| ll) en (_S3 @n | |||
| &) end (_ @nd | |||
| &) ende (_ @nd@ | |||
| &) enden (_ @nd@n | |||
| &) ende (_S1 @ | |||
| &) enden (_S2 @n | |||
| eden e:d@n | |||
| &) ent (_$w_alt =@nt | |||
| @) ent (_ 'Ent | |||
| @@ -205,7 +218,8 @@ | |||
| @) ent (ste_ 'Ent | |||
| ag) ent 'Ent | |||
| @j) es (_ @s | |||
| @) es (_S2qd 'Es | |||
| @) es (_S2qd 'Es // double the previous vowel | |||
| KAC) es (_S2e @s | |||
| @) essen (_S5qd 'Es@n | |||
| @) eres (_S4qd @r'Es | |||
| @) eressen (_S7sq @r'Es@n | |||
| @@ -268,6 +282,7 @@ | |||
| .group g | |||
| g Q // ph_dutch changes to [x] before unvoiced, NULL after [x] | |||
| gg Q | |||
| s) g x | |||
| _) ge (@P2 Q@ | |||
| ge (bied Q@ | |||
| @@ -335,13 +350,13 @@ | |||
| ie (CtjeX_ 'i | |||
| ie (ren_ 'i | |||
| ie (rd_ 'i | |||
| @) ig (_S2dq @x | |||
| @) ige (_S3dq @Q@ | |||
| @) igen (_ @Q@n | |||
| @) iger (_ @Q@r | |||
| @) igere (_ @Q@r@ | |||
| @) igst (_ @Qst | |||
| @) igste (_ @Qst@ | |||
| @) ig (_S2dq =@x | |||
| @) ige (_S3dq =@Q@ | |||
| @) igen (_ =@Q@n | |||
| @) iger (_ =@Q@r | |||
| @) igere (_ =@Q@r@ | |||
| @) igst (_ =@Qst | |||
| @) igste (_ =@Qst@ | |||
| ij (_ 'EI | |||
| ij (e_ 'EI | |||
| @) ij (n_ 'EI | |||
| @@ -410,10 +425,21 @@ _) inn (@P2 'I // ?? inneren | |||
| n (k$w_alt3 n | |||
| _) na (C@@P2 n'a: | |||
| _) na (tion na: | |||
| _) na (C@ n'a: | |||
| _) na (C% nA | |||
| _) na (cht nA | |||
| _) narci (s n%ArsI | |||
| _) na (rc n%A | |||
| _) na (der na: | |||
| _) na (tion na: | |||
| _) nano (@P4 n'a:no: | |||
| _) na (polA n%a: | |||
| napoleon n%a:po:l@jOn | |||
| _) natuur na:t'yr | |||
| naturel na:tyr'El | |||
| na (tur n%a: | |||
| na (vig n%a: | |||
| _) na (vr na: | |||
| _) na (volg@ n%a: | |||
| _) noord (@P5 no:rd | |||
| _) nieuws (@P6 n'iws | |||
| @@) nis (_S3 nIs | |||
| @@ -442,11 +468,13 @@ _) inn (@P2 'I // ?? inneren | |||
| _) on (@P2 %On | |||
| oo (X 'o: | |||
| oon 'o:n // in compounds, eg. telefoongesprek | |||
| oo (C_ 'o: | |||
| _) oost (@P4 o:st | |||
| _) op (@@P2 'Op | |||
| _) open (@P4 'o:p@n | |||
| _) op (era 'o:p | |||
| _) op (tion Op | |||
| @at) or (_ 'o:r | |||
| ou (che_ u | |||
| ouch (en_ uS | |||
| _) over (@P4 ,o:v@r | |||
| @@ -525,7 +553,7 @@ _) inn (@P2 'I // ?? inneren | |||
| s (s | |||
| A) s (A z | |||
| s (b z | |||
| s (g z | |||
| s (d z | |||
| sc s | |||
| sch sx | |||
| sch (_ s | |||
| @@ -536,6 +564,8 @@ _) inn (@P2 'I // ?? inneren | |||
| sj S | |||
| @@) s (_S1 s | |||
| sc (oop sk | |||
| sc (opi sk | |||
| &) sel (_ =s@l | |||
| &) selen (_ =s@l@n | |||
| @) si (o S | |||
| @@ -623,6 +653,7 @@ _) inn (@P2 'I // ?? inneren | |||
| .group v | |||
| v v | |||
| s) v f | |||
| _) van (@P3 v%An | |||
| _) vanzelf (@P7 vAnz,Elf | |||
| @@ -642,7 +673,14 @@ _) inn (@P2 'I // ?? inneren | |||
| _) wan (@P3 v#'An | |||
| _) wan (L01@P3 v#'AN | |||
| _) wan (del v#An | |||
| _) wanhopig v#Anh'o:p@Q | |||
| _) wan (kel v#AN | |||
| _) wann (eer v#An | |||
| _) wanordelijk v#An_|'Ord@l@k | |||
| _) wansmakelijk v#Ansm'a:k@l@k | |||
| _) wanstaltig v#Anst'Alt@Q | |||
| _) wantrouwig v#Antr'VU@Q | |||
| _) wanvoeglijk v#Anv'uxl@k | |||
| _) weg (@P3 v#'EQ | |||
| _) weg (en v#e:Q | |||
| _) weg (e_ v#e:Q // bewegelijk | |||
| @@ -664,7 +702,10 @@ _) inn (@P2 'I // ?? inneren | |||
| .group z | |||
| z z | |||
| z (z | |||
| s) z | |||
| zele (_S4 ze:l@ // common suffix for cities. | |||
| @) zelf (_S4 s'Elf | |||
| _) zoge (@P4 z,og@ | |||
| _) zuid (@P4 zWyt | |||
| @@ -329,6 +329,7 @@ | |||
| ou (_N 'oU | |||
| ou (_ ou | |||
| o (AAA o | |||
| @C) o (riii_ 'o | |||
| .group p | |||
| @@ -261,6 +261,9 @@ dlh dl-h | |||
| stĺp stl:p | |||
| plch pl-x | |||
| čln tSl-n | |||
| plť pl-t; | |||
| tĺk tl:k | |||
| vlk vl-k | |||
| // don't soften (d,n,t) before e,i | |||
| aktívni $alt | |||
| @@ -111,6 +111,8 @@ U+bf9 ru:ba:j | |||
| // abbreviations | |||
| ரூ ru:ba:j $dot $only | |||
| (பி . ஏ) bije: $dot | |||
| (கி . மீ) kilo:mi:t.t.Vr $dot | |||
| // numbers | |||
| _0 suz.ijVm // சுழியம் | |||
| @@ -182,9 +184,50 @@ _1M3 orUko:d.ie: | |||
| _dpt _pul.l.i | |||
| // drop final [U] when followed by an ordinal suffix | |||
| _1o onR | |||
| _2o irVn.d. | |||
| _3o mu:nR | |||
| _4o na:ng | |||
| _5o aInd | |||
| _6o a:R | |||
| _7o ;e:l | |||
| _8o ;et.t. | |||
| _9o onbVd. | |||
| _10o patt | |||
| _11o patinonR | |||
| _12o pVnnirVn.d. | |||
| _19o pattonbVd | |||
| _20o irUbVd | |||
| _30o muppVd // முப்பது | |||
| _40o na:RpVd | |||
| _50o aImbVd | |||
| _60o aRUbVd | |||
| _70o ;ez.UbVd | |||
| _80o ;en.bVd | |||
| _90o ton.n.u:R | |||
| _1Co nu:R | |||
| _2Co irUnu:R | |||
| _3Co munnu:R | |||
| _4Co na:nu:R | |||
| _5Co aInu:R | |||
| _6Co aRUnu:R | |||
| _7Co ;ez.Unu:R | |||
| _8Co ;en.n.u:R | |||
| _#ம் a:m // ordinal suffix | |||
| _#-ம் a:m // ordinal suffix | |||
| _#ல் il | |||
| _#வது a:vVdU | |||
| _#வதும் a:vVdUm | |||
| _#வதுமாக a:vVdUma:gV | |||
| _#-ம் a:m // ordinal suffix with hyphen | |||
| _#-ல் il | |||
| _#-வது a:vVdU | |||
| _#-வதும் a:vVdUm | |||
| _#-வதுமாக a:vVdUma:gV | |||
| // English words | |||
| tamil தமிழ் $text | |||
| @@ -305,7 +348,9 @@ tamil தமிழ் $text | |||
| பந்தா $alt | |||
| பிரா bra: | |||
| ப்ரா $alt | |||
| (பி . ஏ) bije: | |||
| பலம் $alt | |||
| பலமாக $alt | |||
| பலமா $alt | |||
| // initial த as [d] | |||
| @@ -366,6 +411,7 @@ tamil தமிழ் $text | |||
| தின $alt | |||
| தில் $alt | |||
| தன $alt | |||
| தடியா $alt | |||
| // initial ட | |||
| @@ -440,6 +486,7 @@ tamil தமிழ் $text | |||
| களிலும் $alt | |||
| கடம் $alt | |||
| காட் $alt | |||
| கிடு $alt | |||
| @@ -465,7 +512,6 @@ tamil தமிழ் $text | |||
| பைக்கில் baIkkIl | |||
| தாங்ஸ் Ta:Nks // thanks | |||
| டிபுடி d.EpjUt.i // deputy | |||
| டிபன் t.ifVn | |||
| ஆகா a:Ha: | |||
| ஓகோ o:Ho: | |||
| கப் kVp | |||
| @@ -66,12 +66,20 @@ | |||
| // i or i: | |||
| .L08 ி ீ | |||
| // n or n | |||
| .L09 ந ன | |||
| // l or l. | |||
| .L10 ல ள | |||
| // b d g | |||
| .L11 ப த க | |||
| // words before "bottle" | |||
| .L10 பீர் கலர் சாராய சோடா தண்ணி தண்ணீர் பிராந்தி வாட்டர் விஸ்கி பிளாஸ்டிக் ப்ளாஸ்டிக் கண்ணாடி கிளாஸ் க்ளாஸ் மது | |||
| .L12 பீர் கலர் சாராய சோடா தண்ணி தண்ணீர் பிராந்தி வாட்டர் விஸ்கி பிளாஸ்டிக் ப்ளாஸ்டிக் கண்ணாடி கிளாஸ் க்ளாஸ் மது | |||
| // words after "booga" | |||
| .L11 வாழ்க்கை பூமி விருந்த மனிதன | |||
| .L13 வாழ்க்கை பூமி விருந்த மனிதன | |||
| // consonants | |||
| @@ -182,9 +190,17 @@ | |||
| _) கி (ராம g | |||
| _) கி (ராம்ப k | |||
| _) கி (ரிகோரிய g | |||
| _) க (ிரிக்கா g | |||
| _) க (ிரிஜா g | |||
| _) க (ிரிதர g | |||
| _) கி (ரித்த k | |||
| _) கி (ரிமினல k | |||
| _) கி (ரியா_ k | |||
| _) க (ிரியாக g | |||
| _) க (ிரியால g | |||
| _) க (ிரியி g | |||
| _) க (ிரியு g | |||
| _) கி (ரில் g | |||
| _) கிரிஸ்டோப (ர krist.o:fV | |||
| _) கி (ரிஸ்த k | |||
| _) கி (ரீட k | |||
| @@ -195,6 +211,7 @@ | |||
| _) கி (ரீஸ g | |||
| _) க (ிருகஸ்தர g | |||
| _) க (ிருகிரு g | |||
| _) கிரு (ஸ்த kri | |||
| _) க (ிருஹஸ்தர g | |||
| _) கி (ரேக்க g | |||
| _) கி (ரேய k | |||
| @@ -280,6 +297,7 @@ _மன்மதக்) க (ுகை g | |||
| _) க (ுருஜி g | |||
| _) க (ுருதேவ g | |||
| _) க (ுருநா g | |||
| _) குருப (ாத gurup | |||
| _) க (ுருபூஜை g | |||
| _) க (ுருப்பெயர g | |||
| _) க (ுருமார g | |||
| @@ -292,11 +310,13 @@ _மன்மதக்) க (ுகை g | |||
| _) க (ுருவு g | |||
| _) க (ுருவுடை g | |||
| _) க (ுருவை g | |||
| _) க (ுருவோ g | |||
| _) க (ுருவோட g | |||
| _) க (ுலாப g | |||
| _) க (ுலாம g | |||
| _) க (ுலேபா g | |||
| _) கு (லோபல g | |||
| _) க (ுல்மோL06ர g | |||
| _) க (ுவஹாத்தி g | |||
| _) குவாலிட(ி kwa:lit. | |||
| _) குவ (ாலிபிகேஷன kw | |||
| @@ -321,11 +341,13 @@ _மன்மதக்) க (ுகை g | |||
| _) க (ெஸ்ட g | |||
| _) க (ேட்டண்டை g | |||
| _) க (ேட்டிலிருந்த g | |||
| _) க (ேட்டுக்கருக g | |||
| _) க (ேட்டுக்குப் g | |||
| _) க (ேட்டைக் g | |||
| _) க (ேட்டைத் g | |||
| _) க (ேட்டைப் g | |||
| _) க (ேலி g | |||
| _) க (ைட g | |||
| _) க (ொணத் g | |||
| _) க (ொணம g | |||
| _) க (ொரில g | |||
| @@ -352,6 +374,7 @@ _மன்மதக்) க (ுகை g | |||
| _) க (ோமதி g | |||
| _) க (ோமாதா g | |||
| _) க (ோமிய g | |||
| _) க (ோமூத்திர g | |||
| _) க (ோயல g | |||
| _) க (ோர_ g | |||
| _) க (ோர_மாட்ட k | |||
| @@ -361,6 +384,8 @@ _மன்மதக்) க (ுகை g | |||
| _) க (ோரத g | |||
| _) க (ோரப g | |||
| _) க (ோரப்பட k | |||
| _) க (ோரப்போக k | |||
| _) க (ோரப்போவ k | |||
| _) க (ோரம g | |||
| _) க (ோலிக g | |||
| _) க (ோலிய g | |||
| @@ -551,6 +576,7 @@ _டா) குமெண்ட kUmen.tV# | |||
| _மை) க் k | |||
| _ஷா) க் (_ k | |||
| _விவே) க் (_ k | |||
| _ஜ) க்க ggV# | |||
| துர்) க்க ggV# | |||
| மார்) க்க ggV# | |||
| மூர்) க்க ggV# | |||
| @@ -584,10 +610,13 @@ _வேதா) க்க (ினி gg | |||
| இ) க்கி (ராம gg | |||
| L03) க்க (ுகை gg | |||
| _மு) க்க (ுண gg | |||
| _போர்) க்க (ுண gg | |||
| அணு) க்க (ுண்ட gg | |||
| _வெடி) க்க (ுண்ட gg | |||
| _துப்பாக்கி) க்க (ுண்ட gg | |||
| ஜன) க்க (ும்பல gg | |||
| _ல) க்க (ேஜ gg | |||
| L03) க்க (ோபுர gg | |||
| _வி) க்ச (னரி ks.V | |||
| _பி) க்ச (ர ktSV | |||
| _மெ) க்சிக (ோ ksik | |||
| @@ -661,9 +690,11 @@ _துப்பாக்கி) க்க (ுண்ட gg | |||
| ச (ந்திர tSV | |||
| _ஹட்) ச (ன sV | |||
| _வாட்) ச (ன sV | |||
| _சாபவிமோ) ச (ன tSV | |||
| _டேவிட்) ச (ன sV | |||
| _பாவவிமோ) ச (ன tSV | |||
| _விமோ) ச (ன tSV | |||
| _) ச (ப்பL11் tSV | |||
| _) ச (ப்பா tSV | |||
| _) ச (ப்பி tSV | |||
| _) ச (ப்பு tSV | |||
| @@ -671,6 +702,7 @@ _விமோ) ச (ன tSV | |||
| _) சரசு (வதி sVrVs | |||
| _) சர்ச (ி tSVrtS | |||
| _) ச (ர்ச்சில tSV | |||
| _) ச (ர்ச்சு tSV | |||
| மருதா) ச (ல tSV | |||
| வேதா) ச (ல tSV | |||
| _சேஷா) ச (ல tSV | |||
| @@ -678,6 +710,7 @@ _தணிகா) ச (ல tSV | |||
| அருணா) ச (ல tSV | |||
| வெங்கடா) ச (ல tSV | |||
| வேங்கடா) ச (ல tSV | |||
| _) ச (வான tSV | |||
| _) சாக்ப (ீL04 tSa:kp | |||
| _) சாக்லேட் tSa:kle:t. | |||
| _) ச (ாணக்கிய tS | |||
| @@ -703,6 +736,8 @@ _தணிகா) ச (ல tSV | |||
| ஆ) ச (ாரம tS | |||
| _) சாருலத (ா tSa:rUlVt | |||
| _) ச (ாருவ tS | |||
| _ரீ) ச (ார்ஜ tS | |||
| _டிஸ்) ச (ார்ஜ tS | |||
| _) ச (ார்ஜை tS | |||
| _) ச (ார்ஜ்_ tS | |||
| _) ச (ார்லஸ tS | |||
| @@ -739,9 +774,12 @@ _தணிகா) ச (ல tSV | |||
| _) ச (ிப்ஸ tS | |||
| சி (ரம s | |||
| _) சி (ரார்த்த s | |||
| _) சிரு (ங்கார sri | |||
| _) சிரு (ஷ்டி sri | |||
| _) ச (ிற்றம்பல tS | |||
| _) சி (லாகி s | |||
| _) ச (ிலிய tS | |||
| _) சி (லேட s | |||
| _) ச (ில்ற tS | |||
| _) ச (ில்லறை tS | |||
| _) ச (ிள்ற tS | |||
| @@ -765,6 +803,7 @@ _தணிகா) ச (ல tSV | |||
| ராவணே) சு (வர s | |||
| _) சுவர்க்க svVrggV# | |||
| _) சுவர்க்க (ோழி suvVrkk | |||
| _) சு (வர்ண s | |||
| _) சு (வாச s | |||
| சு (வாதீன s | |||
| சு (வாமி s | |||
| @@ -772,7 +811,9 @@ _தணிகா) ச (ல tSV | |||
| அ) சுவாரசி (ய sva:rVs | |||
| சு (வாரஸ்ய s | |||
| _) சு (விட்ச s | |||
| _) சு (விஸ s | |||
| _) சு (வீட s | |||
| _) ச (ூரண tS | |||
| _) செக் (_ tSek | |||
| _) ச (ெக்கோL04 tS | |||
| _) ச (ெங்கிஸ tS | |||
| @@ -786,11 +827,13 @@ _தணிகா) ச (ல tSV | |||
| _) ச (ென்னி tS | |||
| _) ச (ென்னை tS | |||
| _) ச (ெயின tS | |||
| _) செயின்ட sejint.V# | |||
| _) செயின்ட sejint. | |||
| _) ச (ெய்ன tS | |||
| _) செய்ன்ட sejnt.V# | |||
| _) செய்ன்ட sejnt. | |||
| _) ச (ெர்னோபில tS | |||
| _) ச (ெல்லக்கிளி tS | |||
| _) ச (ெல்லக்குட்டி tS | |||
| _) ச (ெல்லக்குழந்த tS | |||
| _) ச (ெல்லத்துக்கு tS | |||
| _) ச (ெல்லத்தை tS | |||
| _) ச (ெல்லப்பன tS | |||
| @@ -799,8 +842,11 @@ _தணிகா) ச (ல tSV | |||
| _) ச (ெல்லப்பெண் tS | |||
| _) ச (ெல்லப்பையன tS | |||
| _) ச (ெல்லமா tS | |||
| _) ச (ெல்லமே_ tS | |||
| _) ச (ெஸ் tS | |||
| ச (ெஸ்டர tS // -chester | |||
| _) ச (ேஞ்ச tS | |||
| _) ச (ேட்டன tS | |||
| _) ச (ேனல tS | |||
| _) ச (ேரி tS | |||
| _) ச (ேர்மேன tS | |||
| @@ -812,6 +858,8 @@ _தணிகா) ச (ல tSV | |||
| _) ச (ைனாவ tS | |||
| _) ச (ைனீஸ tS | |||
| _) ச (ௌதரி tS | |||
| _) ச (ௌதிரி tS | |||
| _) ச (ௌஹான tS | |||
| //endsort | |||
| @@ -849,7 +897,10 @@ _ரிப்போர்) ட t.V# | |||
| அர்ஜண்) ட t.V# | |||
| அர்ஜெண்) ட t.V# | |||
| இண்டர்மீடியே) ட t.V# | |||
| ன்ஸ்பரண்) ட t.V# | |||
| ன்ஸ்பெரண்) ட t.V# | |||
| _) ட (ஃப் t.V | |||
| _) ட (க் t.V | |||
| _) ட (க்கர t.V | |||
| ங்) ட (ன t.V // -ington | |||
| _நியூ) ட (ன t.V | |||
| @@ -864,6 +915,7 @@ _ரிப்போர்) ட t.V# | |||
| _) ட (யரில t.V | |||
| _) ட (யரு t.V | |||
| _) ட (யர் t.V | |||
| ஃபில்) ட (ர t.V | |||
| _செண்) ட (ர t.V | |||
| _ப்ரிண்) ட (ர t.V | |||
| _ஷெல்) ட (ர t.V | |||
| @@ -920,6 +972,7 @@ _நாவல்) ட (ி t. | |||
| கான்) டினென்ட (ல t.inent.V | |||
| _) ட (ின் t. | |||
| _) டின்க (ரிங் t.inkV | |||
| _) டிப (ன t.ifV | |||
| _சர்) டிபிகேட t.ifige:t.V# | |||
| _) ட (ிப்ஸ t. | |||
| _) டி (யூசன t. | |||
| @@ -929,6 +982,7 @@ _நாவல்) ட (ி t. | |||
| _) டி (யூஷன t. | |||
| _) டி (ரங் t. | |||
| _) டி (ரங்கு t. | |||
| _) டி (ரபிள t. | |||
| _) டிரம்பெட் t.rVmpet. | |||
| _) டிர (ஸ d.re | |||
| _) டிர (ஸ்ட t.rV | |||
| @@ -939,9 +993,9 @@ _நாவல்) ட (ி t. | |||
| _) டி (ராஜ t. | |||
| _) டி (ரான்சிஸ்டர t. | |||
| _) டி (ரான்ஸ்ஃபர t. | |||
| _) டி (ரான்ஸ்ப t. | |||
| _) டிரான்ஸ்ப (ர t.ra:nsfV | |||
| _) டி (ரான்ஸ்பாண்டர t. | |||
| _) டிரான்ஸ்பிரண்ட t.ra:nspirVn.t.V# | |||
| _) டிரான் (ஸ்பரண்ட+++ t.ra:n | |||
| _) டி (ரான்ஸ்மீட்டர t. | |||
| _) டி (ரான்ஸ்லே t. | |||
| _) டி (ரான்ஸ்வேல t. | |||
| @@ -956,7 +1010,9 @@ _நாவல்) ட (ி t. | |||
| _) டிரிக்க (ர t.riggV | |||
| _) டி (ரிங்க் d. | |||
| _) டி (ரிம் t. | |||
| _) டி (ரில்லியன t. | |||
| _) டிரீட் t.ri:t. | |||
| _) டி (ரெண் t. | |||
| _) டிரெயி(லர t.rej | |||
| _) டி (ரெயின t. | |||
| _) டி (ரெய்லர t. | |||
| @@ -967,6 +1023,7 @@ _நாவல்) ட (ி t. | |||
| _) டி (ரை_செஞ்ச t. | |||
| _) டி (ரை_செய் t. | |||
| _) டி (ரை_பண் t. | |||
| _) டி (ரைலர t. | |||
| _) டி (ரைவ d. | |||
| கண்) டி (ரோல t. | |||
| _நெக) ட (ிவ t. | |||
| @@ -981,11 +1038,13 @@ _நாவல்) ட (ி t. | |||
| _) ட (ுனீL04 t. | |||
| _) ட (ுனீஷிய t. | |||
| _) டுவிங்க (ிள t.wiNk | |||
| _) டுவ (ிட்டர t.w | |||
| _கார்) ட (ூன t. | |||
| _) ட (ூர t. | |||
| _) டெக் (னாலஜி t.ek | |||
| _) டெக்னிக (ல t.eknikV | |||
| _) ட (ெக்ஸாஸ t. | |||
| _) ட (ெக்ஸ் t. | |||
| _) ட (ெண்டர t. | |||
| _) ட (ெண்டுல்கர t. | |||
| _) டென்டுல்க (ர t.ent.UlkV | |||
| @@ -1014,8 +1073,10 @@ _லான்_) ட (ென்னிஸ t. | |||
| _) டைட (ில t.aIt. | |||
| _) டைப் t.aIp | |||
| _) ட (ைம்_ t. | |||
| _) டொக் t.ok | |||
| _) ட (ோக்கன t. | |||
| _) ட (ோக்கியோ t. | |||
| _) ட (ோட்டல t. | |||
| _) டோரண்ட (ோ t.o:rVn.t. | |||
| _ப்ரி) ட (ோரிய t. | |||
| @மெண்) ட் t. // -ment | |||
| @@ -1031,6 +1092,7 @@ _லான்_) ட (ென்னிஸ t. | |||
| ஸ்) ட் (ர _|t. // ?? make t. distinct | |||
| _) ட் (ரங் t. | |||
| _) ட் (ரங்கு t. | |||
| _) ட் (ரபிள t. | |||
| _) ட்ரம்பெட் t.rVmpet. | |||
| _) ட் (ரஸ்ட t. | |||
| _த) ட் (ரா t. | |||
| @@ -1044,6 +1106,7 @@ _லான்_) ட (ென்னிஸ t. | |||
| _நியூ) ட் (ரான t. | |||
| _) ட (்ரான்சிஸ்டர t. | |||
| _) ட் (ரான்ஸ்ஃபர t. | |||
| _) ட் (ரான்ஸ்ப t. | |||
| _) ட்ரான்ஸ்ப (ர t.ra:nsfV | |||
| _) ட் (ரான்ஸ்பாண்டர t. | |||
| _) ட்ரான்ஸ்பிரண்ட t.ra:nspirVn.t.V# | |||
| @@ -1059,10 +1122,12 @@ _லான்_) ட (ென்னிஸ t. | |||
| _) ட்ரிக் t.rik | |||
| _) ட்ரிக்க (ர t.riggV | |||
| _) ட் (ரிம் t. | |||
| _) ட் (ரில்லியன t. | |||
| _) ட்ரீட் t.ri:t. | |||
| _வி) ட் (ரு t. | |||
| _கே) ட் (ரு t. | |||
| _போ) ட் (ரு t. | |||
| _) ட் (ரெண் t. | |||
| _) ட்ரெயி (லர t.rej | |||
| _) ட் (ரெய்லர t. | |||
| இண்) ட் (ரேஸ்ட t. | |||
| @@ -1070,6 +1135,7 @@ _லான்_) ட (ென்னிஸ t. | |||
| _) ட் (ரை_செய் t. | |||
| _) ட் (ரை_பண் t. | |||
| _) ட் (ரையல t. | |||
| _) ட் (ரைலர t. | |||
| _பெ) ட் (ரோ t. | |||
| _மெ) ட் (ரோ t. | |||
| கண்) ட் (ரோல t. | |||
| @@ -1091,6 +1157,7 @@ _நடுரோ) ட் (ல t. | |||
| _ஹி) ட் (லர t. | |||
| அ) ட்லாண்ட t.la:n.t.V# // atlant | |||
| _) ட்விங்க (ிள t.wiNk | |||
| _) ட்வ (ிட்டர t.w | |||
| //endsort | |||
| @@ -1173,9 +1240,11 @@ _நடுரோ) ட் (ல t. | |||
| _) த (னராஜ dV | |||
| _) த (னலக்ஷ்மி dV | |||
| _) த (னலட்சுமி dV | |||
| _) த (னவந்த dV | |||
| _) த (னுஷ dV | |||
| _) த (ன்மந்திரி dV | |||
| _) த (ன்ராஜ dV | |||
| _) த (ன்வந்தரி dV | |||
| _) தபதப dVbVdVbV# | |||
| _) த (மயந்தி dV | |||
| _) த (ம்பதி dV | |||
| @@ -1286,11 +1355,16 @@ _நடுரோ) ட் (ல t. | |||
| _) த (ிம்ம d | |||
| _) தி (யாக t | |||
| _) தி (யான d | |||
| _) தி (யேட்டர t | |||
| _) த (ிரவ d | |||
| _) த (ிரவிய d | |||
| _) தி (ராட்சை d | |||
| _) தி (ராணி t | |||
| _) தி (ராவிட d | |||
| _) திரிப (ாதி trip | |||
| _) திரிப (ோலி trip | |||
| _) தி (ரிலோக t | |||
| _) தி (ரிவேதி t | |||
| _) திரு (திரா dri | |||
| _) திரு (ஷ்டி dri | |||
| _) த (ிரௌபதி d | |||
| @@ -1349,11 +1423,13 @@ _நடுரோ) ட் (ல t. | |||
| _) து (ரோண t | |||
| _) த (ுர் d | |||
| _) து (வந்த_ d | |||
| _) துவ (ாதசி dv | |||
| _) துவாப (ர dva:pV | |||
| _) துவ (ார dv | |||
| _) து (வேச d | |||
| _) து (வேஷ d | |||
| _) துவைத (_ dvaItV | |||
| _) துவ (ைதத்த dv | |||
| _) துவைத (த்தில dvaItV | |||
| _) துவைத (ம dvaItV | |||
| _) த (ுஷ் d | |||
| @@ -1380,6 +1456,7 @@ _நடுரோ) ட் (ல t. | |||
| _) த (ேச d | |||
| _) த (ேவகான d | |||
| _) த (ேவகி d | |||
| _) த (ேவகுமார d | |||
| _) த (ேவகுரு d | |||
| _) த (ேவகுல d | |||
| _) த (ேவக் d | |||
| @@ -1474,6 +1551,7 @@ _நிவேதி) த (ை t | |||
| யு) த்த ddV# | |||
| _சிரார்) த்த ddV# | |||
| _ஸ்ரார்) த்த ddV# | |||
| அர்) த்த (L09ார ddV | |||
| _சிறை) த்த (ண்டனை ddV | |||
| பு) த்த (ன ddV | |||
| _வர்) த்த (மான ddV | |||
| @@ -1510,6 +1588,7 @@ _சிறை) த்த (ண்டனை ddV | |||
| ஆதி) த்தி (ராவிட dd | |||
| ராஜ) த்து (ரோக dd | |||
| _தேச) த்து (ரோகி td | |||
| அ) த்து (வான d | |||
| வி) த்து (வான d | |||
| _முக) த்து (வார dd | |||
| L03) த்த (ூச dd | |||
| @@ -1583,6 +1662,7 @@ _காமசூ) த் (ர t | |||
| பி_._) ப(ி_._சி b // b.b.c | |||
| _) ப (L06ுகுணா bV | |||
| _) ப (L07லர b | |||
| _) ப (ஃபூன bV | |||
| _) ப (கதூர bV | |||
| _) ப (கத்சிங் bV | |||
| _) ப (கவதி bV | |||
| @@ -1595,11 +1675,13 @@ _காமசூ) த் (ர t | |||
| _) ப (கிஷ்க bV | |||
| _) ப (கீர bV | |||
| _) ப (குள bV | |||
| _) ப (க்கிங்L06ாம bV | |||
| _) ப (க்கெட் bV | |||
| _) ப (க்கென்ற bV | |||
| _) பக் (த bVk | |||
| _) பக் (ரீத bVk | |||
| _) ப (க்ருதீன fV | |||
| _) ப (க்ஷண bV | |||
| _) ப (ங்கம bV | |||
| _) பங்க (ர bVNkV | |||
| _) ப (ங்களா bV | |||
| @@ -1634,9 +1716,13 @@ _சொந்த_) ப (ந்த bV | |||
| _) பந்த (ுலு bVnt | |||
| _) ப (ந்துவ bV | |||
| _) ப (ந்தோபஸ்த bV | |||
| _) ப (னல fV | |||
| _) ப (னியன bV | |||
| _) ப (ன்னாரி bV | |||
| _டீயும்_) ப (ன்னும்_ bV | |||
| _) ப (ன்னும்_டீயும் bV | |||
| _) ப (ன்ருட்டி bV | |||
| _) ப (பூன bV | |||
| _) ப (ம்பர bV | |||
| _) ப (ம்பாய bV | |||
| _) ப (யங் bV | |||
| @@ -1649,6 +1735,7 @@ _சொந்த_) ப (ந்த bV | |||
| _) ப (யபக்தி bV | |||
| _) ப (யப் bV | |||
| _) ப (யப்பத pV | |||
| _) ப (யப்பவை pV | |||
| _) ப (யம bV | |||
| _) ப (யாலஜி bV | |||
| _) பயாஸ்கோப் bVja:sko:p | |||
| @@ -1682,11 +1769,14 @@ _சொந்த_) ப (ந்த bV | |||
| _) ப (லப்பட bV | |||
| _) ப (லப்படு bV | |||
| _) ப (லப்பரீட்சை bV | |||
| _) ப (லம bV | |||
| _) ப (லமடங்க pV | |||
| _) ப (லமாடி pV | |||
| _) ப (லமுறை pV | |||
| _) ப (லமொழி pV | |||
| _) ப (லமணைத்த bV | |||
| _) ப (லமாகC் bV | |||
| _) ப (லமாகி bV | |||
| _) ப (லமாச்ச bV | |||
| _) ப (லமான bV | |||
| _) ப (லமாய் bV | |||
| _) ப (லமுடன bV | |||
| _) ப (லமும bV | |||
| _) ப (லராம bV | |||
| _) ப (லவந்த bV | |||
| _) ப (லவான bV | |||
| @@ -1735,12 +1825,13 @@ _சொந்த_) ப (ந்த bV | |||
| _) ப (ாக்ஸர b | |||
| _) ப (ாக்ஸிங் b | |||
| _) பாங்க (ாக் ba:Nk | |||
| _) ப (ாங்கில b | |||
| _) ப (ாங்க் b | |||
| _) ப (ாசு b | |||
| _) ப (ாசுர p | |||
| _) ப (ாடி_பில்டிங் b | |||
| _) ப (ாட்டலியன b | |||
| _L10_) ப (ாட்டில b // bottle | |||
| _L12_) ப (ாட்டில b // bottle | |||
| _) ப (ாட்டிலி b | |||
| _) ப (ாட்டிலுக் b | |||
| _) ப (ாட்டிலுடன b | |||
| @@ -1774,6 +1865,7 @@ _சொந்த_) ப (ந்த bV | |||
| _) பாப (ர ba:bV | |||
| _) பாப (ாசாகேப் ba:b | |||
| _) பாப (ாசாஹேப் ba:b | |||
| _) பாப (ாவ ba:b | |||
| _) ப (ாபிலோனியா b | |||
| _) ப (ாபுவ b | |||
| _) ப (ாமாவ b | |||
| @@ -1781,6 +1873,7 @@ _சொந்த_) ப (ந்த bV | |||
| _) ப (ாம்பே b | |||
| _ஆடு_) ப (ாம்பே p | |||
| _விளையாடு_) ப (ாம்பே p | |||
| _ரூம்_) ப (ாய b | |||
| _) ப (ாரத b | |||
| _) ப (ாரதி b | |||
| _) ப (ாரத்த b | |||
| @@ -1866,6 +1959,7 @@ _ராகத்தின்_) ப (ாவ b | |||
| _) ப (ிசினஸ b | |||
| _) ப (ிசிய b | |||
| _) ப (ிஜிலி b | |||
| _) ப (ிடில f | |||
| _) ப (ிட்சு b | |||
| _) ப (ிட்டடி b | |||
| _) ப (ினாமி b | |||
| @@ -1984,6 +2078,8 @@ _ராகத்தின்_) ப (ாவ b | |||
| _) ப (ிரித்தானி b | |||
| _) பி (ரித்தானி b | |||
| _) பிரின்சிப (ால prinsip | |||
| _) பிரியங்க (ா prijVNk | |||
| _) பி (ரியதர p | |||
| _) பி (ரியன p | |||
| _) பி (ரியப்பட p | |||
| _) பி (ரியம p | |||
| @@ -2027,11 +2123,14 @@ _ராகத்தின்_) ப (ாவ b | |||
| _) பிள (ைட் fl. | |||
| _) பி (ளௌஸ b | |||
| _) பிஷப் bis.Vp | |||
| _) ப (ிஷ் f | |||
| _) ப (ிஸினஸ b | |||
| _) ப (ிஸிய b | |||
| _) ப (ிஸ்கட் b | |||
| _) ப (ிஸ்கெட் b | |||
| _) ப (ிஸ்கோத் b | |||
| _) ப (ிஸ்மார்க் b | |||
| _) ப (ிஸ்மில்லா b | |||
| _) ப (ீகார b | |||
| _) ப (ீச்சில b | |||
| _) ப (ீச்சுக்க b | |||
| @@ -2080,6 +2179,7 @@ _பெனசீர்_) ப (ுட்டோ b | |||
| _) புரபொ (சர profV | |||
| _) பு (ரவுச b | |||
| _) ப (ுருடா b | |||
| _) பு (ருனாய b | |||
| _) புரொப (சர profV | |||
| _) புரொபொ (சர profV | |||
| _) பு (ரோகித p | |||
| @@ -2096,6 +2196,7 @@ _பெனசீர்_) ப (ுட்டோ b | |||
| _) ப (ுஸ்ஸெ b | |||
| _) ப (ூகம்ப b | |||
| _) ப (ூகோல b | |||
| _) ப (ூச்சாண்டி b | |||
| _) பூட (ான bu:t. | |||
| _) ப (ூட்ஸ b | |||
| _) ப (ூதகணங்க b | |||
| @@ -2133,6 +2234,7 @@ _பெனசீர்_) ப (ுட்டோ b | |||
| _) ப (ெண்டாஸ்டிக் f | |||
| _) ப (ெதர f | |||
| _) ப (ெனசீர b | |||
| _) பெப்ப (ே bebb | |||
| _) ப (ெப்ரவரி f | |||
| _) ப (ெர்னாட்ஷா b | |||
| _) ப (ெர்னான்ட f | |||
| @@ -2152,6 +2254,9 @@ _பெனசீர்_) ப (ுட்டோ b | |||
| _) ப (ேஜார b | |||
| _) ப (ேட்டரி b | |||
| _) ப (ேட்டா b | |||
| _) ப (ேதங் b | |||
| _) ப (ேதமி b | |||
| _) ப (ேதமு b | |||
| _) ப (ேதலித்த b | |||
| _) ப (ேதி b | |||
| _) ப (ேனர b | |||
| @@ -2163,13 +2268,14 @@ _பெனசீர்_) ப (ுட்டோ b | |||
| _) ப (ேஷன f | |||
| _) ப (ேஷா b | |||
| _) ப (ைக்குகள b | |||
| _) ப (ைசன b | |||
| _) ப (ைபிள b | |||
| _) ப (ைரவ b | |||
| _) ப (ொம்மன b | |||
| _) ப (ொம்மல b | |||
| _) ப (ொம்மை b | |||
| _) ப (ோஃபோர் b | |||
| _) ப (ோக_L11 b | |||
| _) ப (ோக_L13 b | |||
| _) ப (ோகங்க b | |||
| _) ப (ோகத்த b | |||
| _) ப (ோகத்திற்க b | |||
| @@ -2205,6 +2311,7 @@ _பெனசீர்_) ப (ுட்டோ b | |||
| _) ப (ோர்_அடி b | |||
| _) ப (ோர்ஜரி f | |||
| _) ப (ோர்தான்_அடி b | |||
| _) ப (ோர்வெல் b | |||
| _) ப (ோஷி b | |||
| _சந்திர_) ப (ோஸ b | |||
| _) ப (ோஸிட b | |||
| @@ -2212,6 +2319,7 @@ _சந்திர_) ப (ோஸ b | |||
| _) பௌண்ட (ன faUn.t.V | |||
| _) ப (ௌதிக b | |||
| _) ப (ௌத்த b | |||
| சு) ப்பி (ரமணி b | |||
| _) ப் (ரசல்ஸ b | |||
| _) ப்ரபொ (சர profV | |||
| _) ப் (ரம்ம b | |||
| @@ -2223,6 +2331,7 @@ _சந்திர_) ப (ோஸ b | |||
| _) ப் (ரான்ஸ f | |||
| _) ப் (ராவ b | |||
| _) ப்ரிஸ்ப (ேன brisb | |||
| _) ப் (ருனாய b | |||
| _) ப் (ரெஞ்ச் f | |||
| _) ப் (ரெட் b | |||
| _) ப்ரெட்ரிக் fred.rik | |||
| @@ -2252,11 +2361,14 @@ _சந்திர_) ப (ோஸ b | |||
| _பயன்) ப pV | |||
| _விகல்) ப pV# | |||
| அடால்) ப fV# | |||
| _ஷெரீ) ப (+ fV# | |||
| _ஸ்தா) ப (+ bV# | |||
| பரிதா) ப (+ bV# | |||
| அநுதா) ப (+ bV# | |||
| அனுதா) ப (+ bV# | |||
| பிரஸ்தா) ப (+ bV# | |||
| _பச்சாதா) ப (+ bV# | |||
| _விரகதா) ப (+ bV# | |||
| மனஸ்தா) ப (+ bV# | |||
| அல்) ப (_ pV# | |||
| நன்) ப (கல pV | |||
| @@ -2392,6 +2504,7 @@ _வெளிப்) ப (ாக b | |||
| ஜிந்தா) ப (ாத் b | |||
| ச) பாபதி ba:pVti | |||
| _) பாபவிமோசன pa:bVvimo:tSV | |||
| _சாயி) பாப (ா ba:b | |||
| _சாய்) பாப (ா ba:b | |||
| அ) பாயிண்ட்மெண்ட pa:jin.t.ment.V# | |||
| _டீ) ப (ாய் p | |||
| @@ -2404,6 +2517,7 @@ _வெளிப்) ப (ாக b | |||
| L03தன்) ப (ால p | |||
| _ப்ரின்சி) ப (ால p | |||
| _சிவ) ப (ாலன b | |||
| _கம்) ப (ாலா p | |||
| _கா) ப (ாலி b | |||
| _டி) பால்ட fa:lt.V# | |||
| _நே) ப (ாள p | |||
| @@ -2416,7 +2530,9 @@ _ப்ரின்சி) ப (ால p | |||
| வீண்) ப (ாவ p | |||
| அடி) ப (ாவி p | |||
| _நவ) ப (ாஷ p | |||
| _தமிழ்ப்) ப (ாஷ _b | |||
| வாதா) ப (ி p | |||
| _கடா) ப (ி f | |||
| சித்தப்) பி(ரமை b | |||
| _கன்) ப (ிகர f | |||
| வாலி) பிக (ேஷன fik | |||
| @@ -2436,6 +2552,7 @@ _ப்ரின்சி) ப (ால p | |||
| _முன்) ப (ின்_ p | |||
| @) ப (ின்நாலும்_ p | |||
| @) ப (ின்னர்_ p | |||
| _கன்னா) ப (ின்னா p | |||
| @) ப (ின்னால்_ p | |||
| _) ப (ிப்ரவரி f | |||
| _லெஸ்) ப (ியன b | |||
| @@ -2600,16 +2717,25 @@ _மைக்ரோசா) ப் (ட f | |||
| உ) ப்ப (ிப் bb | |||
| உ) ப்ப (ிய bb | |||
| அ) ப்ப (ியாச bb | |||
| _சிவ) ப்பி (ரகா pp | |||
| _யாதவ) ப்பி (ரகாச pp | |||
| அதிக) ப்பி (ரசங்க pp | |||
| _நில) ப்பி (ரபு pp | |||
| மன) ப்பி (ரமை bb | |||
| _பர) ப்பி (ரம்ம pb | |||
| _மணி) ப்பி (ரவா pp | |||
| L03) ப்பி (ரவாக pp | |||
| _நதி) ப்பி (ரவாக pp | |||
| அக) ப்பி (ரவாக pp | |||
| _ஜல) ப்பி (ரவாக pp | |||
| _மன) ப்பி (ரவாக pp | |||
| _ரத்த) ப்பி (ரவாக pp | |||
| இரத்த) ப்பி (ரவாக pp | |||
| _ஒL10ி) ப்பி (ரவாக pp | |||
| தேச) ப்பி (ரஷ்ட pp | |||
| ஆ) ப்பி (ரிக்க f | |||
| தென்னா) ப்பி (ரிக்க fV | |||
| _ஹ) ப்ப (ிள bb | |||
| _சந்தேக) ப்ப (ுத்தி bb | |||
| இ) ப்ப (ூமி bb | |||
| _ல) ப்ப (ை bb | |||
| @@ -2689,6 +2815,7 @@ _சந்தேக) ப்ப (ுத்தி bb | |||
| ம mV | |||
| ம (B m | |||
| _சL07) மி (ய m | |||
| _) மி (யூ m | |||
| .group ய | |||
| @@ -2733,13 +2860,6 @@ _சந்தேக) ப்ப (ுத்தி bb | |||
| _) வி (யா v | |||
| வி (யூக v | |||
| D_) வ (து_ a:vV | |||
| D_) வ (தும்_ a:vV | |||
| D_) வ (துமாக_ a:vV | |||
| -) வ (து_ a:vV | |||
| -) வ (தும்_ a:vV | |||
| -) வ (துமாக_ a:vV | |||
| .group ஶ | |||
| ஶ SV | |||
| @@ -2791,6 +2911,7 @@ _சந்தேக) ப்ப (ுத்தி bb | |||
| இ (ரத்த | |||
| இரப்ப (ர rVbbV | |||
| இ (ரயில | |||
| இ (ரவீந்திர | |||
| இ (ராக | |||
| இ (ராச | |||
| இ (ராஜ | |||
| @@ -2801,6 +2922,7 @@ _சந்தேக) ப்ப (ுத்தி bb | |||
| இ (ராதாகி | |||
| இ (ராதாவ | |||
| இ (ராத்த | |||
| இ (ராப்_ | |||
| இ (ராப்பிச்சை | |||
| இ (ராம | |||
| இ (ராமல்_ i | |||
| @@ -2809,6 +2931,7 @@ _சந்தேக) ப்ப (ுத்தி bb | |||
| இ (ராவுத்த | |||
| இ (ராஷ்டிர | |||
| இ (லகுவாக | |||
| இ (லக்ஷ்மண | |||
| இ (லட்சக் | |||
| இ (லட்சங் | |||
| இ (லட்சண | |||
| @@ -2816,9 +2939,11 @@ _சந்தேக) ப்ப (ுத்தி bb | |||
| இ (லட்சம | |||
| இ (லட்சா | |||
| இ (லட்சிய | |||
| இ (லட்சுமண | |||
| இ (லட்சுமி | |||
| இ (லண்டன | |||
| இ (லத்தீன | |||
| இ (லயி | |||
| இ (லவங்க | |||
| இ (லாப | |||
| இ (லேச | |||
| @@ -1,9 +1,9 @@ | |||
| language variant | |||
| name female1 | |||
| gender female | |||
| gender female 70 | |||
| pitch 145 200 | |||
| flutter 7 | |||
| pitch 140 200 | |||
| flutter 8 | |||
| roughness 4 | |||
| formant 0 115 80 150 | |||
| formant 1 120 80 180 | |||
| @@ -15,4 +15,4 @@ formant 6 105 80 150 | |||
| formant 7 110 70 150 | |||
| formant 8 110 70 150 | |||
| stressAdd -10 -10 -20 -20 0 0 40 70 | |||
| stressAdd -10 -10 -20 -20 0 0 40 60 | |||
| @@ -3,7 +3,7 @@ name male1 | |||
| gender male 70 | |||
| pitch 75 109 | |||
| flutter 4 | |||
| flutter 5 | |||
| roughness 4 | |||
| consonants 80 100 | |||
| @@ -13,5 +13,4 @@ formant 6 90 50 100 | |||
| formant 7 100 50 100 | |||
| formant 8 100 50 100 | |||
| voicing 155 | |||
| fast_test 0 45 75 | |||
| @@ -1,5 +1,6 @@ | |||
| name english | |||
| language en-uk 2 | |||
| language en-gb 2 | |||
| language en 2 | |||
| gender male | |||
| @@ -1,6 +1,7 @@ | |||
| name lancashire | |||
| language en-uk-north | |||
| language en-uk 3 | |||
| language en 5 | |||
| gender male | |||
| phonemes en-n | |||
| @@ -1,6 +1,7 @@ | |||
| name english_rp | |||
| language en-uk-rp | |||
| language en-uk 4 | |||
| language en 5 | |||
| gender male | |||
| phonemes en-rp | |||
| @@ -1,6 +1,7 @@ | |||
| name en-westindies | |||
| language en-wi | |||
| language en-uk 4 | |||
| language en 10 | |||
| gender male | |||
| phonemes en-wi | |||
| @@ -1,5 +1,7 @@ | |||
| name english_wmids | |||
| language en-uk-wmids | |||
| language en-uk 9 | |||
| language en 9 | |||
| gender male | |||
| phonemes en-wm | |||
| @@ -1,6 +1,7 @@ | |||
| name spanish-latin-american | |||
| language es-la | |||
| language es-mx 6 | |||
| language es 6 | |||
| gender male | |||
| phonemes es-la | |||
| @@ -1,5 +1,6 @@ | |||
| language fr-be | |||
| name french (Belgium) | |||
| language fr-be | |||
| language fr 8 | |||
| gender male | |||
| dictrules 2 | |||
| @@ -1,9 +1,3 @@ | |||
| name hindi-test | |||
| name hindi | |||
| language hi | |||
| gender male | |||
| translator hi | |||
| phonemes hi | |||
| dictionary hi | |||
| dictrules 1 | |||
| @@ -1,5 +1,6 @@ | |||
| name armenian-west | |||
| language hy-west | |||
| language hy 8 | |||
| gender male | |||
| // change consonants for West Armenian pronunciation | |||
| @@ -1,5 +1,5 @@ | |||
| name en-german-5 | |||
| language en | |||
| language en 9 | |||
| gender female | |||
| pitch 140 220 | |||
| @@ -1,5 +1,5 @@ | |||
| name en-greek | |||
| language en 7 | |||
| language en 9 | |||
| gender male | |||
| pitch 82 117 | |||
| @@ -1,5 +1,5 @@ | |||
| name en-swedish-f | |||
| language en | |||
| language en 10 | |||
| gender female | |||
| pitch 140 220 | |||
| @@ -1,5 +1,6 @@ | |||
| name portugal | |||
| language pt-pt | |||
| language pt 6 | |||
| gender male | |||
| phonemes pt-pt | |||
| @@ -1,4 +1,4 @@ | |||
| 74 phoneme tables | |||
| 76 phoneme tables | |||
| new total | |||
| base 107 107 | |||
| consonants 10 116 | |||
| @@ -17,6 +17,7 @@ consonants 10 116 | |||
| jbo 2 114 | |||
| nci 3 123 | |||
| fi 40 133 | |||
| et 47 139 | |||
| fr 59 140 | |||
| fr-ca 11 140 | |||
| hi 57 148 | |||
| @@ -31,7 +32,7 @@ consonants 10 116 | |||
| cs 7 135 | |||
| hr 25 140 | |||
| mk 3 141 | |||
| sr 14 140 | |||
| sr 14 142 | |||
| ru 49 137 | |||
| bg 14 123 | |||
| it 19 127 | |||
| @@ -74,6 +75,7 @@ consonants 10 116 | |||
| te 16 148 | |||
| si 24 154 | |||
| tn 27 119 | |||
| mt 32 127 | |||
| Data file Used by | |||
| b/b [b] base | |||
| @@ -99,6 +101,8 @@ d/d [d] base | |||
| [d[] base | |||
| [d] base2 | |||
| [d] fi | |||
| [d] et | |||
| [d^] et | |||
| [d] fr | |||
| [d] kn | |||
| [d] hu | |||
| @@ -106,10 +110,13 @@ d/d [d] base | |||
| [d;] pl | |||
| [d] hr | |||
| [d] sq | |||
| [d] mt | |||
| d/d_ [d] base | |||
| [d[] base | |||
| [d] base2 | |||
| [d] fi | |||
| [d] et | |||
| [d^] et | |||
| [d] fr | |||
| [d.] hi | |||
| [d] kn | |||
| @@ -118,11 +125,14 @@ d/d_ [d] base | |||
| [d;] pl | |||
| [d] hr | |||
| [d] sq | |||
| [d] mt | |||
| d/d_dnt [d] sr | |||
| d/dr [*] base | |||
| [d[] base | |||
| [d] base2 | |||
| [d] fi | |||
| [d] et | |||
| [d^] et | |||
| [d] fr | |||
| [d.] hi | |||
| [dh.] hi | |||
| @@ -132,6 +142,7 @@ d/dr [*] base | |||
| [d;] pl | |||
| [d] hr | |||
| [d] sq | |||
| [d] mt | |||
| d/tap [*;] ro | |||
| d/tap1 [*] base | |||
| d/tap2 [t#] en | |||
| @@ -143,6 +154,7 @@ d/xd [d] base | |||
| [dz] consonants | |||
| [d] base2 | |||
| [d] fi | |||
| [d] et | |||
| [d] fr | |||
| [z] fr | |||
| [dh] hi | |||
| @@ -152,8 +164,10 @@ d/xd [d] base | |||
| [d] hr | |||
| [d] sr | |||
| [d] sq | |||
| [d] mt | |||
| d/xd3 [dh] hi | |||
| d/xd_pzd [d;] pl | |||
| d/xd_pzd [d^] et | |||
| [d;] pl | |||
| d/xdr [d] fr | |||
| [d.] hi | |||
| [dh.] hi | |||
| @@ -247,25 +261,37 @@ g/xg [g] base | |||
| g/xgr [g] fr | |||
| h/h_ [h] base | |||
| [h] fi | |||
| [h] et | |||
| [<h>] la | |||
| [h] mt | |||
| h/h@ [h] base | |||
| [h] fi | |||
| [h] sr | |||
| [h] et | |||
| [h#] sr | |||
| [<h>] la | |||
| [h] mt | |||
| h/ha [h] base | |||
| [h] fi | |||
| [h] et | |||
| [<h>] la | |||
| [h] mt | |||
| h/he [h] base | |||
| [h] fi | |||
| [h] et | |||
| [<h>] la | |||
| [h] mt | |||
| h/hi [h] base | |||
| [h] fi | |||
| [h] et | |||
| [<h>] la | |||
| [h] mt | |||
| h/ho [h] base | |||
| [<h>] la | |||
| h/hu [h] base | |||
| [<h>] la | |||
| h/hu_fi [h] fi | |||
| [h] et | |||
| [h] mt | |||
| j2/_j2 [;] base | |||
| j2/j2@ [;] base | |||
| j2/j2a [;] base | |||
| @@ -368,8 +394,8 @@ l/l_ [l] base | |||
| [l/] fr | |||
| l/l_@ [l/3] base | |||
| [l/] fr | |||
| l/l@ [l#] base | |||
| [”¦] base | |||
| l/l@ [hfx] base | |||
| [l#] base | |||
| [l] fr | |||
| [l/2] fr | |||
| [K] nso | |||
| @@ -402,16 +428,16 @@ l/L2_oL [l/2] base | |||
| l/L2_uL [l/2] base | |||
| l/l_3 [l/] de | |||
| l/l_4 [ll] sq | |||
| l/la [l#] base | |||
| [”¦] base | |||
| l/la [hfx] base | |||
| [l#] base | |||
| [l] fr | |||
| [l/2] fr | |||
| [K] nso | |||
| [K] tn | |||
| l/l_a [l/3] base | |||
| [l/] fr | |||
| l/le [l#] base | |||
| [”¦] base | |||
| l/le [hfx] base | |||
| [l#] base | |||
| [l] fr | |||
| [l/2] fr | |||
| [K] nso | |||
| @@ -422,8 +448,8 @@ l/L_eL_af [&] af | |||
| [&:] af | |||
| l/l_front [L] sq | |||
| l/l_front_ [l/4] sq | |||
| l/li [l#] base | |||
| [”¦] base | |||
| l/li [hfx] base | |||
| [l#] base | |||
| [l] fr | |||
| [l/2] fr | |||
| [l] zh | |||
| @@ -436,8 +462,8 @@ ll/ll [L] bg | |||
| ll/_ll [L] bg | |||
| l/l_long [l] base | |||
| [l] fr | |||
| l/lo [l#] base | |||
| [”¦] base | |||
| l/lo [hfx] base | |||
| [l#] base | |||
| [l/2] fr | |||
| [K] nso | |||
| [K] tn | |||
| @@ -446,8 +472,8 @@ l/l_o [l/3] base | |||
| l^/l_rfx [l.] base | |||
| [l] ru | |||
| [l^] ru | |||
| l/lu [l#] base | |||
| [”¦] base | |||
| l/lu [hfx] base | |||
| [l#] base | |||
| [l] fr | |||
| [l/2] fr | |||
| [K] nso | |||
| @@ -584,9 +610,11 @@ r2/r2u [r-] en | |||
| [r-] tn | |||
| r3/r_ [r/] base | |||
| [r/] af | |||
| [r] et | |||
| [r/] tn | |||
| r3/r#_ [r#] is | |||
| r3/r_n [r/] base | |||
| [r] et | |||
| r3/r_ru [R4] ru | |||
| r3/r_ru2 [R4] ru | |||
| r3/r_trill [R2] base | |||
| @@ -606,8 +634,10 @@ r3/r_trill3.wav [R3] base | |||
| [r] af | |||
| [r] tn | |||
| r3/r_trill_short [R2] fi | |||
| [R2] et | |||
| r3/r_trill.wav [R2] base | |||
| [R2] fi | |||
| [R2] et | |||
| [R2] lv | |||
| [R] pl | |||
| [r*] sr | |||
| @@ -620,6 +650,7 @@ r3/r_uvl.wav [r"] base | |||
| r3/rx [*] base | |||
| [r/] base | |||
| [r/] af | |||
| [r] et | |||
| [r/] fr | |||
| [R] fr-ca | |||
| [x] pt-pt | |||
| @@ -684,8 +715,8 @@ r/xr [r] base | |||
| ufric/ch [C] base | |||
| [J^] base | |||
| ufric/ch_ [C] base | |||
| ufric/ch_sr [h] sr | |||
| [x] sr | |||
| ufric/ch_sr [h#] sr | |||
| [x#] sr | |||
| ufric/f [f] base | |||
| [pF] de | |||
| [f] fr | |||
| @@ -735,6 +766,7 @@ ufric/sh_pzd2 [S] sr | |||
| [S;] zh | |||
| ufric/sh_rfx [s.] base | |||
| [s.] zh | |||
| ufric/s_pal [s^] et | |||
| ufric/s_pzd [s;] base | |||
| [z;] base | |||
| [s;] ro | |||
| @@ -753,8 +785,8 @@ ufric/x2 [x2] af | |||
| ufric/x_hr [x] base | |||
| [x] hr | |||
| [x] ru | |||
| ufric/x_sr [h] sr | |||
| [x] sr | |||
| ufric/x_sr [h#] sr | |||
| [x#] sr | |||
| ufric/xx [X] base | |||
| [Q"] base | |||
| ustop/c [c] base | |||
| @@ -775,6 +807,7 @@ ustop/k_asp2 [k#] ka | |||
| ustop/ki [k] base | |||
| [k] base2 | |||
| [c] af | |||
| [k] et | |||
| [k] fr | |||
| [k] lv | |||
| [k^] mk | |||
| @@ -786,6 +819,7 @@ ustop/ki [k] base | |||
| ustop/kl [k] base | |||
| [kh] consonants | |||
| [k] base2 | |||
| [k] et | |||
| [k] fr | |||
| [k] lv | |||
| [k] el | |||
| @@ -794,11 +828,13 @@ ustop/kl [k] base | |||
| [kh] tn | |||
| ustop/kr [k] base | |||
| [k] base2 | |||
| [k] et | |||
| [k] el | |||
| [k] zhy | |||
| ustop/k_unasp [k] base | |||
| [k-] consonants | |||
| [k] base2 | |||
| [k] et | |||
| [k] lv | |||
| [k] el | |||
| [k] zhy | |||
| @@ -869,6 +905,7 @@ ustop/t_dnt [t] base | |||
| [t[] base | |||
| [t] base2 | |||
| [t] en-us | |||
| [t] et | |||
| [dh] hi | |||
| [th] hi | |||
| [t] hu | |||
| @@ -877,7 +914,9 @@ ustop/t_dnt [t] base | |||
| ustop/t_dnt2 [t] base2 | |||
| [d] kn | |||
| ustop/t_hi [t[] base | |||
| [t] et | |||
| ustop/t_pzd [c] base | |||
| [t^] et | |||
| [t;] pl | |||
| ustop/tr [t] base | |||
| [t] en-us | |||
| @@ -956,6 +995,7 @@ vdiph2/i@ [i@] en-n | |||
| vdiph2/i@_2 [i@] en-wm | |||
| vdiph2/ie [i@] en-wi | |||
| [ie] fi | |||
| [ie] mt | |||
| vdiph2/ie_2 [ie] lv | |||
| vdiph2/ii@ [i@] en | |||
| [i@3] en | |||
| @@ -968,10 +1008,12 @@ vdiph2/iu [iU] base2 | |||
| [iu] zhy | |||
| vdiph2/iu_2 [iu] fi | |||
| [iu] lv | |||
| [iu] mt | |||
| vdiph2/iu_3 [iu] af | |||
| vdiph2/iu_4 [Iu] cy | |||
| [Yu] cy | |||
| vdiph2/iy [iy] fi | |||
| [iy] mt | |||
| vdiph2/o@ [o@] af | |||
| [u@] zh | |||
| vdiph2/oa [Oa] ro | |||
| @@ -982,6 +1024,7 @@ vdiph2/o_oo [o@] en-wi | |||
| vdiph2/u#@ [U@] en-sc | |||
| vdiph2/uaa [uo] lv | |||
| vdiph2/uo [uo] fi | |||
| [uo] mt | |||
| vdiph2/uu@ [U@] en | |||
| [U@] en-n | |||
| [U@] en-wm | |||
| @@ -997,7 +1040,9 @@ vdiph2/yu [yU] nl | |||
| [yu] zh | |||
| vdiph2/y-y# [yY] fi | |||
| [y@] vi | |||
| [yY] mt | |||
| vdiph/8u [oU] en-us | |||
| [8u] et | |||
| [ou] zh | |||
| vdiph/aae [aI] en-us | |||
| vdiph/aai [ai] lv | |||
| @@ -1007,10 +1052,12 @@ vdiph/aai [ai] lv | |||
| vdiph/aai_2 [AI] af | |||
| [AY] cy | |||
| vdiph/aai_3 [ai] fi | |||
| [ai] mt | |||
| vdiph/aau [au] fi | |||
| [au] lv | |||
| [aU] is | |||
| [aU:] is | |||
| [au] mt | |||
| vdiph/aau_2 [aU] en-wi | |||
| [VU] nl | |||
| [aU] la | |||
| @@ -1083,6 +1130,7 @@ vdiph/eei_2 [eI] eo | |||
| [ei] fi | |||
| [ei] lv | |||
| [eI] id | |||
| [ei] mt | |||
| vdiph/eei_3 [eI] sk | |||
| [eI] ku | |||
| vdiph/eeu [EU] pt | |||
| @@ -1095,6 +1143,7 @@ vdiph/eeu_3 [aU] en-n | |||
| [aU] en-wm | |||
| [eU] ku | |||
| vdiph/eey [ey] fi | |||
| [ey] mt | |||
| vdiph/ei [eI] base2 | |||
| [e:] nl | |||
| [eI] la | |||
| @@ -1112,10 +1161,14 @@ vdiph/eu [eU] base2 | |||
| [eU] vi | |||
| [eU] ne | |||
| vdiph/eu_2 [eu] fi | |||
| vdiph/@i [@I] vi | |||
| [eu] mt | |||
| vdiph/@i [Yi] et | |||
| [@I] vi | |||
| [@:I] vi | |||
| vdiph/&i [&i] fi | |||
| [&i] et | |||
| [aI] hi | |||
| [i] mt | |||
| vdiph/@i_2 [eI] af | |||
| [@I] cy | |||
| [@Y] cy | |||
| @@ -1144,6 +1197,7 @@ vdiph/ooi [OI] en | |||
| [oi] lv | |||
| [OI] no | |||
| [oi] zhy | |||
| [oi] mt | |||
| vdiph/ooi_2 [OI] af | |||
| [oI] eo | |||
| vdiph/ooi_3 [OI] en-rp | |||
| @@ -1155,6 +1209,7 @@ vdiph/oou [oU] cs | |||
| vdiph/ou [ou] fi | |||
| [ou] zhy | |||
| [oU] ne | |||
| [ou] mt | |||
| vdiph/ou_2 [oU] sk | |||
| [oU] ro | |||
| vdiph/ou_3 [oU] is | |||
| @@ -1178,6 +1233,7 @@ vdiph/ui_2 [uI] af | |||
| vdiph/ui_3 [uI] cy | |||
| [uY] cy | |||
| vdiph/ui_4 [ui] fi | |||
| [ui] mt | |||
| vdiph/Vi [VI] ne | |||
| vdiph/Vu [@U] af | |||
| [VU] ne | |||
| @@ -1185,13 +1241,17 @@ vdiph/Vu_2 [oU] en-wm | |||
| vdiph/&y [&y] fi | |||
| [Wy] nl | |||
| vdiph/yi [yi] fi | |||
| [yi] et | |||
| [yI] grc | |||
| [u-I] no | |||
| [yi] zh | |||
| [yi] mt | |||
| vdiph/y#i [Yi] fi | |||
| [Yi] mt | |||
| vdiph/y#i_2 [Yy] is | |||
| [Yy:] is | |||
| vdiph/y#y [Yy] fi | |||
| [Yy] mt | |||
| vdiph/y#y_2 [Yy] af | |||
| [eoi] zhy | |||
| vdiph/y#y_3 [Y:] nl | |||
| @@ -1248,14 +1308,18 @@ voc/Q_less [Q] nl | |||
| voc/Q_ulv [Q"] base | |||
| voc/v [v] base | |||
| [v] fi | |||
| [v] et | |||
| [v] fr | |||
| [v;] ro | |||
| [v] mt | |||
| voc/v_ [B] base | |||
| [v] base | |||
| [v] fi | |||
| [v] et | |||
| [v] fr | |||
| [v#] es | |||
| [v;] ro | |||
| [v] mt | |||
| voc/v# [v#] base | |||
| voc/v#_ [v#] base | |||
| voc/v2 [v#] es | |||
| @@ -1317,6 +1381,8 @@ vowel/@- [@-] base | |||
| [r*] hr | |||
| vowel/& [a] en-rp | |||
| [&] fi | |||
| [&] et | |||
| [&:] et | |||
| [&:] hi | |||
| [&] lv | |||
| [&:] lv | |||
| @@ -1365,11 +1431,13 @@ vowel/@_6 [@] en | |||
| [W2] fr | |||
| vowel/8 [o-] zh | |||
| vowel/8_2 [U] en-us | |||
| [8] et | |||
| [8] sv | |||
| vowel/8_3 [eo] zhy | |||
| vowel/8_5 [8] ku | |||
| vowel/8_6 [V] sq | |||
| vowel/8_7 [@] lv | |||
| vowel/8_7 [8:] et | |||
| [@] lv | |||
| vowel/a [a] base | |||
| [a] en | |||
| [aa] en | |||
| @@ -1481,8 +1549,10 @@ vowel/a_6 [a] ca | |||
| [a:] wo | |||
| vowel/a_7 [a] en | |||
| [a] fr | |||
| [a] sk | |||
| [a] ht | |||
| vowel/aa [A] fr-ca | |||
| vowel/aa [a:] et | |||
| [A] fr-ca | |||
| [A] no | |||
| [A:] no | |||
| [aa] zhy | |||
| @@ -1510,13 +1580,17 @@ vowel/aa_6 [A] de | |||
| [A:] de | |||
| vowel/aa_8 [0] en-us | |||
| [A:] en-us | |||
| [A] et | |||
| [A1] et | |||
| [A] nl | |||
| [a:] is | |||
| vowel/aa_9 [a] fi | |||
| [a] et | |||
| [a:] hi | |||
| [a] ne | |||
| [a] pa | |||
| [a] ak | |||
| [a] mt | |||
| vowel/@_bck [@] hi | |||
| [@] bg | |||
| [@] zh | |||
| @@ -1573,6 +1647,8 @@ vowel/e_3 [i] en-n | |||
| vowel/e_5 [i] en-sc | |||
| vowel/e_6 [e] ht | |||
| [e] ak | |||
| vowel/e_7 [e] et | |||
| [e:] et | |||
| vowel/e_8 [E:] de | |||
| [e] fr | |||
| vowel/ee [E] en-n | |||
| @@ -1603,7 +1679,9 @@ vowel/ee_3 [&] af | |||
| [&:] af | |||
| [E] pt | |||
| [E] vi | |||
| vowel/ee_4 [E] sq | |||
| vowel/ee_4 [E] et | |||
| [E1] et | |||
| [E] sq | |||
| vowel/ee_5 [E] en | |||
| [E] ak | |||
| [E] wo | |||
| @@ -1665,6 +1743,7 @@ vowel/e_mid2 [E] af | |||
| [e] am | |||
| [e] te | |||
| [e:] si | |||
| [e] mt | |||
| vowel/@_fnt [@] en-wi | |||
| [@2] en-wi | |||
| [@2] hr | |||
| @@ -1707,11 +1786,14 @@ vowel/i [i] base | |||
| vowel/i# [y:] cy | |||
| vowel/i_2 [i2] de | |||
| [i:] de | |||
| [i] et | |||
| [i] nl | |||
| [i:] la | |||
| [i:] sv | |||
| vowel/i#_2 [y] am | |||
| vowel/i_3 [i] af | |||
| [I] et | |||
| [I1] et | |||
| [i:] sk | |||
| vowel/i_4 [i] fi | |||
| [i] hu | |||
| @@ -1719,6 +1801,7 @@ vowel/i_4 [i] fi | |||
| [i:] is | |||
| [i] vi | |||
| [i] da | |||
| [i] mt | |||
| vowel/i_5 [i:] en-sc | |||
| vowel/i#_5 [y] pt-pt | |||
| [i/] pt-pt | |||
| @@ -1738,7 +1821,8 @@ vowel/i_6 [i] hi | |||
| [i] te | |||
| [i] si | |||
| vowel/i#_6 [i.] zh | |||
| vowel/i_7 [i] pl | |||
| vowel/i_7 [i:] et | |||
| [i] pl | |||
| [i] sq | |||
| vowel/i#_7 [i[] zh | |||
| vowel/i_8 [i] fr | |||
| @@ -1770,6 +1854,7 @@ vowel/ii# [Y] cy | |||
| [i] sq | |||
| vowel/ii_2 [I] en | |||
| [i] zh | |||
| [I] mt | |||
| vowel/ii#_2 [y] pl | |||
| vowel/ii_3 [I] cy | |||
| [I] fi | |||
| @@ -1785,7 +1870,8 @@ vowel/ii#_3 [I2] en-us | |||
| vowel/ii_4 [I2] en | |||
| [I] en-us | |||
| [I2] tn | |||
| vowel/ii_5 [i] ta | |||
| vowel/ii_5 [i1] et | |||
| [i] ta | |||
| [i] bg | |||
| [I] la | |||
| [i] zh | |||
| @@ -1829,6 +1915,7 @@ vowel/o [o] base2 | |||
| [oU] en-wi | |||
| [o:] de | |||
| [o] eo | |||
| [o:] et | |||
| [o] fr | |||
| [o] hi | |||
| [o] ta | |||
| @@ -1881,6 +1968,9 @@ vowel/oe [W] af | |||
| vowel/oe_2 [W] no | |||
| vowel/oe_4 [W] sv | |||
| vowel/o_mid [U@] en-rp | |||
| [O] et | |||
| [o] et | |||
| [O1] et | |||
| [O] fr | |||
| [o] hu | |||
| [o] bg | |||
| @@ -1929,6 +2019,7 @@ vowel/oo_1 [O:] en-n | |||
| [o] si | |||
| [o:] si | |||
| [O] tn | |||
| [o] mt | |||
| vowel/oo_2 [0] en-sc | |||
| [O] cy | |||
| [o] cs | |||
| @@ -1993,12 +2084,16 @@ vowel/u_2 [u1] fi | |||
| [u] am | |||
| [u] wo | |||
| vowel/u#_2 [u-] sv | |||
| vowel/u_3 [u] et | |||
| [u:] et | |||
| vowel/u#_3 [U] ta | |||
| [U:] ta | |||
| vowel/u#_4 [U] en-sc | |||
| [u:] en-sc | |||
| [y] ml | |||
| vowel/u_5 [u] sw | |||
| vowel/u_5 [U] et | |||
| [U1] et | |||
| [u] sw | |||
| [u] nso | |||
| [u] az | |||
| [u] tn | |||
| @@ -2048,6 +2143,7 @@ vowel/u_bck [u] base2 | |||
| [u#] rw | |||
| [u] ne | |||
| [u] pa | |||
| [u] mt | |||
| vowel/u_bck2 [u] fr | |||
| [u:] fr | |||
| [u:] la | |||
| @@ -2065,6 +2161,7 @@ vowel/uu_3 [u] af | |||
| [y] zh | |||
| vowel/uu_4 [U] fi | |||
| [U] sv | |||
| [U] mt | |||
| vowel/uu_bck [U] en-wi | |||
| [U] fr-ca | |||
| [U] hi | |||
| @@ -2097,6 +2194,8 @@ vowel/V_6 [V] en-us | |||
| vowel/y [y] base2 | |||
| [y:] de | |||
| [y] fi | |||
| [y] et | |||
| [y:] et | |||
| [y] fr | |||
| [y:] hu | |||
| [y] nl | |||
| @@ -2105,16 +2204,20 @@ vowel/y [y] base2 | |||
| [y] sq | |||
| [y] da | |||
| [y] az | |||
| [y] mt | |||
| vowel/y# [Y] base2 | |||
| [3:] en-wm | |||
| [Y:] de | |||
| [Y] fi | |||
| [Y] et | |||
| [Y:] et | |||
| [Y] fr | |||
| [Y:] hu | |||
| [8] nl | |||
| [Y] ro | |||
| [oe] zhy | |||
| [W] tr | |||
| [Y] mt | |||
| vowel/y## [y] is | |||
| vowel/y_2 [y:] la | |||
| [y] zh | |||
| @@ -2341,6 +2444,7 @@ x/d_ [d] base | |||
| [d[] base | |||
| [d] base2 | |||
| [d] fi | |||
| [d] et | |||
| [d] fr | |||
| [d.] hi | |||
| [d] kn | |||
| @@ -2348,13 +2452,17 @@ x/d_ [d] base | |||
| [d] hr | |||
| [d] is | |||
| [d] sq | |||
| [d] mt | |||
| x/d_dnt [d[] base | |||
| [d] base2 | |||
| [d] fi | |||
| [d] et | |||
| [d] kn | |||
| [d] hu | |||
| [d] pl | |||
| x/d_pzd [d;] pl | |||
| [d] mt | |||
| x/d_pzd [d^] et | |||
| [d;] pl | |||
| x/dzh [J] base | |||
| [dZ] base | |||
| x/dzh_ [dZ] base | |||
| @@ -63,7 +63,8 @@ endphoneme | |||
| // This is for letter "h" at the beginning of a word | |||
| phoneme x | |||
| // Use [x] from lang=hr, request by Gašić Dajan 27.06.2011 | |||
| phoneme x# | |||
| vls vel frc | |||
| lengthmod 3 | |||
| IF nextPh(#i) OR nextPh(#e) THEN | |||
| @@ -76,7 +77,8 @@ endphoneme | |||
| // This is for letter "h" not at the beginning of word | |||
| phoneme h | |||
| // Use standard [h], request by Gašić Dajan 27.06.2011 | |||
| phoneme h# | |||
| vls vel frc | |||
| lengthmod 3 | |||
| IF nextPh(#@) THEN | |||
| @@ -31,9 +31,14 @@ phoneme e: | |||
| FMT(vowel/e_mid) | |||
| endphoneme | |||
| phoneme a | |||
| vowel starttype #a endtype #a | |||
| length 120 | |||
| IF thisPh(isWordEnd) AND thisPh(isUnstressed) THEN | |||
| FMT(vowel/a_7) | |||
| ENDIF | |||
| FMT(vowel/a) | |||
| endphoneme | |||
| @@ -1682,6 +1682,9 @@ include ph_nahuatl | |||
| phonemetable fi base | |||
| include ph_finnish | |||
| phonemetable et base | |||
| include ph_estonian | |||
| phonemetable fr base | |||
| include ph_french | |||
| @@ -1874,3 +1877,7 @@ include ph_sinhala | |||
| phonemetable tn base | |||
| include ph_setswana | |||
| phonemetable mt base | |||
| include ph_maltese | |||
| @@ -26,6 +26,8 @@ LN_SF = /bin/ln -sf | |||
| MKDIR = mkdir -p | |||
| AUDIO = portaudio | |||
| #AUDIO = portaudio0 | |||
| #AUDIO = portaudio2 | |||
| #AUDIO = pulseaudio | |||
| #AUDIO = sada | |||
| @@ -39,6 +41,16 @@ WAVE=wave.cpp | |||
| LIB_AUDIO=-lportaudio | |||
| USE_AUDIO=-DUSE_PORTAUDIO | |||
| else | |||
| ifeq ($(AUDIO),portaudio0) | |||
| WAVE=wave.cpp | |||
| LIB_AUDIO=/usr/lib/libportaudio.so.0 | |||
| USE_AUDIO=-DUSE_PORTAUDIO | |||
| else | |||
| ifeq ($(AUDIO),portaudio2) | |||
| WAVE=wave.cpp | |||
| LIB_AUDIO=/usr/lib/libportaudio.so.2 | |||
| USE_AUDIO=-DUSE_PORTAUDIO | |||
| else | |||
| ifeq ($(AUDIO),sada) | |||
| WAVE=wave_sada.cpp | |||
| USE_AUDIO=-DUSE_SADA | |||
| @@ -47,6 +59,8 @@ WAVE=wave.cpp | |||
| endif | |||
| endif | |||
| endif | |||
| endif | |||
| endif | |||
| speak_SOURCES = speak.cpp compiledict.cpp dictionary.cpp intonation.cpp \ | |||
| readclause.cpp setlengths.cpp numbers.cpp synth_mbrola.cpp \ | |||
| @@ -617,8 +617,8 @@ void GetTranslatedPhonemeString(char *phon_out, int n_phon_out) | |||
| */ | |||
| int ix; | |||
| int len; | |||
| int max_len; | |||
| unsigned int len; | |||
| unsigned int max_len; | |||
| int phon_out_ix=0; | |||
| int stress; | |||
| unsigned int c; | |||
| @@ -2928,7 +2928,7 @@ static const char *LookupDict2(Translator *tr, const char *word, const char *wor | |||
| const char *word_end; | |||
| const char *word1; | |||
| int wflags = 0; | |||
| int wflags2; | |||
| // int wflags2; | |||
| char word_buf[N_WORD_BYTES+1]; | |||
| if(wtab != NULL) | |||
| @@ -3497,6 +3497,17 @@ int RemoveEnding(Translator *tr, char *word, int end_type, char *word_copy) | |||
| if(end_type & SUFX_E) | |||
| { | |||
| if(tr->translator_name == L('n','l')) | |||
| { | |||
| if(((word_end[0] & 0x80) == 0) && ((word_end[-1] & 0x80) == 0) && IsVowel(tr, word_end[-1]) && IsLetter(tr, word_end[0], LETTERGP_C) && !IsVowel(tr, word_end[-2])) | |||
| { | |||
| //double the vowel before the (ascii) final consonant | |||
| word_end[1] = word_end[0]; | |||
| word_end[0] = word_end[-1]; | |||
| word_end[2] = ' '; | |||
| } | |||
| } | |||
| else | |||
| if(tr->translator_name == L('e','n')) | |||
| { | |||
| // add 'e' to end of stem | |||
| @@ -123,6 +123,7 @@ static void close_pipes(int p1[2], int p2[2], int p3[2]) | |||
| static int start_mbrola(const char *voice_path) | |||
| { | |||
| int error, p_stdin[2], p_stdout[2], p_stderr[2]; | |||
| ssize_t written; | |||
| char charbuf[20]; | |||
| if (mbr_state != MBR_INACTIVE) { | |||
| @@ -151,7 +152,7 @@ static int start_mbrola(const char *voice_path) | |||
| dup2(p_stderr[1], 2) == -1) { | |||
| snprintf(mbr_errorbuf, sizeof(mbr_errorbuf), | |||
| "dup2(): %s\n", strerror(errno)); | |||
| write(p_stderr[1], mbr_errorbuf, strlen(mbr_errorbuf)); | |||
| written = write(p_stderr[1], mbr_errorbuf, strlen(mbr_errorbuf)); | |||
| _exit(1); | |||
| } | |||
| @@ -168,7 +169,7 @@ static int start_mbrola(const char *voice_path) | |||
| /* if execution reaches this point then the exec() failed */ | |||
| snprintf(mbr_errorbuf, sizeof(mbr_errorbuf), | |||
| "mbrola: %s\n", strerror(errno)); | |||
| write(2, mbr_errorbuf, strlen(mbr_errorbuf)); | |||
| written = write(2, mbr_errorbuf, strlen(mbr_errorbuf)); | |||
| _exit(1); | |||
| } | |||
| @@ -1590,13 +1590,13 @@ static int TranslateNumber_1(Translator *tr, char *word, char *ph_out, unsigned | |||
| int suffix_ix; | |||
| int skipwords = 0; | |||
| char *p; | |||
| char string[20]; // for looking up entries in **_list | |||
| char string[32]; // for looking up entries in **_list | |||
| char buf1[100]; | |||
| char ph_append[50]; | |||
| char ph_buf[200]; | |||
| char ph_buf2[50]; | |||
| char ph_zeros[50]; | |||
| char suffix[20]; | |||
| char suffix[30]; // string[] must be long enough for sizeof(suffix)+2 | |||
| char buf_digit_lookup[50]; | |||
| static const char str_pause[2] = {phonPAUSE_NOLINK,0}; | |||
| @@ -190,9 +190,11 @@ void MakePhonemeList(Translator *tr, int post_pause, int start_sentence) | |||
| if(regression & 0x2) | |||
| { | |||
| // [v] amd [v;] don't cause regression, or [R^] | |||
| if((ph->mnemonic == 'v') || (ph->mnemonic == ((';'<<8)+'v')) || ((ph->mnemonic & 0xff)== 'R')) | |||
| if(((ph->mnemonic & 0xff) == 'v') || ((ph->mnemonic & 0xff)== 'R')) | |||
| { | |||
| stop_propagation = 1; | |||
| if(regression & 0x10) | |||
| voicing = 0; | |||
| } | |||
| } | |||
| @@ -247,7 +249,7 @@ void MakePhonemeList(Translator *tr, int post_pause, int start_sentence) | |||
| // stop propagation at a word boundary | |||
| voicing = 0; | |||
| } | |||
| if(regression & 0x10) | |||
| if(regression & 0x100) | |||
| { | |||
| // devoice word-final consonants, unless propagating voiced | |||
| if(voicing == 0) | |||
| @@ -164,7 +164,7 @@ static const unsigned int punct_attributes [] = { 0, | |||
| // frame 0 is for the defaults, before any ssml tags. | |||
| typedef struct { | |||
| int tag_type; | |||
| int voice_variant; | |||
| int voice_variant_number; | |||
| int voice_gender; | |||
| int voice_age; | |||
| char voice_name[40]; | |||
| @@ -175,6 +175,8 @@ typedef struct { | |||
| static int n_ssml_stack; | |||
| static SSML_STACK ssml_stack[N_SSML_STACK]; | |||
| static espeak_VOICE base_voice; | |||
| static char base_voice_variant_name[40] = {0}; | |||
| static char current_voice_id[40] = {0}; | |||
| @@ -1037,19 +1039,21 @@ static const char *VoiceFromStack() | |||
| // Use the voice properties from the SSML stack to choose a voice, and switch | |||
| // to that voice if it's not the current voice | |||
| int ix; | |||
| const char *p; | |||
| SSML_STACK *sp; | |||
| const char *v_id; | |||
| int voice_name_specified; | |||
| int voice_found; | |||
| espeak_VOICE voice_select; | |||
| char voice_name[40]; | |||
| static char voice_name[40]; | |||
| char language[40]; | |||
| char buf[80]; | |||
| strcpy(voice_name,ssml_stack[0].voice_name); | |||
| strcpy(language,ssml_stack[0].language); | |||
| voice_select.age = ssml_stack[0].voice_age; | |||
| voice_select.gender = ssml_stack[0].voice_gender; | |||
| voice_select.variant = ssml_stack[0].voice_variant; | |||
| voice_select.variant = ssml_stack[0].voice_variant_number; | |||
| voice_select.identifier = NULL; | |||
| for(ix=0; ix<n_ssml_stack; ix++) | |||
| @@ -1069,15 +1073,32 @@ static const char *VoiceFromStack() | |||
| if(sp->language[0] != 0) | |||
| { | |||
| strcpy(language, sp->language); | |||
| // is this language provided by the base voice? | |||
| p = base_voice.languages; | |||
| while(*p++ != 0) | |||
| { | |||
| if(strcmp(p, language) == 0) | |||
| { | |||
| // yes, change the language to the main language of the base voice | |||
| strcpy(language, &base_voice.languages[1]); | |||
| break; | |||
| } | |||
| p += (strlen(p) + 1); | |||
| } | |||
| if(voice_name_specified == 0) | |||
| voice_name[0] = 0; // forget a previous voice name if a language is specified | |||
| } | |||
| if(sp->voice_gender != 0) | |||
| { | |||
| voice_select.gender = sp->voice_gender; | |||
| } | |||
| if(sp->voice_age != 0) | |||
| voice_select.age = sp->voice_age; | |||
| if(sp->voice_variant != 0) | |||
| voice_select.variant = sp->voice_variant; | |||
| if(sp->voice_variant_number != 0) | |||
| voice_select.variant = sp->voice_variant_number; | |||
| } | |||
| voice_select.name = voice_name; | |||
| @@ -1085,6 +1106,14 @@ static const char *VoiceFromStack() | |||
| v_id = SelectVoice(&voice_select, &voice_found); | |||
| if(v_id == NULL) | |||
| return("default"); | |||
| if((strchr(v_id, '+') == NULL) && ((voice_select.gender == 0) || (voice_select.gender == base_voice.gender)) && (base_voice_variant_name[0] != 0)) | |||
| { | |||
| // a voice variant has not been selected, use the original voice variant | |||
| sprintf(buf, "%s+%s", v_id, base_voice_variant_name); | |||
| strncpy0(voice_name, buf, sizeof(voice_name)); | |||
| return(voice_name); | |||
| } | |||
| return(v_id); | |||
| } // end of VoiceFromStack | |||
| @@ -1389,8 +1418,8 @@ int AddNameData(const char *name, int wide) | |||
| } // end of AddNameData | |||
| void SetVoiceStack(espeak_VOICE *v) | |||
| {//================================ | |||
| void SetVoiceStack(espeak_VOICE *v, const char *variant_name) | |||
| {//========================================================== | |||
| SSML_STACK *sp; | |||
| sp = &ssml_stack[0]; | |||
| @@ -1402,10 +1431,12 @@ void SetVoiceStack(espeak_VOICE *v) | |||
| if(v->languages != NULL) | |||
| strcpy(sp->language,v->languages); | |||
| if(v->name != NULL) | |||
| strcpy(sp->voice_name,v->name); | |||
| sp->voice_variant = v->variant; | |||
| strncpy0(sp->voice_name, v->name, sizeof(sp->voice_name)); | |||
| sp->voice_variant_number = v->variant; | |||
| sp->voice_age = v->age; | |||
| sp->voice_gender = v->gender; | |||
| strncpy0(base_voice_variant_name, variant_name, sizeof(base_voice_variant_name)); | |||
| memcpy(&base_voice, ¤t_voice_selected, sizeof(base_voice)); | |||
| } | |||
| @@ -1467,7 +1498,7 @@ static int GetVoiceAttributes(wchar_t *pw, int tag_type) | |||
| attrcopy_utf8(ssml_sp->language,lang,sizeof(ssml_sp->language)); | |||
| attrcopy_utf8(ssml_sp->voice_name,name,sizeof(ssml_sp->voice_name)); | |||
| ssml_sp->voice_variant = attrnumber(variant,1,0)-1; | |||
| ssml_sp->voice_variant_number = attrnumber(variant,1,0)-1; | |||
| ssml_sp->voice_age = attrnumber(age,0,0); | |||
| ssml_sp->voice_gender = attrlookup(gender,mnem_gender); | |||
| ssml_sp->tag_type = tag_type; | |||
| @@ -1647,6 +1678,7 @@ static int ProcessSsmlTag(wchar_t *xml_buf, char *outbuf, int &outix, int n_outb | |||
| {"reduced",2}, | |||
| {"moderate",3}, | |||
| {"strong",4}, | |||
| {"x-strong",5}, | |||
| {NULL,-1}}; | |||
| static const char *prosody_attr[5] = { | |||
| @@ -1735,14 +1767,16 @@ static int ProcessSsmlTag(wchar_t *xml_buf, char *outbuf, int &outix, int n_outb | |||
| if(translator->langopts.tone_language == 1) | |||
| { | |||
| static unsigned char emphasis_to_pitch_range[] = {50,50,40,70,90,90}; | |||
| static unsigned char emphasis_to_volume[] = {100,100,70,110,140,140}; | |||
| static unsigned char emphasis_to_pitch_range[] = {50,50,40,70,90,100}; | |||
| static unsigned char emphasis_to_volume[] = {100,100,70,110,135,150}; | |||
| // tone language (eg.Chinese) do emphasis by increasing the pitch range. | |||
| sp->parameter[espeakRANGE] = emphasis_to_pitch_range[value]; | |||
| sp->parameter[espeakVOLUME] = emphasis_to_volume[value]; | |||
| } | |||
| else | |||
| { | |||
| static unsigned char emphasis_to_volume2[] = {100,100,75,100,120,150}; | |||
| sp->parameter[espeakVOLUME] = emphasis_to_volume2[value]; | |||
| sp->parameter[espeakEMPHASIS] = value; | |||
| } | |||
| ProcessParamStack(outbuf, outix); | |||
| @@ -428,7 +428,7 @@ static int initialise(void) | |||
| fprintf(stderr,"Wrong version of espeak-data 0x%x (expects 0x%x) at %s\n",result,version_phdata,path_home); | |||
| } | |||
| LoadConfig(); | |||
| SetVoiceStack(NULL); | |||
| SetVoiceStack(NULL, ""); | |||
| SynthesizeInit(); | |||
| for(param=0; param<N_SPEECH_PARAM; param++) | |||
| @@ -47,7 +47,6 @@ | |||
| #include "wave.h" | |||
| unsigned char *outbuf=NULL; | |||
| extern espeak_VOICE voice_selected; | |||
| espeak_EVENT *event_list=NULL; | |||
| int event_list_ix=0; | |||
| @@ -391,8 +390,8 @@ static int initialise(int control) | |||
| fprintf(stderr,"Wrong version of espeak-data 0x%x (expects 0x%x) at %s\n",result,version_phdata,path_home); | |||
| } | |||
| memset(&voice_selected,0,sizeof(voice_selected)); | |||
| SetVoiceStack(NULL); | |||
| memset(¤t_voice_selected,0,sizeof(current_voice_selected)); | |||
| SetVoiceStack(NULL, ""); | |||
| SynthesizeInit(); | |||
| InitNamedata(); | |||
| @@ -35,7 +35,7 @@ | |||
| #include "translate.h" | |||
| #include "wave.h" | |||
| const char *version_string = "1.45.31 25.Jun.11"; | |||
| const char *version_string = "1.45.37 08.Aug.11"; | |||
| const int version_phdata = 0x014500; | |||
| int option_device_number = -1; | |||
| @@ -342,7 +342,7 @@ Translator *SelectTranslator(const char *name) | |||
| static const short stress_lengths_fr[8] = {190, 170, 190, 200, 0, 0, 190, 240}; | |||
| static const unsigned char stress_amps_fr[8] = {18,16, 18,18, 18,18, 18,18 }; | |||
| static const unsigned char stress_amps_sk[8] = {17,17, 20,20, 20,22, 22,21 }; | |||
| static const unsigned char stress_amps_sk[8] = {17,16, 20,20, 20,22, 22,21 }; | |||
| static const short stress_lengths_sk[8] = {190,190, 210,210, 0,0, 210,210}; | |||
| static const short stress_lengths_ta[8] = {200, 200, 210, 210, 0, 0, 230, 230}; | |||
| @@ -394,7 +394,7 @@ Translator *SelectTranslator(const char *name) | |||
| SetCyrillicLetters(tr); | |||
| SetLetterVowel(tr,0x2a); | |||
| tr->langopts.param[LOPT_UNPRONOUNCABLE] = 0x432; // [v] don't count this character at start of word | |||
| tr->langopts.param[LOPT_REGRESSIVE_VOICING] = 0x17; // devoice at end of word, and change voicing to match a following consonant (except v) | |||
| tr->langopts.param[LOPT_REGRESSIVE_VOICING] = 0x107; // devoice at end of word, and change voicing to match a following consonant (except v) | |||
| tr->langopts.param[LOPT_REDUCE] = 2; | |||
| tr->langopts.stress_rule = STRESSPOSN_2R; | |||
| tr->langopts.numbers = NUM_DECIMAL_COMMA | NUM_ALLOW_SPACE | NUM_OMIT_1_HUNDRED | NUM_HUNDRED_AND | NUM_AND_UNITS | NUM_SINGLE_AND | NUM_ROMAN | NUM_ROMAN_ORDINAL | NUM_ROMAN_CAPITALS ; | |||
| @@ -468,7 +468,7 @@ Translator *SelectTranslator(const char *name) | |||
| tr->langopts.word_gap = 0x8; // don't use linking phonemes | |||
| tr->langopts.vowel_pause = 0x30; | |||
| tr->langopts.param[LOPT_PREFIXES] = 1; | |||
| tr->langopts.param[LOPT_REGRESSIVE_VOICING] = 0x10; // devoice at end of word | |||
| tr->langopts.param[LOPT_REGRESSIVE_VOICING] = 0x100; // devoice at end of word | |||
| tr->langopts.param[LOPT_LONG_VOWEL_THRESHOLD] = 175/2; | |||
| tr->langopts.numbers = NUM_DECIMAL_COMMA | NUM_SWAP_TENS | NUM_ALLOW_SPACE | NUM_ORDINAL_DOT | NUM_ROMAN; | |||
| @@ -954,6 +954,14 @@ SetLengthMods(tr,3); // all equal | |||
| } | |||
| break; | |||
| case L('m','t'): // Maltese | |||
| { | |||
| tr->charset_a0 = charsets[3]; // ISO-8859-3 | |||
| tr->langopts.param[LOPT_REGRESSIVE_VOICING] = 0x100; // devoice at end of word | |||
| tr->langopts.stress_rule = STRESSPOSN_2R; // penultimate | |||
| tr->langopts.numbers = 1; | |||
| } | |||
| break; | |||
| case L('n','l'): // Dutch | |||
| { | |||
| @@ -963,7 +971,7 @@ SetLengthMods(tr,3); // all equal | |||
| tr->langopts.vowel_pause = 0x30; // ?? | |||
| tr->langopts.param[LOPT_DIERESES] = 1; | |||
| tr->langopts.param[LOPT_PREFIXES] = 1; | |||
| tr->langopts.param[LOPT_REGRESSIVE_VOICING] = 0x10; // devoice at end of word | |||
| tr->langopts.param[LOPT_REGRESSIVE_VOICING] = 0x100; // devoice at end of word | |||
| SetLetterVowel(tr,'y'); | |||
| tr->langopts.numbers = NUM_DECIMAL_COMMA | NUM_SWAP_TENS | NUM_OMIT_1_HUNDRED | NUM_OMIT_1_THOUSAND | NUM_ALLOW_SPACE | NUM_1900 | NUM_ORDINAL_DOT; | |||
| @@ -1005,7 +1013,7 @@ SetLengthMods(tr,3); // all equal | |||
| tr->charset_a0 = charsets[2]; // ISO-8859-2 | |||
| tr->langopts.stress_rule = STRESSPOSN_2R; | |||
| tr->langopts.stress_flags = 0x6; // mark unstressed final syllables as diminished | |||
| tr->langopts.param[LOPT_REGRESSIVE_VOICING] = 0x8; | |||
| tr->langopts.param[LOPT_REGRESSIVE_VOICING] = 0x9; | |||
| tr->langopts.max_initial_consonants = 7; // for example: wchrzczony :) | |||
| tr->langopts.numbers = NUM_DECIMAL_COMMA | NUM_ALLOW_SPACE | NUM_DFRACTION_2; | |||
| tr->langopts.numbers2 = 0x40; | |||
| @@ -1123,7 +1131,7 @@ SetLengthMods(tr,3); // all equal | |||
| tr->charset_a0 = charsets[2]; // ISO-8859-2 | |||
| tr->langopts.stress_rule = STRESSPOSN_2R; // Temporary | |||
| tr->langopts.stress_flags = 0x20; | |||
| tr->langopts.param[LOPT_REGRESSIVE_VOICING] = 0x13; | |||
| tr->langopts.param[LOPT_REGRESSIVE_VOICING] = 0x103; | |||
| tr->langopts.numbers = NUM_DECIMAL_COMMA | NUM_ALLOW_SPACE | NUM_SWAP_TENS | NUM_OMIT_1_HUNDRED | NUM_DFRACTION_2 | NUM_ORDINAL_DOT | NUM_ROMAN; | |||
| tr->langopts.numbers2 = 0x100; // plural forms of millions etc | |||
| tr->langopts.thousands_sep = ' '; // don't allow dot as thousands separator | |||
| @@ -1563,6 +1563,39 @@ static int CountSyllables(unsigned char *phonemes) | |||
| } | |||
| void Word_EmbeddedCmd() | |||
| {//==================== | |||
| // Process embedded commands for emphasis, sayas, and break | |||
| int embedded_cmd; | |||
| int value; | |||
| do | |||
| { | |||
| embedded_cmd = embedded_list[embedded_read++]; | |||
| value = embedded_cmd >> 8; | |||
| switch(embedded_cmd & 0x1f) | |||
| { | |||
| case EMBED_Y: | |||
| option_sayas = value; | |||
| break; | |||
| case EMBED_F: | |||
| option_emphasis = value; | |||
| break; | |||
| case EMBED_B: | |||
| // break command | |||
| if(value == 0) | |||
| pre_pause = 0; // break=none | |||
| else | |||
| pre_pause += value; | |||
| break; | |||
| } | |||
| } while(((embedded_cmd & 0x80) == 0) && (embedded_read < embedded_ix)); | |||
| } // end of Word_EmbeddedCmd | |||
| int SetTranslator2(const char *new_language) | |||
| {//========================================= | |||
| // Set translator2 to a second language | |||
| @@ -1603,8 +1636,6 @@ static int TranslateWord2(Translator *tr, char *word, WORD_TAB *wtab, int pre_pa | |||
| int next_tone=0; | |||
| unsigned char *p; | |||
| int srcix; | |||
| int embedded_cmd; | |||
| int value; | |||
| int found_dict_flag; | |||
| unsigned char ph_code; | |||
| PHONEME_LIST2 *plist2; | |||
| @@ -1646,30 +1677,7 @@ static int TranslateWord2(Translator *tr, char *word, WORD_TAB *wtab, int pre_pa | |||
| { | |||
| embedded_flag = SFLAG_EMBEDDED; | |||
| do | |||
| { | |||
| embedded_cmd = embedded_list[embedded_read++]; | |||
| value = embedded_cmd >> 8; | |||
| switch(embedded_cmd & 0x1f) | |||
| { | |||
| case EMBED_Y: | |||
| option_sayas = value; | |||
| break; | |||
| case EMBED_F: | |||
| option_emphasis = value; | |||
| break; | |||
| case EMBED_B: | |||
| // break command | |||
| if(value == 0) | |||
| pre_pause = 0; // break=none | |||
| else | |||
| pre_pause += value; | |||
| break; | |||
| } | |||
| } while((embedded_cmd & 0x80) == 0); | |||
| Word_EmbeddedCmd(); | |||
| } | |||
| if((word[0] == 0) || (word_flags & FLAG_DELETE_WORD)) | |||
| @@ -3208,7 +3216,7 @@ if((c == '/') && (tr->langopts.testing & 2) && IsDigit09(next_in) && IsAlpha(pre | |||
| } | |||
| } | |||
| if((dict_flags & (FLAG_ALLOW_DOT | FLAG_NEEDS_DOT)) && (ix == word_count-1) && (terminator & CLAUSE_DOT)) | |||
| if((dict_flags & (FLAG_ALLOW_DOT | FLAG_NEEDS_DOT)) && (ix == word_count - 1 - dictionary_skipwords) && (terminator & CLAUSE_DOT)) | |||
| { | |||
| // probably an abbreviation such as Mr. or B. rather than end of sentence | |||
| clause_pause = 10; | |||
| @@ -3227,6 +3235,12 @@ if((c == '/') && (tr->langopts.testing & 2) && IsDigit09(next_in) && IsAlpha(pre | |||
| } | |||
| } | |||
| if(embedded_read < embedded_ix) | |||
| { | |||
| // any embedded commands not yet processed? | |||
| Word_EmbeddedCmd(); | |||
| } | |||
| for(ix=0; ix<2; ix++) | |||
| { | |||
| // terminate the clause with 2 PAUSE phonemes | |||
| @@ -266,10 +266,12 @@ extern const int param_defaults[N_SPEECH_PARAM]; | |||
| #define LOPT_PREFIXES 3 | |||
| // non-zero, change voiced/unoiced to match last consonant in a cluster | |||
| // bit 0=use regressive voicing | |||
| // bit 1=LANG=cz,bg don't propagate over [v] | |||
| // bit 2=don't propagate acress word boundaries | |||
| // bit 3=LANG=pl, propagate over liquids and nasals | |||
| // bit 4=devoice word-final consonants | |||
| // bit 4=LANG=cz,sk don't progagate to [v] | |||
| // bit 8=devoice word-final consonants | |||
| #define LOPT_REGRESSIVE_VOICING 4 | |||
| // 0=default, 1=no check, other allow this character as an extra initial letter (default is 's') | |||
| @@ -666,7 +668,7 @@ int TranslateWord(Translator *tr, char *word1, int next_pause, WORD_TAB *wtab); | |||
| void *TranslateClause(Translator *tr, FILE *f_text, const void *vp_input, int *tone, char **voice_change); | |||
| int ReadClause(Translator *tr, FILE *f_in, char *buf, short *charix, int *charix_top, int n_buf, int *tone_type, char *voice_change); | |||
| void SetVoiceStack(espeak_VOICE *v); | |||
| void SetVoiceStack(espeak_VOICE *v, const char *variant_name); | |||
| void InterpretPhoneme(Translator *tr, int control, PHONEME_LIST *plist, PHONEME_DATA *phdata); | |||
| void InterpretPhoneme2(int phcode, PHONEME_DATA *phdata); | |||
| @@ -69,6 +69,7 @@ typedef struct { | |||
| // percentages shown to user, ix=N_PEAKS means ALL peaks | |||
| extern USHORT voice_pcnt[N_PEAKS+1][3]; | |||
| extern espeak_VOICE current_voice_selected; | |||
| extern voice_t *voice; | |||
| extern int tone_points[12]; | |||
| @@ -66,7 +66,7 @@ static int n_voices_list = 0; | |||
| static espeak_VOICE *voices_list[N_VOICES_LIST]; | |||
| static int len_path_voices; | |||
| espeak_VOICE voice_selected; | |||
| espeak_VOICE current_voice_selected; | |||
| enum { | |||
| @@ -564,9 +564,9 @@ voice_t *LoadVoice(const char *vname, int control) | |||
| int pitch1; | |||
| int pitch2; | |||
| static char voice_identifier[40]; // file name for voice_selected | |||
| static char voice_name[40]; // voice name for voice_selected | |||
| static char voice_languages[100]; // list of languages and priorities for voice_selected | |||
| static char voice_identifier[40]; // file name for current_voice_selected | |||
| static char voice_name[40]; // voice name for current_voice_selected | |||
| static char voice_languages[100]; // list of languages and priorities for current_voice_selected | |||
| strcpy(voicename,vname); | |||
| if(voicename[0]==0) | |||
| @@ -635,9 +635,9 @@ voice_t *LoadVoice(const char *vname, int control) | |||
| voice_name[0] = 0; | |||
| voice_languages[0] = 0; | |||
| voice_selected.identifier = voice_identifier; | |||
| voice_selected.name = voice_name; | |||
| voice_selected.languages = voice_languages; | |||
| current_voice_selected.identifier = voice_identifier; | |||
| current_voice_selected.name = voice_name; | |||
| current_voice_selected.languages = voice_languages; | |||
| } | |||
| else | |||
| { | |||
| @@ -720,11 +720,11 @@ voice_t *LoadVoice(const char *vname, int control) | |||
| case V_GENDER: | |||
| { | |||
| int age; | |||
| int age = 0; | |||
| char vgender[80]; | |||
| sscanf(p,"%s %d",vgender,&age); | |||
| voice_selected.gender = LookupMnem(genders,vgender); | |||
| voice_selected.age = age; | |||
| current_voice_selected.gender = LookupMnem(genders,vgender); | |||
| current_voice_selected.age = age; | |||
| } | |||
| break; | |||
| @@ -1029,23 +1029,26 @@ voice_t *LoadVoice(const char *vname, int control) | |||
| } // end of LoadVoice | |||
| static char *ExtractVoiceVariantName(char *vname, int variant_num) | |||
| {//=============================================================== | |||
| static char *ExtractVoiceVariantName(char *vname, int variant_num, int add_dir) | |||
| {//=========================================================================== | |||
| // Remove any voice variant suffix (name or number) from a voice name | |||
| // Returns the voice variant name | |||
| char *p; | |||
| static char variant_name[20]; | |||
| static char variant_name[40]; | |||
| char variant_prefix[5]; | |||
| variant_name[0] = 0; | |||
| sprintf(variant_prefix,"!v%c",PATHSEP); | |||
| if(add_dir == 0) | |||
| variant_prefix[0] = 0; | |||
| if(vname != NULL) | |||
| { | |||
| if((p = strchr(vname,'+')) != NULL) | |||
| { | |||
| // The voice name has a +variant suffix | |||
| variant_num = 0; | |||
| *p++ = 0; // delete the suffix from the voice name | |||
| if(isdigit(*p)) | |||
| { | |||
| @@ -1054,8 +1057,7 @@ static char *ExtractVoiceVariantName(char *vname, int variant_num) | |||
| else | |||
| { | |||
| // voice variant name, not number | |||
| strcpy(variant_name,variant_prefix); | |||
| strncpy0(&variant_name[3],p,sizeof(variant_name)-3); | |||
| sprintf(variant_name, "%s%s", variant_prefix, p); | |||
| } | |||
| } | |||
| } | |||
| @@ -1083,7 +1085,7 @@ voice_t *LoadVoiceVariant(const char *vname, int variant_num) | |||
| char buf[60]; | |||
| strncpy0(buf,vname,sizeof(buf)); | |||
| variant_name = ExtractVoiceVariantName(buf,variant_num); | |||
| variant_name = ExtractVoiceVariantName(buf,variant_num, 1); | |||
| if((v = LoadVoice(buf,0)) == NULL) | |||
| return(NULL); | |||
| @@ -1319,15 +1321,17 @@ static int SetVoiceScores(espeak_VOICE *voice_select, espeak_VOICE **voices, int | |||
| espeak_VOICE *SelectVoiceByName(espeak_VOICE **voices, const char *name) | |||
| {//===================================================================== | |||
| espeak_VOICE *SelectVoiceByName(espeak_VOICE **voices, const char *name2) | |||
| {//====================================================================== | |||
| int ix; | |||
| int match_fname = -1; | |||
| int match_fname2 = -1; | |||
| int match_name = -1; | |||
| const char *id; | |||
| const char *id; // this is the filename within espeak-data/voices | |||
| char *variant_name; | |||
| int last_part_len; | |||
| char last_part[41]; | |||
| char name[40]; | |||
| if(voices == NULL) | |||
| { | |||
| @@ -1336,6 +1340,13 @@ espeak_VOICE *SelectVoiceByName(espeak_VOICE **voices, const char *name) | |||
| voices = voices_list; | |||
| } | |||
| strncpy0(name, name2, sizeof(name)); | |||
| if((variant_name = strchr(name, '+')) != NULL) | |||
| { | |||
| *variant_name = 0; | |||
| variant_name++; | |||
| } | |||
| sprintf(last_part,"%c%s",PATHSEP,name); | |||
| last_part_len = strlen(last_part); | |||
| @@ -1347,14 +1358,17 @@ espeak_VOICE *SelectVoiceByName(espeak_VOICE **voices, const char *name) | |||
| break; | |||
| } | |||
| else | |||
| if(strcmp(name,id = voices[ix]->identifier)==0) | |||
| { | |||
| match_fname = ix; // matching identifier, use this if no matching name | |||
| } | |||
| else | |||
| if(strcmp(last_part,&id[strlen(id)-last_part_len])==0) | |||
| { | |||
| match_fname2 = ix; | |||
| id = voices[ix]->identifier; | |||
| if(strcmp(name, id)==0) | |||
| { | |||
| match_fname = ix; // matching identifier, use this if no matching name | |||
| } | |||
| else | |||
| if(strcmp(last_part,&id[strlen(id)-last_part_len])==0) | |||
| { | |||
| match_fname2 = ix; | |||
| } | |||
| } | |||
| } | |||
| @@ -1414,7 +1428,7 @@ char const *SelectVoice(espeak_VOICE *voice_select, int *found) | |||
| } | |||
| strncpy0(buf,voice_select2.name,sizeof(buf)); | |||
| variant_name = ExtractVoiceVariantName(buf,0); | |||
| variant_name = ExtractVoiceVariantName(buf,0,0); | |||
| vp = SelectVoiceByName(voices_list,buf); | |||
| if(vp != NULL) | |||
| @@ -1425,7 +1439,7 @@ char const *SelectVoice(espeak_VOICE *voice_select, int *found) | |||
| { | |||
| if(variant_name[0] != 0) | |||
| { | |||
| sprintf(voice_id,"%s+%s",vp->identifier,&variant_name[3]); // omit the !v/ from variant_name | |||
| sprintf(voice_id,"%s+%s", vp->identifier, variant_name); | |||
| return(voice_id); | |||
| } | |||
| @@ -1512,8 +1526,8 @@ char const *SelectVoice(espeak_VOICE *voice_select, int *found) | |||
| if(vp->variant != 0) | |||
| { | |||
| variant_name = ExtractVoiceVariantName(NULL,vp->variant); | |||
| sprintf(voice_id,"%s+%s",vp->identifier,&variant_name[3]); | |||
| variant_name = ExtractVoiceVariantName(NULL, vp->variant, 0); | |||
| sprintf(voice_id,"%s+%s", vp->identifier, variant_name); | |||
| return(voice_id); | |||
| } | |||
| @@ -1671,7 +1685,7 @@ espeak_ERROR SetVoiceByName(const char *name) | |||
| static char buf[60]; | |||
| strncpy0(buf,name,sizeof(buf)); | |||
| variant_name = ExtractVoiceVariantName(buf,0); | |||
| variant_name = ExtractVoiceVariantName(buf, 0, 1); | |||
| memset(&voice_selector,0,sizeof(voice_selector)); | |||
| // voice_selector.name = buf; | |||
| @@ -1688,7 +1702,7 @@ espeak_ERROR SetVoiceByName(const char *name) | |||
| } | |||
| DoVoiceChange(voice); | |||
| SetVoiceStack(&voice_selector); | |||
| SetVoiceStack(&voice_selector, variant_name); | |||
| return(EE_OK); | |||
| } | |||
| @@ -1704,7 +1718,7 @@ espeak_ERROR SetVoiceByName(const char *name) | |||
| LoadVoice(variant_name,2); | |||
| } | |||
| DoVoiceChange(voice); | |||
| SetVoiceStack(&voice_selector); | |||
| SetVoiceStack(&voice_selector, variant_name); | |||
| return(EE_OK); | |||
| } | |||
| } | |||
| @@ -1725,7 +1739,7 @@ espeak_ERROR SetVoiceByProperties(espeak_VOICE *voice_selector) | |||
| LoadVoiceVariant(voice_id,0); | |||
| DoVoiceChange(voice); | |||
| SetVoiceStack(voice_selector); | |||
| SetVoiceStack(voice_selector, ""); | |||
| return(EE_OK); | |||
| } // end of SetVoiceByProperties | |||
| @@ -1795,7 +1809,7 @@ ESPEAK_API const espeak_VOICE **espeak_ListVoices(espeak_VOICE *voice_spec) | |||
| ESPEAK_API espeak_VOICE *espeak_GetCurrentVoice(void) | |||
| {//================================================== | |||
| return(&voice_selected); | |||
| return(¤t_voice_selected); | |||
| } | |||
| #pragma GCC visibility pop | |||