espeakedit, add menu item Help->Documentation. lang-hu: fix ordinal numbers. git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@223 d46cf337-b52f-0410-862d-fd96e6ae7743master
| @@ -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 | |||
| @@ -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 | |||
| @@ -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 | |||
| @@ -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 | |||
| @@ -1,97 +1,123 @@ | |||
| Phonemes which are used in the *_rules and *_list files | |||
| Dictionary af_dict | |||
| Dictionary zhy_dict | |||
| & &: 3: @ @- @L @U a | |||
| A: aI AI aU A~ E e: e@ | |||
| eI e~ I i iu O O: o@ | |||
| OI oI o~ u uI W y Y@ | |||
| Yy | |||
| 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 dZ | |||
| f g h j k l L m | |||
| n N p r s S t T | |||
| tS v w x x2 z Z | |||
| b c d f g h j k | |||
| l m n N p r s t | |||
| tS v w z | |||
| Dictionary bn_dict | |||
| Dictionary fr_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 | |||
| @ @- @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 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 | |||
| : 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 ca_dict | |||
| Dictionary nl_dict | |||
| @ a a# aI e E E2 i | |||
| o O u U | |||
| 8 @ @- A a: E e: EI | |||
| eU i I O O: o: u VU | |||
| Wy y Y: yU | |||
| * ** : ; 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; | |||
| * : ; 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 cs_dict | |||
| Dictionary jbo_dict | |||
| @- a a: aU e e: eI eU | |||
| i i: l- o o: oU r- u | |||
| u: | |||
| @ @- a aI aU e eI i | |||
| l- o oI r- 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 | |||
| * - b d dZ f g h | |||
| j k l m n N p R | |||
| s S t tS v w x z | |||
| Z | |||
| Dictionary cy_dict | |||
| Dictionary hu_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 | |||
| A a: E e: i i: o o: | |||
| u u: Y y y: Y: | |||
| : 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 | |||
| : 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 kn_dict | |||
| Dictionary hy_dict | |||
| a a: aI aU e E e: i | |||
| I i: o o: r- u u: V | |||
| y | |||
| @ a aI e eI i i@ o | |||
| u W 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 | |||
| ** 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 de_dict | |||
| Dictionary zh_dict | |||
| 3 @ @- a A A: aI aU | |||
| E E2 E: e: EI I i2 i: | |||
| O o: OY U u: W y y: | |||
| Y: | |||
| @ @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 | |||
| * : ; 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 | |||
| ; 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 | |||
| A: aI AI aU A~ E e: e@ | |||
| eI e~ I i iu O O: o@ | |||
| OI oI o~ u uI W y Y@ | |||
| Yy | |||
| - : ; ? b c d dZ | |||
| f g h j k l L m | |||
| n N p r s S t T | |||
| tS v w x x2 z Z | |||
| Dictionary id_dict | |||
| @ a aI aU e E E2 i | |||
| o O u | |||
| * : ? 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,51 +147,17 @@ s S t T t2 tS v w | |||
| x z Z | |||
| Dictionary eo_dict | |||
| @- a aI aU e eI eU i | |||
| o oI u uI | |||
| * - 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 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 fi_dict | |||
| & &i &y a a2 ai au e | |||
| ei eu ey i I ie iu iy | |||
| o oi ou u ui uo Y y | |||
| Yi yi Yy yY | |||
| : b d f g h j k | |||
| l m n N p r s S | |||
| s2 t v w Z | |||
| Dictionary fr_dict | |||
| Dictionary cs_dict | |||
| @ @- @2 a A~ e E E~ | |||
| i I i- i: o O o2 O2 | |||
| O~ u u: W W2 w^i wA W~ | |||
| y Y | |||
| @- 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 N n2 n^ p | |||
| p2 r r2 s S t t2 t3 | |||
| tS v w z Z z2 z3 | |||
| * ; 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 grc_dict | |||
| @@ -179,6 +171,19 @@ 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 | |||
| @@ -191,67 +196,6 @@ N n^ p r R R2 s S | |||
| t tS ts tS; v x z Z | |||
| Dictionary hi_dict | |||
| @ @- @2 @3 a a: aI aU | |||
| e E e: E: E~ i I i: | |||
| l- o O o: O: O~ o~ r- | |||
| U u: u~ V | |||
| - : b bh c ch d d. | |||
| d.h dh f g gh h H j | |||
| J Jh k kh l l. m n | |||
| N n. n^ p ph Q q r | |||
| r. s S s. t T t. t.h | |||
| th v w x 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 id_dict | |||
| @ a aI aU e E E2 i | |||
| o O u | |||
| * : ? 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 | |||
| 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 it_dict | |||
| @- a a/ aI aU e E eI | |||
| @@ -263,58 +207,19 @@ n^ p r R s S t tS | |||
| ts v w w2 z | |||
| Dictionary jbo_dict | |||
| Dictionary sk_dict | |||
| @ @- a aI aU e eI i | |||
| l- o oI r- u | |||
| & @- a a: e e: i i: | |||
| l- l: o o: oU r- r: u | |||
| u: | |||
| * - b d dZ f g h | |||
| j k l m n N p R | |||
| s S t tS v w x z | |||
| * ; 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 ml_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; t t. t.h th tS v w | |||
| z z. | |||
| Dictionary ne_dict | |||
| @ @/ @2 @3 a aI aU a~ | |||
| e E eI eU e~ E~ i I | |||
| i~ l- o O o: oI oU O~ | |||
| o~ r- u uI u~ V VI VU | |||
| V~ | |||
| - : b bh c ch d d. | |||
| d.h dh f g gh h H j | |||
| J Jh k kh l l. m n | |||
| N n. n^ p ph Q q r | |||
| r. s S s. t T t. t.h | |||
| th v w x z z. | |||
| Dictionary om_dict | |||
| a A a# a: E e E# I | |||
| I# i: O O# o: U U# u: | |||
| ** : 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 | |||
| @@ -326,97 +231,104 @@ q r R s S t tS v | |||
| w x z Z | |||
| Dictionary la_dict | |||
| Dictionary sq_dict | |||
| @- a a: aI aU E e: EU | |||
| I i: O o: OI U u: y | |||
| y: | |||
| @ @/ a A a/ aI E e | |||
| eI i I I# O OI u V | |||
| y yE | |||
| * : ; <h> ? b d f | |||
| g h j k l m n N | |||
| p r R s t w z | |||
| ** : ; 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 lv_dict | |||
| Dictionary sw_dict | |||
| a a: ai au e e: ei i | |||
| i: ie iu o o: u u: ui | |||
| uo | |||
| @- a a/ e i m- n- N- | |||
| o u | |||
| : 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 | |||
| * : 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 mk_dict | |||
| Dictionary fi_dict | |||
| & @ @- @2 a A a: E | |||
| e e: i I i: l- o o: | |||
| oU r- u u: | |||
| & &i &y a a2 ai au e | |||
| ei eu ey i I ie iu iy | |||
| o oi ou u ui uo Y y | |||
| Yi yi Yy yY | |||
| * 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 f g h j k | |||
| l m n N p r s S | |||
| s2 t v w Z | |||
| Dictionary rw_dict | |||
| Dictionary pl_dict | |||
| a e i o u | |||
| a E E# E~ i O O~ u | |||
| y | |||
| * : b B c d dZ f | |||
| g h j J k l m n | |||
| N n^ p q R s S S; | |||
| t tS v w x z | |||
| : ; 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 eu_dict | |||
| Dictionary no_dict | |||
| a aI aU e eI eU i o | |||
| oI u Y | |||
| @ @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 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 | |||
| : ; b d f g h j | |||
| k l m n N p r R | |||
| s S s; t v w x z | |||
| Dictionary nl_dict | |||
| Dictionary vi_dict | |||
| 8 @ @- A a: E e: EI | |||
| eU i I O O: o: u VU | |||
| Wy y Y: yU | |||
| @ @: @: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 f g | |||
| h j k l m n N n^ | |||
| p Q r s S t tS v | |||
| v2 w x z | |||
| 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 no_dict | |||
| Dictionary ro_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 | |||
| @ @- @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 d f g h j | |||
| k l m n N p r R | |||
| s S s; t v w x z | |||
| * *; - b b; c C d | |||
| d; dZ f f; g h j k | |||
| l l; m m; n N n; p | |||
| p; r s S S; t t; tS | |||
| ts ts; v v; w w2 x z | |||
| Z z; Z; | |||
| Dictionary pl_dict | |||
| Dictionary lv_dict | |||
| a E E# E~ i O O~ u | |||
| y | |||
| a a: ai au e e: ei i | |||
| i: ie iu o o: u u: ui | |||
| uo | |||
| : ; 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; | |||
| : 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 | |||
| @@ -433,19 +345,15 @@ S s# s; t T tS ts v | |||
| w x z Z | |||
| Dictionary ro_dict | |||
| Dictionary tr_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 | |||
| a e E i I o O u | |||
| U u# W y Y | |||
| * *; - b b; c C d | |||
| d; dZ f f; g h j k | |||
| l l; m m; n N n; p | |||
| p; r s S S; t t; tS | |||
| ts ts; v v; w w2 x z | |||
| Z z; Z; | |||
| * : b 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 | |||
| @@ -462,6 +370,53 @@ t; ts ts; tS; v x z Z | |||
| z; Z; | |||
| Dictionary eo_dict | |||
| @- a aI aU e eI eU i | |||
| o oI u uI | |||
| * - 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 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 | |||
| 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 | |||
| @@ -474,30 +429,17 @@ 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 | |||
| Dictionary de_dict | |||
| @ @/ a A a/ aI E e | |||
| eI i I I# O OI u V | |||
| y yE | |||
| 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 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 | |||
| * : ; 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 | |||
| @@ -511,74 +453,121 @@ k l m n N p R s | |||
| S s. S; sx t v w z | |||
| Dictionary sw_dict | |||
| Dictionary la_dict | |||
| @- a a/ e i m- n- N- | |||
| o u | |||
| @- a a: aI aU E e: EU | |||
| I i: O o: OI U u: y | |||
| y: | |||
| * : 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 | |||
| * : ; <h> ? b d f | |||
| g h j k l m n N | |||
| p r R s t w z | |||
| Dictionary hi_dict | |||
| @ @- @2 @3 a a: aI aU | |||
| e E e: E: E~ i I i: | |||
| l- o O o: O: O~ o~ r- | |||
| U u: u~ V | |||
| - : b bh c ch d d. | |||
| d.h dh f g gh h H j | |||
| J Jh k kh l l. m n | |||
| N n. n^ p ph Q q r | |||
| r. s S s. t T t. t.h | |||
| th v w x z | |||
| Dictionary ta_dict | |||
| a a: aU e E e: E: i | |||
| a a: aI aU 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. | |||
| : ; 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 tr_dict | |||
| Dictionary bn_dict | |||
| a e E i I o O u | |||
| U u# W y 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 f g | |||
| h j J k l m n p | |||
| Q r R s S t tS v | |||
| w 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 vi_dict | |||
| Dictionary eu_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 | |||
| a aI aU e eI eU i o | |||
| oI u Y | |||
| 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. | |||
| * ** : ; 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 zh_dict | |||
| Dictionary kn_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 | |||
| a a: aI aU e E e: i | |||
| I i: o o: r- u u: V | |||
| y | |||
| ; 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. | |||
| : 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 zhy_dict | |||
| Dictionary ml_dict | |||
| a aa aai aan aau ai au e | |||
| ei eo eoi eu i iu o oe | |||
| oi ong ou u ui yu | |||
| a a: aI aU e E e: i | |||
| I i: o o: r- u u: V | |||
| y | |||
| b c d f g h j k | |||
| l m n N p r s t | |||
| tS v w 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; 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~ | |||
| e E eI eU e~ E~ i I | |||
| i~ l- o O o: oI oU O~ | |||
| o~ r- u uI u~ V VI VU | |||
| V~ | |||
| - : b bh c ch d d. | |||
| d.h dh f g gh h H j | |||
| J Jh k kh l l. m n | |||
| N n. n^ p ph Q q r | |||
| r. s S s. t T t. t.h | |||
| th v w x z z. | |||
| Dictionary pap_dict | |||
| @@ -590,3 +579,13 @@ O u y Y | |||
| j k l m n N n^ p | |||
| R s S t tS v w x | |||
| z Z | |||
| Dictionary rw_dict | |||
| a e i o u | |||
| * : b B c d dZ f | |||
| g h j J k l m n | |||
| N n^ p q R s S S; | |||
| t tS v w x z | |||
| @@ -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 | |||
| @@ -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 | |||
| @@ -24,7 +24,7 @@ | |||
| // 2006-11-18 Gilles Casse <[email protected]> | |||
| // | |||
| // Updated 2009-07-3128 Michel Such <[email protected]> | |||
| // Updated 2009-09-28 Michel Such <[email protected]> | |||
| // | |||
| // * 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 | |||
| @@ -23,7 +23,7 @@ | |||
| // 2006-11-18 Gilles Casse <[email protected]> | |||
| // | |||
| // Updated: 2009-07-31 Michel Such <[email protected]> | |||
| // Updated: 2009-09-25 Michel Such <[email protected]> | |||
| // | |||
| // 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 | |||
| As) e (gA | |||
| As) e (pA | |||
| Av) e (gA // sauvegarde | |||
| Av) e (pA | |||
| %C) e (xA E2 | |||
| @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 | |||
| @@ -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 | |||
| @@ -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: | |||
| C) tj c | |||
| éle) t t | |||
| 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 | |||
| @@ -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 | |||
| @@ -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 | |||
| @@ -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 | |||
| @@ -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 | |||
| @@ -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 | |||
| @@ -1,7 +1,7 @@ | |||
| //==================================================== | |||
| // French | |||
| //==================================================== | |||
| // Updated 2009-07-30 Michel Such <[email protected]> | |||
| // Updated 2009-09-30 Michel Such <[email protected]> | |||
| 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+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-10+vwl_fr/r_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 | |||
| after (l) l/l@-20 | |||
| 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 | |||
| 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_@ | |||
| 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 | |||
| @@ -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 | |||
| @@ -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 | |||
| @@ -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" | |||
| @@ -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; | |||
| @@ -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 | |||
| @@ -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); | |||
| } | |||
| @@ -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; | |||
| @@ -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 <locale.h> | |||
| #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 = "<font size=0><b>espeakedit </b> %s<br>Author: Jonathan Duddington (c) 2007<br>" | |||
| "<a href=\"http://espeak.sourceforge.net/\">http://espeak.sourceforge.net</a><br>" | |||
| "Licensed under <a href=\"http://espeak.sourceforge.net/license.html\">GNU General Public License version 3</a></font>"; | |||
| 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,15 +356,115 @@ 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; | |||
| 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); | |||
| sprintf(buf,about_string,espeak_Info(NULL)); | |||
| (void)wxMessageBox(wxString(buf,wxConvLocal), _T("About eSpeak Editor")); | |||
| 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) | |||
| {//========================== | |||
| wxString string; | |||
| @@ -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(); | |||
| @@ -120,6 +120,7 @@ enum { | |||
| MENU_SPECTRUM2, | |||
| MENU_CLOSE_ALL, | |||
| MENU_ABOUT, | |||
| MENU_DOCS, | |||
| MENU_OPTIONS, | |||
| MENU_PARAMS, | |||
| @@ -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")); | |||
| @@ -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) | |||
| { | |||
| // 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) | |||
| { | |||
| // 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); | |||
| 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) | |||
| { | |||
| 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) | |||
| { | |||
| found_ordinal = 1; | |||
| 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); | |||
| } | |||
| @@ -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(); | |||
| @@ -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; | |||
| @@ -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_ | |||
| @@ -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)) | |||
| @@ -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 | |||
| @@ -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_source->SetDefaultStyle(attr); | |||
| t_phonetic = new wxTextCtrl(this,T_PHONETIC,_T(""),wxPoint(0,262), | |||
| wxSize(298,350),wxTE_MULTILINE); | |||
| wxSize(298,height_ph),wxTE_MULTILINE | wxTE_READONLY); | |||
| 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)); | |||
| 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 | |||
| @@ -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; | |||
| } | |||