diff --git a/dictsource/da_list b/dictsource/da_list index 1deffb69..94fe240d 100755 --- a/dictsource/da_list +++ b/dictsource/da_list @@ -130,6 +130,8 @@ fordi fVdi $pause // because når nVr $pause // while som $u+ $pause // who (relative) der dA $u+ $pause +hvor v'Vr // where +hvorfor vVf'Vr // why // prepositions på pO $u+ @@ -141,7 +143,7 @@ med $u+ // with af a? $u+ // of at at $u+ // to hos $u+ // at - +som $u sVm // which / that // pronouns @@ -169,17 +171,17 @@ disse $u+ // these // possessive pronouns Min min $u Mit mit $u -Mine min@ $u -din di?n -dit di?t $u -dine $u +Mine m'in@ +din d'in +dit d'it $u +dine d'ine deres $u hans $u hendes $u dens $u dets $u -sin si?n -sit si?t $u +sin s'in +sit s'it $u sine $u vor $u vort $u @@ -230,10 +232,11 @@ z sEt egen a:j@n eget a:j@D egne a:in@ -igen igen enter entV -også Vs@ -sig sAi // oneself -sagde sa@ // said +igen igen Ny ny // new +også Vs@ // also +havde h'aD@ // had +sagde sa@ // said +sig sAi // oneself diff --git a/dictsource/da_rules b/dictsource/da_rules index 9ea836b2..1851be6a 100755 --- a/dictsource/da_rules +++ b/dictsource/da_rules @@ -1,4 +1,4 @@ - + // This file is UTF8 encoded @@ -22,6 +22,7 @@ C) a (C a a (tion a a (CK a + a (g a_ a (nK a a (r+ A: r) a A: @@ -29,7 +30,8 @@ ai (K aj au (K au - + ch) au (f o + nive) au o aw (K aw ay (K aj aa O: @@ -44,9 +46,8 @@ b b bb b _) be (@P2 be - _) be (d bE - + b (il 'b .group c @@ -55,7 +56,10 @@ c (e s c (i s + c (k ch S + mi) ch (a k S + ch (r k e) c (h k c (ha S cc ks @@ -68,39 +72,107 @@ .group d d d - dd D + A) d (d D A) d (_ D A) d D A) d (A D + A) dd D A) d (i d A) d (ig D A) d (isk D A) d (es D A) d (et D - &) de (_ D@ - i) d d + a) d (g D + a) d (k D + A) de (_ D@ + d) d D i) d (e d - l) d (+ - æ) d d + u) d (er d + bu) d (get + ej) d (e d + le) d (t + li) d (e D + li) d (s D + me) d (b D + me) d (l D + mi) d (l D + ne) d (C D + o) d (a d + o) d (i d + re) d (a d + re) d (i d + ri) d (e D + si) d (e D + ti) d (e D + ti) d (s D + vi) d (e D + al) d (o d + an) d (re d + el) d (i d + ol) d (a d + æl) d (e d + æl) d (i d + æl) d (re d + æn) d (e + æn) d (re d + æn) d (ri d + ær) d (es d + mo) d (C D + mo) d (ul 'd + mo) d (al 'd + bla) d (r D + kor) d d + smu) d (s + pu) d (s + ro) d (s + ry) d (ni D + æ) d D An) d (rA d + An) d (re d + dar) d d in) d (C + in) d (i d + in) d (u d + in) d (uC d in) d (ue d + Co) d (C D + Co) d (A D + go) d (s + go) d (t_ + or) d (ne d + or) d (ning d + or) d (re d + or) d (ret + Aor) d (ret d + kre) d (s + tro) d (s + u) d (A D + u) d (C D ø) d (C D ø) d (t å) d (an d - d (CA D - d (t ? + d (CA d + d (t = + be) d (r D be) d (st : + bol) d d a) d (s i) d (s r) d (K + ar) d (K d + or) d (re d in) d ir) d (_ d or) d (en + aar) d (K + klo) d (s nor) d + pro) d (u d pu) d (s ur) d (e d ver) d (en d + sli) d(so D + sli) d(s .group e @@ -109,88 +181,133 @@ e (rK & b) e (ds E d) e (_ @ - ed) e (- @D + ed) e (- @ g) e (C e g) e (js aj - r) e V% + em) e (nt a + plem) e (nter e + elem) e (nt e + em) e (ntal e + glem) e (nt a + glem) e (ntal e + ni) e + ni) e (n e + niv) e (au + ani) e (l e + lini) e e + r) e (_ V% + _r) e e V% @st) e (n e: + budg) e (t 'E carst) e (n @ karst) e (n @ Kr) e (ag e + @h) e (n 'e + p) e (ge a + p) e (gnin a r) e (l e + r) e (kt aj r) e (CK e - r) e (L01 Aj + eg (et aj m) eg aj n) e (K e - ea i: ee e: - eg (e e@ + eg (e 'e: + en (gage an^ + en (tre an^ + p) en (sion an^ + r) en (ce an^ r) eg (n A:j r) e (d e r) e (v e + tr) e e + tr) e (A e ei A:j ej (+ ai + v) ej (r 'e ai ffic) e ffic) e (r e - &) e (_ @: - &r) e (_ e - + &r) e (_ V &) ede (_ @D@ &r) ede (_ 3D@ &r) en (_ 3n + &r) en (ing 'en + for) en (ing 'en &r) en (s_ 3n &r) et (_ 3D - &) er (_ 3 - &) en (_ @-n + &) er (_ V + &) en (_ '@-n &) ene (_ @-n@ &) ende (_ @-nn@ &) eren (_ 3r3n &) eren (s_ 3r3n &) es (_ @s &) et (_ @D + icha) e (l + ika) e (l ir) e (n 'e yr) e (n 'e - - - - .group f - f f - ff f - _) for (@P3 f%V - _) for (um f%or + _) for (&@P3 f%V + _) for (e f%V + _) for (um f%or a) f (A u a) f (C u + a) f (it f + a) f (on f a) f (rik f + a) f (sted a) f (ten f a) f (tes_ f Ca) f (t f + ga) f (fel f + gra) f ( f + gra) f (A f + gra) f (C f ra) f (ik f + ra) f (fe f kra) f (t f + sa) f (ar f + ska) f (f f + sta) f (e f .group g g g + gg g + g (ent g + g (ment g a) g (A w a) g (C ?w a) g (e - la) g (e + a) g (en g g) g g e) g (e - n) g n^ i) g (t g - i) g j + i) g (t_ + gti) g + i) g i) g (A + i) g (ere g + redi) g (er g + i) g (i g + n) g n^ + n) gr n^gr r) g (_ w r) g (e w + Ca) g (en j + ra) g (_ w + ra) g (e w ør) g (s l) g (_ j + li) g + li) g (g g u) g g u) g (e u) g (l ? @@ -199,35 +316,67 @@ y) g (A g ø) g (e ø) g (n + æ) g (e j &e) g j + an) g (å g ba) g (e da) g (e + ba) g (C u + ba) g (t g + ba) g (ta u + da) g (C u + ga) g (e S + la) g (e + li) g (t + pli) g (t g + sa) g (s ' + si) g (t g + &ti) g + bud) g (et S rea) g (er g aga) g (e S aga) g (te g arran) g (e S eta) g (e S + gara) g (e S + onta) g (e S + reta) g (e + foreta) g (e + ru) g (_ a) g (A j l) g (_ j l) g (e j l) g (s j Ca) g (t k o) g u + bo) g (C u æda) g (og g' no) g (e no) g (le - + nø) g j + re) g (e g + re) g (i g o) g (r g o) g (n g o) g (s u - o) g (st k + bo) g (st k ø) g (_ j ø) g (t g + sal) g j + val) g j lå) g (e u + navi) g (er g vå) g (e u + vå) g (n u vå) g (ne u go) g = lo) g = + lo) g (a g + lo) g (i =g + _lo) g (i- S + lo) g (o =g + _lo) g (_ g + _lo) g (g g ør) g w a) g (K ? _) ge (@P2 ge @@ -235,7 +384,8 @@ _) ge (nere Se _) ge (nert Se _) ge (nerel ge - _) ge (nera ge + ge (nera ge + ge (nerer ge ta) g (e @@ -243,7 +393,7 @@ h h h (j - h (v + hv v A) h (K t) h (en h @@ -258,15 +408,14 @@ i (nK i i (nn e i (mK e + k) i (C_ 'i + k) i (CC_ 'i l) i (e j n) i (e i - + r) i (g i t) i (e j - s) i (e j - t) i (on // i ommitted because of sj - s) i (on j @@ -278,6 +427,7 @@ j j j (aw dZ j (ack dZ + j (ob dZ j (ohn dZ o) j (e S a) j (o S @@ -291,8 +441,7 @@ s) k g - &) k g // after stressed vowel - + &) k k // after stressed vowel &) kk g @@ -302,15 +451,17 @@ .group l l l - ll l - ld (K l - &) ld (e_ l - &) ld (ekk l - + o) ld l + bo) ld ld + fo) ld l + he) ld l + he) ld (ig ld + no) ld l + æ) ld (r ld @@ -318,50 +469,62 @@ .group m m m? mm m - m (A 'm + m (A m .group n n n - nn n nd (e n nd (K n nd (ow nd + nd (r nd + u) nd ( n n (k N - - n (g - + pag) n (e nj + gleme) n (t n^ .group ng - + ng (_ n^ + a) ng (A ng + a) ng (C n^ ng (a ng ng (i ng arra) ng n^S - + fu) ng n^'g .group o o o: kr) o (C o cr) o (C 'o + h) o (ld 'V + h) o (ved o o (CK o - o (r O- + o (p 'V + o (r o + o (rdn o + m) o (rC V o (gK o - oo u + b) oo (k u + l) oo (k u ou Vw - ov Vw - @) o (C V + ov Vv + @) o (C 'o + @@) o (C 'o _C) o (l 'V _C) o (p 'V _CC) o (p 'V _CC) o (l 'V - _f) o (r 'V + b) o (C 'o + sk) o (le 'o + _f) o (r V + _f) o (re 'V l) o (kk V p) o (li o st) o (K 'o @@ -371,9 +534,7 @@ .group p p p - pp p - &) p b &) pp b @@ -400,6 +561,7 @@ bu) rd (eK rd no) rd (eKK r no) rd (isk rd + o) rd (en rd tu) rd (eK rd ve) rd (eKK rd @@ -414,31 +576,30 @@ s (A s s (ie s s (ion S - - - s (j s - s (ch S - + kompromi) s .group t t t A) t (_ t: - th t + th th &) t t &) tt t - &) th d - t (ie t - t (ion+ sj' - - + emen) t + elemen) t t + emen) t (al t + glemen) t + glemen) t (al t + lemen) t (er t + poin) t + poin) t (e t @@ -448,6 +609,7 @@ u (nK u u (mK O a) u (g u + b) u (dget y l) u (k O? l) u (kas u m) u (k O? @@ -455,6 +617,9 @@ r) u u r) u (m O r) u (nd O? + fris) u (r y + frit) u (r y + men) u y g) u (st O r) u (s u @@ -466,10 +631,13 @@ a) v (n u &A) v v &r) v v - l) v (C - l) v (A - - + al) v (A v + el) v (C + el) v (A + el) v (e v + il) v (A v + ur) v v + hal) v .group w @@ -517,28 +685,39 @@ æ E? æ (CK E: l) æ E: - r) æ &: - r) æ (CK e + r) æ E + r) æ (kk aj + r) æ (v e r) æ (L01 Aj + r) æ (k Aj t) æ (C E: v) æ E: + pr) æ (ge E: + tr) æ E + tr) æ (k 'aj + tr) æ (kA E .group ø ø W? ø (CK W: b) ø (g W + d) ø (r W f) ø (r W: + g) ø (r @: + h) ø (j V h) ø (r W: k) ø (r W: l) ø (s W: m) ø W: r) ø W: s) ø W: - ø (r w + t) ø (r W + ø (r W r) ø (CK W: - øg Vj - øj Vj + øg W + d) øg (n Vj + øj oj .group å å O:? @@ -550,3 +729,4 @@ $ dVlar + diff --git a/dictsource/de_list b/dictsource/de_list index 53bdf814..f03f9c0a 100644 --- a/dictsource/de_list +++ b/dictsource/de_list @@ -113,7 +113,7 @@ _2X 'tsvantsIC _3X 'd@-*aIsIC _4X 'fi:*tsIC _5X 'fynftsIC -_6X 'zEktsIC +_6X 'zECtsIC _7X 'zi:btsIC _8X '_axttsIC _9X 'nOYntsIC @@ -612,7 +612,6 @@ kurie $alt lakaienhaft l%akaInhaft lappalie $alt lilie $alt -linie $alt logier lo:Z'i:* luetisch lu:'e:tIS @@ -653,6 +652,7 @@ privatisier p@-*i:vati:z'i:* problematisier p@-*o:ble:m'a:tIzi:* reliquie $alt +risik $1 rupie $alt sabbat zabat diff --git a/dictsource/de_rules b/dictsource/de_rules index c2be479f..00e48706 100644 --- a/dictsource/de_rules +++ b/dictsource/de_rules @@ -324,9 +324,9 @@ &) eren (_S4 @*@n &) erer (_S4 @*3 &) eres (_S4 @*@s - &) er (C_ @* + &) er (C_ @:* er (d_ e:* - &) er (n_ @* + &) er (n_ @:* &) er (r_ E w) er (k_ E* &) er (nd_ @* @@ -569,7 +569,10 @@ _) inter Int@* &) in (_ i2n l) in (_ 'i:n + m) in (_ 'i:n s) in (_ 'i:n + z) in (_ 'i:n + @) in (o_ 'i:n @) ion (_ j'o:n @) io (n Io: io Io: @@ -593,6 +596,7 @@ &) ie (ll_ I'E &) ie (r_ 'i: + ie (rs@ 'i: u) ie (r_ _|'i: &) ie (rlich 'i: bank) ie (r I'e: @@ -633,6 +637,7 @@ fol) ie (_ =I@ formal) ie =I@ stud) ie (_ =I@ + in) ie (_ I@ .group j @@ -1016,7 +1021,9 @@ _) vi vi: _) v v - _) v (ater f + vater fA:t3 + väter fE:t3 + _) v (ät f _) v (ie f _) v (iet v _) v (iz f @@ -1028,6 +1035,7 @@ _) vehe ve:he: _) ver (@P3 f%E* _) ver (bal v%E* + _) ver (sion vE* _) ver (tik vE* @) versich fE*z,IC @) vergess fE*g,Es diff --git a/dictsource/dict_phonemes b/dictsource/dict_phonemes index 2f0fd80c..6768a018 100644 --- a/dictsource/dict_phonemes +++ b/dictsource/dict_phonemes @@ -1,6 +1,100 @@ Phonemes which are used in the *_rules and *_list files +Dictionary zhy_dict + +a aa aai aan aau ai au e +ei eo eoi eu i iu o oe +oi ong ou u ui yu + +b c d f g h j k +l m n N p r s t +tS v w z + + +Dictionary fr_dict + +@ @- @2 a A~ e E E2 +E: E~ i i- i: o O o2 +O2 o3 O~ u u: W w^i wA +W~ y Y + +: b d dZ f g h j +k l m n N n2 n^ p +p2 r R r2 s S t t2 +t3 tS v w z Z z2 z3 + + +Dictionary nl_dict + +8 @ @- A a: E e: EI +eU i I O O: o: u VU +Wy y Y: yU + +* : ; b C d f g +h j k l m n N n^ +p Q r s S t tS v +v2 w x z + + +Dictionary jbo_dict + +@ @- a aI aU e eI i +l- o oI r- u + +* - b d dZ f g h +j k l m n N p R +s S t tS v w x z +Z + + +Dictionary hu_dict + +A a: E e: i i: o o: +u u: Y y y: Y: + +: b c C d dZ f g +h j J k l l^ m n +N n^ p R R2 s S s2 +t tS ts v z Z + + +Dictionary hy_dict + +@ a aI e eI i i@ o +u W y + +** b c d dZ dz f g +h j k k# l m n p +p# r R r" s S t t# +tS ts ts# v X z Z + + +Dictionary zh_dict + +@ @r a A ai Au E ei +i i. i[ iA iE io iou N- +o o- ong ou u u@ ua uai +uei uo y y& y@ yE yi yu + +; C f h j k kh l +L m n N p ph r R +s s. S; t th ts ts. ts. +tS; tS; tsh v w x X z. + + +Dictionary ca_dict + +@ a a# aI e E E2 i +o O u U + +* ** : ; b B d D +dZ; f g j J J^ k l +l^ m n N n^ p Q R +R2 s S; t T ts tS; v +v# w z Z Z; + + Dictionary af_dict & &: 3: @ @- @L @U a @@ -15,83 +109,15 @@ n N p r s S t T tS v w x x2 z Z -Dictionary bn_dict +Dictionary id_dict -& a a: a~ e E e~ i -I i: i:~ i~ l- o O o: -O~ o~ r- U u u: u:~ u~ -V +@ a aI aU e E E2 i +o O u -* b B bh c C ch d -d. d.h dh g gh h j J -Jh k kh l m n N n. -n^ p ph Q r r. s S -s. t t. t.h th tS x z - - -Dictionary ca_dict - -@ a a# aI e E E2 i -o O u U - -* ** : ; b B d D -dZ; f g j J J^ k l -l^ m n N n^ p Q R -R2 s S; t T ts tS; v -v# w z Z Z; - - -Dictionary cs_dict - -@- a a: aU e e: eI eU -i i: l- o o: oU r- u -u: - -* ; b c d dZ dz f -g h j J k l l^ m -n N n^ p r R R^ R^/ -s S t tS ts v x z -Z - - -Dictionary cy_dict - -@ @- @I @Y a A: aI aU -AY aY E e: eU I i: Iu -O o: OI OY U u: uY V -Y y: Yu - -: b C d D dZ f g -h j k l L m n N -p r s S t T v w -x z - - -Dictionary kn_dict - -a a: aI aU e E e: i -I i: o o: r- u u: V -y - -: b bh c ch d d. d.h -dh dZ f g gh h j J -Jh k kh l l. m n N -n. n^ p ph R R2 s S -s. S; t t. t.h th tS v -w z - - -Dictionary de_dict - -3 @ @- a A A: aI aU -E E2 E: e: EI I i2 i: -O o: OY U u: W y y: -Y: - -* : ; b C C2 d D -dZ f g h j k l m -n N p pF r s S t -tS ts v x z Z +* : ? b d dZ f g +h j k l m n N n^ +p r R R2 s S t tS +v w x z Dictionary el_dict @@ -121,26 +147,112 @@ s S t T t2 tS v w x z Z -Dictionary eo_dict +Dictionary cs_dict -@- a aI aU e eI eU i -o oI u uI +@- a a: aU e e: eI eU +i i: l- o o: oU r- u +u: -* - b d dZ f g h -j k l m n p r R -s S t T tS ts v w -x z Z +* ; b c d dZ dz f +g h j J k l l^ m +n N n^ p r R R^ R^/ +s S t tS ts v x z +Z -Dictionary es_dict +Dictionary grc_dict -a aI aU e E eI eU i -o O oI u +a aI aU e E EI eU EU +i o O oI OI OU u y +yI -* ** : b B d D f -g j J J^ k l m n -N n^ p Q R R2 s t -T tS v v# w x z +: b d f g h j k +l m n N p R s t +T v x z + + +Dictionary cy_dict + +@ @- @I @Y a A: aI aU +AY aY E e: eU I i: Iu +O o: OI OY U u: uY V +Y y: Yu + +: b C d D dZ f g +h j k l L m n N +p r s S t T v w +x z + + +Dictionary hbs_dict + +& @ @2 a A a: aI aU +E e e: i I i: l- O +o o: oU r* r- u U u: + +* ; b d dZ dz dZ; f +g h j k l l^ m n +N n^ p r R R2 s S +t tS ts tS; v x z Z + + +Dictionary it_dict + +@- a a/ aI aU e E eI +i I o O u + +* : ; b d dZ f g +h j k l l^ m n N +n^ p r R s S t tS +ts v w w2 z + + +Dictionary sk_dict + +& @- a a: e e: i i: +l- l: o o: oU r- r: u +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 + + +Dictionary ku_dict + +8 a e E E# eI eU i +I o u U y + +* : b c d dZ f g +h j J k l m n p +q r R s S t tS v +w x z Z + + +Dictionary sq_dict + +@ @/ a A a/ aI E e +eI i I I# O OI u V +y yE + +** : ; b c d D dZ +dz dZ; f g h j k l +L ll m n n^ p r R +R2 s S t T tS ts v +w z Z + + +Dictionary sw_dict + +@- a a/ e i m- n- N- +o u + +* : b d D f g h +j J k l m n N n^ +p Q R s S t T tS +v w x z Dictionary fi_dict @@ -155,40 +267,201 @@ l m n N p r s S s2 t v w Z -Dictionary fr_dict +Dictionary pl_dict -@ @- @2 a A~ e E E~ -i I i- i: o O o2 O2 -O~ u u: W W2 w^i wA W~ +a E E# E~ i O O~ u +y + +: ; b c C d d; dZ +dz dz; f g h j k l +m n N n^ p r R s +S s; S; t t; tS ts ts; +tS; v w x z Z Z; + + +Dictionary no_dict + +@ @2 a A a: A: AI aI +aU E E: e: I i: O o: +OI U u- u-: u-I u: W y +y: Y: Yy + +: ; b d f g h j +k l m n N p r R +s S s; t v w x z + + +Dictionary vi_dict + +@ @: @:I @:U @I @U a a: +a:I a:U aI aU E e eU EU +i i@ iU O o OI oI u +u@ uI y y@ yI + +b c d D f g h j +J k kh l m n N n^ +p Q r s s. t t[ ts; +tS; v w x z Z z. + + +Dictionary ro_dict + +@ @- @I @U a aI aU e +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; + + +Dictionary lv_dict + +a a: ai au e e: ei i +i: ie iu o o: u u: ui +uo + +: b c d dZ f g h +j J k l l^ m n N +n^ p r R R2 s S t +tS ts v z Z + + +Dictionary pt_dict + +& &/ &U~ &~ @ @- a A +aI aU e E eI EI eU EU +i I i/ iU o O oI OI +o~ u U uI u~ y + +* : ; b C d dZ f +g h j k l l^ m n +N n^ p Q r R r- s +S s# s; t T tS ts v +w x z Z + + +Dictionary tr_dict + +a e E i I o O u +U u# W y Y + +* : b c d dZ f g +h j J k l m n p +Q r R s S t tS v +w z Z + + +Dictionary ru_dict + +8 @- A a E e E# E2 +E3 i I I# I2 I3 I^ ja +ju o O u u" u# V V# y Y -: b d dZ f g h j -k l m n N n2 n^ p -p2 r r2 s S t t2 t3 -tS v w z Z z2 z3 +* ; b d d; dZ; f g +j k l l^ m m; n n^ +p r R s S s; S; t +t; ts ts; tS; v x z Z +z; Z; -Dictionary grc_dict +Dictionary eo_dict -a aI aU e E EI eU EU -i o O oI OI OU u y -yI +@- a aI aU e eI eU i +o oI u uI -: b d f g h j k -l m n N p R s t -T v x z +* - b d dZ f g h +j k l m n p r R +s S t T tS ts v w +x z Z -Dictionary hbs_dict +Dictionary mk_dict -& @ @2 a A a: aI aU -E e e: i I i: l- O -o o: oU r* r- u U u: +& @ @- @2 a A a: E +e e: i I i: l- o o: +oU r- u u: -* ; b d dZ dz dZ; f -g h j k l l^ m n -N n^ p r R R2 s S -t tS ts tS; v x z Z +* b d dZ dz dZ; f g +h j k k^ l l^ m n +N n^ p r R s S t +tS ts tS; v x z Z + + +Dictionary es_dict + +a aI aU e E eI eU i +o O oI u + +* ** : b B d D f +g j J J^ k l m n +N n^ p Q R R2 s t +T tS v v# w x z + + +Dictionary is_dict + +& @- a aI aU e E eI +i I o O oU oU2 u W +y y# Yy + +* ** : ; b c C d +D f g h j J k l +l# m m# n N n# N# n^ +n^# p Q r R r# R2 s +s2 t T tl# v x z + + +Dictionary da_dict + +& 0 3 @ @- a A e +E i o O u V W y +Y + +* - : ; ? b d D +dZ f g h j k l L +m n N n^ p r R s +S t tS v w + + +Dictionary de_dict + +3 @ @- a A A: aI aU +E E2 E: e: EI I i2 i: +O o: OY U u: W y y: +Y: + +* : ; b C C2 d D +dZ f g h j k l m +n N p pF r s S t +tS ts v x z Z + + +Dictionary sv_dict + +8 @ a a2 A: E E- e: +E: I i: O o: U u- u: +W y y: Y: + +: ; b d f g h j +k l m n N p R s +S s. S; sx t v w z + + +Dictionary la_dict + +@- a a: aI aU E e: EU +I i: O o: OI U u: y +y: + +* : ; ? b d f +g h j k l m n N +p r R s t w z Dictionary hi_dict @@ -206,72 +479,56 @@ r. s S s. t T t. t.h th v w x z -Dictionary hu_dict +Dictionary ta_dict -A a: E e: i i: o o: -u u: Y y y: Y: +a a: aI aU e E e: i +I i: o o: U u u: V -: b c C d dZ f g -h j J k l l^ m n -N n^ p R R2 s S s2 -t tS ts v z Z +: ; b c C d d. dZ +f g h j k l l. m +n N n. n^ p r R s +S s. t t. th tS v w +z z. -Dictionary hy_dict +Dictionary bn_dict -@ a aI e eI i i@ o -u W y +& a a: a~ e E e~ i +I i: i:~ i~ l- o O o: +O~ o~ r- U u u: u:~ u~ +V -** b c d dZ dz f g -h j k k# l m n p -p# r R r" s S t t# -tS ts ts# v X z Z +* b B bh c C ch d +d. d.h dh g gh h j J +Jh k kh l m n N n. +n^ p ph Q r r. s S +s. t t. t.h th tS x z -Dictionary id_dict +Dictionary eu_dict -@ a aI aU e E E2 i -o O u +a aI aU e eI eU i o +oI u Y -* : ? b d dZ f g -h j k l m n N n^ -p r R R2 s S t tS -v w x z - - -Dictionary is_dict - -& @- a aI aU e E eI -i I o O oU oU2 u W -y y# Yy - -* ** : ; b c C d +* ** : ; b B c d D f g h j J k l -l# m m# n N n# N# n^ -n^# p Q r R r# R2 s -s2 t T tl# v x z +l^ m n n^ p Q r R +s S t tS ts tz v w +x z -Dictionary it_dict +Dictionary kn_dict -@- a a/ aI aU e E eI -i I o O u +a a: aI aU e E e: i +I i: o o: r- u u: V +y -* : ; b d dZ f g -h j k l l^ m n N -n^ p r R s S t tS -ts v w w2 z - - -Dictionary jbo_dict - -@ @- a aI aU e eI i -l- o oI r- u - -* - b d dZ f g h -j k l m n N p R -s S t tS v w x z -Z +: b bh c ch d d. d.h +dh dZ f g gh h j J +Jh k kh l l. m n N +n. n^ p ph R R2 s S +s. S; t t. t.h th tS v +w z Dictionary ml_dict @@ -288,6 +545,15 @@ S; t t. t.h th tS v w z z. +Dictionary mn_dict + +a e i o O o: U u + +: ; c f g j k L +m n p p# R s S t +t# tS ts ts# w x + + Dictionary ne_dict @ @/ @2 @3 a aI aU a~ @@ -304,61 +570,15 @@ r. s S s. t T t. t.h th v w x z z. -Dictionary om_dict +Dictionary pap_dict -a A a# a: E e E# I -I# i: O O# o: U U# u: +a a/ aI e E eI i o +O u y Y -** : b B c` d D d` -dZ f g h j k k` l -m n n^ p p` R s S -s2 t t` tS v w z - - -Dictionary ku_dict - -8 a e E E# eI eU i -I o u U y - -* : b c d dZ f g -h j J k l m n p -q r R s S t tS v -w x z Z - - -Dictionary la_dict - -@- a a: aI aU E e: EU -I i: O o: OI U u: y -y: - -* : ; ? b d f -g h j k l m n N -p r R s t w z - - -Dictionary lv_dict - -a a: ai au e e: ei i -i: ie iu o o: u u: ui -uo - -: b c d dZ f g h -j J k l l^ m n N -n^ p r R R2 s S t -tS ts v z Z - - -Dictionary mk_dict - -& @ @- @2 a A a: E -e e: i I i: l- o o: -oU r- u u: - -* b d dZ dz dZ; f g -h j k k^ l l^ m n -N n^ p r R s S t -tS ts tS; v x z Z +: ? b d dZ f g h +j k l m n N n^ p +R s S t tS v w x +z Z Dictionary rw_dict @@ -369,224 +589,3 @@ a e i o u g h j J k l m n N n^ p q R s S S; t tS v w x z - - -Dictionary eu_dict - -a aI aU e eI eU i o -oI u Y - -* ** : ; b B c d -D f g h j J k l -l^ m n n^ p Q r R -s S t tS ts tz v w -x z - - -Dictionary nl_dict - -8 @ @- A a: E e: EI -eU i I O O: o: u VU -Wy y Y: yU - -* : ; b C d f g -h j k l m n N n^ -p Q r s S t tS v -v2 w x z - - -Dictionary no_dict - -@ @2 a A a: A: AI aI -aU E E: e: I i: O o: -OI U u- u-: u-I u: W y -y: Y: Yy - -: ; b d f g h j -k l m n N p r R -s S s; t v w x z - - -Dictionary pl_dict - -a E E# E~ i O O~ u -y - -: ; b c C d d; dZ -dz dz; f g h j k l -m n N n^ p r R s -S s; S; t t; tS ts ts; -tS; v w x z Z Z; - - -Dictionary pt_dict - -& &/ &U~ &~ @ @- a A -aI aU e E eI EI eU EU -i I i/ iU o O oI OI -o~ u U uI u~ y - -* : ; b C d dZ f -g h j k l l^ m n -N n^ p Q r R r- s -S s# s; t T tS ts v -w x z Z - - -Dictionary ro_dict - -@ @- @I @U a aI aU e -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; - - -Dictionary ru_dict - -8 @- A a E e E# E2 -E3 i I I# I2 I3 I^ ja -ju o O u u" u# V V# -y Y - -* ; b d d; dZ; f g -j k l l^ m m; n n^ -p r R s S s; S; t -t; ts ts; tS; v x z Z -z; Z; - - -Dictionary da_dict - -& 0 3 @ @- a A e -E i o O u V W y -Y - -* - : ; ? b d D -dZ f g h j k l L -m n N n^ p r R s -S t tS v w - - -Dictionary sk_dict - -& @- a a: e e: i i: -l- l: o o: oU r- r: u -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 - - -Dictionary sq_dict - -@ @/ a A a/ aI E e -eI i I I# O OI u V -y yE - -** : ; b c d D dZ -dz dZ; f g h j k l -L ll m n n^ p r R -R2 s S t T tS ts v -w z Z - - -Dictionary sv_dict - -8 @ a a2 A: E E- e: -E: I i: O o: U u- u: -W y y: Y: - -: ; b d f g h j -k l m n N p R s -S s. S; sx t v w z - - -Dictionary sw_dict - -@- a a/ e i m- n- N- -o u - -* : b d D f g h -j J k l m n N n^ -p Q R s S t T tS -v w x z - - -Dictionary ta_dict - -a a: aU e E e: E: i -I i: o o: U u u: V - -: b c C d d. dZ f -g h j k l l. m n -N n. n^ p r R s S -s. t t. tS v w z z. - - -Dictionary tr_dict - -a e E i I o O u -U u# W y Y - -* : b c d dZ f g -h j J k l m n p -Q r R s S t tS v -w z Z - - -Dictionary vi_dict - -@ @: @:I @:U @I @U a a: -a:I a:U aI aU E e eU EU -i i@ iU O o OI oI u -u@ uI y y@ yI - -b c d D f g h j -J k kh l m n N n^ -p Q r s s. t t[ ts; -tS; v w x z Z z. - - -Dictionary zh_dict - -@ @r a A ai Au E ei -i i. i[ iA iE io iou N- -o o- ong ou u u@ ua uai -uei uo y y& y@ yE yi yu - -; C f h j k kh l -L m n N p ph r R -s s. S; t th ts ts. ts. -tS; tS; tsh v w x X z. - - -Dictionary zhy_dict - -a aa aai aan aau ai au e -ei eo eoi eu i iu o oe -oi ong ou u ui yu - -b c d f g h j k -l m n N p r s t -tS v w z - - -Dictionary pap_dict - -a a/ aI e E eI i o -O u y Y - -: ? b d dZ f g h -j k l m n N n^ p -R s S t tS v w x -z Z diff --git a/dictsource/en_list b/dictsource/en_list index 42fee15c..aa21e878 100644 --- a/dictsource/en_list +++ b/dictsource/en_list @@ -218,6 +218,7 @@ _₠ jU@roU √ skw,e@r'u:t ∞ Inf'InI2tI2 ≠ n0t'i:kw@LtU +№ nju:m@roU ß S,A@p'Es ə SwA: @@ -261,6 +262,7 @@ U+32f n,0nsI2l'abI2k // numeric +//_0 zero $text // TEST _0 z'i@roU _1 w'0n ?6 _1 w'Vn @@ -575,6 +577,7 @@ anxious aNS@s anymore $3 anything EnI2TIN apache a2patSI +apostle a2p0s@L apron eIpr@n appal a2pO:l apparatus ap@r'eIt@s @@ -684,6 +687,7 @@ boing bOIN bombard $2 bonbon b0nb0n bonhomie b0n@mi: +bonjour bO:nZ'U@ boogie b'u:gI bosom bUz@m bosun boUs@n @@ -978,6 +982,7 @@ divan dI2van doable du:@b@L doctrine d0ktrI2n doctrinal d0ktr'aIn@L +doer du:3 dogged d0gI2d domino $1 donor doUn3 @@ -1348,6 +1353,7 @@ kiosk ki:0sk kiwi ki:wi: knavish neIvIS koala koU'A:l@ +koan koUA:n kopje k0pI kosher koUS3 @@ -1391,9 +1397,11 @@ limousine lIm@zi:n lingerie l0nZ@rI linen lInI2n liqueur lI2kjU@ +liter li:t3 literature lItrI2tS3 live laIv $onlys live lIv $verb +livecd l'aIvsi:d'i: livestock l'aIvst,0k lively laIvlI llama lA:m@ @@ -1572,6 +1580,7 @@ offer 0f3 offers 0f3z ogre oUg3 okay oUk'eI +oled oUlEd // abbrev omeg oUm'eIg@ omelet 0ml@t omelette 0ml@t @@ -1674,6 +1683,7 @@ pier pi@3 pigsty pIgstaI pilot paIl@t pineapple p'aInap@L +pinged pINd pint paInt pioneer paI@n'i@3 pious paI@s @@ -2209,6 +2219,7 @@ vex vEks // for vexed vicar vIk3 vigilante vIdZI2l'antI2 villi vIlaI +vineyard vInj3d vinyl vaInI2l violin $2 virus vaI@r@s @@ -2449,6 +2460,7 @@ Nauru naUru: Nebraska $2 Nepal nEp'O:l ?3 Nevada nI2vad@ +Newfoundland nju:f@ndla2nd Noumea nu:m'eI@ Oahu oU'A:hu: Ohio oUh'aIoU @@ -2676,6 +2688,7 @@ Rhys ri:s Rihanna rI'A:n@ Roderick r0drIk Rosario roUz'A@rIoU +Russell rVs@L Sabina sa2bi:n@ Sabine sa2bi:n Samantha s@manT@ @@ -2709,10 +2722,12 @@ Zoe zoUI Andromeda andr'0mId@ Buchanan bju:k'an@n Campbell kamb@l +Carnegie kA@nEgI Cthulhu k@-Tu:Lu: Chrysler kraIzl3 Disney dIznI Dolce d0ltSeI +Dvorak d@-vo@Zak Hades heIdi:z Patel pa2tEl Primavera pri:m@v'e@r@ @@ -3182,6 +3197,7 @@ like laIk $strend2 ?3 pasta pA:st@ ?3 patent pat@nt ?3 privacy praIv@sI +?3 respite rEspI2t ?3 semi sEmaI ?3 status stat@s ?3 template tEmpl@t diff --git a/dictsource/en_rules b/dictsource/en_rules index b15d590f..ac566f0c 100644 --- a/dictsource/en_rules +++ b/dictsource/en_rules @@ -646,6 +646,7 @@ amoeb a2mi:b f) amil amIl f) am (ous eIm + &g) am (ous =a2m &) am (ent @m &) ame (nta @m'E _) ame (nt a2mE @@ -1535,6 +1536,7 @@ de (pol d%i: de (pop d%i: depo (siti dEp@ + de (preca dE de (pt dE de (put dE _) de (rai dI2 @@ -2595,7 +2597,7 @@ _s) i (der aI i (der_+ aI @) i (do_ 'i: - ifier (_ IfaI@ + ifier (_ IfaI3 man) ife (s IfE &) ify (_ =I2faI if (icAnC 'If @@ -3429,6 +3431,7 @@ ng (e ndZ ng (y Ng mA) ng (y ndZ + u) ng (y ndZ nged ndZd o) nged Nd spo) nged ndZd @@ -4615,6 +4618,7 @@ .group su _ca) su Zu: _) sus (A su:z + su (al Zu: _) su (b sV su (bdue s%V su (bmerg s@ @@ -5083,6 +5087,7 @@ _) x z xio (n kS@ xious =kS@s + xu (a kSu: .group y y j diff --git a/dictsource/fr_list b/dictsource/fr_list index af4ca7c6..a500bfe6 100755 --- a/dictsource/fr_list +++ b/dictsource/fr_list @@ -24,7 +24,7 @@ // 2006-11-18 Gilles Casse // -// Updated 2009-07-3128 Michel Such +// Updated 2009-09-28 Michel Such // // * Numbers, a few abbreviations and exceptions. // @@ -83,8 +83,8 @@ z zEd // accent names _lig ligat'yr -_acu aksA~tEg'y -_ac2 dublaksA~tEg'y +_acu aksA~tE2g'y +_ac2 dublaksA~tE2g'y _brv br'Ev _ced sed'ij _cir aksA~sirkO~fl'Eks @@ -104,29 +104,29 @@ _cap maZysk'yl _?A l'Etr _?? sE~b'Oll _#9 tabylasiO~ -_#32 Espas +_#32 E2spas -_" gijmE +_" gijmE2 _# djEz _' apostr'Of _( 'uvr@-parA~t'Ez _) f'Erm parA~t'Ez _, virgyl -_- tirE +_- tirE2 _. _|pw%E~ -_/ bar||oblik +_/ bar||o2blik _: d'Y||pw'E~ _; pwE~||virg'yl _< E~feri-Wr _= egal _> syperi-Wr -_? pwE~||dE~terogasj'O~ +_? pwE~||dE~tE2rogasj'O~ _! pwE~||dEksklamasj'O~ -_[ uvr@-_kroSE +_[ uvr@-_kroSE2 _\ b'aksl'aS -_] f'Erm_kroS'E +_] f'Erm_kroS'E2 _^ sirkOnflEks __ sulin^e _` aks'A~_gr'av @@ -134,8 +134,8 @@ _{ uvr_akOlad _| bar_vErtik'al _} f'Erm_akOl'ad ² pw^is'A~s||d'Y -_« uvre||gijm'E -_» fErme||gijm'E +_« uvre||gijm'E2 +_» fErme||gijm'E2 _’ apostr'Of _‘ apostr'Of _µ mikr'o @@ -144,8 +144,8 @@ _§ sEksj'O~ // symbols that are normally spoken when reading text @ _!arobaz % pursA~ $max3 -& _|e $u -_& _e_komErsi'al +& e $u $brk +_& _e_komErsi-'al * asterisk: $max3 + plys $max3 ~ tilde @@ -233,6 +233,7 @@ _dpt virgyl abc $abbrev ac $abbrev +acrobat acrobate $text adn adeEn adsl adeEsEl alt _::alt @@ -248,30 +249,32 @@ cci $abbrev cia $abbrev cio $abbrev cm centimètre $text +collins kolins cpu $abbrev ctrl _::kO~tro2l -dept depart@-mA~ +dept depart@mA~ divx diviks ebay _^_en (e bay) ebay $text edf @deEf -etc Etsetera +etc E2tsetera ghz ZigaErts +(g hz) ZigaErts hmm h@m (http ://) aSt,et,ep'e_ hz _|Erts ibm ibeEm ide $abbrev ip ipe -irc i:_|Er:se -jaws _^_en +irc i:_!Er_!se +jaws dZo3:z kbit kilobit kde $abbrev -kg kilogram +kg kilogramme $text khz kiloErts km kilomètre $text -(km player) ka,EmplEj'Wr -(kmplayer) ka,EmplEj'Wr +(km player) ka,EmplE2j'Wr +(kmplayer) ka,EmplE2j'Wr kw kilowatt $text m. m@siY mbit megabit @@ -283,32 +286,35 @@ mm millimètre $text mme madame $text mn minyt mns minytz2 -(mp 3) _|Empetrwa +(mp 3) _!EmpetrwA mr m@siY nsi $abbrev nsis $abbrev nti $abbrev nvda $abbrev ocr oseEr -oem $abbrev +oem _!,o_!,@_!'Em ogm oZeEm ong oEnZe pci $abbrev +pcmcia $abbrev pda $abbrev philips filips p.s pOstskriptOm qq quelque $text qqs quelques $text ratp $abbrev -riscos rIskoEs +riaa $abbrev +riscos RiskoEs sap $abbrev scsi $abbrev -s.t.p silt@:pl'E -s.v.p silvu:pl'E +sos $abbrev +s.t.p silt@:pl'E2 +s.v.p silvu:pl'E2 st s'E~t2 ste s'E~t -stp silt@:pl'E -svp silvu:pl'E +stp silt@:pl'E2 +svp silvu:pl'E2 tva $abbrev uk $abbrev ups ypeEs @@ -317,8 +323,10 @@ usb y:Esbe utc $abbrev utf $abbrev u.s y:Es +virgin virZin vip v,i||,aj||p'i (web visum) webvisum $text +windows windo3z wma $abbrev xfce iksEfse@ xy $abbrev @@ -329,8 +337,6 @@ prof $dot pr professeur $text *dot $capital - - // articles le $nounf $u+ le $verb $verbextend $u @@ -345,15 +351,16 @@ une $nounf $u+ // conjonctions mais $u+ -ou _|u $u +ou u $u $brk eh $u $brk -et _|e $u +en $u +et e $u $brk ni $u car $u car $noun -cependant néanmoins $u+ toutefois $u+ +afin afE~ $u+ $brk avant $u+ après $u+ (temps en temps) tA~zA~tA~ @@ -365,9 +372,9 @@ aussi $u+ certes $u+ dont dO~t2 $u -lorsque lO2rsk@ $u+ -puisque pw^isk@ $u+ -presque $u+ +lorsque lOrsk=@ $u+ +puisque pw^isk=@ $u+ +presque prEsk=@ $u+ que $u+ (parce que) parsk@ $u+ (parce qu'il) parskil $u+ @@ -387,7 +394,7 @@ je $u $verbf tu $u+ $verbf il $u+ $verbf elle $u+ $verbf -y $u $verbf +y $u+ $verbf nous $u+ $verbf vous $u+ $verbf elles $u+ $verbf @@ -475,14 +482,14 @@ contre $u+ chaque $u+ plusieurs $u+ durant $u+ -avec $u+ +avec $u+ $brk sans $u+ trop trop2 $u+ assez $u+ beaucoup bokup2 $u+ peu $u+ -très $u+ -près $u+ +très trEz2 $u+ +près prEz2 $u+ loin $u+ // negative @@ -508,8 +515,8 @@ pourtant $u+ // auxillary verbs (be, have, can, etc) suis $u+ $verb -es Ez2 $u+ -est Et2 $u+ +es E2z2 $u+ +est E2t2 $u+ sommes $u+ $verb êtes $u+ $verb sont $u+ $verb @@ -525,7 +532,7 @@ sois $u+ $verb soit $u+ ai $u+ $verb -(ai je) EZ=@- $u+ +(ai je) E2Z $u+ as as as az2 $u+ $verb (as tu) aty @@ -559,8 +566,8 @@ d'est d'Est quel $u+ quelle $u+ quelles $u+ -quelque $u+ -quelques $u+ +quelque kElk=@ $u+ +quelques kElk=@z2 $u+ tel $u+ telle $u+ telles $u+ @@ -568,7 +575,7 @@ tout t'ut2 $u+ toute t'ut $u+ toutes t'utz2 $u+ tous $u+ -rien ri-'E~n2 $u+ +rien Ri-'E~n2 $u+ // Letters which can be words //=========================== @@ -588,8 +595,8 @@ dessous d@su hareng _!arA~ pastis pastis poing pwE~ -ressent r@s'A~t2 -riz ri +ressent R@s'A~t2 +riz Ri sphincter sfE~ktEr sous $u+ sur $u+ @@ -604,13 +611,13 @@ tunis tynis (1 ers) pr@mjez2 (1 ère) pr@mjEr (1 ères) pr@mjErz2 -(1 èrement) pr@mjEr@-mA~ +(1 èrement) pr@mjErmA~ monsieur m@sjY messieurs mesjYz2 montréal mO~real -(n'est ce pas) n'Es@-||p'az2 +(n'est ce pas) n'Es||p'az2 (qu'est ce que) kEsk@ $u absent absA~ adam adA~ @@ -620,12 +627,16 @@ adsltv adeEs'El||tev'e airbus airbuss $text alan alan albinos albinoss $text +alleluia alelui'a +anis anis arte arte auvent ovA~ beta beta bien bi-E~n2 $u+ bis bis bissus bisys +blues _^_en +broglie breuil $text buffer bWfWr bus bys bus by $verb @@ -636,22 +647,29 @@ canyon kanjO2n choeur kWr cocus koky couscous kuskus +delete _^_en dernier dErnjer2 -éloquent ElokA~t2 +éloquent elokA~t2 enfer A~fEr faut fot2 $u+ fier fjer $verb +francis franciss $text fred frEd free fri: fuel fjul +gangster gA~gstEr gars ga gin dZin +granit granitt $text gulf gWlf +gus gys gym Zim hélas elas $u+ -iris iris +karaoke karaoke laser lazEr +listbox listbO2ks malus malys +mai mE2 mailto mEjltu_ mapper _^_en mars mars @@ -660,19 +678,26 @@ mieux mi-Y $u+ mrs _^_en ours urs pataquès patakEs +peter pi:tWr phallus falys polder pOldEr premier pr@mjer2 program _^_en (program files) program||fajlz +query kueri +queries kueri quit _^_en recorder ricordeur $text +requiem rekw^ijEm +revolver RevOlvEr +scan skan scanner skaner2 $verb scanner skanWr $noun scanners skanWr shampoing SA~pwE~ sir _^_EN souris suri +stocker stoker2 sus sys sus sy $verb to _^_en @@ -700,7 +725,7 @@ cut kWt mazout mazut michael mikaEl out aut -rut ryt +rut Ryt scorbut scorbutt $text scout skut stout staut @@ -711,24 +736,24 @@ zut zyt // et (t is said) -exocet EgzOsEt +exocet E2gzOsEt fret fr'Et -budget bydZE +budget bydZE2 hamlet hamlEt -knesset knEsEt -lazaret lazarE +knesset knesEt +lazaret lazarE2 margaret margarEt net nEt offset OfsEt set sEt -soviet sOviEt +soviet soviEt stewart sti:wart // urt (t is said) kurt kurt -yaourt iaurt -yoghourt iogurt -yogourt iogurt +yaourt _!i-aurt +yoghourt _!i-ogurt +yogourt _!i-ogurt // ort (t said) short SOrt @@ -741,12 +766,12 @@ kart kart smart smart // irt -(sweat shirt) swEtSW2rt -(sweat shirts) swEtSW2rt -(tee shirt) t,i:S'W2rt -(tee shirts) t,i:S'W2rt -(t shirt) t,i:S'W2rt -(t shirts) t,i:S'W2rt +(sweat shirt) swEtSWrt +(sweat shirts) swEtSWrt +(tee shirt) t,i:S'Wrt +(tee shirts) t,i:S'Wrt +(t shirt) t,i:S'Wrt +(t shirts) t,i:S'Wrt // words from other languages @@ -764,10 +789,10 @@ computer _^_en (cyber link) _^_en debian debjan edit _^_en -emacs Emaks -emacspeak Emakspi:k +emacs E2maks +emacspeak E2makspi:k end _^_en -epson EpsOn +epson E2psOn espeak @spi:k ethernet etErnEt exit egzit @@ -782,7 +807,7 @@ help _^_en hot _^_en in in $u+ inside _^_en -(internet explorer) E~tErn'Et||EksplOr'Wr +(internet explorer) E~tErn'Et||E2ksplOr'Wr klaxon klaksOn let _^_en lite _^_en @@ -803,7 +828,7 @@ outlook autlu:k paint _^_en paper _^_en people _^_en -redhat rEdat +redhat REdat same _^_en sametime _^_en schubert SubEr @@ -840,10 +865,12 @@ afrikaans afrikans bahamas baamas bangladesh bA~gladES bélarus belarys +belize beliz +bissau bisa'o (burkina faso) byrkina||faso burundi burundi croatie kroasi -esperanto EsperA~to +esperanto E2sperA~to groenland groEnlA~d guatemala gwAtemala honduras _!O~dyras @@ -853,17 +880,20 @@ lesotho lezoto liechtenstein liStEnStajn malawi malaui mayotte majO2t +nevis nevis niger niZEr oman oman palaos palaO2s samoa samoa +swaziland swAzilA~d leone leO2n koweït kowEjt taïwan tajwAn -texas tEks'as +texas tE2ks'as +tuvalu tuvalu +vanuatu vanuatu venezuela venezyela -(viêt nam) viEtnam +(viêt nam) vi-Etnam wallis wAlis futuna futuna zimbabwe zimbabwe - diff --git a/dictsource/fr_rules b/dictsource/fr_rules index 2725bd35..396e4e35 100755 --- a/dictsource/fr_rules +++ b/dictsource/fr_rules @@ -23,7 +23,7 @@ // 2006-11-18 Gilles Casse // -// Updated: 2009-07-31 Michel Such +// Updated: 2009-09-25 Michel Such // // Letter classes: @@ -37,6 +37,7 @@ .L03 d l m n s t v .L04 c d f g l m n v .L05 g h k l m v w +.L06 l r s .group a @@ -46,19 +47,23 @@ aî E // maître aim (K W~ // faim ain (K E~ // pain - CC) ain (_ E~n2 // prochain arret + Ct) ain (_ E~n2 // certain ami + ch) ain (_ E~n2 // prochain arret ai (_ e // dirai ferai... - _ess) ai (_ E // essai - _vr) ai (_ E // vrai - ais (_ Ez2 // dirais ferais... - ait (_ Et2 // dirait ferait... - aient (_ Et2 // diraient feraient... + _ess) ai (_ E2 // essai + _vr) ai (_ E2 // vrai + ai (b E // faible + ais (_ E2z2 // dirais ferais... + ait (_ E2t2 // dirait ferait... + aient (_ E2t2 // diraient feraient... f) ai (sA @ // faisons faisan a (ill a a (ils_ a a (il_ a - aie (me E // paiement - ai E // aile + aie (me E2 // paiement + ai E2 // aile + ai (L06 E // aile + ai (CAX E // aile am (b A~ // jambon am (p A~ // camp am (m a // programmation @@ -77,28 +82,33 @@ a (nnA a // manne an (K A~ // ancien, élan @@m) an (_ an // tennisman + zm) an (_ an // jazzman L02m) an (_ an lism) an (_ A~ // talisman ulm) an (_ A~ // musulman + ïm) an (_ A~ // caïman _C) aon (_ A~ // faon, paon, taon s) aoul (_ u // saoul s) aou (le u // saoule août ut // août août (i aus // aoûtien aut (_ ot2 + a (ô // saune au o // autruche au (l_ O // Paul au (re O // dinosaure + au (r_ O _) audio (@P5 odio _) auto (@P4 oto _) autom (n otO _) au (treX o2 bb) aye (X ei // abbaye - p) a (ys E // pays paysage ay (C E // aymé ay Ej // paye - ay (_ E // display - Xl) ayer (X EjWr // player, layer + ay (_ E2 // display + p) a (ys E2 // pays paysage + Xl) ayer (X E2jWr // player, layer + w) an (_ an a a // bateau // group a: English section @@ -130,6 +140,7 @@ _) ch (arism k // charisme, charismatique _) ch (irop k // chiroptère a) ch (_ k // almanach + ar) c (ti // arctique e) ch (_ k // varech _A) ch (o_ k // écho mani) ch (é k // manichéisme @@ -157,8 +168,7 @@ x) c (Y c (Y s // cède _) cyber (P5 sibEr - ban) c (_ // banc - blan) c (_ // blan + Can) c (_ // banc Con) c (_ // tronc, jonc _don) c (_ k // donc cler) c (_ // leclerc @@ -177,6 +187,7 @@ // group c: English section n) ch (_ _^_en // french + ch (ment _^_en // attachment cut (_ _^_en // cut, shortcut @@ -225,26 +236,24 @@ _) ç' (P2v s // Define use of the final 'e' in french e (_ - elqu) e =@ - uisqu) e =@ - rsqu) e =@ _C) e (_ @2 // je te - -c) e (_ @- - -j) e (_ @- - C) e (- @- + -c) e (_ + -j) e (_ + C) e (- e (Ce_ E eau o // bateau cheveaux g) ea (s_ a // mangeas gh) e (tAX e // spagheti j) e (a // Jean Jeanne - p) ect (_ E // suspect + p) ect (_ E2 // suspect ect (_ Ekt // direct pi) ed (_ e // pied _cl) ef (_ e // clef + _cr) e (at e _) ein (K En // peindre ein (K E~ // peindre - CC) ein (_ E~n2 // plein emploi + pl) ein (_ E~n2 // plein emploi e (il E // vieille ei E // neige eoi wA // asseoir @@ -253,15 +262,12 @@ _) ç' (P2v s _f) em (me a // femme i) e (mA // remerciement, d�ploiement A) e (rA // remerciera - gu) e (rA @ - qu) e (rA @ - v) e (lop @- tch) e (rX W @) em (me a // patiemment em (b A~ // décembre em (mACC A~ // emmancher em (mACAC A~ // emmagasiner - em (ma e // emmanuel + em (ma E2 // emmanuel em (mai A~ // emmailloter l) em (n a // solemnel il) emn Em // dilemne @@ -322,6 +328,7 @@ _) en (A A~n // enivrer Xig) ent (_ t2 // figent, pigent oblig) en (t_ A~ // obligent, d�sobligent Voblig) ent (_ t2 // obligent (verbe) + orrig) ent (_ t2 // corrigent tang) en (t_ A~ // tangent man) en (t_ A~ // permanent @@ -457,7 +464,7 @@ _) en (A A~n // enivrer dg) et (_ Et // Bridget, gadget k) et (_ Et - tick) et (_ E + tick) et (_ E2 m) et (_ Et2 eu Y // eu @@ -467,20 +474,18 @@ _) en (A A~n // enivrer eu (h_ Y eu (x_ Y eu (i W - eu (rC W2 - _l) eu (r_ W2 - eu (tr Y + eu (rC W + _l) eu (r_ W _) eut (_ yt2 eut (_ Yt2 - _) extra (uP5 Ekstra - _) extra (CP5 Ekstra + _) extra (uP5 E2kstra + _) extra (CP5 E2kstra _) eû y // eût eû Y: // jeûne - e (x E // exact - ey (_ E // dahomey - ey (C E // ceylan + ey (_ E2 // dahomey + ey (C E2 // ceylan ey Ej // asseye ez (_ ez2 // nez mangez chez @@ -493,7 +498,8 @@ _) en (A A~n // enivrer _r) e (ch @ // recherche e (Cl @ - _l) e (xA E + _l) e (xA E2 + _m) e (xA E2 _l) e (CA @ _l) e (ChA @ _l) e (ClA @ // Leclerc @@ -504,36 +510,47 @@ _) en (A A~n // enivrer e (Cr @ _) e (C% e // effet, effectuer e (C_ E - e (t_ E + e (t_ E2 e (rC E es (_ z2 - %C) e (Ca @- -// %C) e (Ce // actuellement guillemets - %C) e (xA E - %C) e (mA // actuellement guillemets - ct) e (ment @ - nC) e (ment @- - rC) e (ment @ - AC) e (rie_ @- - AC) e (ries_ @- - AcC) e (rie_ @- - AcC) e (ries_ @- - %C) e (rie_ @- - %C) e (ries_ @- - AC) e (ment - u) e (ment @- - ul) e (CA - ull) e (CA + %C) e (xA E2 - As) e (gA - As) e (pA - Av) e (gA // sauvegarde - Av) e (pA +@gu) e (CA +@gu) er (A r +@qu) e (CA +@qu) er (A r +_qu) e (CA @ +@L06gu) e (CA @ +@L06qu) e (CA @ +@C) e (CA +@C) er (A r +@C) e (rion++ @ +@C) e (riez++ @ +@ch) e (CA +@ch) er (A r +L06ch) e (CA @ +@L06C) e (CA @ +@CL06) e (CA @ +@bC) e (CA @ +@ct) e (CA @ +%C) e (CA++ +%C) er (A++ r +@C) e (xA++ E2 +@c) e (v++ @ +@d) e (v++ @ + +@C) e (CrA +@ch) e (CrA +@L06ch) e (CrA @ +@L06C) e (CrA @ +@CL06) e (CrA @ +%C) e (CrA++ + e (rr+++ E e @ // menue _) e (CA e - _) e (xA E + _) e (xC++ E2 Cr) eam i:m Cr) eamer i:mWr Cl) eaner i:nWr @@ -541,6 +558,7 @@ _) en (A A~n // enivrer eïn (_ 'Ein _y) en (_ En iew) er (X er2 +_m) e (ga e // group e: English section @@ -571,6 +589,10 @@ iew) er (X er2 Z) ème i-Em è E +Ar) ès (_ Es +m) ès (_ Es +n) ès (_ Es +p) ès (_ Es .group ë @@ -619,14 +641,14 @@ iew) er (X er2 gt (_ // vingt doigts gt t // vingtaine doigté - gui gi // anguille + gu (i g // anguille ai) gui (l gw^i // aiguillage in) gui (s gw^i // linguiste g (C g _ran) g (_ // rang _san) g (_ // sang - tan) g (_ // sang + étan) g (_ // étang _lon) g (_ // long bour) g (_ // Strasbourg @@ -720,7 +742,9 @@ C) i (es_ i ot) ien (t_ i-A~ // quotient i (e_ i - _) ill ill // illégal + _) ill il // illégal + ill (_ il // Bill + _C) ill (y_ il // Billy aigu) ill ij // aiguille anqu) ill il // tranquille c) ill (i il @@ -753,24 +777,28 @@ C) i (es_ i _) intra (neP5 E~tra _) intra (uP5 E~tra C) is (_ i + Kir) is (_ is bor) is (_ is dor) is (_ is tor) is (_ is - fl) irt W2rt + fl) irt Wrt otl) i (neX aj onl) i (ne_ aj offl) i (ne_ aj + dr) i (ve aj + pr) int (_ int // group i: English section ibuter (X _^_en iev _^_en ife (_ _^_en igh _^_en + iven (_ _^_en ind (X _^_en // find, mind _C) ind (erX _^_en // finder AC) ind (erX _^_en // reminder ize (X _^_en // realize - dr) i (veX _^_en + _bAl) i (ze i ram_f) i (le _^_en @@ -782,17 +810,20 @@ C) i (es_ i .group ï ïn (C E~ // coïncider ïn (_ E~ - ïs is // maïs, archaïsme + ïs (K is // maïs, archaïsme ï (q i // archaïque ï (c i // laïc - a) ï j // aïeul + a) ï (A j // aïeul + a) ï (C i // naïf + tha) ï (K j // thaï + _ha) ï (K i // haïr ï i // ambiguïté .group j j Z // adjoint joujoux _) j' (P2v Z - _) j (azz dZ + _) jazz dZaz _) j (obK dZ _) j (ohK dZ _) jusqu' (P6 Zysk @@ -835,7 +866,7 @@ C) i (es_ i // group m: English section _) mail (_ _^_en // mailer - mov (A _^_en // move, movy + mov (ieX _^_en // move, movy .group n @@ -891,7 +922,7 @@ C) i (es_ i C) o (d_ O2 oe (ll wA // moelleux - oe (i W2 // oeil + oe (i W // oeil _) oe (C Y // oesophage _ph) oe (C e // phoetus oeu W // soeur coeur @@ -965,8 +996,8 @@ C) oing (_ _^_en // going _) one _^_en oun (C _^_en // bounce, found _) over _^_en // over - ow (K _^_en // cow, town, down ow (e _^_en // flower, power + ow (X _^_en oy (X _^_en // boy, toy @@ -989,7 +1020,7 @@ C) oing (_ _^_en // going m) ps (_ // temps champs r) ps (_ // corps - cham) p (_ // contrechamp + cham) p (_ // champ cam) p (_ // camp @@ -1005,12 +1036,12 @@ C) oing (_ _^_en // going se) pt (_ t // sept se) pt (iè t // septième + scul) p (t // sculpture _) puisqu' (P7 pw^isk // group p: English section pad (_ _^_en plug _^_en // plug - print (_ _^_en // print printer (_ _^_en // printer @@ -1037,13 +1068,14 @@ C) oing (_ _^_en // going .group r +_) r (A R _su) rr rr // surréaliste cou) rr rr // courrai -cou) rr (i r // courrier mou) rr rr // mourrai +cou) rr (i r // courrier r r // rien rr r - _) radio (@P5 radio + _) radio (@P5 Radio // group r: English section _) real _^_en @@ -1091,7 +1123,6 @@ mou) rr rr // mourrai scien (t si-A~ // conscient scientifique sql (_S3 EskyEl - _u) s (_ s Cu) s (_ Abu) s (_ s @@ -1160,6 +1191,7 @@ _) t (_ te _) t' (P2v t Vn) t (_ t2 A) t (- t2 +VCi) t (_ t2 t (_ peti) t (_ t2 _) th t // thon @@ -1266,6 +1298,8 @@ A) t (- t2 u y // cruel nuage brut ui w^i // nuit, fuite uin (K yE~ // juin + _s) u (rfX W + _s) u (rfeX W uy (A w^ij C) ucci utSi // capuccino @@ -1282,7 +1316,7 @@ A) t (- t2 C) u (bX W // hub, club C) u (gX W // bug, mug - _n) u (rse W2 // nurse + _n) u (rse W // nurse r) u (nX W // run, autorun um (_ Om // album f) um (_ W~ // parfum @@ -1299,6 +1333,7 @@ A) t (- t2 g) u (A // fatigue g) u (ï y // ambiguïté g) u (ë y // ambiguë + uz (z W // group u: English section _b) usi _^_en // business, businessman @@ -1325,6 +1360,7 @@ A) t (- t2 .group v v v vers (_ vErz2 +Xri) ver (X vWr _) view (X vju _) view (A vjuv @@ -1337,10 +1373,12 @@ A) t (- t2 .group w w w w (agon v // wagon +_r) w (an u // Rwanda + wa (ve_ wE:j // wave + wa (re_ wE: // hardware software // group w: English section e) w (K _^_en - wa (Ce_ _^_en // hardware software wave _) wan _^_en wr _^_en // write way _^_en // way, away @@ -1404,6 +1442,7 @@ A) t (- t2 zz dz t) z s // tzigane C) zer (_ zEr + C) zer (_ zWr .group @@ -1435,4 +1474,3 @@ A) t (- t2 - diff --git a/dictsource/hu_list b/dictsource/hu_list index e08bbd6f..43193a8a 100755 --- a/dictsource/hu_list +++ b/dictsource/hu_list @@ -3,7 +3,7 @@ // Conditional rules: // ?1 speak "i" as Roman number - +?1 elso: // Numbers _0 nullA @@ -28,7 +28,6 @@ _7X hEtvEn _8X n^oltsvAn _9X kilEntsvEn _0C sa:z -_1C sa:z _0M1 EzER2 _1M1 EzER2 @@ -37,23 +36,28 @@ _0M2 millio: _1M2 millio: _2M2 ke:tmillio: _0M3 millia:R2d -_1M3 millia:R2d -_1M3 ke:tmillia:R2d +_1M3 EJmillia:R2d +_2M3 ke:tmillia:R2d + + _0M4 billio: _1M4 billio: _2M4 ke:tbillio: -_dpt ||_v,Ess2Y:_ +_dpt ||_!'Ege:s -_0Z1 tizAd // tenths +_0Z1 tizEd // tenths _0Z2 sa:zAd // hundredths _0Z3 EzR2Ed _0Z4 ti:zEzR2Ed // ordinal numbers + _ord Edik -_1o ElSY: -_2o ma:Sodik +_1ox ElSY: // number = '1' only +_2ox ma:Sodik // number = '2' only +_1o EJ:Edik +_2o kEt:Edik _3o hAR2_mAdik _4o nEJEdik _5o YtYdik @@ -62,10 +66,39 @@ _7o hEtEdik _8o n^oltsAdik _9o kilEntsEdik _10o tizEdik -_12o tizENkEt:Edik _20o husAdik +_30o hAR2_mintsAdik +_60o hAtvAnAdik +_80o n^oltsvAnAdik _0Co sa:zAdik +_2Co ke:tsa:zAdik +// These words mean that a dot after number, immediately preceding, does not mean an ordinal number +január $alt +február $alt +március $alt +április $alt +május $alt +június $alt +július $alt +augusztus $alt +szeptember $alt +október $alt +november $alt +december $alt +//The following 12 row contains shorter hungarian month names +jan $alt +feb $alt +márc $alt +ápr $alt +máj $alt +jún $alt +júl $alt +aug $alt +szept $alt +okt $alt +now $alt +dec $alt // accent names _lig ligAtu:R2A @@ -96,8 +129,10 @@ mm milime:tER2 a.m An^n^i||m'int $dot dr doktoR2 $dot gpu $abbrev +mvgyosz $abbrev +OTP $abbrev id idY:SEb: $dot -ill illEdvE $dot +ill illEtvE $dot ifj ifjAb: $dot mta $abbrev pl pe:lda:ul $dot @@ -106,7 +141,7 @@ u.n u:JnEvEzEt: $dot ú.n u:JnEvEzEt: $dot vö v'EZd||_'Yss2E -?1 i EJ $abbrev // option for Roman number + // Articles @@ -351,12 +386,13 @@ w duplAve: x iks y ipsilon z ze: - _é e: é $atend + cs tSe: dz dze: + dzs dZe: sz Es zs Ze: @@ -373,28 +409,29 @@ ny En^ ß _^_DE . pont $max3 -* tS'illAg $max3 +* tSillAg $max3 % sa:zAle:k $max3 + plus $max3 -= EJEnlY:Se:g $max3 -# sa:mjEl $max3 +/ pER2 $max3 += EJEnlY: $max3 +# kEt:Y:SkER2Est $max3 @ kukAts -& e:SjEl +& e:S € EuR2o ¶ bEkEzde:S § pAR2AgR2AfuS ~ tildE -^ hia:n^ ° fokjEl Ft foR2int -\ viss2ApER2 $max3 +\ bEks2lES $max3 +^ fölfelényíl $text _, vEss2Y: _; pontoSvEss2Y: _: kEt:Y:Spont _! fElkia:lto: _? ke:R2dY: -_- kYtY:jEl +_- kYtY:jEl $max3 __ Ala:hu:za:S _' ApostR2o:f _– nAJkYtY: @@ -409,11 +446,83 @@ _} k'AptSoS||z'a:R2o: _… ha:R2_mASpont _• di:spont + // Main Exceptions List //===================== nato na:to: $textmode -(1-én) elsején +MSZP emeszpé +SZDSZ eszdéesz + +colon kettőspont +(://) kettőspontperper $pause +egyezség eggyesség + +(1-én) elsején +(1-jén) elsején +(2-án) másodikán +(3-án) harmadikán +(4-én) negyedikén +(5-én) ötödikén +(6-án) hatodikán +(7-én) hetedikén +(8-án) nyolcadikán +(9-én) kilencedikén +(10-én) tizedikén +(11-én) tizeneggyedikén +(12-én) tizenkettedikén +(13-án) tizenharmadikán +(14-én) tizennegyedikén +(15-én) tizenötödikén +(16-án) tizenhatodikán +(17-én) tizenhetedikén +(18-án) tizennyolcadikán +(19-én) tizenkilencedikén +(20-án) huszadikán +(21-én) huszoneggyedikén +(22-én) huszonkettedikén +(23-án) huszonharmadikán +(24-én) huszonnegyedikén +(25-én) huszonötödikén +(26-án) huszonhatodikán +(27-én) huszonhetedikén +(28-án) huszonnyolcadikán +(29-én) huszonkilencedikén +(30-án) harmincadikán +(31-én) harminceggyedikén +(1-e) elseje +(2-a) másodika +(3-a) harmadika +(4-e) negyedike +(5-e) ötödike +(6-a) hatodika +(7-e) hetedike +(8-a) nyolcadika +(9-e) kilencedike +(10-e) tizedike +(11-e) tizeneggyedike +(12-e) tizenkettedike +(13-a) tizenharmadika +(14-e) tizennegyedike +(15-e) tizenötödike +(16-a) tizenhatodika +(17-e) tizenhetedike +(18-a) tizennyolcadika +(19-e) tizenkilencedike +(20-a) huszadika +(21-e) huszoneggyedike +(22-e) huszonkettedike +(23-a) huszonharmadika +(24-e) huszonnegyedike +(25-e) huszonötödike +(26-a) huszonhatodika +(27-e) huszonhetedike +(28-a) huszonnyolcadika +(29-e) huszonkilencedike +(30-a) harmincadika +(31-e) harmincegyedike +(Szvsz) eszvéesz +(edik szeptember) szeptember diff --git a/dictsource/hu_rules b/dictsource/hu_rules index 633d6fb0..157c4511 100644 --- a/dictsource/hu_rules +++ b/dictsource/hu_rules @@ -1,34 +1,37 @@ + // Hungarian translation rules // This file is UTF-8 encoded .replace // allow o,u-circumflex for o,u-double-acute - ô ő - û ű +ô ő +û ű .group a a A _) a (_ %A +_) alattvaló _!'AlAtvAlo: .group á á a: + + .group b b b // bb b: biz (A b'iz, // bizalmas etc. biedermeier bi:dER2ma:jER2 - .group c c ts cc ts: cs tS ccs tS: !) cz ts // in names which start with a capital letter - +ar) csz (e ts anar) ch (i C hierar) ch (i C me) ch (a C @@ -51,6 +54,7 @@ hierar) ch (i C nyol) c (sz ts har) c (sz ts lán) c (sz ts +pá) c ts per) c (sz ts pol) c (so ts por) c (sé ts @@ -67,13 +71,20 @@ hierar) ch (i C .group d d d -// dd d: +dts tS: +dt t: +a) dsz ts: +cselé) d d +enge) dsz ts: +engedelmeske) dsz ts: +mara) dsz ts: +kére) dz ts +// dd d: dz dz A) dz (A d:z dzs dZ A) dzs dZ: - - C) ds tS + C) ds tS ds (C tS A) ds (A tS: dsz ts @@ -84,14 +95,13 @@ hierar) ch (i C A) dzs (A dZ: C) dj J A) dj (A J: - - ren) d (szer d - +dj J: +min) dny n^ .group e e E D_-_) es (_ %ES - +_) egyezség _!'EJ:ESSe:g .group é é e: éi (é e::i: @@ -102,9 +112,10 @@ hierar) ch (i C .group f f f + .group g g g -// gg g: +// gg g: gy J ggy J: @@ -126,25 +137,38 @@ _minde) gy (ik J: _) goethe gY:tE _) goethé gY:te: - +me) g (gyú g +me) g (győz g +me) g (gyil g +me) g (gyű g +me) g (gyász g +me) g (gyűr g +le) g (gy g .group h h h .group i i i +_) itthon ithon .group í í i: +íts i:tS: .group j j j +_) javíts jAvi:tS: +_) javítsd jAvi:tSd .group k k k kk k: kk (C kk _) köz kYz +_) község kYSSe:g +_) készség ke:SSe:g +_) kétség ke:tS:e:g .group l l l @@ -152,8 +176,13 @@ _minde) gy (ik J: lly jj A) lj (A l^j - - C) ly (_ li +á) ll (j j +beszé) lj jj +bére) lj jj +gondo) lj jjj +ke) lj jj +sajná) lj jj +C) ly (_ li _kéth) ly li szamue) lly lli szamue) ly lli @@ -167,23 +196,28 @@ szamue) ly lli ko) mm (uni m + .group n n n n (g N n (k N + n (p m ny n^ nny n^n^ nj n^n^ - +nyj n^n^ _) nem (- n,Em // has $alt2 attribute in hu_list, combine with the next word +me) nny (ország n^ +me) nny (d n^ + .group o o o _r) oose (velt u:z - +_) otthon othon .group ó ó o: @@ -208,7 +242,7 @@ szamue) ly lli qu kv .group r - r R2 +r R2 rr RR rm R2_m r (cc R @@ -221,8 +255,9 @@ szamue) ly lli s S sz s ssz ss2 +szts stS: - s (színű S +s (színű S hel) s (inki z ki) s (ebb SS _má) s (szó S @@ -242,13 +277,20 @@ _nyílá) s S sz (öld Sz va) s (zabl S|| + egé) szs (ég S +liszte) szs (ák SZ +pénze) s S + rend) sz (er s: + .group t + _) t (_ te: -) t (_ t t t + tc ts: tt t: tt (C tt ty c @@ -256,14 +298,63 @@ _nyílá) s S // z) ty c: // keztyű ttj tc: tty c: +éle) t t - C) tj c +tsz ts: +szorí) ts (a tS: +ürí) ts (e tS: +mula) ts tS: +nemze) ts tS: +min) t t +tse tSE +tso tSo +tsa tSA +tsá tSa: +tsd tSd +tsé tSe: +ttsé tS:e: +C) tj c A) tj (A c: C) tyj c A) tyj (A c: _ka) ty (n ti + vörösmar) ty ti +á) t (jár t +á) t (sző t +á) t (szú t +á) t (szű t +bizo) tts (ág tS: +állí) ts tS: +bará) ts tS: +dön) ts (ön tS +elhivato) tts (ág tS: +folyama) t (jel t +kiál) ts tS +köve) ts (ég tS: +kür) t t +neve) ts (ég tS: +szen)t (szék t +szöve) ts (ég tS: +romlo) tts tS: +á) t (sor t +á) t (sé t +ne) t (se t + +lehe) ts (ég tS: +tehe) ts (ég tS: +lá) tsz ts: +fize) ts (ég tS: +segí) ts tS: +á) ts (ó tS: +ismere) ts (ég tS: +lé) t (szám t +ké) t (száz t +ö) t (száz t +ha) t (száz t +vé) ts (ég tS: + .group u @@ -295,19 +386,36 @@ vörösmar) ty ti .group z z z - zs Z +zs Z zzs Z: - - gá) z (sz z +a) z (t s +a) z (tán s +befeje) z (te s +bi) z (tons s +bi) z (tos s +bron) z (sz z +e) z (t s +költö) z (köd s +kö) z (pont s +kö) z (társaság s +lefeje) z (te s +lefeje) z (ték s +pén) z (tár s +ré) z (sz z +tartó) z s +gá) z (sz z gé) z (sz z - ké) z (sz z + + ké) z (sz zz há) z (so z há) z (sz z lá) z (sz z má) zc (sz z mé) zc (sz z - nehé) z (sé z - pén) z z + nehé) z (sé S +iga) zs (ág SS +ga) zs (ág SS +pén) z z szá) z (sz z tí) z (sz z tű) z (sz z @@ -322,14 +430,16 @@ vörösmar) ty ti _gá) zsz (ámlá zs: _ré) zs (ó zS _vá) zs (or zS -_szára) zs (ág zS - _kö) zs (ég zS +_szára) zs (ág SS + _nehé) zs (ely zS _) zürich tsyR2iC .group +_) :-) v'iJoR2 + $ dolla:R2 ä E æ E diff --git a/dictsource/ru_list b/dictsource/ru_list index b3e52987..08e71fe1 100644 --- a/dictsource/ru_list +++ b/dictsource/ru_list @@ -63,6 +63,10 @@ _0M3 m;,IlI;'artof _dpt _:'i_: // start of decimal fraction _dpt2 _d;Is;'atYx // end of decimal fraction +// characters +№ номер $text + + // prepositions в v $u // to,in,at от $u // from diff --git a/dictsource/ta_list b/dictsource/ta_list index e744b1a5..424e750f 100644 --- a/dictsource/ta_list +++ b/dictsource/ta_list @@ -21,7 +21,7 @@ ற் iR ல் il ள் il. -ழ் iz +ழ் iz. வ் iv ஶ் iS ஷ் is. @@ -29,7 +29,10 @@ ஹ் iC U+b82 anUsvVRV ஃ ah -U+bcd viRVmV +U+bcd ot.RU + +ஏ je: + // speak Latin letters as English a e:j @@ -51,7 +54,7 @@ p pi: q kju: r a:R s Es -t ti: +t thi: u ju: v vi: w dVbVlju: @@ -65,23 +68,91 @@ _cap kapit.Vl // English _. pul.l.i _, kVma: _; ka:RbUl.l.,i -_: arE:pp,Ul.l.V +_: araIpp,Ul.l.V _? ke:l.vikk,URi _! a:ctS:Vr,ijVkk,URi -% sadVv,igid,Vm +% விழுக்காடு $text = samVm U+bf9 ru:ba:j +// abbreviations +ரூ ru:ba:j $dot +Rs ru:ba:j $dot // numbers -_0 pu:dZjam_ // ?? -_1 ondru_ -_2 irandu_ -_3 mo:ndru_ -_4 na:ngu_ -_5 aintu_ -_6 a:ru_ -_7 E:lu_ // aylu ?? -_8 et.:u_ -_9 onpatu_ -_10 pat:u_ +_0 suz.ijVm // சுழியம் +_1 onRU +_2 irVn.d.U +_3 mu:nRU +_4 na:ngU +_5 aIndU +_6 a:RU +_7 ;e:lU +_8 ;et.t.U +_9 onbVd.U +_10 pattU +_1X padin +_11 patinonRU +_12 pVnniren.d.U +_19 pattonbVdU + +_20 irUbVdU +_30 muppVdU // முப்பது +_40 na:RpVdU +_50 aImbVdU +_60 aRUbVdU +_70 ;ez.UbVdU +_80 ;en.bVdU +_90 ton.n.u:RU + +_2X irUbVttU +_3X muppVttU +_4X na:RpVttU +_5X aImbVttU +_6X aRUbVttU +_7X ;ez.UbVttU +_8X ;en.bVttU +_9X ton.n.u:t.t.RU + +_1C0 nu:RU +_2C0 irUnu:RU +_3C0 munnu:RU +_4C0 na:nu:RU +_5C0 aInu:RU +_6C0 aRUnu:RU +_7C0 ;ez.Unu:RU +_8C0 ;en.n.u:RU +_9C0 tol.l.a:jirVm + +_1C nu:t.t.Ri +_2C irUnu:t.t.Ri +_3C munnu:t.t.Ri +_4C na:nu:t.t.Ri +_5C aInu:t.t.Ri +_6C aRUnu:t.t.Ri +_7C ;ez.Unu:t.t.Ri +_8C ;en.n.u:t.t.Ri +_9C tol.l.a:jirVttU + +_0M1x a:jirVm +_1M1x a:jirVm +_0M1 a:jirVttU +_1M1 a:jirVttU + +_0M2x lVd.tSVm +_1M2x orUlVd.tSVm +_0M2 lVd.tSVttU +_1M2 orUlVd.tSVttU + +_0M3x ko:d.i +_1M3x orUko:d.i +_0M3 ko:d.ie: +_1M3 orUko:d.ie: + +_0M4 nu:RUko:d.i // not correct, but should be understandable +_1M4 nu:RUko:d.i +_0M5 patta:jiRUmko:d.i +_1M5 patta:jiRUmko:d.i + + +_dpt _pul.l.i diff --git a/dictsource/ta_rules b/dictsource/ta_rules index 54134f7f..71659f6c 100644 --- a/dictsource/ta_rules +++ b/dictsource/ta_rules @@ -37,10 +37,12 @@ ஊ u: எ e + _) எ ;e // add a short [j] sound at start of word ? ஏ e:: + _) ஏ ;e:: // add a short [j] sound at start of word ? - ஐ E: + ஐ aI ஒ o @@ -63,12 +65,16 @@ ங NV ங (B N - ச dZV - ச (B dZ + ச zV + ச (B z _) ச sa _) ச (B s ச்ச tS:V ச்ச (B tS: + ட்) ச tSV + ட்) ச (B tS + ஞ்) ச dZV + ஞ்) ச (B dZ ஜ dZV ஜ (B dZ @@ -105,6 +111,10 @@ _) ப (B p ப்ப ppV ப்ப (B pp + ட்) ப pV + ட்) ப (B pV + ற்) ப pV + ற்) ப (B p ஃ) ப fV ஃ) ப (B f @@ -145,6 +155,9 @@ ஹ hV ஹ (B h + க்ஷ ks.V + க்ஷ (B ks. + // combining vowels @@ -163,7 +176,7 @@ ே e: - ை E: + ை aI ொ o @@ -183,3 +196,4 @@ .group ் // virama $ dolV + D) . (D+ _pul.l.i diff --git a/phsource/compile_report b/phsource/compile_report index 1ea6e82b..e272d6fb 100644 --- a/phsource/compile_report +++ b/phsource/compile_report @@ -1,4 +1,4 @@ -52 phoneme tables +60 phoneme tables new total base 103 103 base2 26 124 @@ -15,10 +15,10 @@ eo 13 115 jbo 4 116 fi 40 134 - fr 55 140 - fr_ca 11 140 + fr 55 141 + fr_ca 11 141 hi 60 149 - ta 17 152 + ta 20 152 hu 23 119 lv 29 126 nl 28 126 @@ -52,34 +52,52 @@ sq 35 127 hy 24 119 da 21 118 + rw 15 131 + ml 13 151 + kn 15 151 + bn 59 155 + ne 18 157 + mr 12 149 + eu 6 125 + mn 15 114 Data file Used by b/b [b] base [b] fr [b] hi [b;] ro + [b] bn b/b_ [b] base [b] fr [b] hi + [b] bn b/b@ [b] base [b] hi + [b] bn b/b@2 [b] base [b] hi + [b] bn b/ba [b] base [b] hi + [b] bn b/be [b] base [b] hi + [b] bn b/bi [b] base [b] hi [b;] ro + [b] bn b/bo [b] base [b] hi + [b] bn b/bu [b] base [b] hi + [b] bn b/xb [b] base [b] fr [b] hi [bh] hi + [b] bn d/d [d] base [d[] base [d] base2 @@ -98,6 +116,8 @@ d/d [d] base [d] sw [d] id [d] sq + [d] bn + [d.] bn d/d_ [d] base [d[] base [d] base2 @@ -116,6 +136,8 @@ d/d_ [d] base [d] sw [d] id [d] sq + [d] bn + [d.] bn d/d_dnt [d] sr d/dr [*] base [d] base @@ -136,6 +158,8 @@ d/dr [*] base [d] sw [d] id [d] sq + [d] bn + [d.] bn d/tap [*;] ro d/tap1 [*] base d/tap2 [t#] en_us @@ -163,6 +187,8 @@ d/xd [d] base [d] sq [dz] sq [dz] hy + [d] bn + [d.] bn d/xd3 [dh] hi d/xd_pzd [d;] pl [d;] ru @@ -179,6 +205,7 @@ dzh/dzh [dZ] base [dZ;] sr [dZ;] ru [dZ;] sq + [J] bn dzh/dzh_ [dZ] base [dZ;] base [dz;] base @@ -188,12 +215,15 @@ dzh/dzh_ [dZ] base [dZ;] mk [dZ;] ru [dZ;] sq + [J] bn dzh/dzh2 [dZ] hr [dZ;] hr dzh/dz_pzd [J] base [J] tr [J] ku + [J2] bn dzh/dz_pzd_ [J] base + [J2] bn dzh/xdzh [dZ] base [dZ;] base [dz;] base @@ -203,9 +233,12 @@ dzh/xdzh [dZ] base [dZ;] mk [dZ;] ru [dZ;] sq + [J] bn dzh/xdz_pzd [J] base [Jh] hi + [J2] bn envelope/i_risefall [11] zh +envelope/i_risefall2 [+2] rw envelope/p_214 [5] vi [214] zh envelope/p_512 [6] vi @@ -218,6 +251,7 @@ envelope/p_fall [2] vi [22] zh [33] zh [53] zh + [+] rw envelope/p_fallrise [4] vi envelope/p_level [1] vi [1] zhy @@ -232,20 +266,24 @@ envelope/p_rise [3] vi envelope/vi_5amp [5] vi envelope/vi_6amp [6] vi g2/g [g-] base + [g] fr g2/g_ [g-] base g2/xg [g-] base [g] hi [gh] hi + [g] bn g/g [g] base [g] cy [g] fr [g] hi [g] es + [g] bn g/g_ [g] base [g] cy [g] fr [g] hi [g] es + [g] bn g/xg [g] base [g] cy [g] fr @@ -255,35 +293,50 @@ h/h_ [h] base [H] hi [h] hi [] la + [H] bn + [h] bn h/h@ [h] base [h] fi [H] hi [h] hi [h] sr [] la + [H] bn + [h] bn + [th] bn h/ha [h] base [h] fi [H] hi [h] hi [] la + [H] bn + [h] bn h/he [h] base [h] fi [H] hi [h] hi [] la + [H] bn + [h] bn h/hi [h] base [h] fi [H] hi [h] hi [] la + [H] bn + [h] bn h/ho [h] base [H] hi [h] hi [] la + [H] bn + [h] bn h/hu [h] base [H] hi [h] hi [] la + [H] bn + [h] bn h/hu_fi [h] fi j2/_j2 [;] base j2/j2@ [(@)] base @@ -353,12 +406,9 @@ l/l_@ [(@)] base [@] fr [W] fr [Y] fr - [@-] fr - [W2] fr l/l@ [(@)] base [W] fr [Y] fr - [W2] fr l/L1_aL [(a)] base l/L1_eL [(e)] base l/L1_iL [(i)] base @@ -386,8 +436,12 @@ l/l_a [(a)] base l/le [(e)] base [E] fr [e] fr + [E2] fr + [E:] fr l/l_e [(e)] base [E] fr + [E2] fr + [E:] fr l/L_eL_af [&] af [&:] af l/l_front [L] sq @@ -418,6 +472,7 @@ l/l_o [(o)] base [O2] fr [o2] fr l^/l_rfx [l.] hi + [l.] bn l/lu [(u)] base [u] fr [y] fr @@ -524,7 +579,6 @@ r3/r_ [r/] base [r/] ru r3/r_@ [(@)] base r3/r#_ [r#] is -r3/r_2 [r/2] fr r3/r_a [(a)] base r3/r_e [(e)] base r3/r_i [(i)] base @@ -534,6 +588,7 @@ r3/r_n [r/] base r3/r_o [(o)] base r3/r_ru [R4] ru r3/r_ru2 [R4] ru +r3/r_sr [r.] bn r3/r_trill [R2] base [R3] base [r] af @@ -566,7 +621,6 @@ r3/r_uvl.wav [r"] base r3/rx [*] base [r/] base [r/] af - [(r)] fr [r/2] fr [R] fr_ca [r/] ru @@ -586,6 +640,7 @@ r/r [r] base [r] de r/_r [r] base [r] en_sc + [r.] bn r/r_ [r] base [r] en_sc [r] de @@ -593,6 +648,7 @@ r/r_ [r] base [r] ru [r] ro [r] sw + [r.] bn r/r@ [(@)] base r/ra [(a)] base r/re [(e)] base @@ -609,6 +665,7 @@ r/rr [r/] base r/ru [(u)] base r/tr [r] base [r] en_sc + [r.] bn r/trr [r/] base [r/] af [r] de @@ -624,7 +681,6 @@ r/xr [(@)] base [(i)] base [(o)] base [(u)] base - [Y] fr ufric/ch [C] base [J^] base [C2] de @@ -648,6 +704,8 @@ ufric/s [s] base [s] es [s#] pt [z] sq + [s] eu + [z] eu ufric/s_ [s] base [z] base [s2] fi @@ -662,6 +720,8 @@ ufric/s_ [s] base [z;] ro [s2] is [z] sq + [s] eu + [z] eu ufric/s! [s] base [s2] fi [s] fr @@ -722,6 +782,7 @@ ustop/k [k] base [k] fr [k] zhy [k] sw + [kh] bn ustop/k_ [k] base [k] base2 [k] en @@ -733,6 +794,7 @@ ustop/k_ [k] base [k] el [k] sw [k] sq + [kh] bn ustop/k_asp [gh] hi [kh] hi [kh] zh @@ -765,6 +827,7 @@ ustop/kl [k] base [k] el [k] zhy [k] sw + [kh] bn ustop/kr [k] base [k] base2 [k] en @@ -777,6 +840,7 @@ ustop/kr [k] base [k] el [k] zhy [k] sw + [kh] bn ustop/k_unasp [k] base [k] base2 [k] fi @@ -788,21 +852,26 @@ ustop/k_unasp [k] base [k] zhy [k] sq [k] hy + [k] bn ustop/k_unasp_ [k] zh ustop/null [?] base ustop/p [p] base [p] fr [p2] fr [p] zhy + [ph] bn ustop/p_ [p] base [p] fr [p2] fr [ph] hi [p#] hy + [ph] bn + [p#] mn ustop/p_asp [bh] hi [ph] hi [ph] zh [p#] hy + [p#] mn ustop/percus10 [(X1] base ustop/pl [p] base [p] base2 @@ -818,10 +887,13 @@ ustop/pl [p] base [p] sq [p] hy [p#] hy + [p] bn + [ph] bn + [p] mn + [p#] mn ustop/pr [p] base [p] base2 [p] fi - [p] fr [p] hi [ph] hi [p] hu @@ -829,6 +901,10 @@ ustop/pr [p] base [p;] ro [p] hy [p#] hy + [p] bn + [ph] bn + [p] mn + [p#] mn ustop/p_unasp [p] base [p] base2 [p] fi @@ -842,8 +918,11 @@ ustop/p_unasp [p] base [p] zh [p] sq [p] hy + [p] bn + [p] mn ustop/p_unasp_ [p] base2 [p] fi + [p] fr [p] hi [p] hu [p] lv @@ -852,6 +931,8 @@ ustop/p_unasp_ [p] base2 [p;] ro [p] sq [p] hy + [p] bn + [p] mn ustop/q [q] base ustop/q_u [q] base ustop/t [t] base @@ -859,6 +940,7 @@ ustop/t [t] base [d.h] hi [t.h] hi [t] zhy + [t.h] bn ustop/t_ [t] base [t2] en [t] fr @@ -869,6 +951,8 @@ ustop/t_ [t] base [t] sk [t] el [th] zh + [t.] bn + [t.h] bn ustop/t_dnt [t] base [t[] base [t] base2 @@ -877,6 +961,7 @@ ustop/t_dnt [t] base [t] hi [dh] hi [th] hi + [t] ta [t] hu [t] pl [t] hr @@ -885,18 +970,24 @@ ustop/t_dnt [t] base [t] sw [t] sq [t] hy + [t] bn + [t] mn ustop/t_dnt2 [t] base2 + [t] ta ustop/t_hi [t[] base [t] hi [t] sq [t] hy + [t] bn + [th] bn + [t] mn ustop/t_pzd [c] base [t;] pl [t;] ru ustop/tr [t] base [t2] en - [t] fr [t] ru + [t.h] bn ustop/ts [ts] base2 [ts] de [ts] eo @@ -911,6 +1002,9 @@ ustop/ts [ts] base2 [dz] sq [dz] hy [ts#] hy + [ts] eu + [tz] eu + [ts#] mn ustop/ts_ [ts] base2 [ts] de [ts] eo @@ -923,8 +1017,12 @@ ustop/ts_ [ts] base2 [dz] sq [dz] hy [ts#] hy + [ts] eu + [tz] eu + [ts#] mn ustop/ts2 [ts] lv [ts] hy + [ts] mn ustop/tsh [tS] base [c] zhy ustop/tsh_ [tS] base @@ -938,6 +1036,7 @@ ustop/t_short [t] fr [t] lv [t] sk [t] el + [t.] bn ustop/tsh_pzd [tS;] zh ustop/tsh_pzd_unasp [tS;] zh ustop/tsh_sr [tS] sr @@ -948,12 +1047,15 @@ ustop/ts_pzd [tS;] base [tS;] ru [c] sq [dZ;] sq + [ch] bn ustop/ts_pzd_ [c] hi [c] hu [c] hy + [c] bn ustop/ts_pzd2 [c] hi [c] hu [c] hy + [c] bn ustop/ts_pzd3 [tS;] hr [dZ;] hr ustop/t_sr [d] sr @@ -1033,6 +1135,7 @@ vdiph/aae [aI] en_us vdiph/aai [ai] lv [aai] zhy [aI] sq + [aI] ne vdiph/aai_2 [AI] af [AY] cy vdiph/aai_3 [ai] fi @@ -1044,6 +1147,11 @@ vdiph/aau_2 [aU] en_wi [aU] la [aau] zhy vdiph/aau_3 [aU] hi + [aU] ta + [aU] kn + [aU] bn + [aU] ne + [aU] mr vdiph/aau_4 [aU] vi vdiph/ae [E:] fr_ca [aI] la @@ -1058,6 +1166,7 @@ vdiph/ai [aI] base2 [a:I] vi [aI] id [aI] hy + [aI] kn vdiph/ai_2 [aI] en [aI] cy [aY] cy @@ -1069,6 +1178,8 @@ vdiph/ai_6 [aI] en_rp vdiph/ai_7 [aI] en_sc [aI2] en_sc [aI] is + [aI] mr +vdiph/ai_8 [aI] ta vdiph/aoo [aU] en_us vdiph/au [aU] en [aU] af @@ -1084,12 +1195,14 @@ vdiph/au_4 [aU] base2 [aU] is [aU] id vdiph/ee-e [E:] hi + [E:] bn vdiph/eei [EI] base2 [eI] en [EI] de [EI] nl [EI] vi [eI] hy + [eI] ne vdiph/eei_2 [eI] eo [ei] fi [ei] lv @@ -1121,11 +1234,13 @@ vdiph/eu [eU] base2 [eU] sk [eU] pt [eU] vi + [eU] ne vdiph/eu_2 [eu] fi vdiph/@i [@I] vi [@:I] vi vdiph/&i [&i] fi [aI] hi + [aI] bn vdiph/@i_2 [eI] af [@I] cy [@Y] cy @@ -1142,6 +1257,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 @@ -1161,6 +1277,7 @@ vdiph/oou [oU] cs [OU] grc vdiph/ou [ou] fi [ou] zhy + [oU] ne vdiph/ou_2 [oU] sk [oU] ro vdiph/ou_3 [oU] is @@ -1169,7 +1286,8 @@ vdiph/@u [u:] en_wm [@U] vi [@:U] vi vdiph/@u_2 [oU] en_rp -vdiph/@u_3 [@U] ro +vdiph/@u_3 [o3] fr + [@U] ro vdiph/@u_en [oU] en [@U] id vdiph/ui [uI] base2 @@ -1177,12 +1295,15 @@ vdiph/ui [uI] base2 [ui] lv [uI] vi [ui] zhy + [uI] ne vdiph/u-i [yI] vi vdiph/ui_2 [uI] af vdiph/ui_3 [uI] cy [uY] cy vdiph/ui_4 [ui] fi +vdiph/Vi [VI] ne vdiph/Vu [@U] af + [VU] ne vdiph/Vu_2 [oU] en_wm vdiph/Vu_3 [o:] nl vdiph/&y [&y] fi @@ -1199,6 +1320,7 @@ vdiph/y#y_2 [Yy] af [eoi] zhy vdiph/y#y_3 [Y:] nl vnasal/aa_n [a~] hi + [a~] bn vnasal/aa_n2 [A~] en vnasal/aa_n3 [A~] af vnasal/aa_n4 [A~] fr @@ -1210,11 +1332,15 @@ vnasal/ee_n [E~] en vnasal/ee_n2 [a] en_us [E~] hi [&~] pt_pt + [E~] bn vnasal/ee_u_n [E~] pl vnasal/e_n [e~] af [e~] hi [e~] pt + [e~] bn vnasal/i_n [i~] pt + [i~] bn + [i:~] bn vnasal/i_n2 [i~] hi vnasal/m- [m-] sw vnasal/n- [n-] sw @@ -1222,15 +1348,19 @@ vnasal/nn- [N-] sw vnasal/oi_n [oI~] pt vnasal/o_n [o~] hi [o~] pt + [o~] bn vnasal/o_n2 [o~] af [O~] fr vnasal/oo_n [O~] en vnasal/oo_n2 [O~] hi [o] zh + [O~] bn vnasal/oo_n3 [O~] pl vnasal/u_n [u~] hi [u~] pt [u] zh + [u~] bn + [u:~] bn vnasal/V_n [V~] hi vnasal/W_n [E~] fr [W~] fr @@ -1258,6 +1388,7 @@ voc/v [v] base [v;] ro [v] is [v] da + [v] bn voc/v_ [B] base [v] base [v] fi @@ -1268,6 +1399,7 @@ voc/v_ [B] base [v;] ro [v] is [v] da + [v] bn voc/v# [v] hi voc/v#_ [v] hi voc/v2 [v#] es @@ -1328,8 +1460,12 @@ vowel/@ [@] base [3] en_rp [@] en_rp [V] cy + [W] fr [@4] hi [@] hy + [@] ml + [@] kn + [@4] bn vowel/@- [@-] base [r*] hr vowel/& [a] en_rp @@ -1338,6 +1474,8 @@ vowel/& [a] en_rp [&] lv [&:] lv [&] sv + [&] bn + [&:] bn vowel/0 [0] en [O] hi [O] pt @@ -1359,9 +1497,10 @@ vowel/@_3 [@] en_sc [@2] en_sc [@5] en_sc [@] de - [W2] fr [@3] hi [@] da + [@3] bn + [@3] ne vowel/3_2 [3:] en_n [@] zh vowel/3_3 [3:] en_rp @@ -1371,10 +1510,10 @@ vowel/3_en [3:] en vowel/@_4 [@] en_us [@] nl [@] no -vowel/@_5 [W] fr vowel/8 [o-] zh vowel/8_2 [U] en_us [8] sv + [o] mn vowel/8_3 [eo] zhy vowel/8_5 [8] ku vowel/8_6 [V] sq @@ -1398,12 +1537,16 @@ vowel/a [a] en [a] it [a] zh [a] id + [a:] mr + [a] mn vowel/a# [a/] base2 [a2] en_sc [a2] en_wi [&] sr [&] pt [&/] pt + [a#] rw + [a/] rw vowel/a_2 [a] base2 [a] en_wi [A:] en_wi @@ -1414,11 +1557,13 @@ vowel/a_2 [a] base2 [a] pt_pt [a] ro [a] da + [a] rw vowel/a#_2 [a#] pl [&] hr [a2] sv [&] is [a/] sw + [a] kn vowel/a_3 [a] en_sc [a/] en_sc [A:] en_sc @@ -1445,6 +1590,8 @@ vowel/a#_3 [a2] en [a] zhy [a/] sq [3] da + [a] ml + [a] bn vowel/a_4 [a/] el [a] vi vowel/a_5 [a:] ta @@ -1453,6 +1600,8 @@ vowel/a_5 [a:] ta [a] sv [a] sw [a] tr + [a:] ml + [a:] kn vowel/a_6 [a] fr [a] ca [a:] vi @@ -1483,10 +1632,15 @@ vowel/aa_8 [0] en_us [A:] en_us vowel/aa_9 [a] fi [a:] hi + [a:] bn + [a] ne vowel/a_en [A] fr vowel/@_bck [@] hi [@/] hi [@] zh + [@] bn + [V] ne + [@/] ne vowel/e [e] base2 [e:] en [eI] en_n @@ -1496,7 +1650,6 @@ vowel/e [e] base2 [e:] af [e:] cy [e] eo - [E:] fr [e] ta [e:] ta [e] hr @@ -1510,6 +1663,13 @@ vowel/e [e] base2 [e] id [e] sq [e] da + [e] rw + [e#] rw + [e] ml + [e:] ml + [e:] kn + [e] ne + [e] mn vowel/e# [I] en_sc [I2] en_sc vowel/e_2 [eI] en_sc @@ -1519,11 +1679,15 @@ vowel/e_2 [eI] en_sc [e] it [e:] sv [e:] no + [e] bn + [e:] bn vowel/e_3 [i] en_n [e:] hu [e] ku vowel/e_5 [i] en_sc +vowel/e_6 [e] mr vowel/e_8 [e] fr +vowel/e_9 [E2] fr vowel/ee [E] en_n [E] sv vowel/e_e [E] en_sc @@ -1555,6 +1719,8 @@ vowel/ee_6 [&] sk [E] ku vowel/e_mid [E] en_rp [E] fr + [E:] fr + [E~] fr [E] fr_ca [E] hi [E] hu @@ -1575,6 +1741,7 @@ vowel/e_mid [E] en_rp [E] id [E2] id [e] hy + [E] bn vowel/e_mid2 [E] af [E] de [E2] de @@ -1590,6 +1757,7 @@ vowel/e_mid2 [E] af [e] tr [e#] sq [E] da + [e] kn vowel/@_fnt [@] en_wi [@2] en_wi [@2] hr @@ -1616,6 +1784,12 @@ vowel/i [i] base2 [i] zh [i] sw [i] hy + [i] rw + [i#] rw + [i:] ml + [i:] kn + [i] ne + [i] mn vowel/i# [y:] cy vowel/i_2 [i2] de [i:] de @@ -1645,6 +1819,9 @@ vowel/i_6 [i] hi [i] tr [i] ku [i] id + [i] ml + [i] kn + [I] mr vowel/i#_6 [i.] zh vowel/i_7 [i] pl [i] sq @@ -1653,6 +1830,9 @@ vowel/i_en [i:] en [i:] en_us vowel/i_fnt [i:] en_wi [i:] hi + [i] bn + [i:] bn + [i:] mr vowel/ii [I] en_n [I2] en_n [I] en_rp @@ -1671,6 +1851,8 @@ vowel/ii# [Y] cy [Y] ru [I] ku [i] sq + [y] ml + [y] kn vowel/ii_2 [i] zh vowel/ii#_2 [y] pl vowel/ii_3 [I] cy @@ -1681,6 +1863,7 @@ vowel/ii_3 [I] cy [I] sv [I] no [I] tr + [I] bn vowel/ii#_3 [I2] en_us vowel/ii_4 [I] en [I2] en @@ -1711,6 +1894,13 @@ vowel/@_low [3] en_rp [@] ro [@2] no [@] id + [@] bn + [V] bn + [@2] bn + [V] ne + [@/] ne + [@] mr + [V] mr vowel/@_low2 [@/] en_us [@2] en_us vowel/o [o] base2 @@ -1720,7 +1910,6 @@ vowel/o [o] base2 [o:] de [o] hi [o] ta - [o:] ta [o] it [o/] it [O] la @@ -1730,6 +1919,15 @@ vowel/o [o] base2 [o:] sv [o] id [o] hy + [o] rw + [o#] rw + [o] ml + [o:] ml + [o] kn + [o:] kn + [o] bn + [o] mr + [o:] mn vowel/o_2 [o:] cy [o2] fr [o:] hi @@ -1738,10 +1936,12 @@ vowel/o_2 [o:] cy [o:] no [o] vi [o] da + [o:] bn vowel/o-_2 [V] en_n [V] en_wm vowel/o_3 [oU] en_sc [o] fr + [o:] ta vowel/o-_3 [U] en_rp vowel/o-_4 [o] ro vowel/o_5 [O] nl @@ -1757,12 +1957,13 @@ vowel/oe_2 [W] no [W] tr vowel/oe_4 [W] sv vowel/o_mid [U@] en_rp - [O] fr + [o] hu + [o] tr + [o] ne +vowel/o_mid2 [O] fr [o] fr [O2] fr [o2] fr - [o] hu - [o] tr vowel/oo [O:] en_sc [O] en_wi [O:] en_wi @@ -1795,6 +1996,7 @@ vowel/oo_2 [0] en_sc [O] cy [o] cs [0] da + [O] mn vowel/oo_3 [O] af vowel/oo_4 [O] base2 [0] en_wm @@ -1802,6 +2004,7 @@ vowel/oo_4 [O] base2 [3:] en_wi [O:] hi [O] it + [O] bn vowel/oo_5 [O] pl [O] is [O] sq @@ -1821,6 +2024,7 @@ vowelr/r-voc [r-] jbo [r-] sk [r:] sk [r-] hr + [r-] bn vowelr/V3_r [VR] en [3] en_sc [@r] zh @@ -1831,12 +2035,16 @@ vowel/u [u:] en_wi [u] eo [U] fr [u] ta - [u:] ta [u] lv [u:] lv [u:] cs [U] la [u] id + [u] ml + [u:] ml + [u] kn + [u:] kn + [u] bn vowel/u# [u:] en_sc [Y] tr vowel/u_2 [u1] fi @@ -1852,7 +2060,8 @@ vowel/u#_4 [U] en_sc [u:] en_sc vowel/u_5 [u] sw vowel/u#_5 [y] vi -vowel/u_6 [U] pt_pt +vowel/u_6 [u:] ta + [U] pt_pt [u] pt_pt [u] ku vowel/u_7 [u] vi @@ -1879,6 +2088,13 @@ vowel/u_bck [u] base2 [u] sq [u] hy [u] da + [u] rw + [u#] rw + [u:] bn + [u] ne + [U] mr + [u:] mr + [u] mn vowel/u_bck2 [u] fr [u:] fr [u:] la @@ -1902,6 +2118,8 @@ vowel/uu_bck [U] en_wi [U] pt [U] no [u] zhy + [U] bn + [U] mn vowel/V [3] en_sc vowel/V_2 [V] en [a] af @@ -1911,10 +2129,13 @@ vowel/V_2 [V] en vowel/V_3 [V] en_rp [V] hi [V] ta + [V] bn vowel/V_4 [V] en_sc [V] da vowel/V_6 [V] en_us [a#] lv +vowel/V_7 [@] mr + [V] mr vowel/y [y] base2 [y:] en [y:] de @@ -1935,6 +2156,7 @@ vowel/y# [Y] base2 [8] nl [Y] ro [oe] zhy + [Y] eu vowel/y## [y#] is vowel/y_2 [y] fr [y"] fr @@ -2006,43 +2228,89 @@ vwl_en_us/oor [0] en_us vwl_en_us/or [o@] en_us [O:] en_sc vwl_en_us/ur [U@] en_us -vwl_fr/r [r] fr +vwl_fr/r [R] fr + [r] fr [r2] fr -vwl_fr/r_@ [@] fr +vwl_fr/_r [R] fr + [r] fr +vwl_fr/r_ [r/2] fr +vwl_fr/r_@ [W] fr + [Y] fr +vwl_fr/r@ [@] fr + [W] fr [Y] fr - [@-] fr [@2] fr - [W2] fr + [E~] fr [W~] fr vwl_fr/@R [x] pt_pt -vwl_fr/r_@2 [W] fr - [W2] fr vwl_fr/@R2 [R] fr_ca vwl_fr/@R3 [Q2] hy vwl_fr/@R4 [Q2] hy -vwl_fr/@R5 [(r)] fr - [Q2] hy +vwl_fr/@R5 [Q2] hy +vwl_fr/ra [a] fr vwl_fr/r_a [a] fr [wA] fr vwl_fr/r_a~ [A~] fr -vwl_fr/r_e [E] fr +vwl_fr/rA~ [A~] fr +vwl_fr/re [E] fr [e] fr + [E2] fr + [E:] fr +vwl_fr/r_e [E] fr + [E2] fr + [E:] fr +vwl_fr/ri [i] fr + [i-] fr + [i:] fr vwl_fr/r_i [i] fr [i:] fr [w^i] fr +vwl_fr/ro [O] fr + [o] fr + [O2] fr + [o2] fr + [wA] fr + [O~] fr vwl_fr/r_o [O] fr [o] fr [O2] fr [o2] fr - [O~] fr +vwl_fr/ru [u] fr + [u:] fr vwl_fr/r_u [u] fr +vwl_fr/ry [y] fr + [w^i] fr vwl_fr/r_y [y] fr -vwl_fr/tr [(r)] fr +vwl_fr/tr [r] fr vwl_fr/w_a [wA] fr +vwl_fr/xr [@] fr + [E] fr + [O] fr + [W] fr + [Y] fr + [a] fr + [e] fr + [i] fr + [o] fr + [u] fr + [y] fr + [@2] fr + [E2] fr + [O2] fr + [o2] fr + [E:] fr + [i:] fr + [wA] fr + [A~] fr + [E~] fr + [O~] fr + [W~] fr + [w^i] fr vwl_hi/l-voc [l-] jbo [l-] hi [l-] sk [l:] sk + [l-] bn vwl_no/& [a] no [a:] no vwl_no/au- [aU] no @@ -2138,6 +2406,7 @@ x/b [b] base [b] hi [b;] ro [b] is + [b] bn x/b_ [b] base [b] fr x/d [d] base @@ -2150,6 +2419,7 @@ x/d [d] base [d] is [d] id [d] sq + [d.] bn x/d_ [d] base [d[] base [d] base2 @@ -2167,6 +2437,8 @@ x/d_ [d] base [d] sw [d] id [d] sq + [d] bn + [d.] bn x/d_dnt [d[] base [d] base2 [d] fi @@ -2176,21 +2448,27 @@ x/d_dnt [d[] base [d] ru [d;] ro [d] sw + [d] bn x/d_pzd [d;] pl [d;] ru x/dzh [J] base [dZ] base + [J2] bn x/dzh_ [dZ] base [dZ;] base [dz;] base [J] hi [dZ;] mk [dZ;] ru + [J] bn x/dz_pzd [dZ;] base [dz;] base [J] hi [dZ;] mk [dZ;] ru + [J] bn +x/dz_pzd_ [J2] bn +x/g [g] fr x/g_ [g] base [g] cy [g] fr @@ -2198,9 +2476,11 @@ x/g_ [g] base [g] is x/g2 [g] base [g] cy - [g] fr [g] hi [g] es [g] is + [g] bn x/g2_ [g-] base + [g] fr [g] hi + [g] bn diff --git a/phsource/j2/j2e b/phsource/j2/j2e index b079fa60..ac5edc56 100644 Binary files a/phsource/j2/j2e and b/phsource/j2/j2e differ diff --git a/phsource/l/l_i b/phsource/l/l_i index ff57acf2..62634716 100755 Binary files a/phsource/l/l_i and b/phsource/l/l_i differ diff --git a/phsource/l/l_o b/phsource/l/l_o index 31fc60a5..461ecbbe 100755 Binary files a/phsource/l/l_o and b/phsource/l/l_o differ diff --git a/phsource/mbrola/fr1 b/phsource/mbrola/fr1 index 9f702bc4..5bd564ea 100644 --- a/phsource/mbrola/fr1 +++ b/phsource/mbrola/fr1 @@ -1,6 +1,7 @@ volume 15 0 l/2 NULL 0 l 0 l/ NULL 0 l +0 l2 NULL 0 l 0 r/ NULL 0 R 0 r/2 NULL 0 R 0 r- NULL 0 R @@ -37,17 +38,18 @@ volume 15 0 n2 NULL 0 n 0 p2 NULL 0 p 0 r2 NULL 0 R -0 R2 NULL 0 R 0 t2 NULL 0 t 0 t3 NULL 0 t 0 z2 NULL 0 z 0 z3 NULL 0 z 0 i: NULL 0 i +0 i- NULL 0 i 0 u: NULL 0 u 0 eI NULL 60 E j 0 aU NULL 60 a w 0 oU NULL 0 o +0 o3 NULL 0 o 0 o- NULL 0 o 0 @L NULL 40 @ l 0 @2 NULL 0 @ @@ -84,4 +86,3 @@ volume 15 - diff --git a/phsource/ph_armenian b/phsource/ph_armenian index e33d7708..a325ea73 100644 --- a/phsource/ph_armenian +++ b/phsource/ph_armenian @@ -32,7 +32,7 @@ phoneme a endphoneme phoneme o - vowel starttype (e) endtype (e) + vowel starttype (o) endtype (o) length 180 formants vowel/o endphoneme diff --git a/phsource/ph_french b/phsource/ph_french index 59db701a..cd635034 100644 --- a/phsource/ph_french +++ b/phsource/ph_french @@ -1,7 +1,7 @@ //==================================================== // French //==================================================== -// Updated 2009-07-30 Michel Such +// Updated 2009-09-30 Michel Such phoneme (l) virtual // Used for l and l/ @@ -12,153 +12,143 @@ phoneme : // Lengthen previous vowel by "length" length 40 // shorter than for fr-ca endphoneme -phoneme (r) virtual - after b vwl_fr/tr+r3/rx%35 - after g vwl_fr/tr+r3/rx%35 - after k vwl_fr/tr+r3/rx%35 - after m vwl_fr/tr+r3/rx%25 - after n vwl_fr/tr+r3/rx%25 - after p vwl_fr/tr+r3/rx%35 - after s vwl_fr/tr+r3/rx%30 - after S vwl_fr/tr+r3/rx%45 - after t vwl_fr/tr+r3/rx%30 - after v vwl_fr/tr+r3/rx%30 - after z vwl_fr/tr+r3/rx%30 - after Z vwl_fr/tr+r3/rx%30 - before (i) vwl_fr/@R5 - before (o) vwl_fr/@R5 - before (u) vwl_fr/@R5 -endphoneme - // Vowels //======= phoneme @ vowel starttype (@) endtype (@) - length 190 + length 170 formants vowel/@_hgh + after (r) vwl_fr/r@ before l/ DFT+l/l_@ - before (r) DFT+vwl_fr/r_@ -endphoneme - - -phoneme @- // very short schwa - vowel nonsyllabic - starttype (@) endtype (@) - formants NULL - unstressed - length 70 - before l/ DFT+l/l_@ - before (r) DFT+vwl_fr/r_@ + before (r) DFT+vwl_fr/xr endphoneme phoneme @2 vowel starttype (@) endtype (@) - length 170 + length 160 formants vowel/@_fr - before (r) DFT-10+vwl_fr/r_@ + after (r) vwl_fr/r@ + before (r) DFT+vwl_fr/xr endphoneme phoneme a vowel starttype (a) endtype (a) - length 200 + length 170 formants vowel/a_6 after l l/la-15 + after (r) vwl_fr/ra before l/ DFT+l/l_a - before (r) DFT-10+vwl_fr/r_a - before r/2 DFT-10+vwl_fr/r_a + before (r) DFT+vwl_fr/xr + before r/2 DFT+vwl_fr/r_a endphoneme phoneme e vowel starttype (e) endtype (e) - length 190 + length 170 formants vowel/e_8 after (l) l/le-15 + after (r) vwl_fr/re before l/ DFT-20+l/xl - before (r) DFT-10+vwl_fr/r_e + before (r) DFT+vwl_fr/xr endphoneme phoneme E vowel starttype (e) endtype (e) - length 190 + length 170 formants vowel/e_mid after (l) l/le-15 + after (r) vwl_fr/re before l/ DFT+l/l_e - before (r) DFT-10+vwl_fr/r_e + before (r) DFT+vwl_fr/xr + before r/2 DFT+vwl_fr/r_e +endphoneme + + +phoneme E2 // Between e and E + vowel starttype (e) endtype (e) + length 170 + formants vowel/e_9 + after (l) l/le-15 + after (r) vwl_fr/re + before l/ DFT+l/l_e + before (r) DFT+vwl_fr/xr before r/2 DFT+vwl_fr/r_e endphoneme phoneme i vowel starttype (i) endtype (i) - length 180 + length 160 formants vowel/i_2 linkout ; after (l) l/li-15 -// after (r) vwl_fr/ri + after (r) vwl_fr/ri-30 before l/ DFT+l/l_i - before (r) DFT-20+vwl_fr/r_i + before (r) DFT+vwl_fr/xr before r/2 DFT+vwl_fr/r_i endphoneme phoneme i- // shorter vowel starttype (i) endtype (i) - length 140 + length 130 formants vowel/i_2 - linkout ; after (l) l/li-15 -// after (r) vwl_fr/ri + after (r) vwl_fr/ri endphoneme phoneme i: // longer than i vowel starttype (i) endtype (i) - length 250 + length 240 formants vowel/i_3 linkout ; after (l) l/li-15 -// after (r) vwl_fr/ri + after (r) vwl_fr/ri before l/ DFT+l/l_i - before (r) DFT-20+vwl_fr/r_i - before r/2 DFT-20+vwl_fr/r_i + before (r) DFT+vwl_fr/xr + before r/2 DFT+vwl_fr/r_i endphoneme phoneme o vowel starttype (o) endtype (o) - length 190 + length 170 formants vowel/o_3 after (l) l/lo-10 + after (r) vwl_fr/ro before l/ DFT+l/l_o - before (r) DFT+vwl_fr/r_o - before r/2 vowel/o_mid+vwl_fr/r_o + before (r) DFT+vwl_fr/xr + before r/2 vowel/o_mid2+vwl_fr/r_o reduceto o2 1 endphoneme phoneme o2 vowel starttype (o) endtype (o) - length 190 + length 170 formants vowel/o_2 after (l) l/lo-10 - before l/ vowel/o_mid+l/l_o - before (r) DFT+vwl_fr/r_o - before r/2 vowel/o_mid+vwl_fr/r_o + after (r) vwl_fr/ro + before l/ vowel/o_mid2+l/l_o + before (r) DFT+vwl_fr/xr + before r/2 vowel/o_mid2+vwl_fr/r_o endphoneme phoneme O vowel starttype (o) endtype (o) - length 190 - formants vowel/o_mid + length 170 + formants vowel/o_mid2 after (l) l/lo-10 + after (r) vwl_fr/ro before l/ DFT+l/l_o - before (r) DFT+vwl_fr/r_o + before (r) DFT+vwl_fr/xr before r/2 DFT+vwl_fr/r_o reduceto o2 1 endphoneme @@ -166,22 +156,33 @@ endphoneme phoneme O2 // Like O but no reduceto vowel starttype (o) endtype (o) - length 190 - formants vowel/o_mid + length 170 + formants vowel/o_mid2 after (l) l/lo-10 + after (r) vwl_fr/ro before l/ DFT+l/l_o - before (r) DFT+vwl_fr/r_o + before (r) DFT+vwl_fr/xr before r/2 DFT+vwl_fr/r_o endphoneme +phoneme o3 // almost like english oU + vowel starttype (@) endtype (u) + length 220 + formants vdiph/@u_3 +endphoneme + + phoneme u vowel starttype (u) endtype (u) - length 210 + length 170 formants vowel/u_bck2 after l l/lu-20 + after (r) vwl_fr/ru + after R vwl_fr/ru-10 before l/ DFT-20+l/l_u - before (r) DFT+vwl_fr/r_u + before (r) DFT+vwl_fr/xr + before r/2 DFT+vwl_fr/r_u before i DFT-50 endphoneme @@ -191,18 +192,19 @@ phoneme u: // slitely longer than u length 240 formants vowel/u_bck2 after l l/lu-20 - before l/ DFT-20+l/l_u + after (r) vwl_fr/ru before l/ DFT-20+l/l_u endphoneme phoneme y vowel starttype (u) endtype (u) - length 190 + length 170 formants vowel/y_2 after l l/lu-20 + after (r) vwl_fr/ry before l/ DFT-30+l/l_y - before (r) DFT+vwl_fr/r_y + before (r) DFT+vwl_fr/xr before r/2 DFT+vwl_fr/r_y before E~ DFT-50 endphoneme @@ -210,46 +212,38 @@ endphoneme phoneme Y vowel starttype (@) endtype (@) - length 190 + length 170 formants vowel/y# after (l) l/l@-20 + after (r) vwl_fr/r@ before l/ DFT-20+l/l_@ - before (r) DFT+vwl_fr/r_@ - before r/2 DFT+r/xr-40 + before (r) DFT+vwl_fr/xr + before r/2 DFT+vwl_fr/r_@ + reduceto W 1 endphoneme phoneme W vowel starttype (@) endtype (@) - length 200 - formants vowel/@_5 + length 180 + formants vowel/@ after (l) l/l@-20 + after (r) vwl_fr/r@ before l/ DFT-20+l/l_@ - before (r) DFT+vwl_fr/r_@2 - before r/2 DFT+vwl_fr/r_@2-30 - reduceto Y 1 -endphoneme - - -phoneme W2 // same as W but don't reduce - vowel starttype (@) endtype (@) - length 200 - formants vowel/@_3 - after (l) l/l@-20 - before l/ DFT-20+l/l_@ - before (r) DFT+vwl_fr/r_@ - before r/2 DFT+vwl_fr/r_@2 + before (r) DFT+vwl_fr/xr + before r/2 DFT+vwl_fr/r_@ endphoneme phoneme wA vowel starttype (o) endtype (a) - length 240 + length 230 formants vwl_fr/w_a after (l) l/lo-10 + after (r) vwl_fr/ro-15 before l/ DFT-10+l/l_a before j DFT - before (r) DFT+vwl_fr/r_a + before (r) DFT+vwl_fr/xr before r/2 DFT+vwl_fr/r_a endphoneme @@ -259,43 +253,49 @@ phoneme w^i length 240 formants vdiph/yi_fr after l l/lu-20 + after (r) vwl_fr/ry before l/ DFT+l/l_i - before (r) DFT+vwl_fr/r_i + before (r) DFT+vwl_fr/xr before r/2 DFT+vwl_fr/r_i endphoneme phoneme A~ vowel starttype (a) endtype (a) - length 210 + length 190 formants vnasal/aa_n4 + after (r) vwl_fr/rA~ before l/ DFT+l/l_a - before (r) DFT+vwl_fr/r_a~ + before (r) DFT+vwl_fr/xr before r/2 DFT+vwl_fr/r_a~ endphoneme phoneme E~ // same as W~ for fr-fr vowel starttype (e) endtype (e) - length 210 + length 190 formants vnasal/W_n - before n2 DFT-100 + after (r) vwl_fr/r@ + before n2 vowel/e_mid + before (r) DFT+vwl_fr/xr endphoneme phoneme O~ vowel starttype (o) endtype (o) - length 210 + length 190 formants vnasal/o_n2 - before (r) DFT+vwl_fr/r_o + after (r) vwl_fr/ro + before (r) DFT+vwl_fr/xr endphoneme phoneme W~ vowel starttype (@) endtype (@) - length 210 + length 190 formants vnasal/W_n - before (r) DFT+vwl_fr/r_@ + after (r) vwl_fr/r@ + before (r) DFT+vwl_fr/xr endphoneme @@ -324,7 +324,12 @@ endphoneme phoneme E: // slightly longer than [E] vowel starttype (e) endtype (e) length 212 - formants vowel/e + formants vowel/e_mid + after (l) l/le-15 + after (r) vwl_fr/re + before l/ DFT+l/l_e + before (r) DFT+vwl_fr/xr + before r/2 DFT+vwl_fr/r_e endphoneme phoneme A // same as [a] @@ -369,13 +374,14 @@ endphoneme phoneme g vcd vel stop - vowelin f1=2 f2=2300 200 300 f3=-300 80 amp=10 + vowelin f1=2 f2=2300 200 300 f3=-300 80 vowelout f1=2 f2=2300 250 300 f3=-300 80 brk - formants g/g+x/g2%30 + formants g/g+x/g%20 before _ g/g_+x/g_ - before (r) g/g+x/g2%50 +// before (r) g/g_+x/g_%25 after _ NULL after (@) g/xg%30 + after n g2/g+x/g2_ lengthmod 5 switchvoicing k endphoneme @@ -388,10 +394,9 @@ phoneme k lengthmod 2 wave ustop/k%40 // reduce strength of noise burst before _ ustop/k_ - before (r) ustop/kr%40 + before (r) ustop/kr%45 before r/2 ustop/k%60 - before l ustop/kl%45 - before l/ ustop/kl%45 + before (l) ustop/kl%45 before (i) ustop/ki%45 switchvoicing g endphoneme @@ -405,13 +410,14 @@ phoneme l beforenotvowel l/ formants l/l after _ l/_l + after r/2 l/_l after t l/tl after l/ l/l_long // double l, make it longer endphoneme phoneme l/ // used for [l] when not before a vowel - liquid starttype (l) endtype (l) + liquid palatal starttype (l) endtype (l) length 100 lengthmod 7 formants l/_l @@ -436,13 +442,12 @@ phoneme p vowelin f1=0 f2=1000 -50 -100 f3=-200 80 amp=11 vowelout f1=0 f2=1000 -500 -350 f3=-300 80 rms=22 lengthmod 2 - wave ustop/p%50 + wave ustop/p_unasp_%90 after _ ustop/p%70 before _ ustop/p_%70 - before (r) ustop/pr%35 +// before (r) ustop/pr%45 before @- ustop/p_unasp%60 - before l ustop/pl%30 - before l/ ustop/pl%30 + before (l) ustop/pl%30 switchvoicing b endphoneme @@ -458,21 +463,47 @@ phoneme p2 // silent unless followed by vowel endphoneme -phoneme r - vcd uvl frc starttype (r) endtype (r) - vowelin f1=1 f2=1800 10 10 f3=-200 100 - vowelout f1=1 f2=1800 10 10 f3=-200 100 +phoneme r // between vowels in a word + liquid uvl starttype (r) endtype (r) + vowelin f1=0 f2=1600 -300 300 f3=-200 80 + vowelout f1=2 f2=1600 -300 300 f3=-300 80 length 100 lengthmod 7 beforenotvowel r/2 formants vwl_fr/r + after _ vwl_fr/_r + after k vwl_fr/tr + after p vwl_fr/tr + after t vwl_fr/tr + after r/2 vwl_fr/_r +endphoneme + + +phoneme R // First letter of a word + liquid uvl starttype (r) endtype (r) + vowelin f1=0 f2=1600 -300 300 f3=-200 80 + vowelout f1=2 f2=1600 -300 300 f3=-300 80 + length 100 + lengthmod 0 + beforenotvowel r/2 + formants vwl_fr/r + after _ vwl_fr/_r + after (a) vwl_fr/_r + after (e) vwl_fr/_r + after (@) vwl_fr/_r + after (i) vwl_fr/_r + after (o) vwl_fr/_r + after (u) vwl_fr/_r + after y vwl_fr/_r + after (l) vwl_fr/_r + after r/2 vwl_fr/_r endphoneme phoneme r2 // silent unless followed by vowel - vcd uvl frc starttype (r) endtype (r) - vowelin f1=0 f2=1000 10 10 f3=-200 100 - vowelout f1=0 f2=1200 10 10 f3=-200 100 + liquid uvl starttype (r) endtype (r) + vowelin f1=0 f2=1600 -300 300 f3=-200 80 + vowelout f1=2 f2=1600 -300 300 f3=-300 80 length 100 lengthmod 7 beforenotvowel NULL @@ -482,12 +513,12 @@ endphoneme phoneme r/2 // variant of [r] when not preceding a vowel liquid uvl starttype r/2 endtype r/2 - vowelout f1=2 f2=1800 10 10 f3=-200 100 + vowelout f1=2 f2=1600 -300 300 f3=-300 80 length 100 lengthmod 2 - formants r3/r_2+r3/rx%25 + formants vwl_fr/r_+r3/rx%25 + before m r3/r_n before n r3/r_n - beforevowel r endphoneme @@ -524,7 +555,7 @@ phoneme t lengthmod 2 wave ustop/t_short%40 before _ ustop/t_%40 - before (r) ustop/tr%40 + before (r) ustop/t_short%40 before r/2 ustop/t_short%50 switchvoicing d endphoneme @@ -599,4 +630,3 @@ endphoneme - diff --git a/phsource/ph_tamil b/phsource/ph_tamil index eaa196ca..dbbb65de 100644 --- a/phsource/ph_tamil +++ b/phsource/ph_tamil @@ -2,6 +2,11 @@ // Phonemes for Tamil // This inherits from ph_hindi +phoneme : // Lengthen previous vowel by "length" + virtual + length 50 +endphoneme + phoneme a @@ -56,15 +61,15 @@ endphoneme phoneme o vowel starttype (o) endtype (o) - length 130 + length 160 formants vowel/o endphoneme phoneme o: vowel starttype (o) endtype (o) - length 270 - formants vowel/o + length 280 + formants vowel/o_3 endphoneme @@ -84,7 +89,7 @@ endphoneme phoneme u: vowel starttype (u) endtype (u) length 260 - formants vowel/u + formants vowel/u_6 endphoneme phoneme U: @@ -102,6 +107,22 @@ phoneme u- endphoneme + +phoneme aI + vowel starttype (a) endtype (i) + length 230 + formants vdiph/ai_8 +endphoneme + +phoneme aU + vowel long starttype (a) endtype (u) + length 200 + long + formants vdiph/aau_3 +endphoneme + + + // ?? This is standard [v]. Should be it [v] without the fricative noise? phoneme v vcd lbd frc @@ -113,8 +134,14 @@ phoneme v switchvoicing f endphoneme -phoneme : // Lengthen previous vowel by "length" - virtual - length 50 + +phoneme t // dental variant of /t/ + vls dnt stop + vowelin f1=0 f2=1600 -300 300 f3=-100 80 + vowelout f1=0 f2=1600 -300 250 f3=-100 80 rms=20 + lengthmod 2 + wave ustop/t_dnt2%60 + before _ ustop/t_dnt%30 + switchvoicing d endphoneme diff --git a/phsource/phonemes b/phsource/phonemes index 2c98feb1..71094582 100644 --- a/phsource/phonemes +++ b/phsource/phonemes @@ -1343,3 +1343,29 @@ include ph_armenian phonemetable da base include ph_danish + +phonemetable rw base2 +include ph_kinyarwanda + +phonemetable ml hi +include ph_malayalam + +phonemetable kn hi +include ph_kannada + +phonemetable bn hi +include ph_bengali + +phonemetable ne hi +include ph_nepali + +phonemetable mr hi +include ph_marathi + + +phonemetable eu base2 +include ph_basque + +phonemetable mn base +include ph_mongolian + diff --git a/phsource/vdiph/ai_8 b/phsource/vdiph/ai_8 new file mode 100644 index 00000000..8aceb248 Binary files /dev/null and b/phsource/vdiph/ai_8 differ diff --git a/phsource/vdiph/vowelchart.png b/phsource/vdiph/vowelchart.png index e0518a2b..89729917 100644 Binary files a/phsource/vdiph/vowelchart.png and b/phsource/vdiph/vowelchart.png differ diff --git a/phsource/vdiph2/vowelchart.png b/phsource/vdiph2/vowelchart.png index 6f8edd3a..ddd857f9 100644 Binary files a/phsource/vdiph2/vowelchart.png and b/phsource/vdiph2/vowelchart.png differ diff --git a/phsource/vnasal/vowelchart.png b/phsource/vnasal/vowelchart.png index 52c1971f..52c6bc5c 100644 Binary files a/phsource/vnasal/vowelchart.png and b/phsource/vnasal/vowelchart.png differ diff --git a/phsource/vowel/o_mid2 b/phsource/vowel/o_mid2 new file mode 100755 index 00000000..23dccdb2 Binary files /dev/null and b/phsource/vowel/o_mid2 differ diff --git a/phsource/vowel/vowelchart.png b/phsource/vowel/vowelchart.png index 0a2b4c26..a9b305d1 100644 Binary files a/phsource/vowel/vowelchart.png and b/phsource/vowel/vowelchart.png differ diff --git a/phsource/vwl_fr/@R5 b/phsource/vwl_fr/@R5 index 61f3fd0c..6832edf0 100755 Binary files a/phsource/vwl_fr/@R5 and b/phsource/vwl_fr/@R5 differ diff --git a/phsource/vwl_fr/r_@ b/phsource/vwl_fr/r_@ index 1c463939..9457ff8a 100755 Binary files a/phsource/vwl_fr/r_@ and b/phsource/vwl_fr/r_@ differ diff --git a/phsource/vwl_fr/r_a b/phsource/vwl_fr/r_a index 8002ebd4..af9a7155 100755 Binary files a/phsource/vwl_fr/r_a and b/phsource/vwl_fr/r_a differ diff --git a/phsource/vwl_fr/r_e b/phsource/vwl_fr/r_e index 2df56ece..50b71e07 100755 Binary files a/phsource/vwl_fr/r_e and b/phsource/vwl_fr/r_e differ diff --git a/phsource/vwl_fr/r_i b/phsource/vwl_fr/r_i index 6cbd509b..58bae831 100755 Binary files a/phsource/vwl_fr/r_i and b/phsource/vwl_fr/r_i differ diff --git a/phsource/vwl_fr/r_o b/phsource/vwl_fr/r_o index a7633a9f..b0dd5a9a 100755 Binary files a/phsource/vwl_fr/r_o and b/phsource/vwl_fr/r_o differ diff --git a/phsource/vwl_fr/r_u b/phsource/vwl_fr/r_u index e4652755..83fc6364 100755 Binary files a/phsource/vwl_fr/r_u and b/phsource/vwl_fr/r_u differ diff --git a/phsource/vwl_fr/r_y b/phsource/vwl_fr/r_y index 89236fdd..34d062e7 100755 Binary files a/phsource/vwl_fr/r_y and b/phsource/vwl_fr/r_y differ diff --git a/phsource/vwl_fr/w_a b/phsource/vwl_fr/w_a index c267041f..84674423 100755 Binary files a/phsource/vwl_fr/w_a and b/phsource/vwl_fr/w_a differ diff --git a/platforms/windows/espeakedit/espeakedit.dsp b/platforms/windows/espeakedit/espeakedit.dsp index a28ff5c5..df066433 100755 --- a/platforms/windows/espeakedit/espeakedit.dsp +++ b/platforms/windows/espeakedit/espeakedit.dsp @@ -367,7 +367,7 @@ BSC32=bscmake.exe # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 wxmsw28u_core.lib wxbase28u.lib wxtiff.lib wxjpeg.lib wxpng.lib wxzlib.lib wxregexu.lib wxexpat.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib odbc32.lib /nologo /subsystem:windows /machine:I386 /libpath:".\..\..\lib\vc_lib" -# ADD LINK32 wxmsw28u_core.lib wxbase28u.lib wxmsw28u_adv.lib winmm.lib PAStaticWMME.lib wxtiff.lib wxjpeg.lib wxpng.lib wxzlib.lib wxregexu.lib wxexpat.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib odbc32.lib /nologo /subsystem:windows /machine:I386 /out:"espeakedit.exe" /libpath:".\..\..\lib\vc_lib" +# ADD LINK32 wxmsw28u_core.lib wxbase28u.lib wxmsw28u_adv.lib winmm.lib PAStaticWMME.lib wxtiff.lib wxjpeg.lib wxpng.lib wxzlib.lib wxregexu.lib wxexpat.lib wxmsw28u_html.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib odbc32.lib /nologo /subsystem:windows /machine:I386 /out:"espeakedit.exe" /libpath:".\..\..\lib\vc_lib" !ELSEIF "$(CFG)" == "minimal - Win32 Unicode Debug" @@ -393,7 +393,7 @@ BSC32=bscmake.exe # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 wxmsw28ud_core.lib wxbase28ud.lib wxtiffd.lib wxjpegd.lib wxpngd.lib wxzlibd.lib wxregexud.lib wxexpatd.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib odbc32.lib /nologo /subsystem:windows /debug /machine:I386 /libpath:".\..\..\lib\vc_lib" -# ADD LINK32 wxmsw28ud_core.lib wxbase28ud.lib wxmsw28ud_adv.lib winmm.lib PAStaticWMME.lib wxtiffd.lib wxjpegd.lib wxpngd.lib wxzlibd.lib wxregexud.lib wxexpatd.lib PAStaticWMME.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib odbc32.lib /nologo /subsystem:windows /debug /machine:I386 /libpath:".\..\..\lib\vc_lib" +# ADD LINK32 wxmsw28ud_core.lib wxbase28ud.lib wxmsw28ud_adv.lib wxmsw28ud_html.lib winmm.lib PAStaticWMME.lib wxtiffd.lib wxjpegd.lib wxpngd.lib wxzlibd.lib wxregexud.lib wxexpatd.lib PAStaticWMME.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib odbc32.lib /nologo /subsystem:windows /debug /machine:I386 /libpath:".\..\..\lib\vc_lib" !ELSEIF "$(CFG)" == "minimal - Win32 Release" diff --git a/platforms/windows/make_espeak.iss b/platforms/windows/make_espeak.iss index 1374c291..66bf19e2 100755 --- a/platforms/windows/make_espeak.iss +++ b/platforms/windows/make_espeak.iss @@ -2,7 +2,7 @@ [Setup] AppName=eSpeak -AppVerName=eSpeak version 1.40 +AppVerName=eSpeak version 1.41.01 AppCopyright=Licensed under GNU General Public License version 3. (See file License.txt for details). WindowVisible=yes @@ -140,6 +140,7 @@ begin $26: Result := 'lv'; $2a: Result := 'vi'; $2b: Result := 'hy'; + $2d: Result := 'eu'; $2f: Result := 'mk'; $36: Result := 'af'; $39: Result := 'hi'; @@ -192,6 +193,7 @@ begin 'el': value := $408; 'en': value := $409; 'es': value := $40a; + 'eu': value := $42d; 'fi': value := $40b; 'fr': value := $40c; 'hi': value := $439; diff --git a/platforms/windows/make_espeakedit.iss b/platforms/windows/make_espeakedit.iss index e6569a94..8419908a 100755 --- a/platforms/windows/make_espeakedit.iss +++ b/platforms/windows/make_espeakedit.iss @@ -1,7 +1,7 @@ [Setup] AppName=eSpeakEdit -AppVerName=eSpeakEdit version 1.40 +AppVerName=eSpeakEdit version 1.41.02 DefaultDirName={pf}\eSpeak DefaultGroupName=eSpeak OutputBaseFilename=setup_espeakedit @@ -10,6 +10,11 @@ SolidCompression=yes DirExistsWarning=no ShowLanguageDialog=auto +[Icons] +Name: "{group}\espeakedit"; Filename: "{app}\espeakedit.exe"; WorkingDir: "{app}"; Flags: runmaximized +Name: "{group}\Uninstall espeakedit"; Filename: "{uninstallexe}" + + [Files] Source: "espeakedit.exe"; DestDir: "{app}" ;Source: "dictsource\*"; DestDir: "{app}\dictsource"; Flags: recursesubdirs diff --git a/src/compiledict.cpp b/src/compiledict.cpp index 86a5d14d..89ee4804 100755 --- a/src/compiledict.cpp +++ b/src/compiledict.cpp @@ -40,6 +40,8 @@ int HashDictionary(const char *string); static FILE *f_log = NULL; extern char *dir_dictionary; +extern char word_phonemes[N_WORD_PHONEMES]; // a word translated into phoneme codes + static int linenum; static int error_count; static int transpose_offset; // transpose character range for LookupDictList() @@ -220,6 +222,9 @@ static int compile_line(char *linebuf, char *dict_line, int *hash) unsigned char bad_phoneme[4]; static char nullstring[] = {0}; + WORD_TAB winfo; + char decoded_phonemes[128]; + comment = NULL; text_not_phonemes = 0; phonetic = word = nullstring; @@ -434,6 +439,14 @@ step=1; // TEST if(text_not_phonemes) { + if(word[0] == '_') + { + // This is a special word, used by eSpeak. Translate this into phonemes now +// memset(&winfo,0,sizeof(winfo)); +// TranslateWord(translator,phonetic,0,&winfo); // but *_dict is not loaded ? +// DecodePhonemes(word_phonemes,decoded_phonemes); +//printf("Translator %x %s [%s] [%s]\n",translator->translator_name,word,phonetic,decoded_phonemes); + } // this is replacement text, so don't encode as phonemes. Restrict the length of the replacement word strncpy0(encoded_ph,phonetic,N_WORD_BYTES-4); } diff --git a/src/espeak_command.cpp b/src/espeak_command.cpp index 1b59333c..c0030e63 100644 --- a/src/espeak_command.cpp +++ b/src/espeak_command.cpp @@ -645,7 +645,7 @@ void display_espeak_command( t_espeak_command* the_command) case ET_KEY: { - const char* data = the_command->u.my_key; + const char* data = the_command->u.my_key.key_name; SHOW("display_espeak_command > (0x%x) KEY=%c\n", the_command, data); } break; @@ -662,7 +662,7 @@ void display_espeak_command( t_espeak_command* the_command) case ET_CHAR: { - const wchar_t data = the_command->u.my_char; + const wchar_t data = the_command->u.my_char.character; SHOW("display_espeak_command > (0x%x) CHAR=%c\n", the_command, (char)data); } break; diff --git a/src/espeakedit.cpp b/src/espeakedit.cpp index 850bf847..ed1e3b28 100755 --- a/src/espeakedit.cpp +++ b/src/espeakedit.cpp @@ -28,6 +28,8 @@ #include "wx/mdi.h" #include "wx/laywin.h" #include "wx/sashwin.h" +#include "wx/utils.h" +#include "wx/html/htmlwin.h" #include #include "speak_lib.h" @@ -42,12 +44,17 @@ #include "prosodydisplay.h" +#ifdef deleted static const char *about_string = "espeakedit: %s\nAuthor: Jonathan Duddington (c) 2007\n\n" "Licensed under GNU General Public License version 3\n" "http://espeak.sourceforge.net/"; +#endif +static const char *about_string = "espeakedit %s
Author: Jonathan Duddington (c) 2007
" +"http://espeak.sourceforge.net
" +"Licensed under GNU General Public License version 3
"; -const char *path_data = "/home/jsd1/speechdata/phsource"; +const char *path_data; extern void TestTest(int control); extern void CompareLexicon(int); @@ -88,8 +95,6 @@ wxString AppName = _T("espeakedit"); - - int MyApp::OnExit() {//================ ConfigSave(1); @@ -164,6 +169,7 @@ extern void VoiceReset(int control); myframe->CreateStatusBar(); + myframe->Maximize(); myframe->Show(TRUE); SetTopWindow(myframe); @@ -175,6 +181,7 @@ extern void VoiceReset(int control); BEGIN_EVENT_TABLE(MyFrame, wxMDIParentFrame) EVT_CHAR(MyFrame::OnKey) EVT_MENU(MENU_ABOUT, MyFrame::OnAbout) + EVT_MENU(MENU_DOCS, MyFrame::OnAbout) EVT_MENU(MENU_SPECTRUM, MyFrame::OnNewWindow) EVT_MENU(MENU_SPECTRUM2, MyFrame::OnNewWindow) EVT_MENU(MENU_PROSODY, MyFrame::OnProsody) @@ -258,9 +265,9 @@ wxSashLayoutWindow *win; if((result = LoadPhData()) != 1) { if(result == -1) - wxLogError(_T("Failed to load phoneme data,\nneeds espeak-data/phontab,phondata,phonindex\nPath = ")+wxString(path_home,wxConvLocal)); + wxLogError(_T("Failed to read espeak-data/phontab,phondata,phonindex\nPath = ")+wxString(path_home,wxConvLocal)+_T("\n\nThe 'eSpeak' package needs to be installed")); else - wxLogError(_T("Wrong version of espeak-data: 0x%x (expects 0x%x)"),result,version_phdata); + wxLogError(_T("Wrong version of espeak-data at:\n")+ wxString(path_home,wxConvLocal)+_T("\nVersion 0x%x (expects 0x%x)"),result,version_phdata); error_flag = 1; } @@ -349,13 +356,113 @@ void MyFrame::OnQuit(wxCommandEvent& event) } -void MyFrame::OnAbout(wxCommandEvent& WXUNUSED(event)) -{//=================================================== +#ifdef deleted +void MyFrame::OnAbout(wxCommandEvent& event) +{//========================================= + int result; char buf[300]; + wxString url_docs; - sprintf(buf,about_string,espeak_Info(NULL)); - (void)wxMessageBox(wxString(buf,wxConvLocal), _T("About eSpeak Editor")); + switch(event.GetId()) + { + case MENU_ABOUT: + sprintf(buf,about_string,espeak_Info(NULL)); + (void)wxMessageBox(wxString(buf,wxConvLocal), _T("About eSpeak Editor")); + break; + + case MENU_DOCS: + sprintf(buf,"%s/docs/docindex.html",path_home); + url_docs = wxString(buf,wxConvLocal); + result = wxLaunchDefaultBrowser(url_docs); + if(result == 0) + wxLogStatus(_T("Failed to launch browser")); + break; + } } +#endif + + +class HtmlWindow: public wxHtmlWindow +{ + public: + + HtmlWindow(wxWindow *parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style); + void OnLinkClicked(const wxHtmlLinkInfo& link); +}; + +HtmlWindow::HtmlWindow(wxWindow *parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style): + wxHtmlWindow(parent, id, pos, size, style) +{ +} + +void HtmlWindow::OnLinkClicked(const wxHtmlLinkInfo& link) +{ + if(wxLaunchDefaultBrowser(link.GetHref()) == FALSE) + wxLogStatus(_T("Failed to launch default browser: "+link.GetHref())); +} + + +void MyFrame::OnAbout(wxCommandEvent& event) +{//========================================= + int result; + char buf[300]; + wxString url_docs; + + wxBoxSizer *topsizer; + HtmlWindow *html; + wxDialog dlg(this, wxID_ANY, wxString(_("About"))); + + topsizer = new wxBoxSizer(wxVERTICAL); + + switch(event.GetId()) + { + case MENU_ABOUT: + { + sprintf(buf,about_string,espeak_Info(NULL)); + html = new HtmlWindow(&dlg, wxID_ANY, wxDefaultPosition, wxSize(380, 160), wxHW_SCROLLBAR_NEVER); + html -> SetBorders(0); + html -> SetPage(wxString(buf,wxConvLocal)); + html -> SetSize(html -> GetInternalRepresentation() -> GetWidth(), + html -> GetInternalRepresentation() -> GetHeight()); + + topsizer -> Add(html, 1, wxALL, 10); + +//#if wxUSE_STATLINE +// topsizer -> Add(new wxStaticLine(&dlg, wxID_ANY), 0, wxEXPAND | wxLEFT | wxRIGHT, 10); +//#endif // wxUSE_STATLINE + + wxButton *bu1 = new wxButton(&dlg, wxID_OK, _("OK")); + bu1 -> SetDefault(); + + topsizer -> Add(bu1, 0, wxALL | wxALIGN_RIGHT, 15); + + dlg.SetSizer(topsizer); + topsizer -> Fit(&dlg); + + dlg.ShowModal(); + } + break; + + case MENU_DOCS: + strcpy(buf,"/docs/docindex.html"); + url_docs = wxGetCwd() + wxString(buf,wxConvLocal); // look for "docs" in the current directory + if(!wxFileExists(url_docs)) + { + strcpy(buf,"http://espeak.sourceforge.net/docindex.html"); + url_docs = wxString(buf,wxConvLocal); + } + else + { + url_docs = _T("file://") + url_docs; + } + + result = wxLaunchDefaultBrowser(url_docs); + if(result == 0) + wxLogStatus(_T("Failed to launch default browser: "+url_docs)); + break; + } +} + void OnOptions2(int event_id) diff --git a/src/formantdlg.cpp b/src/formantdlg.cpp index 3f07c66c..0ee2e193 100755 --- a/src/formantdlg.cpp +++ b/src/formantdlg.cpp @@ -54,6 +54,9 @@ void FormantDlg::OnCommand(wxCommandEvent& event) {//============================================= int id; + if(currentcanvas == NULL) + return; + switch(id = event.GetId()) { case T_ZOOMIN: @@ -77,6 +80,9 @@ void FormantDlg::OnSpin(wxSpinEvent& event) {//============================================= int id; + if(currentcanvas == NULL) + return; + switch(id = event.GetId()) { case T_AMPFRAME: @@ -98,6 +104,26 @@ FormantDlg::FormantDlg(wxWindow *parent) : wxPanel(parent,-1,wxDefaultPosition,w int id; wxString string; + int height; + int width; + int x; + int y2 = 420; + int y3 = 520; + + wxClientDisplayRect(&x,&y,&width, &height); +#ifdef PLATFORM_WINDOWS + if(height <= 768) + { + y2 = 410; + y3 = 508; + } +#else + if(height <= 800) + { + y2 = 378; + y3 = 456; + } +#endif y = 24; xplace = 28; id = 201; @@ -188,10 +214,10 @@ FormantDlg::FormantDlg(wxWindow *parent) : wxPanel(parent,-1,wxDefaultPosition,w - t_zoomout = new wxButton(this,T_ZOOMOUT,_T("Zoom-"),wxPoint(16,420)); - t_zoomin = new wxButton(this,T_ZOOMIN,_T("Zoom+"),wxPoint(106,420)); + t_zoomout = new wxButton(this,T_ZOOMOUT,_T("Zoom-"),wxPoint(16,y2)); + t_zoomin = new wxButton(this,T_ZOOMIN,_T("Zoom+"),wxPoint(106,y2)); - y=468; + y = y2 + 46; t_amplitude = new wxSpinCtrl(this,T_AMPLITUDE,_T(""), wxPoint(6,y),wxSize(52,24),wxTE_CENTRE,0,y+130); t_lab[2] = new wxStaticText(this,-1,_T("% amp - Sequence"),wxPoint(61,y+4)); @@ -199,9 +225,9 @@ FormantDlg::FormantDlg(wxWindow *parent) : wxPanel(parent,-1,wxDefaultPosition,w // wxPoint(6,400),wxSize(52,24),wxTE_CENTRE,0,500); t_orig_seq = new wxStaticText(this,-1,_T("mS"),wxPoint(61,y+30)); - t_pitch = new wxStaticText(this,-1,_T(""),wxPoint(4,520),wxSize(192,24)); + t_pitch = new wxStaticText(this,-1,_T(""),wxPoint(4,y3),wxSize(192,24)); - pitchgraph = new ByteGraph(this,wxPoint(0,538),wxSize(200,140)); + pitchgraph = new ByteGraph(this,wxPoint(0,y3+18),wxSize(200,140)); pitchgraph->SetData(128,env_fall); pitchgraph->ShowSpectrum(1); pitchgraph->Show(); diff --git a/src/main.h b/src/main.h index d2308bf8..e70f7608 100755 --- a/src/main.h +++ b/src/main.h @@ -120,6 +120,7 @@ enum { MENU_SPECTRUM2, MENU_CLOSE_ALL, MENU_ABOUT, + MENU_DOCS, MENU_OPTIONS, MENU_PARAMS, diff --git a/src/menus.cpp b/src/menus.cpp index 794f38a6..a5da5f1d 100755 --- a/src/menus.cpp +++ b/src/menus.cpp @@ -115,9 +115,9 @@ wxMenuBar *MakeMenu(int type) lexicon_menu->Append(MENU_LEXICON_IT2, _("Italian, pass 2")); tools_menu = new wxMenu; - tools_menu->Append(MENU_VOWELCHART, _("Make &Vowels Chart..."), vowelchart_menu); + tools_menu->Append(MENU_VOWELCHART, _("Make &Vowels Chart"), vowelchart_menu); // tools_menu->Append(MENU_LOAD_WAV, _T("Analyse WAV file")); - tools_menu->Append(MENU_LEXICON, _("Compare &Lexicon..."), lexicon_menu); + tools_menu->Append(MENU_LEXICON, _("Compare &Lexicon"), lexicon_menu); tools_menu->Append(MENU_TO_UTF8, _("Convert file to &UTF8...")); tools_menu->Append(MENU_COUNT_WORDS, _("Count word &frequencies...")); tools_menu->Append(MENU_TEST , _("Test (temporary)")); @@ -125,6 +125,7 @@ wxMenuBar *MakeMenu(int type) // HELP MENU help_menu = new wxMenu; + help_menu->Append(MENU_DOCS, _("eSpeak &Documentation")); help_menu->Append(MENU_ABOUT, _("&About")); diff --git a/src/numbers.cpp b/src/numbers.cpp index 9c74eaca..64c5b45c 100644 --- a/src/numbers.cpp +++ b/src/numbers.cpp @@ -761,6 +761,7 @@ int TranslateRoman(Translator *tr, char *word, char *ph_out) int value; int subtract; int repeat = 0; + int wflags = 0; unsigned int flags; char ph_roman[30]; char number_chars[N_WORD_BYTES]; @@ -823,7 +824,10 @@ int TranslateRoman(Translator *tr, char *word, char *ph_out) } sprintf(number_chars," %d ",acc); - TranslateNumber(tr, &number_chars[1], p, &flags, 0); + + if(tr->langopts.numbers & NUM_ROMAN_ORDINAL) + wflags |= FLAG_ORDINAL; + TranslateNumber(tr, &number_chars[1], p, &flags, wflags); if(tr->langopts.numbers & NUM_ROMAN_AFTER) strcat(ph_out,ph_roman); @@ -859,47 +863,69 @@ static const char *M_Variant(int value) } -static int LookupThousands(Translator *tr, int value, int thousandplex, char *ph_out) -{//================================================================================== +static int LookupThousands(Translator *tr, int value, int thousandplex, int thousands_exact, char *ph_out) +{//======================================================================================================= int found; + int found_value=0; char string[12]; char ph_of[12]; char ph_thousands[40]; ph_of[0] = 0; - // first look fora match with the exact value of thousands - sprintf(string,"_%dM%d",value,thousandplex); + // first look for a match with the exact value of thousands + if(thousands_exact) + { + // is there a different pronunciation if there are no hundreds,tens,or units ? (LANG=ta) + sprintf(string,"_%dM%dx",value,thousandplex); + found_value = Lookup(tr, string, ph_thousands); + } + if(found_value == 0) + { + sprintf(string,"_%dM%d",value,thousandplex); + found_value = Lookup(tr, string, ph_thousands); + } - if((found = Lookup(tr, string, ph_thousands)) == 0) + if(found_value == 0) { if((value % 100) >= 20) { Lookup(tr, "_0of", ph_of); } - sprintf(string,"_%s%d",M_Variant(value),thousandplex); - - if(Lookup(tr, string, ph_thousands) == 0) + found = 0; + if(thousands_exact) { - // repeat "thousand" if higher order names are not available - sprintf(string,"_%dM1",value); - if((found = Lookup(tr, string, ph_thousands)) == 0) - Lookup(tr, "_0M1", ph_thousands); + // is there a different pronunciation if there are no hundreds,tens,or units ? + sprintf(string,"_%s%dx",M_Variant(value), thousandplex); + found = Lookup(tr, string, ph_thousands); + } + if(found == 0) + { + sprintf(string,"_%s%d",M_Variant(value), thousandplex); + + if(Lookup(tr, string, ph_thousands) == 0) + { + // repeat "thousand" if higher order names are not available + sprintf(string,"_%dM1",value); + if((found_value = Lookup(tr, string, ph_thousands)) == 0) + Lookup(tr, "_0M1", ph_thousands); + } } } sprintf(ph_out,"%s%s",ph_of,ph_thousands); - return(found); + return(found_value); } static int LookupNum2(Translator *tr, int value, int control, char *ph_out) {//======================================================================== // Lookup a 2 digit number -// control bit 0: tens and units (use special form of '1') -// control bit 1: ordinal number -// control bit 2: use feminine form of '2' -// control bit 3: speak zero tens +// control bit 0: ordinal number +// control bit 1: tens and units (use special form of '1', LANG=de "eins") +// control bit 2: tens and units only, no higher digits +// control bit 3: use feminine form of '2' (for thousands +// control bit 4: speak zero tens int found; int ix; @@ -917,27 +943,34 @@ static int LookupNum2(Translator *tr, int value, int control, char *ph_out) found = 0; ph_ordinal[0] = 0; - if(control & 4) + if(control & 8) { sprintf(string,"_%df",value); found = Lookup(tr, string, ph_digits); } - if(control & 2) + else + if(control & 1) { strcpy(ph_ordinal, ph_ordinal2); - sprintf(string,"_%do",value); - if((found = Lookup(tr, string, ph_digits)) != 0) + if(control & 4) { - found_ordinal = 1; + sprintf(string,"_%dox",value); // LANG=hu, special word for 1. 2. when there are no higher digits + found = Lookup(tr, string, ph_digits); } + if(found == 0) + { + sprintf(string,"_%do",value); + found = Lookup(tr, string, ph_digits); + } + found_ordinal = found; } if(found == 0) { - if((value == 1) && (control & 1)) + if((value == 1) && (control & 2)) { - if(Lookup(tr, "_1a", ph_out) != 0) + if(Lookup(tr, "_1a", ph_out) != 0) // LANG=de, "eins" return(0); } sprintf(string,"_%d",value); @@ -946,7 +979,7 @@ static int LookupNum2(Translator *tr, int value, int control, char *ph_out) // no, speak as tens+units - if((control & 8) && (value < 10)) + if((control & 0x10) && (value < 10)) { // speak leading zero Lookup(tr, "_0", ph_tens); @@ -961,7 +994,7 @@ static int LookupNum2(Translator *tr, int value, int control, char *ph_out) { units = (value % 10); - if((control & 2) && ((units == 0) || (tr->langopts.numbers & 0x10))) + if((control & 1) && ((units == 0) || (tr->langopts.numbers & 0x10))) { sprintf(string,"_%dXo",value / 10); if(Lookup(tr, string, ph_tens) != 0) @@ -987,13 +1020,13 @@ static int LookupNum2(Translator *tr, int value, int control, char *ph_out) if(units > 0) { found = 0; - if(control & 4) + if(control & 8) { // is there a variant form of this number? sprintf(string,"_%df",units); found = Lookup(tr, string, ph_digits); } - if((control & 2) && ((tr->langopts.numbers & 0x10) == 0)) + if((control & 1) && ((tr->langopts.numbers & 0x10) == 0)) { // ordinal sprintf(string,"_%do",units); @@ -1011,7 +1044,7 @@ static int LookupNum2(Translator *tr, int value, int control, char *ph_out) } } - if((control & 2) && (found_ordinal == 0) && (ph_ordinal[0] == 0)) + if((control & 1) && (found_ordinal == 0) && (ph_ordinal[0] == 0)) { if((value >= 20) && (((value % 10) == 0) || (tr->langopts.numbers & 0x10))) Lookup(tr, "_ord20", ph_ordinal); @@ -1071,7 +1104,9 @@ static int LookupNum3(Translator *tr, int value, char *ph_out, int suppress_null // bit 1, ordinal number int found; int hundreds; + int tensunits; int x; + int exact; char string[12]; // for looking up entries in **_list char buf1[100]; char buf2[100]; @@ -1083,6 +1118,7 @@ static int LookupNum3(Translator *tr, int value, char *ph_out, int suppress_null char ph_thousand_and[12]; hundreds = value / 100; + tensunits = value % 100; buf1[0] = 0; if(hundreds > 0) @@ -1091,7 +1127,7 @@ static int LookupNum3(Translator *tr, int value, char *ph_out, int suppress_null ph_thousand_and[0] = 0; found = 0; - if((control & 2) && ((value % 100) == 0)) + if((control & 2) && (tensunits == 0)) { // ordinal number, with no tens or units found = Lookup(tr, "_0Co", ph_100); @@ -1111,11 +1147,15 @@ static int LookupNum3(Translator *tr, int value, char *ph_out, int suppress_null { ph_digits[0] = 0; - if(LookupThousands(tr, hundreds / 10, thousandplex+1, ph_10T) == 0) + exact = 0; + if ((value % 1000) == 0) + exact = 1; + + if(LookupThousands(tr, hundreds / 10, thousandplex+1, exact, ph_10T) == 0) { x = 0; if(tr->langopts.numbers2 & (1 << (thousandplex+1))) - x = 4; + x = 8; // use variant (feminine) for before thousands and millions LookupNum2(tr, hundreds/10, x, ph_digits); } @@ -1141,10 +1181,11 @@ static int LookupNum3(Translator *tr, int value, char *ph_out, int suppress_null suppress_null = 1; found = 0; - if((value % 1000) == 100) + if(tensunits == 0) { - // is there a special pronunciation for exactly 100 ? - found = Lookup(tr, "_1C0", ph_digits); + // is there a special pronunciation for exactly n00 ? + sprintf(string,"_%dC0",hundreds); + found = Lookup(tr, string, ph_digits); } if(!found) { @@ -1158,7 +1199,7 @@ static int LookupNum3(Translator *tr, int value, char *ph_out, int suppress_null } else { - if((hundreds > 1) || ((tr->langopts.numbers & 0x400) == 0)) + if((hundreds > 1) || ((tr->langopts.numbers & NUM_OMIT_1_HUNDRED) == 0)) { LookupNum2(tr, hundreds, 0, ph_digits); } @@ -1169,7 +1210,7 @@ static int LookupNum3(Translator *tr, int value, char *ph_out, int suppress_null } ph_hundred_and[0] = 0; - if((tr->langopts.numbers & 0x40) && ((value % 100) != 0)) + if((tr->langopts.numbers & 0x40) && (tensunits != 0)) { if((value > 100) || ((control & 1) && (thousandplex==0))) { @@ -1179,24 +1220,25 @@ static int LookupNum3(Translator *tr, int value, char *ph_out, int suppress_null buf2[0] = 0; - value = value % 100; - if((value != 0) || (suppress_null == 0)) + if((tensunits != 0) || (suppress_null == 0)) { x = 0; if(thousandplex==0) { - x = 1; // allow "eins" for 1 rather than "ein" + x = 2; // allow "eins" for 1 rather than "ein" if(control & 2) x = 3; // ordinal number + if((value < 100) && !(control & 1)) + x |= 4; // tens and units only, no higher digits } else { if(tr->langopts.numbers2 & (1 << thousandplex)) - x = 4; // use variant (feminine) for before thousands and millions + x = 8; // use variant (feminine) for before thousands and millions } - if(LookupNum2(tr, value, x, buf2) != 0) + if(LookupNum2(tr, tensunits, x, buf2) != 0) { if(tr->langopts.numbers & 0x80) ph_hundred_and[0] = 0; // don't put 'and' after 'hundred' if there's 'and' between tens and units @@ -1222,6 +1264,7 @@ static int TranslateNumber_1(Translator *tr, char *word, char *ph_out, unsigned int suppress_null = 0; int decimal_point = 0; int thousandplex = 0; + int thousands_exact = 1; int thousands_inc = 0; int prev_thousands = 0; int ordinal = 0; @@ -1238,6 +1281,8 @@ static int TranslateNumber_1(Translator *tr, char *word, char *ph_out, unsigned char ph_buf[200]; char ph_buf2[50]; char suffix[20]; + char *wordptr; + unsigned int dictflags[2]; static const char str_pause[2] = {phonPAUSE_NOLINK,0}; @@ -1253,6 +1298,16 @@ static int TranslateNumber_1(Translator *tr, char *word, char *ph_out, unsigned // ordinal number is indicated by dot after the number ordinal = 2; word[ix] = ' '; + + if(tr->translator_name == L('h','u')) + { + // lang=hu don't treat dot as ordinal indicator if the next word is a month name ($alt) + dictflags[0] = 0; + wordptr = &word[ix+2]; + LookupDictList(tr, &wordptr, ph_buf, dictflags, 0, NULL); + if(dictflags[0] & FLAG_ALT_TRANS) // TEST + ordinal = 0; + } } else { @@ -1285,6 +1340,9 @@ static int TranslateNumber_1(Translator *tr, char *word, char *ph_out, unsigned } } + if(wflags & FLAG_ORDINAL) + ordinal = 2; + ph_append[0] = 0; ph_buf2[0] = 0; @@ -1329,6 +1387,9 @@ static int TranslateNumber_1(Translator *tr, char *word, char *ph_out, unsigned ix = n_digits + thousands_inc; while(isdigit(word[ix]) && isdigit(word[ix+1]) && isdigit(word[ix+2])) { + if((word[ix] != '0') || (word[ix+1] != '0') || (word[ix+2] != '0')) + thousands_exact = 0; + thousandplex++; if(word[ix+3] == tr->langopts.thousands_sep) ix += (3 + thousands_inc); @@ -1355,7 +1416,7 @@ static int TranslateNumber_1(Translator *tr, char *word, char *ph_out, unsigned { if((thousandplex > 0) && (value < 1000)) { - if((suppress_null == 0) && (LookupThousands(tr,value,thousandplex,ph_append))) + if((suppress_null == 0) && (LookupThousands(tr,value,thousandplex, thousands_exact, ph_append))) { // found an exact match for N thousand value = 0; @@ -1396,7 +1457,7 @@ static int TranslateNumber_1(Translator *tr, char *word, char *ph_out, unsigned while(isdigit(word[n_digits+decimal_count])) decimal_count++; - if(decimal_count > 1) +// if(decimal_count > 1) { max_decimal_count = 2; switch(decimal_mode = (tr->langopts.numbers & 0xe000)) @@ -1420,9 +1481,8 @@ static int TranslateNumber_1(Translator *tr, char *word, char *ph_out, unsigned } break; - case 0x2000: - case 0xa000: - // Italian decimal fractions + case 0x2000: // italian, say "hundredths" is leading zero + case 0xa000: // hungarian, always say "tenths" etc. if(decimal_count <= 4) { LookupNum3(tr, atoi(&word[n_digits]), ph_buf, 0,0,0); @@ -1454,8 +1514,9 @@ static int TranslateNumber_1(Translator *tr, char *word, char *ph_out, unsigned while(isdigit(c = word[n_digits]) && (strlen(ph_out) < (N_WORD_PHONEMES - 10))) { + // speak any remaining decimal fraction digits individually value = word[n_digits++] - '0'; - LookupNum2(tr, value, 1, buf1); + LookupNum2(tr, value, 2, buf1); strcat(ph_out,buf1); } diff --git a/src/spectdisplay.cpp b/src/spectdisplay.cpp index b535fc1f..d170561c 100755 --- a/src/spectdisplay.cpp +++ b/src/spectdisplay.cpp @@ -247,6 +247,9 @@ void SpectDisplay::RefreshDialogValues(int type) int ix; SpectFrame *sf; + if(spectseq == NULL) + return; + sf = spectseq->frames[sframe]; spectseq->amplitude = formantdlg->t_amplitude->GetValue(); diff --git a/src/synthdata.cpp b/src/synthdata.cpp index f348e6b3..bdfd2398 100755 --- a/src/synthdata.cpp +++ b/src/synthdata.cpp @@ -35,7 +35,7 @@ #include "translate.h" #include "wave.h" -const char *version_string = "1.41.01 25.Aug.09"; +const char *version_string = "1.41.08 04.Oct.09"; const int version_phdata = 0x014100; int option_device_number = -1; diff --git a/src/tr_languages.cpp b/src/tr_languages.cpp index 092595a2..67607c80 100644 --- a/src/tr_languages.cpp +++ b/src/tr_languages.cpp @@ -573,7 +573,7 @@ Translator *SelectTranslator(const char *name) tr->langopts.param[LOPT_IT_DOUBLING] = 1; tr->langopts.param[LOPT_COMBINE_WORDS] = 99; // combine some prepositions with the following word - tr->langopts.numbers = 0x1009 + 0xa000 + NUM_ROMAN + 0x10000; + tr->langopts.numbers = 0x1009 + 0xa000 + NUM_ROMAN + NUM_ROMAN_ORDINAL + NUM_ORDINAL_DOT + NUM_OMIT_1_HUNDRED; SetLetterVowel(tr,'y'); tr->langopts.spelling_stress = 1; SetLengthMods(tr,3); // all equal @@ -946,8 +946,13 @@ SetLengthMods(tr,3); // all equal tr->langopts.stress_rule = 0; tr->langopts.stress_flags = 0x10004; // use 'diminished' for unstressed final syllable - tr->letter_bits_offset = OFFSET_TAMIL; + tr->langopts.numbers2 = NUM2_100000; + if(name2 == L('t','a')) + { + tr->letter_bits_offset = OFFSET_TAMIL; + tr->langopts.numbers = 0x1; + } if(name2 == L('m','r')) { tr->letter_bits_offset = OFFSET_DEVANAGARI; @@ -962,7 +967,6 @@ SetLengthMods(tr,3); // all equal { tr->letter_bits_offset = OFFSET_KANNADA; tr->langopts.numbers = 0x1; - tr->langopts.numbers2 = NUM2_100000; } tr->langopts.param[LOPT_WORD_MERGE] = 1; // don't break vowels betwen words SetIndicLetters(tr); // call this after setting OFFSET_ diff --git a/src/translate.cpp b/src/translate.cpp index 56cdd494..0bf287a9 100755 --- a/src/translate.cpp +++ b/src/translate.cpp @@ -615,7 +615,9 @@ int TranslateWord(Translator *tr, char *word1, int next_pause, WORD_TAB *wtab) ph_limit = &phonemes[N_WORD_PHONEMES]; // count the length of the word + if(*word1 == ' ') word1++; // possibly a dot was replaced by space: $dot wordx = word1; + utf8_in(&first_char,wordx); word_length = 0; while((*wordx != 0) && (*wordx != ' ')) @@ -641,6 +643,12 @@ int TranslateWord(Translator *tr, char *word1, int next_pause, WORD_TAB *wtab) else { found = LookupDictList(tr, &word1, phonemes, dictionary_flags, FLAG_ALLOW_TEXTMODE, wtab); // the original word + + if((dictionary_flags[0] & FLAG_DOT) && (wordx[1] == '.')) + { + wordx[1] = ' '; // remove a Dot after this word + } + if(dictionary_flags[0] & FLAG_TEXTMODE) { first_char = word1[0]; @@ -1532,7 +1540,7 @@ static int TranslateWord2(Translator *tr, char *word, WORD_TAB *wtab, int pre_pa max_stress = -1; found_dict_flag = 0; - if(flags & FLAG_FOUND) + if((flags & FLAG_FOUND) && !(flags & FLAG_TEXTMODE)) found_dict_flag = SFLAG_DICTIONARY; while((pre_pause > 0) && (n_ph_list2 < N_PHONEME_LIST-4)) diff --git a/src/translate.h b/src/translate.h index fb048844..48d65eaf 100755 --- a/src/translate.h +++ b/src/translate.h @@ -101,6 +101,7 @@ #define FLAG_NO_TRACE 0x10000 // passed to TranslateRules() to suppress dictionary lookup printout #define FLAG_NO_PREFIX 0x20000 +#define FLAG_ORDINAL 0x40000 // passed to TranslateNumber() to indicate an ordinal number // prefix/suffix flags (bits 8 to 14, bits 16 to 22) don't use 0x8000, 0x800000 #define SUFX_E 0x0100 // e may have been added @@ -327,11 +328,15 @@ typedef struct { unsigned char *length_mods; unsigned char *length_mods0; +#define NUM_OMIT_1_HUNDRED 0x400 +#define NUM_19_HUNDRED 0x800 +#define NUM_ORDINAL_DOT 0x10000 #define NUM_ROMAN 0x20000 #define NUM_ROMAN_UC 0x40000 #define NUM_NOPAUSE 0x80000 -#define NUM_ROMAN_AFTER 0x200000 -#define NUM_VIGESIMAL 0x400000 +#define NUM_ROMAN_AFTER 0x200000 +#define NUM_VIGESIMAL 0x400000 +#define NUM_ROMAN_ORDINAL 0x800000 // bits0-1=which numbers routine to use. // bit2= thousands separator must be space @@ -353,6 +358,7 @@ typedef struct { // bit20='and' before hundreds // bit21= say "roman" after the number, not before // bit22= vigesimal number, if tens are not found + // bit23=Roman numbers are ordinal numbers int numbers; #define NUM2_100000 0x800 // numbers for 100,000 and 10,000,000 diff --git a/src/transldlg.cpp b/src/transldlg.cpp index 4ee2370d..8c660eca 100755 --- a/src/transldlg.cpp +++ b/src/transldlg.cpp @@ -277,14 +277,38 @@ void MakeWave2(PHONEME_LIST *p, int n_phonemes) TranslDlg::TranslDlg(wxWindow *parent) : wxPanel(parent) {//===================================================== + int height; + int width; + int x,y; + int height_ph = 350; + + wxTextAttr attr; + wxFont font = wxFont(12,wxFONTFAMILY_ROMAN,wxFONTSTYLE_NORMAL,wxFONTWEIGHT_LIGHT,false,_T(""),wxFONTENCODING_SYSTEM); + + attr.SetFont(font); + + wxClientDisplayRect(&x,&y,&width, &height); +#ifdef PLATFORM_WINDOWS + if(height <= 768) + height_ph = height - 416; +#else + if(height <= 800) + height_ph = 280; +#endif + + t_source = new wxTextCtrl(this,T_SOURCE,_T(""),wxPoint(0,4), wxSize(298,250),wxTE_MULTILINE); - t_phonetic = new wxTextCtrl(this,T_PHONETIC,_T(""),wxPoint(0,262), - wxSize(298,350),wxTE_MULTILINE); + t_source->SetDefaultStyle(attr); - t_translate = new wxButton(this,T_TRANSLATE,_T("Translate"),wxPoint(4,620)); - t_translate = new wxButton(this,T_RULES,_T("Show Rules"),wxPoint(4,652)); - t_process = new wxButton(this,T_PROCESS,_T("Speak"),wxPoint(100,620)); + + t_phonetic = new wxTextCtrl(this,T_PHONETIC,_T(""),wxPoint(0,262), + wxSize(298,height_ph),wxTE_MULTILINE | wxTE_READONLY); + + y = height_ph + 270; + t_translate = new wxButton(this,T_TRANSLATE,_T("Translate"),wxPoint(4,y)); + t_translate = new wxButton(this,T_RULES,_T("Show Rules"),wxPoint(4,y+32)); + t_process = new wxButton(this,T_PROCESS,_T("Speak"),wxPoint(100,y)); t_source->SetFocus(); } // end of TransDlg::TransDlg diff --git a/src/wave_sada.cpp b/src/wave_sada.cpp index c69a4dc9..d911c539 100755 --- a/src/wave_sada.cpp +++ b/src/wave_sada.cpp @@ -306,7 +306,11 @@ int wave_close(void* theHandler) int wave_is_busy(void* theHandler) { uint32_t time; - wave_get_remaining_time(total_samples_sent - 1, &time); + if (total_samples_sent >= 1) { + wave_get_remaining_time(total_samples_sent - 1, &time); + } else { + time = 0; + } return time != 0; }