*_list Allow Hyphens in multi-word entries (aa-bb). This will only match a pair of words which are hyphenated. *_list Fix abbreviations of the form a.b.cde Recognise Armenian punctuation, allow and process Armenian punctuation inside words (affects intonation type, and marks the focus word of the clause). Mbrola: add a delay so that SAPI5 events better follow the speaking. Mbrola: generate phoneme events, and hence SAPI5 viseme events. git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@200 d46cf337-b52f-0410-862d-fd96e6ae7743master
| @@ -196,7 +196,7 @@ | |||
| fu) ch (s k | |||
| äu) ch C | |||
| eu) ch C | |||
| C) chen (_$4 C@n | |||
| C) chen (_S4 C@n | |||
| ä) chen (_ C@n | |||
| e) chen (_ C@n | |||
| ü) chen (_ C@n | |||
| @@ -638,8 +638,8 @@ | |||
| k k | |||
| k) k | |||
| // @) keit (_$4 kaIt | |||
| // @) keiten (_$6 kaIt@n | |||
| // @) keit (_S4 kaIt | |||
| // @) keiten (_S6 kaIt@n | |||
| kolleg k%Ole:g | |||
| _) komme (C@ k%OmE | |||
| @@ -667,24 +667,24 @@ | |||
| _) leit (@P4 l'aIt | |||
| _) lern (@@P4 l'E*n | |||
| _) lexi (@ lEksi: | |||
| @) lich (_$4 lIC | |||
| @) liche (_$5 lIC@ | |||
| @) lichem (_$6 lIC@m | |||
| @) lichen (_$6 lIC@n | |||
| @) licher (_$6 lIC3 | |||
| @) liches (_$6 lIC@s | |||
| @) lichere (_$7 lIC@*@ | |||
| @) licherem (_$8 lIC@*@m | |||
| @) licheren (_$8 lIC@*@n | |||
| @) licherer (_$8 lIC@*@3 | |||
| @) licheres (_$8 lIC@*@s | |||
| @) lichste (_$7 lICst@ | |||
| @) lichstem (_$8 lICst@m | |||
| @) lichsten (_$8 lICst@n | |||
| @) lichster (_$8 lICst@r | |||
| @) lichstes (_$8 lICst@s | |||
| @) lichkeit (_$8 lICk%aIt | |||
| @) lichung (_$7 lIC%UN | |||
| @) lich (_S4 lIC | |||
| @) liche (_S5 lIC@ | |||
| @) lichem (_S6 lIC@m | |||
| @) lichen (_S6 lIC@n | |||
| @) licher (_S6 lIC3 | |||
| @) liches (_S6 lIC@s | |||
| @) lichere (_S7 lIC@*@ | |||
| @) licherem (_S8 lIC@*@m | |||
| @) licheren (_S8 lIC@*@n | |||
| @) licherer (_S8 lIC@*@3 | |||
| @) licheres (_S8 lIC@*@s | |||
| @) lichste (_S7 lICst@ | |||
| @) lichstem (_S8 lICst@m | |||
| @) lichsten (_S8 lICst@n | |||
| @) lichster (_S8 lICst@r | |||
| @) lichstes (_S8 lICst@s | |||
| @) lichkeit (_S8 lICk%aIt | |||
| @) lichung (_S7 lIC%UN | |||
| @) lo (gisch l'o: | |||
| .group m | |||
| @@ -847,7 +847,7 @@ | |||
| _be) sp Sp | |||
| _ge) sp Sp | |||
| _ver) sp Sp | |||
| &C) st (_$2 st | |||
| &C) st (_S2 st | |||
| &C) ste (_S3 st@ | |||
| &C) stem (_S4 st@m | |||
| &C) sten (_S4 st@n | |||
| @@ -305,10 +305,11 @@ tS v w z z. | |||
| Dictionary ne_dict | |||
| @ @- @2 @3 a a: aI aU | |||
| a~ e E e: E: E~ e~ i | |||
| I i: i~ l- o O o: O: | |||
| o~ O~ r- U u u: u~ V | |||
| @ @/ @2 @3 a aI aU a~ | |||
| e E eI eU E~ e~ i I | |||
| i~ l- o O o: oI oU o~ | |||
| O~ r- u uI u~ V VI VU | |||
| V~ | |||
| - : b c ch d d. f | |||
| g h H j J k kh l | |||
| @@ -375,12 +376,12 @@ ea eI eo eU i i/ I^ iI | |||
| iU o O Oa oI oU u uI | |||
| y Y yI yU | |||
| * *; b b; c C d d; | |||
| dZ f f; g h j k l | |||
| l; m m; n N n; p p; | |||
| r s S S; t t; tS ts | |||
| ts; v v; w w2 x z Z | |||
| z; Z; | |||
| * *; - b b; c C d | |||
| d; dZ f f; g h j k | |||
| l l; m m; n N n; p | |||
| p; r s S S; t t; tS | |||
| ts ts; v v; w w2 x z | |||
| Z z; Z; | |||
| Dictionary ru_dict | |||
| @@ -497,7 +498,7 @@ uo y y& y@ yE yi yu | |||
| (u) ; C f h j k kh | |||
| l m n N p ph r s | |||
| s. S; t th ts ts. ts. tS; | |||
| tS; tsh v w x z. | |||
| tS; tsh v w x X z. | |||
| Dictionary zhy_dict | |||
| @@ -517,7 +518,17 @@ a a: ai au e e: ei i | |||
| i: ie iu o o: oi u u: | |||
| ui uo | |||
| b c d dZ f g h j | |||
| J k l l^ m n N n^ | |||
| p R R2 s S t tS ts | |||
| v z Z | |||
| : b c d dZ f g h | |||
| j J k l l^ m n n^ | |||
| p r R R2 s S t tS | |||
| ts v x z Z | |||
| Dictionary hy_dict | |||
| @ a aI e eI i i@ o | |||
| u W y | |||
| ** b d dZ f g h j | |||
| k l m n p R3 s S | |||
| t tS ts v x z Z | |||
| @@ -2343,6 +2343,7 @@ Provence pr0v'A~s | |||
| Pyrenees pIr@n'i:z | |||
| Qatar katA@ | |||
| Quebec kwI2bEk | |||
| Raleigh rA:lI | |||
| Reno ri:noU | |||
| Sahel sA:h'El | |||
| Saigon saIg'0n | |||
| @@ -84,7 +84,7 @@ | |||
| ae i: | |||
| ae (val 'i: | |||
| aea i@ | |||
| @) aed (_$2 d | |||
| @) aed (_S2 d | |||
| _) ae (on i: | |||
| _) aer (o e@ | |||
| ae (l eI | |||
| @@ -226,13 +226,13 @@ | |||
| ab (ular 'ab | |||
| b) ab (y eIb | |||
| b) ab (yl ab | |||
| &) able (_$4iev @b@L // suffix | |||
| &) able (_S4iev @b@L // suffix | |||
| &c) able (_ @b@L | |||
| @ct) able (_ =@b@L | |||
| &) ability ($7iev @b'IlI2t%I // suffix | |||
| &) abilities ($9iev @b'IlI2t%Iz // suffix | |||
| &) ably (_$4iefv @bl%I | |||
| &c) ably (_$4fv @bl%I | |||
| &) ability (S7iev @b'IlI2t%I // suffix | |||
| &) abilities (S9iev @b'IlI2t%Iz // suffix | |||
| &) ably (_S4iefv @bl%I | |||
| &c) ably (_S4fv @bl%I | |||
| .group ac | |||
| _) ac (@ a2k | |||
| @@ -533,8 +533,8 @@ | |||
| alz alt|s | |||
| &) al (_ @L | |||
| ?8 &) al (_ a2l | |||
| @) ally (_$2 l%I | |||
| @@ic) ally (_$4 l%I | |||
| @) ally (_S2 l%I | |||
| @@ic) ally (_S4 l%I | |||
| inst) al (_ O:l | |||
| &) al (d @L | |||
| b) al (d O:l | |||
| @@ -675,8 +675,8 @@ | |||
| _) anom a2n0m | |||
| &) an (_ @n | |||
| ?8 &) an (_ a2n | |||
| @u) an (_$1 n | |||
| @i) an (_$1 n | |||
| @u) an (_S1 n | |||
| @i) an (_S1 n | |||
| Cc) an (_ an | |||
| l) an (_ an | |||
| ll) an (_ @n | |||
| @@ -725,7 +725,7 @@ | |||
| d) ang (er eIndZ | |||
| r) ang (e eIndZ | |||
| r) anging eIndZIN | |||
| r) anged ($1 d | |||
| r) anged (S1 d | |||
| perm) an @n | |||
| ang (er aNg | |||
| m) anoeu (v @nu: | |||
| @@ -1121,8 +1121,8 @@ | |||
| su) bt (l t | |||
| de) bt t | |||
| _) bug (le bju:g | |||
| @) bury (_$4i br%I | |||
| ?3 @) bury (_$4i bEr%I | |||
| @) bury (_S4i br%I | |||
| ?3 @) bury (_S4i bEr%I | |||
| _) by baI | |||
| @@ -1447,7 +1447,7 @@ | |||
| d d | |||
| d (d | |||
| _) d' (AP2 d | |||
| @@e) d (_$1 d // suffix | |||
| @@e) d (_S1 d // suffix | |||
| ddh d | |||
| dj dZ | |||
| dg (_ dZ | |||
| @@ -1714,20 +1714,20 @@ | |||
| e (quiv %I | |||
| e'er e@ | |||
| h) e (sion 'i: | |||
| &f) e's (_$2i s | |||
| &k) e's (_$2i s | |||
| &p) e's (_$2i s | |||
| &t) e's (_$2i s | |||
| &c) e's (_$2i Iz | |||
| &g) e's (_$2i Iz | |||
| &ch) e's (_$2i Iz | |||
| &ph) e's (_$2i Iz | |||
| &s) e's (_$2i Iz | |||
| &sh) e's (_$2i Iz | |||
| &th) e's (_$2i z | |||
| &r) e's (_$2i z | |||
| &x) e's (_$2i Iz | |||
| &C) e's (_$2i z | |||
| &f) e's (_S2i s | |||
| &k) e's (_S2i s | |||
| &p) e's (_S2i s | |||
| &t) e's (_S2i s | |||
| &c) e's (_S2i Iz | |||
| &g) e's (_S2i Iz | |||
| &ch) e's (_S2i Iz | |||
| &ph) e's (_S2i Iz | |||
| &s) e's (_S2i Iz | |||
| &sh) e's (_S2i Iz | |||
| &th) e's (_S2i z | |||
| &r) e's (_S2i z | |||
| &x) e's (_S2i Iz | |||
| &C) e's (_S2i z | |||
| &Cr) e's (_ @z | |||
| @) e (tio i: | |||
| discr) e (tion E | |||
| @@ -1756,7 +1756,7 @@ | |||
| _s) ew u: | |||
| _s) ew (_ oU | |||
| e (work | |||
| eway (_$3 weI | |||
| eway (_S3 weI | |||
| @) ez (_ =Ez | |||
| .group ea | |||
| @@ -1851,28 +1851,28 @@ | |||
| C) ea (ven E | |||
| .group ed | |||
| @@) ed (_$2dvei d | |||
| @C) ed (_$2dvei d | |||
| @c) ed (_$2vdei t | |||
| @d) ed (_$2dvei I2d | |||
| ?8 @d) ed (_$2dvei Ed | |||
| &ch) ed (_$2vei t | |||
| &sh) ed (_$2vei t | |||
| @@) ed (_S2dvei d | |||
| @C) ed (_S2dvei d | |||
| @c) ed (_S2vdei t | |||
| @d) ed (_S2dvei I2d | |||
| ?8 @d) ed (_S2dvei Ed | |||
| &ch) ed (_S2vei t | |||
| &sh) ed (_S2vei t | |||
| @Csh) ed (_ Ed | |||
| @f) ed (_$2vdei t | |||
| @g) ed (_$1vi d | |||
| @k) ed (_$2vdei t | |||
| &en) ed (_$2v d | |||
| cl) ed (_$1v d | |||
| @p) ed (_$2vdei t | |||
| @@er) ed (_$2v d | |||
| @ss) ed (_$2dv t | |||
| @t) ed (_$2vdei I2d | |||
| ?8 @t) ed (_$2vdei Ed | |||
| @fr) ed (_$2v Id | |||
| @f) ed (_S2vdei t | |||
| @g) ed (_S1vi d | |||
| @k) ed (_S2vdei t | |||
| &en) ed (_S2v d | |||
| cl) ed (_S1v d | |||
| @p) ed (_S2vdei t | |||
| @@er) ed (_S2v d | |||
| @ss) ed (_S2dv t | |||
| @t) ed (_S2vdei I2d | |||
| ?8 @t) ed (_S2vdei Ed | |||
| @fr) ed (_S2v Id | |||
| yw) ed (_ Ed | |||
| @x) ed (_$2vi t | |||
| y) ed (_$2v d | |||
| @x) ed (_S2vi t | |||
| y) ed (_S2v d | |||
| edly (_ Idl%I | |||
| c) ed (e_ 'i:d | |||
| p) ed (e_ i:d | |||
| @@ -2113,14 +2113,14 @@ | |||
| .group er | |||
| &) er 3 | |||
| @@@) er (_$2de 3 // suffix | |||
| %C) er (_$3 3 | |||
| ll) er (_$2 3 | |||
| @@@) er (_S2de 3 // suffix | |||
| %C) er (_S3 3 | |||
| ll) er (_S2 3 | |||
| &) er (_ 3 | |||
| ?8 &) er (_ a2 // (temporary because [3] -> [a2] is only for word-final | |||
| %C) ers (_$4 3z | |||
| ?8 %C) ers (_$4 a2z | |||
| ss) er (_$2 3 | |||
| %C) ers (_S4 3z | |||
| ?8 %C) ers (_S4 a2z | |||
| ss) er (_S2 3 | |||
| all) er (_ 3 | |||
| mb) er (_ 3 | |||
| lin) er (_S1 3 | |||
| @@ -2228,30 +2228,30 @@ | |||
| err (_ 3: | |||
| .group es | |||
| &) es (_$1i z | |||
| &) es (_S1i z | |||
| ese (_ i:z | |||
| @n) ese (_ 'i:z | |||
| &f) es (_$1 s | |||
| &k) es (_$1 s | |||
| &p) es (_$1 s | |||
| &t) es (_$1 s | |||
| &c) es (_$1 I2z | |||
| &g) es (_$1 I2z | |||
| &ch) es (_$1 I2z | |||
| &ph) es (_$1 I2z | |||
| neri) es (_$2i z | |||
| &s) es (_$1 I2z | |||
| &us) es (_$2e I2z | |||
| &rus) es (_$2 I2z | |||
| &tus) es (_$2 I2z | |||
| &ss) es (_$2 I2z | |||
| sh) es (_$2 I2z | |||
| &th) es (_$1 z | |||
| &r) es (_$1 z | |||
| &qu) es (_$1 s | |||
| &x) es (_$2 I2z | |||
| &z) es (_$2 I2z | |||
| &C) es (_$1i z | |||
| &f) es (_S1 s | |||
| &k) es (_S1 s | |||
| &p) es (_S1 s | |||
| &t) es (_S1 s | |||
| &c) es (_S1 I2z | |||
| &g) es (_S1 I2z | |||
| &ch) es (_S1 I2z | |||
| &ph) es (_S1 I2z | |||
| neri) es (_S2i z | |||
| &s) es (_S1 I2z | |||
| &us) es (_S2e I2z | |||
| &rus) es (_S2 I2z | |||
| &tus) es (_S2 I2z | |||
| &ss) es (_S2 I2z | |||
| sh) es (_S2 I2z | |||
| &th) es (_S1 z | |||
| &r) es (_S1 z | |||
| &qu) es (_S1 s | |||
| &x) es (_S2 I2z | |||
| &z) es (_S2 I2z | |||
| &C) es (_S1i z | |||
| es (carp I2s | |||
| es (cape %Es | |||
| es (capi %Es | |||
| @@ -2290,7 +2290,7 @@ | |||
| _) eth (a ET | |||
| eth (ic ET | |||
| eth (y i:T | |||
| @C) eth (_$3e @T | |||
| @C) eth (_S3e @T | |||
| etta (_ 'Et@ | |||
| ette (_ 'Et | |||
| pal) ett (e @t | |||
| @@ -2459,11 +2459,11 @@ | |||
| A) han (_ h'an // places | |||
| ha (st heI | |||
| _) he' %hi: | |||
| @) head (_$4 hEd | |||
| @) head (_S4 hEd | |||
| heir e@ | |||
| _) hetero hEtroU | |||
| K) hl L | |||
| &) hold (_$4 hoUld | |||
| &) hold (_S4 hoUld | |||
| holme hoUm | |||
| _) homeo hoUmi:oU | |||
| _) homo (s h,oUmoU | |||
| @@ -2477,8 +2477,8 @@ | |||
| _) horri h0rI | |||
| _) horse hO@s | |||
| _) house (@ haUs | |||
| house (_$5 haUs | |||
| houses (_$6 haUzI2z | |||
| house (_S5 haUs | |||
| houses (_S6 haUzI2z | |||
| .group i | |||
| i I | |||
| @@ -2520,8 +2520,8 @@ | |||
| _) i (o aI | |||
| &) ial (_ =I2@l | |||
| @) ibab aIb@b | |||
| @) ible (_$4ev @b@L | |||
| @) ibly (_$4efv @bl%I | |||
| @) ible (_S4ev @b@L | |||
| @) ibly (_S4efv @bl%I | |||
| i (bilit I | |||
| l) i (bel aI | |||
| b) i (ble_ aI | |||
| @@ -2653,9 +2653,9 @@ | |||
| is (o_ aIz | |||
| ise (_ aIz | |||
| iser (_ aIz3 | |||
| @) ism (_$3de Iz@m | |||
| an) ism (_$3d Iz@m | |||
| @iB) ism (_$3d Iz@m | |||
| @) ism (_S3de Iz@m | |||
| an) ism (_S3d Iz@m | |||
| @iB) ism (_S3d Iz@m | |||
| is (er+_ aIz | |||
| iz (er_ aIz | |||
| prAm) is Is | |||
| @@ -2739,7 +2739,7 @@ | |||
| .group ie | |||
| ie I | |||
| ie (_ I | |||
| ied (_$2i d // suffix | |||
| ied (_S2i d // suffix | |||
| ie (c aI | |||
| ie (ce i: | |||
| ie (_ aI | |||
| @@ -2792,7 +2792,7 @@ | |||
| ie (v i: | |||
| iew (_ ju: | |||
| iew ju: | |||
| ies (_$2i z | |||
| ies (_S2i z | |||
| spec) ies (_ i:z | |||
| ser) ies (_ i:z | |||
| _ar) ies (_ i:z | |||
| @@ -2857,20 +2857,20 @@ | |||
| ?3 s) im (ult aIm | |||
| .group in | |||
| @) ing (_+$3dve I2N | |||
| @) ings (_$4dve I2Nz | |||
| @) ingly (_$5dve I2Ng-lI | |||
| @) ingment (_$7dve I2Ng-m@nt | |||
| logu) ing (_$4v I2N | |||
| x) ing (_+$3v I2N | |||
| @@om) ing (_$3dv I2N | |||
| en) ing (_$3v I2N | |||
| en) ings (_$4v I2Nz | |||
| en) ingly (_$5vf I2Ng-lI | |||
| er) ing (_$3v I2N | |||
| er) ings (_$4v I2Nz | |||
| er) ingly (_$5vf I2Ng-lI | |||
| er) ingment (_$7v I2Ng-m@nt | |||
| @) ing (_+S3dve I2N | |||
| @) ings (_S4dve I2Nz | |||
| @) ingly (_S5dve I2Ng-lI | |||
| @) ingment (_S7dve I2Ng-m@nt | |||
| logu) ing (_S4v I2N | |||
| x) ing (_+S3v I2N | |||
| @@om) ing (_S3dv I2N | |||
| en) ing (_S3v I2N | |||
| en) ings (_S4v I2Nz | |||
| en) ingly (_S5vf I2Ng-lI | |||
| er) ing (_S3v I2N | |||
| er) ings (_S4v I2Nz | |||
| er) ingly (_S5vf I2Ng-lI | |||
| er) ingment (_S7v I2Ng-m@nt | |||
| Br) ing (_ IN | |||
| ?7 &) in (_ @n | |||
| @@ -3208,8 +3208,8 @@ | |||
| _) llan L%an | |||
| l (E l | |||
| lle (_ l | |||
| @@o) lled (_$3v d | |||
| @@) lled (_$3v d | |||
| @@o) lled (_S3v d | |||
| @@) lled (_S3v d | |||
| B) l (_ @L | |||
| w) l (_ l | |||
| r) l (_ l | |||
| @@ -3224,14 +3224,14 @@ | |||
| ?3 _) lo (gK lO | |||
| @) lo (gous =l@ | |||
| lu (na lu: | |||
| @) ly (_$2i l%I | |||
| @l) ly (_$2 I2 | |||
| @) ly (_S2i l%I | |||
| @l) ly (_S2 I2 | |||
| f) ly (_ laI | |||
| ief) ly (_$2 l%I | |||
| ff) ly (_$2 l%I | |||
| of) ly (_$2 l%I | |||
| ief) ly (_S2 l%I | |||
| ff) ly (_S2 l%I | |||
| of) ly (_S2 l%I | |||
| multip) ly laI | |||
| &p) ly (_$2 l%I | |||
| &p) ly (_S2 l%I | |||
| p) ly (_ laI | |||
| _) ly (d lI | |||
| @@ -3256,12 +3256,12 @@ | |||
| @t) le (B@ @L | |||
| tt) le (@ @-l | |||
| &C) le (ss l@ | |||
| @) less (_$4i l@s | |||
| @) lessly (_$6i l@sl%I | |||
| @) lessness (_$8i l@sn@s | |||
| ?8 @) less (_$4i lEs | |||
| ?8 @) lessly (_$6i lEsl%I | |||
| ?8 @) lessness (_$8i lEsnEs | |||
| @) less (_S4i l@s | |||
| @) lessly (_S6i l@sl%I | |||
| @) lessness (_S8i l@sn@s | |||
| ?8 @) less (_S4i lEs | |||
| ?8 @) lessly (_S6i lEsl%I | |||
| ?8 @) lessness (_S8i lEsnEs | |||
| .group m | |||
| m m | |||
| @@ -3294,10 +3294,10 @@ | |||
| _) mn n | |||
| &B) me (_ m%I | |||
| @) men (_ mEn | |||
| &) ment (_$4 m@nt | |||
| &) ments (_$5 m@nt|s | |||
| ?8 &) ment (_$4 mEnt | |||
| ?8 &) ments (_$5 mEnt|s | |||
| &) ment (_S4 m@nt | |||
| &) ments (_S5 m@nt|s | |||
| ?8 &) ment (_S4 mEnt | |||
| ?8 &) ments (_S5 mEnt|s | |||
| mEnt (_ m@nt | |||
| tor) me (nt m'E | |||
| C) mented m'EntId | |||
| @@ -3313,7 +3313,7 @@ | |||
| _) mono m0noU | |||
| mon (opol m@n | |||
| mon (ox m0n | |||
| @) most(_$4 moUst | |||
| @) most(_S4 moUst | |||
| &) mouth (_ m@T | |||
| _) multi mVltI | |||
| @@ -3349,13 +3349,13 @@ | |||
| .group n | |||
| n n | |||
| n) n | |||
| &ia) n (_$1 n | |||
| &ia) ns (_$2 nz | |||
| &ia) n (_S1 n | |||
| &ia) ns (_S2 nz | |||
| @) name (_ neIm | |||
| _) nano (P4 n,anoU | |||
| necessit n@sEsIt | |||
| &) ness (_$4i n@s | |||
| ?8 &) ness (_$4i nEs | |||
| &) ness (_S4i n@s | |||
| ?8 &) ness (_S4i nEs | |||
| @) n (cC N | |||
| @) n (ch n | |||
| n (c_ N | |||
| @@ -3723,8 +3723,8 @@ | |||
| _) on (io Vn | |||
| ec) on (d @n | |||
| m) on (d_ @n | |||
| &C) oned (_$2v d | |||
| &C) oning (_$3v I2N | |||
| &C) oned (_S2v d | |||
| &C) oning (_S3v I2N | |||
| _) one w0n | |||
| _) once (_ w0ns | |||
| ?6 _) one wVn | |||
| @@ -3801,9 +3801,9 @@ | |||
| p) or (t o@ | |||
| or (A o@r | |||
| &) or (ate 3r | |||
| @@) or (_$2d 3 // suffix | |||
| @@) or (_S2d 3 // suffix | |||
| &) or (_ 3 | |||
| ?8 @@) or (_$2d o@ // suffix | |||
| ?8 @@) or (_S2d o@ // suffix | |||
| ?8 &) or (_ o@ | |||
| _c) or (@ O@ | |||
| c) or (k O@ | |||
| @@ -4150,7 +4150,7 @@ | |||
| p (hole p | |||
| sym) pa p@ | |||
| _) pico pi:koU | |||
| piece (_$5 pi:s | |||
| piece (_S5 pi:s | |||
| por (tray p%o@ | |||
| // _) post (@@P4 p,oUst // prefix | |||
| pneu nju: | |||
| @@ -4489,10 +4489,10 @@ | |||
| @) s (hill_ s | |||
| @) s (hous s | |||
| _) she' %Si: | |||
| &) ship (_$4 SIp | |||
| &) ships (_$5 SIps | |||
| &) shire (_$5 S@ | |||
| ?3 &) shire (_$5 Si@ | |||
| &) ship (_S4 SIp | |||
| &) ships (_S5 SIps | |||
| &) shire (_S5 S@ | |||
| ?3 &) shire (_S5 Si@ | |||
| sia (_ =Zi@ | |||
| ?3 sia (_ =Z@ | |||
| ssia (_ S@ | |||
| @@ -4530,29 +4530,29 @@ | |||
| a) ssure S'U@ | |||
| ea) s (y z | |||
| s (_ z | |||
| @) s (_$1 z | |||
| @) s (_S1 z | |||
| _BA) s (_ s | |||
| &se) s (_$1 I2z | |||
| &sse) s (_$2 I2z | |||
| &se) s (_S1 I2z | |||
| &sse) s (_S2 I2z | |||
| ss (_ s | |||
| sse (_ s | |||
| c) s (_ s | |||
| @ce) s (_$1 Iz | |||
| @ce) s (_S1 Iz | |||
| f) s (_ s | |||
| ng) s (_$1 z | |||
| ng) s (_S1 z | |||
| k) s (_ s | |||
| n) s (_$1 z | |||
| n) s (_S1 z | |||
| p) s (_ s | |||
| th) s (_ s | |||
| t) s (_$1 s | |||
| te) s (_$1 s | |||
| &c) s (_$1 s | |||
| &f) s (_$1 s | |||
| &k) s (_$1 s | |||
| &p) s (_$1 s | |||
| &pe) s (_$1 s | |||
| &th) s (_$1 s | |||
| &t) s (_$1 s | |||
| t) s (_S1 s | |||
| te) s (_S1 s | |||
| &c) s (_S1 s | |||
| &f) s (_S1 s | |||
| &k) s (_S1 s | |||
| &p) s (_S1 s | |||
| &pe) s (_S1 s | |||
| &th) s (_S1 s | |||
| &t) s (_S1 s | |||
| _ha) s (_ z | |||
| .group su | |||
| @@ -4629,7 +4629,7 @@ | |||
| s) t (l | |||
| to (morr t@ | |||
| _) to (nn tV | |||
| @) town (_$4 taUn | |||
| @) town (_S4 taUn | |||
| _) tri (A traI | |||
| _) trie traI | |||
| _) tri (CA traI | |||
| @@ -4999,7 +4999,7 @@ | |||
| wh (ol h | |||
| m) w (ich_ | |||
| B) wing (_ wIN | |||
| @) wise (_$4 waIz | |||
| @) wise (_S4 waIz | |||
| e) with (_ w'ID | |||
| with (C w%ID | |||
| with (A w%ID | |||
| @@ -5144,19 +5144,19 @@ | |||
| E (BCe_ @ | |||
| E (Cia 'i: | |||
| Ea (_ =i@ | |||
| @@) Ed (_$2vei d | |||
| &C) Ed (_$2vei d | |||
| &c) Ed (_$2vei t | |||
| &d) Ed (_$2vei Id | |||
| &ch) Ed (_$2vei t | |||
| &k) Ed (_$2vei t | |||
| &@@om) Ed (_$2v d | |||
| &p) Ed (_$2vei t | |||
| &t) Ed (_$2vei Id | |||
| ur) Ed (_$1vi d | |||
| &x) Ed (_$2v t | |||
| @@) Ed (_S2vei d | |||
| &C) Ed (_S2vei d | |||
| &c) Ed (_S2vei t | |||
| &d) Ed (_S2vei Id | |||
| &ch) Ed (_S2vei t | |||
| &k) Ed (_S2vei t | |||
| &@@om) Ed (_S2v d | |||
| &p) Ed (_S2vei t | |||
| &t) Ed (_S2vei Id | |||
| ur) Ed (_S1vi d | |||
| &x) Ed (_S2v t | |||
| y) Ed (_ d | |||
| Edly (_$4e Idl%I | |||
| Edly (_S4e Idl%I | |||
| E (dia_ i: | |||
| E (dic_ i: | |||
| nak) E (d I | |||
| @@ -5200,21 +5200,21 @@ | |||
| Er (C 3 | |||
| Ery (_ @r%I | |||
| E (x_ E | |||
| &) Es (_$2e z | |||
| c) Es (_$2e I2z | |||
| c) E's (_$3e I2z | |||
| f) Es (_$2e s | |||
| g) Es (_$2e I2z | |||
| ch) Es (_$2e I2z | |||
| ph) Es (_$2e I2z | |||
| k) Es (_$2e s | |||
| p) Es (_$2e s | |||
| s) Es (_$2e I2z | |||
| s) E's (_$2e I2z | |||
| sh) Es (_$2e I2z | |||
| t) Es (_$2e s | |||
| x) Es (_$2 I2z | |||
| Cr) Es (_$2e @z | |||
| &) Es (_S2e z | |||
| c) Es (_S2e I2z | |||
| c) E's (_S3e I2z | |||
| f) Es (_S2e s | |||
| g) Es (_S2e I2z | |||
| ch) Es (_S2e I2z | |||
| ph) Es (_S2e I2z | |||
| k) Es (_S2e s | |||
| p) Es (_S2e s | |||
| s) Es (_S2e I2z | |||
| s) E's (_S2e I2z | |||
| sh) Es (_S2e I2z | |||
| t) Es (_S2e s | |||
| x) Es (_S2 I2z | |||
| Cr) Es (_S2e @z | |||
| Ese (_ i:z | |||
| E (sia 'i: | |||
| Esque 'Esk | |||
| @@ -5229,25 +5229,25 @@ | |||
| .group ' | |||
| 's (_$2 z | |||
| f) 's (_$2 s | |||
| p) 's (_$2 s | |||
| t) 's (_$2 s | |||
| k) 's (_$2 s | |||
| se) 's (_$2 I2z | |||
| s) 's (_$2 I2z | |||
| ce) 's (_$2 I2z | |||
| ch) 's (_$2 I2z | |||
| och) 's (_$2 s | |||
| sh) 's (_$2 I2z | |||
| x) 's (_$2 I2z | |||
| z) 's (_$2 I2z | |||
| 's (_S2 z | |||
| f) 's (_S2 s | |||
| p) 's (_S2 s | |||
| t) 's (_S2 s | |||
| k) 's (_S2 s | |||
| se) 's (_S2 I2z | |||
| s) 's (_S2 I2z | |||
| ce) 's (_S2 I2z | |||
| ch) 's (_S2 I2z | |||
| och) 's (_S2 s | |||
| sh) 's (_S2 I2z | |||
| x) 's (_S2 I2z | |||
| z) 's (_S2 I2z | |||
| 6_) 's (_ I2z | |||
| 16_) 's (_ z | |||
| 're (_$3 @ | |||
| 've (_$3 v | |||
| 'd (_$2 d | |||
| 'll (_$3 @L | |||
| 're (_S3 @ | |||
| 've (_S3 v | |||
| 'd (_S2 d | |||
| 'll (_S3 @L | |||
| .group 0xce // Greek letters | |||
| @@ -24,7 +24,7 @@ | |||
| // 2006-11-18 Gilles Casse <[email protected]> | |||
| // | |||
| // Updated 2008-10-24 Michel Such <[email protected]> | |||
| // Updated 2008-11-06 Michel Such <[email protected]> | |||
| // | |||
| // * Numbers, a few abbreviations and exceptions. | |||
| // | |||
| @@ -603,6 +603,7 @@ cancer kA~sEr | |||
| (chef d'oeuvres) chédeuvres $text | |||
| choeur kWr | |||
| cocus koky | |||
| couscous kuskus | |||
| dernier dE2rnjer2 | |||
| éloquent ElokA~t2 | |||
| fan f'an | |||
| @@ -176,9 +176,9 @@ | |||
| i (A j | |||
| @) i (e_ j | |||
| &C) i (_N$1q i/ | |||
| &) i (_N$1q i | |||
| &) i (-N$1q i // don't reduce to [I^] if a hyphen follows | |||
| &C) i (_NS1q i/ | |||
| &) i (_NS1q i | |||
| &) i (-NS1q i // don't reduce to [I^] if a hyphen follows | |||
| ţ) i (-Că i | |||
| ţ) i (-Ci i | |||
| @@ -1,60 +1,62 @@ | |||
| 55 phoneme tables | |||
| 57 phoneme tables | |||
| new total | |||
| base 100 100 | |||
| base2 24 119 | |||
| en 51 146 | |||
| en_n 31 146 | |||
| en_us 36 147 | |||
| en_sc 39 148 | |||
| en_rp 34 146 | |||
| en_wm 30 146 | |||
| en_wi 30 146 | |||
| af 39 132 | |||
| cy 29 126 | |||
| de 33 127 | |||
| eo 13 112 | |||
| jbo 4 113 | |||
| fi 40 131 | |||
| fr 54 137 | |||
| fr_ca 11 137 | |||
| hi 51 137 | |||
| ta 17 140 | |||
| hu 23 116 | |||
| nl 28 123 | |||
| pl 18 113 | |||
| sk 29 131 | |||
| cs 6 131 | |||
| hr 26 136 | |||
| mk 3 137 | |||
| sr 14 136 | |||
| ru 39 131 | |||
| it 17 122 | |||
| la 21 118 | |||
| es 9 120 | |||
| es_la 1 120 | |||
| pt 28 136 | |||
| pt_pt 20 136 | |||
| ro 36 143 | |||
| el 8 119 | |||
| grc 12 124 | |||
| sv 25 122 | |||
| no 28 126 | |||
| is 33 126 | |||
| vi 42 138 | |||
| zhy 40 133 | |||
| zh 65 150 | |||
| sw 14 109 | |||
| tr 18 124 | |||
| ku 18 124 | |||
| id 15 121 | |||
| rw 15 126 | |||
| ko 18 147 | |||
| da 15 130 | |||
| sq 23 128 | |||
| ml 13 139 | |||
| bn 59 145 | |||
| ne 14 141 | |||
| lv 26 121 | |||
| base 101 101 | |||
| base2 24 120 | |||
| en 51 147 | |||
| en_n 31 147 | |||
| en_us 36 148 | |||
| en_sc 39 149 | |||
| en_rp 34 147 | |||
| en_wm 30 147 | |||
| en_wi 30 147 | |||
| af 39 133 | |||
| cy 29 127 | |||
| de 33 128 | |||
| eo 13 113 | |||
| jbo 4 114 | |||
| fi 40 132 | |||
| fr 54 138 | |||
| fr_ca 11 138 | |||
| hi 52 139 | |||
| ta 17 142 | |||
| hu 23 117 | |||
| nl 28 124 | |||
| pl 18 114 | |||
| sk 29 132 | |||
| cs 6 132 | |||
| hr 26 137 | |||
| mk 3 138 | |||
| sr 14 137 | |||
| ru 39 132 | |||
| it 17 123 | |||
| la 21 119 | |||
| es 9 121 | |||
| es_la 1 121 | |||
| pt 28 137 | |||
| pt_pt 20 137 | |||
| ro 36 144 | |||
| el 8 120 | |||
| grc 12 125 | |||
| sv 25 123 | |||
| no 28 127 | |||
| is 33 127 | |||
| vi 42 139 | |||
| zhy 40 134 | |||
| zh 65 151 | |||
| sw 14 110 | |||
| tr 18 125 | |||
| ku 18 125 | |||
| id 15 122 | |||
| rw 15 127 | |||
| ko 18 149 | |||
| da 15 131 | |||
| sq 23 129 | |||
| ml 13 141 | |||
| bn 59 147 | |||
| ne 23 151 | |||
| lv 28 123 | |||
| hy 16 114 | |||
| om 18 118 | |||
| Data file Used by | |||
| b/b [b] base | |||
| @@ -579,7 +581,7 @@ r3/r_trill [R2] base | |||
| [R] sk | |||
| [r*] sr | |||
| [x] pt | |||
| [R] lv | |||
| [R2] lv | |||
| r3/r_trill2 [R] base | |||
| [r] cy | |||
| [R] hr | |||
| @@ -593,7 +595,7 @@ r3/r_trill.wav [R2] base | |||
| [R] sk | |||
| [r*] sr | |||
| [x] pt | |||
| [R] lv | |||
| [R2] lv | |||
| r3/r_u [(u)] base | |||
| r3/rx [*] base | |||
| [r/] base | |||
| @@ -607,6 +609,7 @@ r3/rx [*] base | |||
| [x] pt_pt | |||
| [*;] ro | |||
| [r#] is | |||
| [Q2] hy | |||
| r3/rz_cs [R^] sk | |||
| [R^/] sk | |||
| r3/@tap [**] base | |||
| @@ -712,6 +715,7 @@ ufric/s_ [s] base | |||
| [s#] pt | |||
| [z;] ro | |||
| [s2] is | |||
| [s2] lv | |||
| ufric/s! [s] base | |||
| [s2] fi | |||
| [s] fr | |||
| @@ -719,9 +723,11 @@ ufric/s! [s] base | |||
| [s] es | |||
| [s#] pt | |||
| [s2] is | |||
| [s2] lv | |||
| ufric/s_continue [s2] fi | |||
| [s2] hu | |||
| [s2] is | |||
| [s2] lv | |||
| ufric/sh [S] base | |||
| [S] fr | |||
| [s#] pt_pt | |||
| @@ -762,6 +768,8 @@ ufric/x_hr [x] base | |||
| [x] hr | |||
| ufric/x_sr [h] sr | |||
| [x] sr | |||
| ufric/xx3 [X] base | |||
| [Q] hy | |||
| ustop/c [c] base | |||
| ustop/k [k] base | |||
| [k] en | |||
| @@ -840,6 +848,7 @@ ustop/k_unasp [k] base | |||
| [k] sq | |||
| [k] bn | |||
| [k] lv | |||
| [k`] om | |||
| ustop/k_unasp_ [k] zh | |||
| ustop/null [?] base | |||
| ustop/p [p] base | |||
| @@ -853,7 +862,9 @@ ustop/p_ [p] base | |||
| [ph] hi | |||
| [ph] zh | |||
| [ph] bn | |||
| [ph] hy | |||
| ustop/p_asp [ph] hi | |||
| [ph] hy | |||
| ustop/percus10 [(X1] base | |||
| ustop/pl [p] base | |||
| [p] base2 | |||
| @@ -869,6 +880,7 @@ ustop/pl [p] base | |||
| [p] bn | |||
| [ph] bn | |||
| [p] lv | |||
| [ph] hy | |||
| ustop/pr [p] base | |||
| [p] base2 | |||
| [p] fi | |||
| @@ -880,6 +892,7 @@ ustop/pr [p] base | |||
| [p;] ro | |||
| [p] bn | |||
| [ph] bn | |||
| [ph] hy | |||
| ustop/p_unasp [p] base | |||
| [p] base2 | |||
| [p] fi | |||
| @@ -894,6 +907,7 @@ ustop/p_unasp [p] base | |||
| [p] sq | |||
| [p] bn | |||
| [p] lv | |||
| [p`] om | |||
| ustop/p_unasp_ [p] base2 | |||
| [p] fi | |||
| [p] hi | |||
| @@ -941,6 +955,7 @@ ustop/t_dnt [t] base | |||
| [t] sw | |||
| [t`] ko | |||
| [t] bn | |||
| [t`] om | |||
| ustop/t_dnt2 [t[] vi | |||
| ustop/t_hi [t] hi | |||
| [t] bn | |||
| @@ -963,6 +978,7 @@ ustop/ts [ts] base2 | |||
| [z] zhy | |||
| [tsh] zh | |||
| [ts] lv | |||
| [ts] hy | |||
| ustop/tsh [tS] base | |||
| [c] zhy | |||
| ustop/tsh_ [tS] base | |||
| @@ -994,6 +1010,7 @@ ustop/ts_pzd2 [c] hi | |||
| [c] hu | |||
| [c`] ko | |||
| [c] bn | |||
| [c`] om | |||
| ustop/ts_pzd3 [tS;] hr | |||
| [dZ;] hr | |||
| ustop/t_sr [d] sr | |||
| @@ -1023,6 +1040,7 @@ vdiph2/ei_4 [eI] en_us | |||
| vdiph2/eo [eo] ro | |||
| vdiph2/e[u [e[u] ro | |||
| vdiph2/i@ [i@] en_n | |||
| [i@] hy | |||
| vdiph2/i@_2 [i@] en_wm | |||
| vdiph2/ie [i@] en_wi | |||
| [ie] fi | |||
| @@ -1070,11 +1088,12 @@ vdiph/8u [oU] en_us | |||
| [ou] zh | |||
| vdiph/aae [aI] en_us | |||
| vdiph/aai [aai] zhy | |||
| [aI] ne | |||
| [ai] lv | |||
| vdiph/aai_2 [AI] af | |||
| [AY] cy | |||
| vdiph/aai_3 [ai] fi | |||
| vdiph/aau [au] fi | |||
| [au] lv | |||
| vdiph/aau_2 [aU] en_wi | |||
| [aU] de | |||
| [VU] nl | |||
| @@ -1096,7 +1115,7 @@ vdiph/ai [aI] base2 | |||
| [aI] pt | |||
| [a:I] vi | |||
| [aI] id | |||
| [ai] lv | |||
| [aI] hy | |||
| vdiph/ai_2 [aI] cy | |||
| [aY] cy | |||
| vdiph/ai_3 [aI] no | |||
| @@ -1129,6 +1148,8 @@ vdiph/eei [EI] base2 | |||
| [EI] de | |||
| [EI] nl | |||
| [EI] vi | |||
| [eI] ne | |||
| [eI] hy | |||
| vdiph/eei_2 [eI] eo | |||
| [ei] fi | |||
| [eI] id | |||
| @@ -1160,11 +1181,11 @@ vdiph/eu [eU] base2 | |||
| [eU] sk | |||
| [eU] pt | |||
| [eU] vi | |||
| [eU] ne | |||
| vdiph/eu_2 [eu] fi | |||
| vdiph/&i [&i] fi | |||
| [aI] hi | |||
| [aI] bn | |||
| [aI] ne | |||
| vdiph/@i_2 [eI] af | |||
| [@I] cy | |||
| [@Y] cy | |||
| @@ -1182,6 +1203,7 @@ vdiph/oi [oI] base2 | |||
| [oI] it | |||
| [OI] la | |||
| [oI] vi | |||
| [oI] ne | |||
| vdiph/oi_2 [oI] af | |||
| vdiph/ooi [OI] en | |||
| [OI] en_n | |||
| @@ -1198,8 +1220,10 @@ vdiph/ooi_3 [OI] en_rp | |||
| vdiph/ooi_4 [OI] en_us | |||
| vdiph/oou [oU] cs | |||
| [OU] grc | |||
| [au] lv | |||
| vdiph/ou [ou] fi | |||
| [ou] zhy | |||
| [oU] ne | |||
| vdiph/ou_2 [oU] sk | |||
| [oU] ro | |||
| vdiph/ou_3 [oU] is | |||
| @@ -1214,13 +1238,16 @@ vdiph/ui [uI] base2 | |||
| [ui] fi | |||
| [uI] vi | |||
| [ui] zhy | |||
| [uI] ne | |||
| [ui] lv | |||
| vdiph/u-i [yI] vi | |||
| vdiph/ui_2 [uI] af | |||
| vdiph/ui_3 [uI] cy | |||
| [uY] cy | |||
| vdiph/Vi [@:I] vi | |||
| [VI] ne | |||
| vdiph/Vu [@U] af | |||
| [VU] ne | |||
| vdiph/Vu_2 [oU] en_wm | |||
| vdiph/Vu_3 [o:] nl | |||
| vdiph/Vu_4 [@U] vi | |||
| @@ -1282,6 +1309,7 @@ vnasal/u_n [u~] hi | |||
| [u~] bn | |||
| [u:~] bn | |||
| [u~] ne | |||
| vnasal/V_n [V~] ne | |||
| vnasal/W_n [E~] fr | |||
| [W~] fr | |||
| voc/bh [B] base | |||
| @@ -1298,6 +1326,7 @@ voc/Q_ [Q] base | |||
| [x2] pt | |||
| voc/Q_less [Q] nl | |||
| [x2] pt | |||
| voc/Q_ulv [Q] hy | |||
| voc/v [v] base | |||
| [v] fi | |||
| [v] fr | |||
| @@ -1374,6 +1403,7 @@ vowel/@ [@] base | |||
| [@4] hi | |||
| [@] ml | |||
| [@4] bn | |||
| [@] hy | |||
| vowel/@- [@-] base | |||
| [r*] hr | |||
| vowel/& [a] en_rp | |||
| @@ -1382,7 +1412,6 @@ vowel/& [a] en_rp | |||
| [&] sv | |||
| [&] bn | |||
| [&:] bn | |||
| [&:] lv | |||
| vowel/0 [0] en | |||
| [O] hi | |||
| [O] pt | |||
| @@ -1419,6 +1448,7 @@ vowel/8_2 [U] en_us | |||
| [8] sv | |||
| vowel/8_3 [eo] zhy | |||
| vowel/8_5 [8] ku | |||
| vowel/8_7 [@] lv | |||
| vowel/a [a] en_n | |||
| [aa] en_n | |||
| [a] en_wm | |||
| @@ -1444,7 +1474,7 @@ vowel/a# [a/] base2 | |||
| [&/] pt | |||
| [a#] rw | |||
| [a/] rw | |||
| [&] lv | |||
| [a] om | |||
| vowel/a_2 [a] base2 | |||
| [a] en_wi | |||
| [A:] en_wi | |||
| @@ -1472,6 +1502,7 @@ vowel/a_3 [a] en_sc | |||
| [a] is | |||
| [A] zh | |||
| [A] da | |||
| [a:] om | |||
| vowel/a#_3 [a2] en | |||
| [a2] en_n | |||
| [a2] en_us | |||
| @@ -1496,7 +1527,6 @@ vowel/a_5 [a:] ta | |||
| [a] tr | |||
| [a] sq | |||
| [a:] ml | |||
| [a] lv | |||
| vowel/a_6 [a] fr | |||
| [a2] fr | |||
| vowel/aa [a] fi | |||
| @@ -1504,6 +1534,9 @@ vowel/aa [a] fi | |||
| [A] no | |||
| [A:] no | |||
| [aa] zhy | |||
| [a] lv | |||
| [a:] lv | |||
| [a] hy | |||
| vowel/aa# [O] en_us | |||
| [0] en_wi | |||
| [a2] fi | |||
| @@ -1514,7 +1547,6 @@ vowel/aa_2 [A:] en | |||
| [A] zh | |||
| vowel/aa_3 [A:] af | |||
| [A] sq | |||
| [a:] lv | |||
| vowel/aa_4 [O:] en_us | |||
| [A:] sv | |||
| [O] vi | |||
| @@ -1535,8 +1567,10 @@ vowel/a_en [a] en | |||
| [A] fr | |||
| [a] pl | |||
| vowel/@_bck [@] hi | |||
| [@/] hi | |||
| [@] zh | |||
| [@] bn | |||
| [@/] ne | |||
| vowel/e [e] base2 | |||
| [e:] en | |||
| [eI] en_n | |||
| @@ -1580,6 +1614,7 @@ vowel/e_3 [i] en_n | |||
| [e:] hu | |||
| [e] ku | |||
| vowel/e_5 [i] en_sc | |||
| vowel/e_6 [e] om | |||
| vowel/e_7 [e] sq | |||
| vowel/ee [E] en_n | |||
| [E] sv | |||
| @@ -1609,6 +1644,8 @@ vowel/ee_3 [&] af | |||
| vowel/ee_6 [&] sk | |||
| [E3] sv | |||
| [E] ku | |||
| [&] lv | |||
| [&:] lv | |||
| vowel/e_mid [E] en_rp | |||
| [e] jbo | |||
| [E] fr | |||
| @@ -1631,6 +1668,7 @@ vowel/e_mid [E] en_rp | |||
| [E] da | |||
| [E] bn | |||
| [e] lv | |||
| [e] hy | |||
| vowel/e_mid2 [E] af | |||
| [E] de | |||
| [E2] de | |||
| @@ -1645,6 +1683,7 @@ vowel/e_mid2 [E] af | |||
| [e] tr | |||
| [E] ko | |||
| [e:] lv | |||
| [E] om | |||
| vowel/@_fnt [@] en_wi | |||
| [@2] en_wi | |||
| [@2] hr | |||
| @@ -1675,6 +1714,8 @@ vowel/i [i] base2 | |||
| [i] ko | |||
| [i:] ml | |||
| [i] ne | |||
| [i] hy | |||
| [i:] om | |||
| vowel/i# [y:] cy | |||
| vowel/i_2 [i2] de | |||
| [i:] de | |||
| @@ -1726,6 +1767,7 @@ vowel/ii [I] en_n | |||
| [I] is | |||
| [i] zhy | |||
| [I] ku | |||
| [I] om | |||
| vowel/ii# [Y] cy | |||
| [Y] ru | |||
| [I] ku | |||
| @@ -1777,6 +1819,7 @@ vowel/@_low [3] en_rp | |||
| [V] bn | |||
| [@2] bn | |||
| [V] ne | |||
| [@/] ne | |||
| vowel/o [o] base2 | |||
| [o:] en | |||
| [oU] en_n | |||
| @@ -1797,6 +1840,7 @@ vowel/o [o] base2 | |||
| [o] ml | |||
| [o:] ml | |||
| [o] bn | |||
| [o] hy | |||
| vowel/o_2 [o:] cy | |||
| [o2] fr | |||
| [o:] hi | |||
| @@ -1820,6 +1864,7 @@ vowel/oe [W] en | |||
| [W] af | |||
| [W] de | |||
| [W] da | |||
| [W] hy | |||
| vowel/oe_2 [W] no | |||
| [W] tr | |||
| vowel/oe_4 [W] sv | |||
| @@ -1829,6 +1874,7 @@ vowel/o_mid [U@] en_rp | |||
| [o] hu | |||
| [o] tr | |||
| [o] ne | |||
| [o:] om | |||
| vowel/oo [O:] en_sc | |||
| [O] en_wi | |||
| [O:] en_wi | |||
| @@ -1869,6 +1915,7 @@ vowel/oo_4 [O] base2 | |||
| [O:] hi | |||
| [O] it | |||
| [O] bn | |||
| [O] om | |||
| vowel/oo_5 [O] pl | |||
| [O] is | |||
| [O] sq | |||
| @@ -1906,6 +1953,7 @@ vowel/u [u:] en_wi | |||
| [u] ml | |||
| [u:] ml | |||
| [u] bn | |||
| [u:] om | |||
| vowel/u# [u:] en_sc | |||
| [Y] tr | |||
| vowel/u_2 [u1] fi | |||
| @@ -1951,6 +1999,7 @@ vowel/u_bck [u] base2 | |||
| [u] sq | |||
| [u:] bn | |||
| [u] ne | |||
| [u] hy | |||
| vowel/u_bck2 [u:] la | |||
| vowel/u_fnt [u:] en_rp | |||
| vowel/uu [U] en | |||
| @@ -1974,8 +2023,10 @@ vowel/uu_bck [U] en_wi | |||
| [U] no | |||
| [u] zhy | |||
| [U] bn | |||
| [U] om | |||
| vowel/u_unr [u-] ko | |||
| vowel/V [3] en_sc | |||
| [V] ne | |||
| vowel/V_2 [V] en | |||
| [a] af | |||
| [V] ru | |||
| @@ -1985,7 +2036,6 @@ vowel/V_3 [V] en_rp | |||
| [V] hi | |||
| [V] ta | |||
| [V] bn | |||
| [V] ne | |||
| vowel/V_4 [V] en_sc | |||
| [@:] vi | |||
| [V] da | |||
| @@ -2032,6 +2082,9 @@ vowel/yy_4 [y] de | |||
| [y] hu | |||
| [y] grc | |||
| [y] is | |||
| [y] hy | |||
| vweak/@ [@#] om | |||
| vweak/a [a#] om | |||
| vwl_af/@ [@] af | |||
| vwl_af/I [I] af | |||
| vwl_af/r@ [@] af | |||
| @@ -2087,10 +2140,13 @@ vwl_fr/@R [x] pt_pt | |||
| vwl_fr/@R2 [R] fr_ca | |||
| vwl_fr/@R3 [R] fr | |||
| [r] fr | |||
| [Q2] hy | |||
| vwl_fr/@R4 [R] fr | |||
| [r] fr | |||
| [r2] fr | |||
| [Q2] hy | |||
| vwl_fr/@R5 [r] fr | |||
| [Q2] hy | |||
| vwl_fr/r_a [a] fr | |||
| [a2] fr | |||
| [wA] fr | |||
| @@ -2112,6 +2168,7 @@ vwl_no/u#2 [u-:] no | |||
| vwl_no/y# [Y:] no | |||
| vwl_no/y#y [Yy] no | |||
| vwl_ro/ii- [I^] ro | |||
| [I#] om | |||
| vwl_ro/li [I^] ro | |||
| vwl_ro/mi [I^] ru | |||
| [I^] ro | |||
| @@ -16,6 +16,12 @@ phoneme @ | |||
| reduceto @- 0 | |||
| endphoneme | |||
| phoneme @/ | |||
| vowel starttype (@) endtype (@) | |||
| length 130 | |||
| formants vowel/@_bck | |||
| endphoneme | |||
| phoneme V | |||
| vowel starttype (@) endtype (@) | |||
| length 130 | |||
| @@ -1138,6 +1138,13 @@ phoneme x | |||
| switchvoicing Q | |||
| endphoneme | |||
| phoneme X | |||
| vls uvl frc | |||
| lengthmod 3 | |||
| wave ufric/xx3 | |||
| before _ ufric/xx3%70 | |||
| endphoneme | |||
| phoneme h | |||
| vls glt apr | |||
| @@ -1325,3 +1332,9 @@ include ph_nepali | |||
| phonemetable lv base | |||
| include ph_latvian | |||
| phonemetable hy base | |||
| include ph_armenian_west | |||
| phonemetable om base | |||
| include ph_oromo | |||
| @@ -312,6 +312,11 @@ static char nullstring[] = {0}; | |||
| break; | |||
| case 1: | |||
| if(c == '-') | |||
| { | |||
| flag_codes[n_flag_codes++] = BITNUM_FLAG_HYPHENATED; | |||
| c = ' '; | |||
| } | |||
| if(isspace2(c)) | |||
| { | |||
| p[0] = 0; /* terminate english word */ | |||
| @@ -2867,7 +2867,7 @@ const char *Translator::LookupDict2(const char *word, const char *word2, char *p | |||
| // don't use the contraction if any of the words are emphasized | |||
| for(ix=0; ix <= skipwords; ix++) | |||
| { | |||
| if((wtab != NULL) && (wtab[ix].flags & FLAG_EMPHASIZED)) | |||
| if((wtab != NULL) && (wtab[ix].flags & FLAG_EMPHASIZED2)) | |||
| { | |||
| condition_failed = 1; | |||
| } | |||
| @@ -2935,6 +2935,13 @@ const char *Translator::LookupDict2(const char *word, const char *word2, char *p | |||
| } | |||
| } | |||
| if(dictionary_flags2 & FLAG_HYPHENATED) | |||
| { | |||
| if(!(word_flags & FLAG_HYPHEN_AFTER)) | |||
| { | |||
| continue; | |||
| } | |||
| } | |||
| if(dictionary_flags2 & FLAG_CAPITAL) | |||
| { | |||
| if(!(word_flags & FLAG_FIRST_UPPER)) | |||
| @@ -3070,7 +3077,11 @@ int Translator::LookupDictList(char **wordptr, char *ph_out, unsigned int *flags | |||
| if(length > 0) | |||
| { | |||
| // found an abbreviation containing dots | |||
| nbytes = utf8_nbytes(word2); | |||
| nbytes = 0; | |||
| while(((c = word2[nbytes]) != 0) && (c != ' ')) | |||
| { | |||
| nbytes++; | |||
| } | |||
| memcpy(&word[length],word2,nbytes); | |||
| word[length+nbytes] = 0; | |||
| found = LookupDict2(word, word2, ph_out, flags, end_flags, wtab); | |||
| @@ -126,7 +126,8 @@ int TestSynthCallback(short *wav, int numsamples, espeak_EVENT *events) | |||
| while((type = events->type) != 0) | |||
| { | |||
| fprintf(f_events,"%2d (%4d %4d) %5d %5d (%3d) ",type,events->unique_identifier,(int)events->user_data,events->audio_position,events->text_position,events->length); | |||
| fprintf(f_events,"%2d (%4d %4ld) %5d %5d (%3d) ",type,events->unique_identifier,(long)events->user_data,events->audio_position,events->text_position,events->length); | |||
| if((type==3) || (type==4)) | |||
| fprintf(f_events,"'%s'\n",events->id.name); | |||
| else | |||
| @@ -82,6 +82,12 @@ const unsigned short punct_chars[] = {',','.','?','!',':',';', | |||
| 0x3001, // ideograph comma | |||
| 0x3002, // ideograph period | |||
| 0x0589, // Armenian period | |||
| 0x055d, // Armenian comma | |||
| 0x055c, // Armenian exclamation | |||
| 0x055e, // Armenian question | |||
| 0x055b, // Armenian emphasis mark | |||
| 0xff01, // fullwidth exclamation | |||
| 0xff0c, // fullwidth comma | |||
| 0xff0e, // fullwidth period | |||
| @@ -106,6 +112,12 @@ static const unsigned int punct_attributes [] = { 0, | |||
| CLAUSE_COMMA+0x8000, // ideograph comma | |||
| CLAUSE_PERIOD+0x8000, // ideograph period | |||
| CLAUSE_PERIOD+0x8000, // Armenian period | |||
| CLAUSE_COMMA, // Armenian comma | |||
| CLAUSE_EXCLAMATION + PUNCT_IN_WORD, // Armenian exclamation | |||
| CLAUSE_QUESTION + PUNCT_IN_WORD, // Armenian question | |||
| CLAUSE_PERIOD + PUNCT_IN_WORD, // Armenian emphasis mark | |||
| CLAUSE_EXCLAMATION+0x8000, // fullwidth | |||
| CLAUSE_COMMA+0x8000, | |||
| CLAUSE_PERIOD+0x8000, | |||
| @@ -1826,8 +1838,8 @@ MNEM_TAB xml_char_mnemonics[] = { | |||
| {NULL,-1}}; | |||
| int Translator::ReadClause(FILE *f_in, char *buf, short *charix, int n_buf) | |||
| {//======================================================================== | |||
| int Translator::ReadClause(FILE *f_in, char *buf, short *charix, int n_buf, int *tone_type) | |||
| {//======================================================================================== | |||
| /* Find the end of the current clause. | |||
| Write the clause into buf | |||
| @@ -1855,6 +1867,7 @@ int Translator::ReadClause(FILE *f_in, char *buf, short *charix, int n_buf) | |||
| int any_alnum = 0; | |||
| int self_closing; | |||
| int punct_data; | |||
| int stressed_word = 0; | |||
| const char *p; | |||
| wchar_t xml_buf[N_XML_BUF+1]; | |||
| @@ -1872,6 +1885,7 @@ int Translator::ReadClause(FILE *f_in, char *buf, short *charix, int n_buf) | |||
| clause_upper_count = 0; | |||
| clause_lower_count = 0; | |||
| end_of_input = 0; | |||
| *tone_type = 0; | |||
| f_input = f_in; // for GetC etc | |||
| @@ -2110,25 +2124,35 @@ f_input = f_in; // for GetC etc | |||
| if(iswalnum(c1)) | |||
| any_alnum = 1; | |||
| else | |||
| if(iswspace(c1)) | |||
| { | |||
| char *p_word; | |||
| if(stressed_word) | |||
| { | |||
| stressed_word = 0; | |||
| c1 = CHAR_EMPHASIS; // indicate this word is strtessed | |||
| UngetC(c2); | |||
| c2 = ' '; | |||
| } | |||
| if(translator_name == 0x6a626f) | |||
| if(iswspace(c1)) | |||
| { | |||
| // language jbo : lojban | |||
| // treat "i" or ".i" as end-of-sentence | |||
| p_word = &buf[ix-1]; | |||
| if(p_word[0] == 'i') | |||
| char *p_word; | |||
| if(translator_name == 0x6a626f) | |||
| { | |||
| if(p_word[-1] == '.') | |||
| p_word--; | |||
| if(p_word[-1] == ' ') | |||
| // language jbo : lojban | |||
| // treat "i" or ".i" as end-of-sentence | |||
| p_word = &buf[ix-1]; | |||
| if(p_word[0] == 'i') | |||
| { | |||
| ungot_word = "i "; | |||
| UngetC(c2); | |||
| p_word[0] = 0; | |||
| return(CLAUSE_PERIOD); | |||
| if(p_word[-1] == '.') | |||
| p_word--; | |||
| if(p_word[-1] == ' ') | |||
| { | |||
| ungot_word = "i "; | |||
| UngetC(c2); | |||
| p_word[0] = 0; | |||
| return(CLAUSE_PERIOD); | |||
| } | |||
| } | |||
| } | |||
| } | |||
| @@ -2218,7 +2242,17 @@ if(option_ssml) parag=1; | |||
| if((phoneme_mode==0) && (sayas_mode==0) && ((punct = lookupwchar(punct_chars,c1)) != 0)) | |||
| { | |||
| if((iswspace(c2) || (punct_attributes[punct] & 0x8000) || IsBracket(c2) || (c2=='?') || (c2=='-') || Eof())) | |||
| punct_data = punct_attributes[punct]; | |||
| if(punct_data & PUNCT_IN_WORD) | |||
| { | |||
| // Armenian punctuation inside a word | |||
| stressed_word = 1; | |||
| *tone_type = punct_data >> 12 & 0xf; // override the end-of-sentence type | |||
| continue; | |||
| } | |||
| if((iswspace(c2) || (punct_data & 0x8000) || IsBracket(c2) || (c2=='?') || (c2=='-') || Eof())) | |||
| { | |||
| // note: (c2='?') is for when a smart-quote has been replaced by '?' | |||
| buf[ix] = ' '; | |||
| @@ -2295,6 +2329,11 @@ if(option_ssml) parag=1; | |||
| return(CLAUSE_NONE); | |||
| } | |||
| } | |||
| if(stressed_word) | |||
| { | |||
| ix += utf8_out(CHAR_EMPHASIS, &buf[ix]); | |||
| } | |||
| buf[ix] = ' '; | |||
| buf[ix+1] = 0; | |||
| return(CLAUSE_EOF); // end of file | |||
| @@ -542,7 +542,10 @@ void Translator::CalcLengths() | |||
| if(end_of_clause == 2) | |||
| { | |||
| // this is the last syllable in the clause, lengthen it - more for short vowels | |||
| length_mod = length_mod * (256 + (280 - p->ph->std_length)/3)/256; | |||
| len = p->ph->std_length; | |||
| if(langopts.stress_flags & 0x40000) | |||
| len=200; // don't lengthen short vowels more than long vowels at end-of-clause | |||
| length_mod = length_mod * (256 + (280 - len)/3)/256; | |||
| } | |||
| if(p->type != phVOWEL) | |||
| @@ -517,9 +517,9 @@ void MarkerEvent(int type, unsigned int char_position, int value, unsigned char | |||
| ep->text_position = char_position & 0xffff; | |||
| ep->length = char_position >> 24; | |||
| time = (double(count_samples + (out_ptr - out_start)/2)*1000.0)/samplerate; | |||
| time = (double(count_samples + mbrola_delay + (out_ptr - out_start)/2)*1000.0)/samplerate; | |||
| ep->audio_position = int(time); | |||
| ep->sample = (count_samples + (out_ptr - out_start)/2); | |||
| ep->sample = (count_samples + mbrola_delay + (out_ptr - out_start)/2); | |||
| SHOW("MarkerEvent > count_samples=%d, out_ptr=%x, out_start=0x%x\n",count_samples, out_ptr, out_start); | |||
| SHOW("*** MarkerEvent > type=%s, uid=%d, text_pos=%d, length=%d, audio_position=%d, sample=%d\n", | |||
| @@ -123,6 +123,8 @@ espeak_ERROR LoadMbrolaTable(const char *mbrola_voice, const char *phtrans, int | |||
| char path[sizeof(path_home)+15]; | |||
| mbrola_name[0] = 0; | |||
| mbrola_delay = 0; | |||
| if(mbrola_voice == NULL) | |||
| { | |||
| samplerate = samplerate_native; | |||
| @@ -193,6 +195,7 @@ espeak_ERROR LoadMbrolaTable(const char *mbrola_voice, const char *phtrans, int | |||
| else | |||
| SetParameter(espeakVOICETYPE,1,0); | |||
| strcpy(mbrola_name,mbrola_voice); | |||
| mbrola_delay = 3800; // improve synchronization of events | |||
| return(EE_OK); | |||
| } // end of LoadMbrolaTable | |||
| @@ -602,6 +605,10 @@ void MbrolaTranslate(PHONEME_LIST *plist, int n_phonemes, FILE *f_mbrola) | |||
| else | |||
| len = (80 * speed_factor2)/256; | |||
| #ifdef USE_MBROLA_LIB | |||
| MbrolaMarker(espeakEVENT_PHONEME, (p->sourceix & 0x7ff) + clause_start_char, 0, ph->mnemonic); | |||
| #endif | |||
| sprintf(buf,"%s\t",WordToString(name)); | |||
| strcat(mbr_buf,buf); | |||
| @@ -35,7 +35,7 @@ | |||
| #include "translate.h" | |||
| #include "wave.h" | |||
| const char *version_string = "1.39.14 02.Nov.08"; | |||
| const char *version_string = "1.39.18 06.Nov.08"; | |||
| const int version_phdata = 0x013900; | |||
| int option_device_number = -1; | |||
| @@ -42,6 +42,7 @@ static void SmoothSpect(void); | |||
| int n_phoneme_list=0; | |||
| PHONEME_LIST phoneme_list[N_PHONEME_LIST]; | |||
| int mbrola_delay; | |||
| char mbrola_name[20]; | |||
| int speed_factor1; | |||
| @@ -220,6 +220,7 @@ extern int wavefile_amp2; | |||
| extern int vowel_transition[4]; | |||
| extern int vowel_transition0, vowel_transition1; | |||
| extern int mbrola_delay; | |||
| extern char mbrola_name[20]; | |||
| // from synthdata file | |||
| @@ -45,6 +45,7 @@ | |||
| // start of unicode pages for character sets | |||
| #define OFFSET_GREEK 0x380 | |||
| #define OFFSET_CYRILLIC 0x420 | |||
| #define OFFSET_ARMENIAN 0x530 | |||
| #define OFFSET_DEVANAGARI 0x900 | |||
| #define OFFSET_BENGALI 0x980 | |||
| #define OFFSET_TAMIL 0xb80 | |||
| @@ -431,6 +432,22 @@ SetLengthMods(tr,3); // all equal | |||
| } | |||
| break; | |||
| case L('h','y'): // Armenian | |||
| { | |||
| static const char hy_vowels[] = {0x31, 0x35, 0x37, 0x38, 0x3b, 0x48, 0x55, 0}; | |||
| static const char hy_consonants[] = {0x32,0x33,0x34,0x36,0x39,0x3a,0x3c,0x3d,0x3e,0x3f, | |||
| 0x40,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x49,0x4a,0x4b,0x4c,0x4d,0x4e,0x4f,0x50,0x51,0x52,0x53,0x54,0x56,0}; | |||
| tr = new Translator(); | |||
| tr->langopts.stress_rule = 3; // default stress on final syllable | |||
| tr->letter_bits_offset = OFFSET_ARMENIAN; | |||
| memset(tr->letter_bits,0,sizeof(tr->letter_bits)); | |||
| SetLetterBits(tr,LETTERGP_A,hy_vowels); | |||
| SetLetterBits(tr,LETTERGP_C,hy_consonants); | |||
| tr->langopts.max_initial_consonants = 4; | |||
| } | |||
| break; | |||
| case L('i','d'): // Indonesian | |||
| { | |||
| static const short stress_lengths_id[8] = {160, 200, 180, 180, 0, 0, 220, 240}; | |||
| @@ -563,8 +580,8 @@ SetLengthMods(tr,3); // all equal | |||
| tr->langopts.stress_rule = 0; | |||
| tr->langopts.spelling_stress = 1; | |||
| tr->charset_a0 = charsets[4]; // ISO-8859-4 | |||
| tr->langopts.numbers = 0x409; | |||
| tr->langopts.stress_flags = 0x16; | |||
| tr->langopts.numbers = 0x409 + 0x8000 + 0x10000; | |||
| tr->langopts.stress_flags = 0x16 + 0x40000; | |||
| } | |||
| break; | |||
| @@ -1179,13 +1179,13 @@ strcpy(phonemes2,phonemes); | |||
| dictionary_flags[0] &= ~FLAG_PAUSE1; | |||
| } | |||
| if(wflags & FLAG_EMPHASIZED) | |||
| if(wflags & FLAG_EMPHASIZED2) | |||
| { | |||
| // A word is indicated in the source text as stressed | |||
| // Give it stress level 6 (for the intonation module) | |||
| ChangeWordStress(this,word_phonemes,6); | |||
| // if(!(wflags & FLAG_LAST_WORD)) // ?? omit pre-pause if it's the last word in the sentence? | |||
| if(wflags & FLAG_EMPHASIZED) | |||
| dictionary_flags[0] |= FLAG_PAUSE1; // precede by short pause | |||
| } | |||
| else | |||
| @@ -2030,6 +2030,7 @@ void *Translator::TranslateClause(FILE *f_text, const void *vp_input, int *tone_ | |||
| int terminator; | |||
| int tone; | |||
| int tone2; | |||
| p_textinput = (char *)vp_input; | |||
| p_wchar_input = (wchar_t *)vp_input; | |||
| @@ -2044,12 +2045,17 @@ void *Translator::TranslateClause(FILE *f_text, const void *vp_input, int *tone_ | |||
| for(ix=0; ix<N_TR_SOURCE; ix++) | |||
| charix[ix] = 0; | |||
| terminator = translator->ReadClause(f_text,source,charix,N_TR_SOURCE); | |||
| terminator = translator->ReadClause(f_text, source, charix, N_TR_SOURCE, &tone2); | |||
| charix[N_TR_SOURCE] = count_characters; | |||
| clause_pause = (terminator & 0xfff) * 10; // mS | |||
| tone = (terminator >> 12) & 0xf; | |||
| if(tone2 != 0) | |||
| { | |||
| // override the tone type | |||
| tone = tone2; | |||
| } | |||
| for(p=source; *p != 0; p++) | |||
| { | |||
| @@ -2248,6 +2254,13 @@ if((c == '/') && (langopts.testing & 2) && IsDigit09(next_in) && IsAlpha(prev_ou | |||
| c = '\''; | |||
| } | |||
| if(c == CHAR_EMPHASIS) | |||
| { | |||
| // this character is a marker that the previous word is the focus of the clause | |||
| c = ' '; | |||
| word_flags |= FLAG_FOCUS; | |||
| } | |||
| c = TranslateChar(&source[source_index], prev_in,c, next_in, &char_inserted); // optional language specific function | |||
| if(c == 8) | |||
| continue; // ignore this character | |||
| @@ -76,7 +76,8 @@ | |||
| #define FLAG_CAPITAL 0x200 /* pronunciation if initial letter is upper case */ | |||
| #define FLAG_ALLCAPS 0x400 // only if the word is all capitals | |||
| #define FLAG_ACCENT 0x800 // character name is base-character name + accent name | |||
| #define FLAG_HYPHENATED 0x1000 // multiple-words, but needs hyphen between parts 1 and 2 | |||
| #define BITNUM_FLAG_HYPHENATED 0x2c | |||
| // wordflags, flags in source word | |||
| @@ -86,15 +87,16 @@ | |||
| #define FLAG_HAS_PLURAL 0x4 /* upper-case word with s or 's lower-case ending */ | |||
| #define FLAG_PHONEMES 0x8 /* word is phonemes */ | |||
| #define FLAG_LAST_WORD 0x10 /* last word in clause */ | |||
| //#define FLAG_SPELLING 0x20 // speak the word as individual letters | |||
| #define FLAG_EMBEDDED 0x40 /* word is preceded by embedded commands */ | |||
| #define FLAG_HYPHEN 0x80 | |||
| #define FLAG_NOSPACE 0x100 // word is not seperated from previous word by a space | |||
| #define FLAG_FIRST_WORD 0x200 // first word in clause | |||
| #define FLAG_FOCUS 0x400 // the focus word of a clause | |||
| #define FLAG_EMPHASIZED 0x800 | |||
| #define FLAG_EMPHASIZED2 0xc00 // FLAG_FOCUS | FLAG_EMPHASIZED | |||
| #define FLAG_DONT_SWITCH_TRANSLATOR 0x1000 | |||
| #define FLAG_SUFFIX_REMOVED 0x2000 | |||
| #define FLAG_HYPHEN_AFTER 0x4000 | |||
| #define FLAG_EMPHASIZED 0x8000 | |||
| #define FLAG_NO_TRACE 0x10000 // passed to TranslateRules() to suppress dictionary lookup printout | |||
| #define FLAG_NO_PREFIX 0x20000 | |||
| @@ -161,8 +163,10 @@ | |||
| // bits 0-7 pause x 10mS, bits 12-14 intonation type, | |||
| // bit 19=sentence, bit 18=clause, bits 17=voice change | |||
| // bit 16 used to distinguish otherwise identical types | |||
| // bit 20= punctuation character can be inside a word (Armenian) | |||
| #define CLAUSE_BIT_SENTENCE 0x80000 | |||
| #define CLAUSE_BIT_VOICE 0x20000 | |||
| #define PUNCT_IN_WORD 0x100000 | |||
| #define CLAUSE_NONE 0 + 0x04000 | |||
| #define CLAUSE_PARAGRAPH 70 + 0x80000 | |||
| @@ -187,6 +191,8 @@ | |||
| #define SAYAS_DIGITS 0x40 // + number of digits | |||
| #define SAYAS_DIGITS1 0xc1 | |||
| #define CHAR_EMPHASIS 0x0530 // this is an unused character code | |||
| // Rule: | |||
| // [4] [match] [1 pre] [2 post] [3 phonemes] 0 | |||
| // match 1 pre 2 post 0 - use common phoneme string | |||
| @@ -306,6 +312,7 @@ typedef struct { | |||
| // bit15= Give stress to the first unstressed syllable | |||
| // bit16= Don't diminish consecutive syllables within a word. | |||
| // bit17= "priority" stress reduces other primary stress to "unstressed" not "secondary" | |||
| // bit18= don't lengthen short vowels more than long vowels at end-of-clause | |||
| int stress_flags; | |||
| int unstressed_wd1; // stress for $u word of 1 syllable | |||
| @@ -435,7 +442,7 @@ private: | |||
| void MakePhonemeList(int post_pause, int new_sentence); | |||
| int SubstitutePhonemes(PHONEME_LIST2 *plist_out); | |||
| int ReadClause(FILE *f_in, char *buf, short *charix, int n_buf); | |||
| int ReadClause(FILE *f_in, char *buf, short *charix, int n_buf, int *tone_type); | |||
| int AnnouncePunctuation(int c1, int c2, char *buf, int ix); | |||
| const char *LookupDict2(const char *word, const char *word2, char *phonetic, unsigned int *flags, int end_flags, WORD_TAB *wtab); | |||