lang=de improve de_rules. git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@34 d46cf337-b52f-0410-862d-fd96e6ae7743master
| @@ -85,225 +85,6 @@ vgl fE*gl'aIC@ | |||
| z.b tsUmb'aISpi:l | |||
| // English words | |||
| //============== | |||
| // de_rules includes the words ending in "-ing" | |||
| access _^_EN | |||
| account _^_EN | |||
| aid _^_EN // aids | |||
| appeal _^_EN | |||
| apple _^_EN | |||
| baseball _^_EN | |||
| bbc _^_EN | |||
| beat _^_EN | |||
| browser _^_EN | |||
| byte _^_EN | |||
| camcorder _^_EN | |||
| chart _^_EN | |||
| coach _^_EN | |||
| coke _^_EN | |||
| computer _^_EN | |||
| cool _^_EN | |||
| couch _^_EN | |||
| cursor _^_EN | |||
| dj _^_EN | |||
| email _^_EN | |||
| ensemble _^_FR | |||
| event _^_EN | |||
| firewall _^_EN | |||
| foul _^_EN | |||
| foyer _^_EN | |||
| frame _^_EN | |||
| freak _^_EN | |||
| gin _^_EN | |||
| groupie _^_EN | |||
| hip _^_EN | |||
| homepage _^_EN | |||
| hooligan _^_EN | |||
| interface _^_EN | |||
| jean _^_EN | |||
| jet _^_EN | |||
| job _^_EN | |||
| joke _^_EN | |||
| joystick _^_EN | |||
| junkie _^_EN | |||
| laptop _^_EN | |||
| laser _^_EN | |||
| level _^_EN | |||
| login _^_EN | |||
| look _^_EN | |||
| macho _^_EN | |||
| mail _^_EN | |||
| message _^_EN | |||
| offline _^_EN | |||
| online _^_EN | |||
| out _^_EN | |||
| pair _^_EN | |||
| penthouse _^_EN | |||
| pidgin _^_EN | |||
| plot _^_EN | |||
| poster _^_EN | |||
| receiver _^_EN | |||
| remake _^_EN | |||
| roadie _^_EN | |||
| roastbeef _^_EN | |||
| quiz _^_EN | |||
| run _^_EN | |||
| scanner _^_EN | |||
| science _^_EN | |||
| server _^_EN | |||
| sex _^_EN | |||
| sexy _^_EN | |||
| shirt _^_EN | |||
| show _^_EN | |||
| single _^_EN | |||
| slip _^_EN | |||
| slum _^_EN | |||
| small _^_EN | |||
| snob _^_EN | |||
| song _^_EN | |||
| spam _^_EN | |||
| spirit _^_EN | |||
| squaw _^_EN | |||
| suite _^_EN | |||
| sweatshirt _^_EN | |||
| talk _^_EN | |||
| teaser _^_EN | |||
| tech _^_EN | |||
| terminal _^_EN | |||
| trip _^_EN | |||
| tuner _^_EN | |||
| unix _^_EN | |||
| window _^_EN | |||
| word _^_EN | |||
| // Main exceptions list | |||
| //===================== | |||
| allein $2 | |||
| andre and@-*@ // andere | |||
| anomalie $2 | |||
| akazie $alt | |||
| arie $alt | |||
| arterie $alt | |||
| außerdem aUs3de:m | |||
| beben be:b@n | |||
| beere be:*@ | |||
| bestie bEstI@ | |||
| best bEst | |||
| beten be:t@n | |||
| bronchie $alt | |||
| ciao tSaU | |||
| coup ku: | |||
| dahlie $alt | |||
| deshalb $2 | |||
| dezember $2 | |||
| duett du:'Et | |||
| direkt $2 | |||
| dritte d@-*It@ | |||
| einander aIn'and3 | |||
| einig aInIC | |||
| endivie $alt | |||
| erde E*d@ | |||
| erst E*st | |||
| furie $alt | |||
| geben ge:b@n | |||
| geber ge:b3 | |||
| gegenüber ge:g@n'y:b3 | |||
| gemein g@maIn | |||
| genial ge:nI'al | |||
| geranie ge:*'A:nI@ | |||
| gessen gEs@n | |||
| geste ge:st@ | |||
| gestern gEst3n | |||
| gestrig gEst@-*IC | |||
| glorie $alt | |||
| grazie $alt | |||
| handy handI | |||
| historie $alt | |||
| hm h@m | |||
| hostie $alt | |||
| immobilie $alt | |||
| injurie $alt | |||
| insbesondere $3 | |||
| interess Int@*'Es | |||
| januar janu:A:* | |||
| kamelie $alt | |||
| kastanie $alt | |||
| kid kId | |||
| kommend kOm'End | |||
| komödie $alt | |||
| kurie $alt | |||
| lappalie $alt | |||
| lilie $alt | |||
| linie $alt | |||
| luetisch lu:'e:tIS | |||
| machen max@n | |||
| marginalie $alt | |||
| materie $alt | |||
| menuette mEnu:'Et | |||
| mikrofiche maIk@-*o:fIS | |||
| miteinander $1 | |||
| mitte mIt@ | |||
| mumie $alt | |||
| oberen o:b@*@n | |||
| oboe o:bo:@ | |||
| orgie $alt | |||
| ok o:k'e: | |||
| petersilie $alt | |||
| pinie $alt | |||
| präsident $3 | |||
| prämie $alt | |||
| problem p@-*Obl'e:m | |||
| reliquie $alt | |||
| rupie $alt | |||
| sagt zA:gt | |||
| selbst zElpst | |||
| serie se:*I;@ | |||
| service sE*vIs | |||
| sofort $2 | |||
| sogar $2 | |||
| soweit $2 | |||
| sowohl $2 | |||
| system z%IstEm | |||
| tag tA:g | |||
| the D@ // English | |||
| theater te:'A:t3 | |||
| tuerei tu:*aI | |||
| unten Unt@n | |||
| verein fE*'aIn | |||
| vielleicht $2 | |||
| vorbei fO*b'aI | |||
| //wahrscheinlich $2 | |||
| warum vA:*'Um | |||
| zoom zu:m | |||
| zuerst tsu:'E*st | |||
| zudem tsu:'de:m | |||
| zurück $2 | |||
| // definite article | |||
| der %dE* | |||
| die %di: | |||
| @@ -331,7 +112,8 @@ bevor be:f'o:* $pause | |||
| also $pause $strend | |||
| wenn ,vEn $pause $strend | |||
| sowie $2 $pause | |||
| obgleich $2 $pause | |||
| obwohl $2 $pause | |||
| deren ,dE*@n $brk | |||
| // prepositions | |||
| @@ -526,3 +308,232 @@ sollst ,zOlst | |||
| sollte ,zOlt@ | |||
| sollten ,zOlt@n | |||
| // English words | |||
| //============== | |||
| // de_rules includes the words ending in "-ing" | |||
| access _^_EN | |||
| account _^_EN | |||
| aid _^_EN // aids | |||
| appeal _^_EN | |||
| apple _^_EN | |||
| baseball _^_EN | |||
| bbc _^_EN | |||
| beat _^_EN | |||
| browser _^_EN | |||
| byte _^_EN | |||
| camcorder _^_EN | |||
| chart _^_EN | |||
| coach _^_EN | |||
| coke _^_EN | |||
| computer _^_EN | |||
| cool _^_EN | |||
| couch _^_EN | |||
| cursor _^_EN | |||
| dj _^_EN | |||
| email _^_EN | |||
| ensemble _^_FR | |||
| event _^_EN | |||
| firewall _^_EN | |||
| foul _^_EN | |||
| foyer _^_EN | |||
| frame _^_EN | |||
| freak _^_EN | |||
| gin _^_EN | |||
| groupie _^_EN | |||
| hip _^_EN | |||
| homepage _^_EN | |||
| hooligan _^_EN | |||
| interface _^_EN | |||
| jean _^_EN | |||
| jet _^_EN | |||
| job _^_EN | |||
| joke _^_EN | |||
| joystick _^_EN | |||
| junkie _^_EN | |||
| laptop _^_EN | |||
| laser _^_EN | |||
| level _^_EN | |||
| login _^_EN | |||
| look _^_EN | |||
| macho _^_EN | |||
| mail _^_EN | |||
| message _^_EN | |||
| offline _^_EN | |||
| online _^_EN | |||
| out _^_EN | |||
| pair _^_EN | |||
| penthouse _^_EN | |||
| pidgin _^_EN | |||
| plot _^_EN | |||
| poster _^_EN | |||
| receiver _^_EN | |||
| remake _^_EN | |||
| roadie _^_EN | |||
| roastbeef _^_EN | |||
| quiz _^_EN | |||
| run _^_EN | |||
| scanner _^_EN | |||
| science _^_EN | |||
| server _^_EN | |||
| sex _^_EN | |||
| sexy _^_EN | |||
| shirt _^_EN | |||
| show _^_EN | |||
| single _^_EN | |||
| slip _^_EN | |||
| slum _^_EN | |||
| small _^_EN | |||
| snob _^_EN | |||
| song _^_EN | |||
| spam _^_EN | |||
| spirit _^_EN | |||
| squaw _^_EN | |||
| suite _^_EN | |||
| sweatshirt _^_EN | |||
| talk _^_EN | |||
| teaser _^_EN | |||
| tech _^_EN | |||
| terminal _^_EN | |||
| trip _^_EN | |||
| tuner _^_EN | |||
| unix _^_EN | |||
| window _^_EN | |||
| word _^_EN | |||
| // Main exceptions list | |||
| //===================== | |||
| abort ab'O*t | |||
| allein $2 | |||
| andre and@-*@ // andere | |||
| anomalie $2 | |||
| akazie $alt | |||
| arie $alt | |||
| arterie $alt | |||
| außerdem aUs3de:m | |||
| beben be:b@n | |||
| beere be:*@ | |||
| bestie bEstI@ | |||
| best bEst | |||
| beten be:t@n | |||
| bronchie $alt | |||
| ciao tSaU | |||
| coup ku: | |||
| dahlie $alt | |||
| deshalb $2 | |||
| dezember $2 | |||
| diadem di:ad'e:m | |||
| duett du:'Et | |||
| direkt $2 | |||
| dritte d@-*It@ | |||
| einander aIn'and3 | |||
| einig aInIC $only | |||
| einige aInIg@ $u+ | |||
| einiges aInIg@s $u+ | |||
| endivie $alt | |||
| erde E*d@ | |||
| erst E*st | |||
| furie $alt | |||
| geben ge:b@n | |||
| geber ge:b3 | |||
| gegenüber ge:g@n'y:b3 | |||
| gemein g@maIn | |||
| genial ge:nI'al | |||
| geranie ge:*'A:nI@ | |||
| gessen gEs@n | |||
| geste ge:st@ | |||
| gestern gEst3n | |||
| gestrig gEst@-*IC | |||
| glorie $alt | |||
| grazie $alt | |||
| handy handI | |||
| heimat haImat | |||
| historie $alt | |||
| hm h@m | |||
| hostie $alt | |||
| immobilie $alt | |||
| injurie $alt | |||
| insbesondere $3 | |||
| interess Int@*'Es | |||
| januar janu:A:* | |||
| kamelie $alt | |||
| kastanie $alt | |||
| kid kId | |||
| kommend kOm'End | |||
| komödie $alt | |||
| kurie $alt | |||
| lappalie $alt | |||
| lilie $alt | |||
| linie $alt | |||
| luetisch lu:'e:tIS | |||
| machen max@n | |||
| marginalie $alt | |||
| materie $alt | |||
| menuette mEnu:'Et | |||
| mikrofiche maIk@-*o:fIS | |||
| miteinander $1 | |||
| mitte mIt@ | |||
| mumie $alt | |||
| oberen o:b@*@n | |||
| oboe o:bo:@ | |||
| orgie $alt | |||
| ok o:k'e: | |||
| petersilie $alt | |||
| pinie $alt | |||
| präsident $3 | |||
| prämie $alt | |||
| problem p@-*Obl'e:m | |||
| reliquie $alt | |||
| rupie $alt | |||
| sabbat zabat | |||
| sagt zA:gt | |||
| selbst zElpst | |||
| serie se:*I;@ | |||
| service sE*vIs | |||
| sofort $2 | |||
| sogar $2 | |||
| soweit $2 | |||
| sowohl $2 | |||
| system z%IstEm | |||
| tag tA:g | |||
| the D@ // English | |||
| theater te:'A:t3 | |||
| tuerei tu:*aI | |||
| unten Unt@n | |||
| woher vo:h'e:r | |||
| verein fE*'aIn | |||
| vielleicht $2 | |||
| vorbei fO*b'aI | |||
| //wahrscheinlich $2 | |||
| warum vA:*'Um | |||
| zoom zu:m | |||
| zuerst tsu:'E*st | |||
| zudem tsu:'de:m | |||
| zurück $2 | |||
| @@ -11,15 +11,21 @@ | |||
| a (C% a | |||
| a (CC a | |||
| a (sch a | |||
| a (x a | |||
| &CC) a (_ =A: | |||
| ai aI | |||
| ay aI | |||
| au aU | |||
| _) ab (@P2 'ab | |||
| _) ab (C@P2 'ap | |||
| _) ab (arP2 'ap | |||
| _) abb (a %ab | |||
| _) abb (rev ab | |||
| _) abend A:b@nt | |||
| _) ab (er@P2 'ap | |||
| _) abge (@ 'abg@ | |||
| _) ab (i ab | |||
| _) abzu 'abtsu: | |||
| _) an (@P2 'an | |||
| _) an (der an | |||
| @@ -34,17 +40,21 @@ | |||
| @) an (_ 'an | |||
| @) ant (_ 'ant | |||
| _) anthropo ,ant@-*o:p%o: | |||
| @) atisch (_S6 'A:tIS | |||
| @) atisieren (_S9 A:tIs'i:*@n | |||
| _) anti (@P4 ,anti: | |||
| anier (_ 'A:ni:3 | |||
| arier (_ 'A:*i:3 | |||
| adier (_ 'A:di:3 | |||
| @) at (_ 'A:t | |||
| @) atisch (_S6 'A:tIS | |||
| @) atisieren (_S9 A:tIs'i:*@n | |||
| a (tion a | |||
| .group b | |||
| _) b (_ be: | |||
| b b | |||
| b) b | |||
| b (_N p | |||
| b (h p | |||
| b (s_ p | |||
| bt (_N pt | |||
| @@ -68,6 +78,7 @@ | |||
| _) b (eul b | |||
| _) b (eut b | |||
| _o) b (C p | |||
| baby _^_EN | |||
| beten be:t@n | |||
| _) bike _^_EN | |||
| @@ -86,6 +97,12 @@ | |||
| u) ch x | |||
| äu) ch C | |||
| eu) ch C | |||
| C) chen (_$4 C@n | |||
| ä) chen (_$4 C@n | |||
| e) chen (_$4 C@n | |||
| i) chen (_$4 C@n | |||
| ü) chen (_$4 C@n | |||
| _) chr k@-* | |||
| chs ks | |||
| ck k | |||
| @@ -99,10 +116,8 @@ | |||
| chip _^_EN | |||
| _) ch (ol k | |||
| _) ch (or k | |||
| @) chen (_$4 C@n | |||
| bre) ch (en x | |||
| spro) ch (en x // not spro-chen | |||
| wo) ch (en+ x | |||
| nä) chs (t Cs | |||
| coat (_ _^_EN | |||
| _) code ko:t | |||
| @@ -115,6 +130,7 @@ | |||
| d d | |||
| d) d | |||
| d (_N t | |||
| d (h t | |||
| d (s_ t | |||
| dt t | |||
| ddt t | |||
| @@ -122,6 +138,7 @@ | |||
| _) deal _^_EN | |||
| design _^_EN | |||
| dge (_ _^_EN | |||
| _) dia d,i:a | |||
| drive _^_EN | |||
| _) drug _^_EN | |||
| @@ -135,35 +152,37 @@ | |||
| e (C% E | |||
| e (CC E | |||
| e (sch E | |||
| e (x E | |||
| ei aI | |||
| eu OI | |||
| ey (_ e: | |||
| ell (_ 'El | |||
| &) e (_$1 @ | |||
| &) e (_S1 @ | |||
| @t) e (_S1 @ | |||
| &) e (BB_ E2 | |||
| e (gt_+ e: | |||
| &) el (_ @l | |||
| &) em (_$2 @m | |||
| @) en (_$2 @n | |||
| &) eln (_S1 n | |||
| &) em (_S2 @m | |||
| @) en (_S2 @n | |||
| @) er (C 3 | |||
| @) er (r E* | |||
| @) er (nC E* | |||
| @) er (_$2 3 | |||
| &) ere (_$3 @*@ | |||
| &) erem (_$4 @*@m | |||
| &) eren (_$4 @*@n | |||
| &) erer (_$4 @*3 | |||
| &) eres (_$4 @*@s | |||
| @) er (_S2 3 | |||
| &) ere (_S3 @*@ | |||
| &) erem (_S4 @*@m | |||
| &) eren (_S4 @*@n | |||
| &) erer (_S4 @*3 | |||
| &) eres (_S4 @*@s | |||
| &) er (C_ @* | |||
| &) er (n_ @r | |||
| &) er (r_ E | |||
| w) er (k_ E* | |||
| @) es (_$2 @s | |||
| @) es (_S2 @s | |||
| &) et (_ @t | |||
| Ad) ent (_ 'Ent | |||
| @) ent (_ 'Ent | |||
| @m) ent (_ 'Ent | |||
| @m) ente (_ 'Ent@ | |||
| &) est (_ @st | |||
| @@ -177,6 +196,7 @@ | |||
| _) ein (@P3 'aIn | |||
| ein (and _|%aIn | |||
| _) einig aInIg | |||
| _) emp (@P3 _|%Emp | |||
| _) ent (@P3 _|%Ent | |||
| _) enten Ent@n | |||
| @@ -190,6 +210,7 @@ | |||
| _) entert _^_EN | |||
| _) erob (er %E*o:b | |||
| @) eur (_ 'Y:* | |||
| .group f | |||
| @@ -207,6 +228,7 @@ | |||
| g g | |||
| g) g | |||
| g (_N k | |||
| g (h k | |||
| gd (_N kt | |||
| gt (_N kt | |||
| @@ -252,6 +274,7 @@ | |||
| _) hinge (@P5 h'Ing@ | |||
| _) haupt (@@P5 h'aUpt | |||
| // @) heit (_S4 haIt | |||
| _) high _^_EN | |||
| _) hinter (@ h,Int3 | |||
| _) hyper _^_EN | |||
| @@ -267,9 +290,12 @@ | |||
| i (C% I | |||
| i (CC I | |||
| i (sch I | |||
| i (x I | |||
| @) i (ng I | |||
| &CC) i (_ =i: | |||
| @) i (at_ I | |||
| &) ie (ll_ i:,E | |||
| &) ier (_ 'i:3 | |||
| r) ien (@ IEn | |||
| @@ -284,8 +310,14 @@ | |||
| ierung 'i:*UN | |||
| ig (C IC | |||
| ig (m Ig | |||
| ig (n Ig | |||
| ig (l Ig | |||
| ig (r Ig | |||
| ig (_N IC | |||
| &) ig (_ Ig // -ig + inflexions | |||
| @) ik (_ 'i:k | |||
| @) ik (el_ 'i:k | |||
| @) ie (_ 'i: | |||
| bakter) ie =I@ | |||
| @@ -295,12 +327,16 @@ | |||
| formal) ie =I@ | |||
| stud) ie (_ =I@ | |||
| igh aI | |||
| @) ing (_N _^_EN | |||
| @) ion (_ j'o:n | |||
| @) ional (_ jo:n,al | |||
| @) is (_ Is | |||
| &) isch (_ =IS | |||
| @) ität (_S4 It'e:t | |||
| @) ist (_ 'Ist | |||
| @) it (_N 'It | |||
| @) ite (_ 'i:t@ | |||
| @) ität (_S4 i:t'E:t | |||
| .group j | |||
| _) j (_ jOt | |||
| @@ -311,9 +347,12 @@ | |||
| k k | |||
| k) k | |||
| @) keit (_$4 kaIt | |||
| // @) keit (_$4 kaIt | |||
| kolleg k%Ole:g | |||
| _) ko (mp k%O | |||
| _) ko (mpost kO | |||
| .group l | |||
| _) l (_ El | |||
| @@ -321,6 +360,7 @@ | |||
| l) l | |||
| lin (_ l'i:n | |||
| _) leit (@P4 l'aIt | |||
| @) lich (_$4 lIC | |||
| lady _^_EN | |||
| @) lo (gisch l'o: | |||
| @@ -335,6 +375,7 @@ | |||
| _) micro _^_EN | |||
| _) mit (P3 m'It | |||
| mitt (eC mIt | |||
| mitt (l mIt | |||
| _) ms _^_EN | |||
| musik m%u:zi:k | |||
| @@ -364,6 +405,7 @@ | |||
| o (C% O | |||
| o (CC O | |||
| o (sch O | |||
| o (x O | |||
| &CC) o (_ =o: | |||
| _) ober (@P4 _|,o:b3 | |||
| @@ -412,11 +454,16 @@ | |||
| A) s (_N s | |||
| A) s (_ z | |||
| ss s | |||
| sst (@ sSt | |||
| p) s (a s | |||
| sch S | |||
| sch (en_ sC | |||
| _) sh S | |||
| sh (K S | |||
| p) s (i s | |||
| t) s (i s | |||
| k) s (i s | |||
| _) sp Sp | |||
| _be) sp Sp | |||
| _ge) sp Sp | |||
| @@ -477,10 +524,13 @@ | |||
| u (C% U | |||
| u (CC U | |||
| u (sch U | |||
| u (x U | |||
| @) u (ng U | |||
| @) u (m_ U | |||
| rt) u (m_ u: | |||
| _) un Un | |||
| _) un (C@P2 Un | |||
| _) un (C@P2 'Un | |||
| _) unbe (@P4 _|,Unb@ | |||
| _) unge (@P4 _|,Ung@ | |||
| _) unver (@P5 _|,UnfE* | |||
| @@ -522,6 +572,8 @@ | |||
| @) wert (_ vE*t | |||
| _) wh _^_EN | |||
| &) ware (_ _^_EN | |||
| _) wo (hin v%o: | |||
| _) wohl (@P4 v'o:l | |||
| work _^_EN | |||
| @@ -535,6 +587,7 @@ | |||
| y y: | |||
| y (CC y | |||
| y (x y | |||
| y (A j | |||
| @) y (_ I | |||
| t) y (_ _^_EN | |||
| @@ -573,6 +626,7 @@ | |||
| ü (C% y | |||
| ü (CC y | |||
| ü (sch y | |||
| ü (x y | |||
| _) über (@P4 _|,y:b3 | |||
| @@ -157,7 +157,7 @@ o: u u: y Y y: Y: | |||
| * : b c C d dZ f | |||
| g h j J k l m n | |||
| N n^ p r R s S s2 | |||
| t tS ts v z Z | |||
| t tS ts v z Z z2 | |||
| Dictionary it_dict | |||
| @@ -298,15 +298,15 @@ Dictionary ro_dict | |||
| @ @- @I @U a aI aU e | |||
| ea eI eo eU i i/ I^ iI | |||
| iU o Oa oI oU u uI y | |||
| Y yI yU | |||
| iU o O Oa oI oU u uI | |||
| y Y yI yU | |||
| * *; b b; c C d d; | |||
| dZ f f; g h j k l | |||
| l; m m; n N n; p p; | |||
| r s S s; S; t T t; | |||
| tS ts ts; v v; w w2 z | |||
| Z z; Z; | |||
| r s S s; S; t t; tS | |||
| ts ts; v v; w z Z z; | |||
| Z; | |||
| Dictionary is_dict | |||
| @@ -5152,9 +5152,10 @@ | |||
| _) ++ (_ plVspl'Vs | |||
| \+\+\+) + // ignore + after the first 3 | |||
| # (\#\# | |||
| \#\#) # (\# | |||
| \#\#) # (_ _:: | |||
| A_) # haS | |||
| C_) # haS | |||
| \#) # | |||
| . d0t | |||
| D) . (D+ ,pOInt | |||
| @@ -254,25 +254,24 @@ _minde) gy (ik J: | |||
| zs Z | |||
| zzs Z: | |||
| gá) z (sz z|| // don't devoice [z] to [s] | |||
| gé) z (sz z | |||
| há) z (so z|| | |||
| há) z (sz z | |||
| lá) z (sz z | |||
| má) zc (sz z | |||
| mé) zc (sz z | |||
| nehé) z (sé z|| | |||
| tű) z (sz z | |||
| vi) z (sz z|| | |||
| ví) z (sz z|| | |||
| ga) zs (ág zS | |||
| _gá) zsz (ámla zs: | |||
| _gá) zsz (ámlá zs: | |||
| _ré) zs (ó zS | |||
| _vá) zs (or zS | |||
| _szára) zs (ág zS | |||
| _kö) zs (ég zS | |||
| gá) z (sz z2 // don't devoice [z] to [s] | |||
| gé) z (sz z2 | |||
| há) z (so z2 | |||
| há) z (sz z2 | |||
| lá) z (sz z2 | |||
| má) zc (sz z2 | |||
| mé) zc (sz z2 | |||
| nehé) z (sé z2 | |||
| tű) z (sz z2 | |||
| ví) z (sz z2 | |||
| ga) zs (ág z2S | |||
| _gá) zsz (ámla z2s: | |||
| _gá) zsz (ámlá z2s: | |||
| _ré) zs (ó z2S | |||
| _vá) zs (or z2S | |||
| _szára) zs (ág z2S | |||
| _kö) zs (ég z2S | |||
| .group | |||
| @@ -380,3 +380,7 @@ z se:t& | |||
| // MAIN WORD DICTIONARY | |||
| //********************* | |||
| bolla bOll& | |||
| halló h&lloU | |||
| mylla mIll& | |||
| @@ -161,12 +161,15 @@ această $u+ | |||
| acel $u+ // that | |||
| acea $u+ // that | |||
| acei $u+ // those | |||
| acele $u1+ // those | |||
| acele $u2+ // those | |||
| cei $u+ // the, those | |||
| cel $u+ // that, he who | |||
| cea $u+ // that, she who | |||
| cele $u1+ // those | |||
| ăia $u1+ | |||
| ălora $u1+ | |||
| // pronouns | |||
| eu jeU $u+ | |||
| @@ -195,9 +198,17 @@ mi $u | |||
| însuşi $u1+ | |||
| ânsăşi $u1+ | |||
| însumi $u1+ | |||
| nimeni $u1+ | |||
| nimănui $u3+ | |||
| care $u $brk // who that which what | |||
| ceea $u $brk // that | |||
| care $u1 $brk | |||
| // who that which what | |||
| ceea $u $brk // that | |||
| căruia $u1 | |||
| căreia $u1 | |||
| cărora $u1 | |||
| ăltora $u1+ | |||
| // possessive adjectives | |||
| @@ -275,7 +286,7 @@ deşi $2 $pause // although | |||
| fie fie $u // either | |||
| însă $pause // but, yet, however | |||
| atunci $pause // therefore | |||
| (de atunci) d%e||at'untSi $pause // since then | |||
| (de atunci) d%e||at'untSI^ $pause // since then | |||
| nici $pause // neither | |||
| deci $pause // therefore, so that | |||
| fiindcă $pause // because, since, as | |||
| @@ -354,24 +365,27 @@ absolvi $3 | |||
| afurisi $4 | |||
| agonisi $4 | |||
| ameţi $3 | |||
| amuţi $3 | |||
| blagoslovi $4 | |||
| borbi $2 | |||
| boţi $2 | |||
| buşi $2 | |||
| călăuzi $4 | |||
| căptuşi $2 | |||
| căptuşi $3 | |||
| cârmi $2 | |||
| căzni $2 | |||
| catadicsi $4 | |||
| cerşi $2 | |||
| ciocni $2 | |||
| citi $2 | |||
| cloci $2 | |||
| cuveni $3 | |||
| dărui d@*w'i | |||
| deosebi $3 | |||
| depăsi $3 | |||
| depăşi $3 | |||
| descoperi $4 | |||
| desluşi $2 | |||
| desluşi $3 | |||
| deveni $3 | |||
| dormi $2 | |||
| feri $2 | |||
| @@ -387,34 +401,53 @@ hăcui $3 | |||
| încreţi $3 | |||
| înghiţi $3 | |||
| îngriji $3 | |||
| înroşi $3 | |||
| întâlni $3 | |||
| înteţi $3 | |||
| învârti $3 | |||
| învrednici $4 | |||
| izbi $2 | |||
| linguşi $3 | |||
| lipi $2 | |||
| lovi $2 | |||
| mânji $2 | |||
| mirosi $2 | |||
| mirosi $3 | |||
| moleşi $3 | |||
| muri mur'i | |||
| necăji $3 | |||
| oferi $3 | |||
| opri $2 | |||
| pândi $2 | |||
| păşi $2 | |||
| părăsi $3 | |||
| păzi $2 | |||
| plăti $2 | |||
| pocni $2 | |||
| povesti $3 | |||
| prăbuşi $3 | |||
| prăji $2 | |||
| primi $2 | |||
| porni $2 | |||
| răci $2 | |||
| râfni $2 | |||
| rânji $2 | |||
| răguşi $3 | |||
| răscoli $3 | |||
| răspândi $3 | |||
| răsuci $3 | |||
| risipi $3 | |||
| rotunji $2 | |||
| risipi $3 | |||
| rosti $2 | |||
| rostogoli $4 | |||
| rotunji $3 | |||
| săvârşi $3 | |||
| sclifosi $3 | |||
| sfârşi $2 | |||
| @@ -427,9 +460,21 @@ ursi $2 | |||
| urzi $2 | |||
| veşteji $3 | |||
| vrăji $2 | |||
| vorbi $2 | |||
| // final "a" or "ea" is stressed(verbs) | |||
| înroşi $3 | |||
| învărtejea $4 | |||
| învărtea $3 | |||
| învolbura $4 | |||
| agita $3 | |||
| apărea $3 | |||
| amuţea $3 | |||
| asculta $3 | |||
| aştepta $3 | |||
| agonisea $2 | |||
| agrea ag@-*e'a | |||
| ajuta $3 | |||
| @@ -444,10 +489,14 @@ căsca $2 | |||
| căuta $2 | |||
| cerşea $2 | |||
| continua kontinu'a | |||
| conţinea $3 | |||
| crea k@-*e'a | |||
| credea $3 | |||
| creştea $2 | |||
| dădea $2 | |||
| depăsea $3 | |||
| depista $3 | |||
| desfunda $2 | |||
| distra $2 | |||
| @@ -485,14 +534,22 @@ mângâia $3 | |||
| memora $2 | |||
| mergea $2 | |||
| merita $3 | |||
| murea $2 | |||
| negocia negotSi'a | |||
| oferea $3 | |||
| paraliza $4 | |||
| părea $2 | |||
| pavea pave'a | |||
| palea pale'a | |||
| păzea $2 | |||
| pleca $2 | |||
| pornea $2 | |||
| povestea $2 | |||
| prepara $3 | |||
| prelungea $3 | |||
| răbda $2 | |||
| răcea $2 | |||
| rămânea $3 | |||
| @@ -503,9 +560,16 @@ repera $3 | |||
| respira $3 | |||
| reuşea $3 | |||
| revenea $2 | |||
| rostea $2 | |||
| săpa $2 | |||
| sărea $2 | |||
| semăna $3 | |||
| scotea $2 | |||
| sfărâma $3 | |||
| sosea $2 | |||
| spăla $2 | |||
| spera $2 | |||
| stăpânea $2 | |||
| @@ -528,7 +592,7 @@ zbura $2 | |||
| (să l) s@l $u | |||
| (să i) s@I $u | |||
| (să şi) s@S;I^ $u | |||
| (care l) carel $u | |||
| (care l) karel $u | |||
| (să mi) s@m;I^ $u | |||
| (te am) team $u | |||
| (te ai) teaj $u | |||
| @@ -542,6 +606,11 @@ zbura $2 | |||
| (l am) lam $u | |||
| (l aţi) lats;I^ $u | |||
| (v aţi) vats;I^ $u | |||
| (v au) vaU $u | |||
| (v am) vam $u | |||
| (s o) so $u | |||
| (nu i) nui $u | |||
| (i am) jam $u | |||
| (a şi) aS;I^ $u | |||
| (într o) ynt@-*o | |||
| @@ -556,13 +625,38 @@ abil $2 | |||
| abzice $2 | |||
| acelaş $2 | |||
| adventice $3 | |||
| africa $1 | |||
| africii $1 | |||
| aer aIer | |||
| aici a'itSI^ | |||
| alegem $2 | |||
| alegeţi $2 | |||
| altceva $3 | |||
| altcuiva $3 | |||
| altcumva $3 | |||
| amic $2 | |||
| amici $2 | |||
| amice $2 | |||
| amicii $2 | |||
| amicul $2 | |||
| amicului $2 | |||
| amicilor $2 | |||
| amicelor $2 | |||
| inamic $3 | |||
| inamicul $3 | |||
| inamicului $3 | |||
| inamicilor $3 | |||
| america $2 | |||
| americii $2 | |||
| americile $2 | |||
| apoi $2 | |||
| aprig $1 | |||
| aprige $1 | |||
| aprigi $1 | |||
| artefice $3 | |||
| asemenea $2 | |||
| adu $1 | |||
| @@ -577,15 +671,29 @@ câteva $3 | |||
| câtorva $3 | |||
| cerbice $2 | |||
| ceva $2 | |||
| cicatrice $3 // @- | |||
| cicatrice $3 | |||
| cineva $3 | |||
| chimi $alt | |||
| chimic $1 | |||
| complice $2 | |||
| contrazice $3 | |||
| consideră $3 | |||
| creier $1 // @- | |||
| creier $1 | |||
| credem $1 | |||
| credeţi $1 | |||
| crivăt $1 | |||
| crivătul $1 | |||
| crivătului $1 | |||
| cuiva $2 | |||
| cumva $2 | |||
| dădu $2 | |||
| deget $1 | |||
| degetul $1 | |||
| degetele $1 | |||
| degetului $1 | |||
| degetelor $1 | |||
| deja $2 | |||
| denzic $2 | |||
| denzice $2 | |||
| @@ -600,9 +708,15 @@ edit $1 | |||
| egale $2 | |||
| energi $alt | |||
| elice $2 | |||
| expedia $3 | |||
| exista $3 | |||
| factice $2 | |||
| facem $1 | |||
| faceţi $1 | |||
| făcu $2 | |||
| fenicşi $1 | |||
| fenix $1 | |||
| ferice $1 | |||
| @@ -622,9 +736,17 @@ gimnaziu dZimn'azju | |||
| imagin $2 | |||
| înainte yna'inte | |||
| întotdeauna yntotdea'una | |||
| încăpere $3 | |||
| încăperea $3 | |||
| încăperile $3 | |||
| încăperii $3 | |||
| încăperilor $3 | |||
| legături $3 | |||
| legătură $3 | |||
| legăturile $3 | |||
| legăturilor $3 | |||
| înjurătură $4 | |||
| înjurături $4 | |||
| înjurăturile $4 | |||
| @@ -639,6 +761,9 @@ logic $1 | |||
| matrice $2 | |||
| maxim $1 | |||
| maximum $1 | |||
| mergem $1 | |||
| mergeţi $1 | |||
| merit $1 | |||
| mia m'ia | |||
| mie m'ie | |||
| @@ -647,8 +772,14 @@ minimum $1 | |||
| murdărie murd@*'ie | |||
| muzik $1 | |||
| mării $1 | |||
| mişto $1 | |||
| metri met*i | |||
| mijloc $1 | |||
| mijloace $1 | |||
| mijlocul $1 | |||
| mijlocului $1 | |||
| mijloacele $1 | |||
| mijloacelor $1 | |||
| minus $1 | |||
| mişto $2 | |||
| nimic $2 | |||
| novice $2 | |||
| @@ -657,10 +788,20 @@ număr $1 | |||
| numărul $1 | |||
| oameni $1 | |||
| oareşice oa*eSTSe $4 | |||
| oamenii $1 | |||
| oamenilor $1 | |||
| oareşice oa*eStSe $4 | |||
| obişnuit obiSnw'it | |||
| ocol $2 | |||
| omăt $2 | |||
| ordin $1 | |||
| ordinul $1 | |||
| ordinului $1 | |||
| ordinelor $1 | |||
| ordinele $1 | |||
| dezordine $2 | |||
| orice o*I^tSe $2 | |||
| oricare o*I^ka*e $3 | |||
| @@ -677,6 +818,8 @@ plăcerilor $2 | |||
| polonic $3 | |||
| polonicul $3 | |||
| politic $2 | |||
| pretutindeni $3 | |||
| pricin $1 | |||
| prieten $2 | |||
| prietenie p@-*jeten'ie | |||
| @@ -684,7 +827,16 @@ privi $3 | |||
| propice $2 | |||
| protocol $4 | |||
| promitem $2 | |||
| promiteţi $2 | |||
| putere $2 | |||
| puteri $2 | |||
| puterea $2 | |||
| puterii $2 | |||
| puterilor $2 | |||
| răcnet $1 | |||
| răcnete $1 | |||
| răcnetelor $1 | |||
| regul $1 | |||
| reguli $1 | |||
| repede $1 | |||
| @@ -706,19 +858,40 @@ secolelor $1 | |||
| sergiu s'ergju | |||
| sigur $1 | |||
| simbolic $2 | |||
| singur $1 | |||
| şosea $2 | |||
| spaţiu spatsju | |||
| spuneţi sp'unetsI^ | |||
| tanti tanti | |||
| târcol $2 | |||
| târziu tyrz'iu | |||
| terapi $alt | |||
| terapii $3 | |||
| trecu $2 | |||
| trecem $1 | |||
| treceţi $1 | |||
| trebuie $1 | |||
| trebuia $3 | |||
| ultim $1 | |||
| ultimul $1 | |||
| ultimele $1 | |||
| umăr $1 | |||
| umărul $1 | |||
| undeva $3 | |||
| veder $2 | |||
| vehicul $2 | |||
| vehiculul $2 | |||
| vehicului $2 | |||
| vehicule $2 | |||
| vehiculelor $2 | |||
| vineri $1 | |||
| vinovăţi $alt | |||
| vinovăţii $4 | |||
| @@ -727,3 +900,4 @@ virus $1 | |||
| zarzări $1 | |||
| @@ -1,4 +1,3 @@ | |||
| // translation rules for Romanian | |||
| // This file is UTF-8 encoded | |||
| @@ -29,7 +28,19 @@ | |||
| ăi (t_ @'i | |||
| ăi (ţi_ @'i | |||
| &) ă (_S1 @ | |||
| ăi (te @'i | |||
| ăi (n_ @'i | |||
| ăi (na_ @'i | |||
| ăi (ni_ @'i | |||
| ăi (ne_ @'i | |||
| @) ăt (_S2t @t | |||
| //@) ătă (_S3t @t@ | |||
| @) ătul (_S4t @tul | |||
| @) ătele (_S5t @tele | |||
| @) ătului (_S6t @tuluI | |||
| @) ătelor (_S6t @telor | |||
| &) ă (_S1 @ | |||
| ări (A_ @*'i | |||
| ării (_ @*'iI | |||
| ări (AA_ @*'i | |||
| @@ -57,8 +68,11 @@ | |||
| ch k | |||
| @@) col (_ =kol | |||
| @@) coli (_S1t =I^ | |||
| @@) cole (_S1t =e | |||
| @@) cole (_S1t e | |||
| @) cni (_ kn'i | |||
| @) cnea (_ kne'a | |||
| .group d | |||
| d d | |||
| @) d (i_ d; | |||
| @@ -74,11 +88,16 @@ | |||
| &) ea (_S2q ea | |||
| &) eSi eaj | |||
| eau eaw | |||
| eoa 'eOa | |||
| eo eo | |||
| e (AAA e | |||
| @) eş (_S2t eS | |||
| @) eş (_ =eS | |||
| @) eşul (_ =eSul | |||
| @) eşi (_ =eSI^ | |||
| @) eşului (_ =eSuluI | |||
| @) eşilor (_ =eSilor | |||
| // &) es (_S1q e | |||
| &C) e (re_ %e | |||
| @@ -94,6 +113,8 @@ | |||
| i) e (rea_ e | |||
| eoa eO'a | |||
| .group f | |||
| f f | |||
| @) f (i_ f; | |||
| @@ -118,16 +139,21 @@ | |||
| &C) i (_N$1q i/ | |||
| &) i (_N$1q i | |||
| &) i (-N$1q i // don't reduce to [I^] if a hyphen follows | |||
| &') i (_ i | |||
| ţ) i (-Că i | |||
| ţ) i (-Ci i | |||
| &') i (_ i | |||
| ţi-) i (_ _ // combined with previous word as [iI] | |||
| Cr) i (_ i | |||
| V&) i (_ 'i // verb | |||
| ăC) ia (_ 'ia | |||
| âC) ia (_ 'ia | |||
| ăC) ie (_ 'ie | |||
| ăC) ie (_ 'ie | |||
| âC) ie (_ 'ie | |||
| @) ie (_S1q =ie | |||
| iei (_ 'ieI | |||
| @) ie (_S1q ie | |||
| iei (_ 'ieI | |||
| ii iI | |||
| &) ii (_S2q iI | |||
| iii iji | |||
| @@ -144,12 +170,15 @@ | |||
| i (t_ 'i | |||
| ioa iO'a | |||
| .group î | |||
| î y | |||
| @) î (_ 'y | |||
| .group j | |||
| j Z | |||
| @) j (i_ Z; | |||
| @@ -181,6 +210,7 @@ i (t_ 'i | |||
| -) mi (_ mi/ | |||
| .group n | |||
| _) n (_ ne | |||
| n n | |||
| @@ -192,6 +222,8 @@ i (t_ 'i | |||
| _) n (-a n | |||
| -) n (_ n | |||
| .group o | |||
| o o | |||
| oa Oa | |||
| @@ -203,6 +235,11 @@ i (t_ 'i | |||
| o (AAA o | |||
| @) oi (t_ o'i | |||
| @) oi (tă_ o'i | |||
| @) oi (ţi_ o'i | |||
| @) oi (te_ o'i | |||
| .group p | |||
| p p | |||
| @) p (i_ p; | |||
| @@ -227,6 +264,11 @@ i (t_ 'i | |||
| @u) rile (_S4t rile | |||
| C) ri (_ @-*i | |||
| @) răm (_S1t m | |||
| @) răţi (_S4t *@tsI^ | |||
| .group s | |||
| _) s (_ se | |||
| _) s (-a s | |||
| @@ -235,19 +277,25 @@ i (t_ 'i | |||
| &) sprezece (_S8t sp@-*ez,etSe | |||
| @) sem (_S1t sem | |||
| @) seră (_S2t se*@ | |||
| @) serăm (_S3t se*@m | |||
| @) serăţi (_S4t se*@tsI^ | |||
| @) seşi (_S2t seSI^ | |||
| @) sem (_S1t m | |||
| @) seră (_S2t *@ | |||
| @) serăm (_S3t *@m | |||
| @) serăţi (_S4t *@tsI^ | |||
| @) seşi (_S2t SI^ | |||
| @) sni (_ sn'i | |||
| .group ş | |||
| ş S | |||
| @) ş (i_ S; | |||
| @) şni (_ Sn'i | |||
| -) şi (_ SI^ | |||
| .group t | |||
| t t | |||
| tt (_ t | |||
| @@ -270,11 +318,13 @@ i (t_ 'i | |||
| u (A w | |||
| ui uI | |||
| ui (e wi | |||
| V&) ui (_ w2'i | |||
| ui (m_ w2'i | |||
| ui (t_ w2'i | |||
| ui (ţi_ w2'i | |||
| &) ul (_S2t ul | |||
| V&) ui (_ u'i | |||
| ui (m_ u'i | |||
| ui (t_ u'i | |||
| ui (ţi_ u'i | |||
| ui (se_ u'i | |||
| &) ul (_S2t ul | |||
| @ic) ul (_S2 ul | |||
| @ic) uri (_S3 urI^ | |||
| @@ -282,6 +332,7 @@ i (t_ 'i | |||
| @ic) urilor (_S6 urilor | |||
| .group v | |||
| v v | |||
| @) v (i_ v; | |||
| @@ -344,3 +395,4 @@ i (t_ 'i | |||
| **) * (_ _:: | |||
| @@ -9,13 +9,13 @@ | |||
| en_wm 30 142 | |||
| af 37 126 | |||
| cy 29 121 | |||
| de 28 118 | |||
| de 29 119 | |||
| eo 13 107 | |||
| fi 40 126 | |||
| fr 32 117 | |||
| fr_ca 11 117 | |||
| hi 49 130 | |||
| hu 23 112 | |||
| hu 24 113 | |||
| nl 26 116 | |||
| pl 15 106 | |||
| sk 26 123 | |||
| @@ -221,7 +221,7 @@ | |||
| 2 ufric/hu_fi fi | |||
| 2 ufric/ll base is | |||
| 3 ufric/s base es pt | |||
| 11 ufric/s_ base fi fr hu es pt ro | |||
| 13 ufric/s_ base fi fr hu es pt ro | |||
| 15 ufric/s! base fi hu es pt | |||
| 2 ufric/s_continue fi hu | |||
| 2 ufric/sh base pt_pt | |||
| @@ -397,8 +397,8 @@ | |||
| 6 vocw/v base ro | |||
| 4 vocw/zh base ro | |||
| 2 vocw/zh_rfx base | |||
| 3 voc/z base fr ro | |||
| 3 voc/z_ base fr ro | |||
| 4 voc/z base fr hu ro | |||
| 4 voc/z_ base fr hu ro | |||
| 4 voc/zh base sk ro | |||
| 3 voc/zh_ base ro | |||
| 1 voc/zh_2 sk | |||
| @@ -432,7 +432,7 @@ | |||
| 1 vowel/aa_3 af | |||
| 2 vowel/aa_4 sv vi | |||
| 2 vowel/aa_5 en_n | |||
| 1 vowel/aa_6 de | |||
| 2 vowel/aa_6 de | |||
| 1 vowel/aa_7 nl | |||
| 4 vowel/a_en en fr | |||
| 1 vowel/@_bck hi | |||
| @@ -87,6 +87,13 @@ phoneme A: | |||
| vowel starttype (a) endtype (a) | |||
| length 240 | |||
| formants vowel/aa_6 | |||
| reduceto a 4 // ?? | |||
| endphoneme | |||
| phoneme A | |||
| vowel starttype (a) endtype (a) | |||
| length 200 | |||
| formants vowel/aa_6 | |||
| endphoneme | |||
| @@ -189,4 +189,12 @@ phoneme s2 // second part of geminated [s:] | |||
| endphoneme | |||
| phoneme z2 // [z] but without switchvoicing | |||
| vcd alv frc sibilant | |||
| vowelout f1=0 f2=1700 -300 300 f3=-100 60 len=50 | |||
| formants voc/z+ufric/s_ | |||
| before _ voc/z_+ufric/s_%80 | |||
| lengthmod 6 | |||
| endphoneme | |||
| @@ -1445,10 +1445,12 @@ char *Translator::DecodeRule(const char *group, char *rule) | |||
| int match_type; | |||
| int finished=0; | |||
| int value; | |||
| int flags; | |||
| int suffix_char; | |||
| int condition_num=0; | |||
| char buf[60]; | |||
| char buf_pre[60]; | |||
| char suffix[12]; | |||
| char suffix[20]; | |||
| static char output[60]; | |||
| static char symbols[] = {' ',' ',' ',' ',' ',' ',' ',' ',' ', | |||
| @@ -1495,11 +1497,19 @@ char *Translator::DecodeRule(const char *group, char *rule) | |||
| if(rb == RULE_ENDING) | |||
| { | |||
| if(rule[0] & (SUFX_P>>8)) | |||
| sprintf(suffix,"P%d",rule[1] & 0x7f); | |||
| else | |||
| sprintf(suffix,"$%d(%x)",rule[1] & 0x7f,rule[0] & 0x7f); | |||
| rule += 2; | |||
| static char *flag_chars = "ei vtfq t"; | |||
| flags = ((rule[0] & 0x7f)<< 8) + (rule[1] & 0x7f); | |||
| suffix_char = 'S'; | |||
| if(flags & (SUFX_P >> 8)) | |||
| suffix_char = 'P'; | |||
| sprintf(suffix,"%c%d",suffix_char,rule[2] & 0x7f); | |||
| rule += 3; | |||
| for(ix=0;ix<9;ix++) | |||
| { | |||
| if(flags & 1) | |||
| sprintf(&suffix[strlen(suffix)],"%c",flag_chars[ix]); | |||
| flags = (flags >> 1); | |||
| } | |||
| strcpy(p,suffix); | |||
| p += strlen(suffix); | |||
| c = ' '; | |||
| @@ -209,6 +209,7 @@ BEGIN_EVENT_TABLE(MyFrame, wxMDIParentFrame) | |||
| EVT_MENU(MENU_VOWELCHART2, MyFrame::OnTools) | |||
| EVT_MENU(MENU_VOWELCHART3, MyFrame::OnTools) | |||
| EVT_MENU(MENU_LEXICON_RU, MyFrame::OnTools) | |||
| EVT_MENU(MENU_LEXICON_DE, MyFrame::OnTools) | |||
| EVT_MENU(MENU_TO_UTF8, MyFrame::OnTools) | |||
| EVT_MENU(MENU_COUNT_WORDS, MyFrame::OnTools) | |||
| EVT_MENU(MENU_TEST, MyFrame::OnTools) | |||
| @@ -428,6 +429,7 @@ void MyFrame::OnTools(wxCommandEvent& event) | |||
| break; | |||
| case MENU_LEXICON_RU: | |||
| case MENU_LEXICON_DE: | |||
| CompareLexicon(event.GetId()); // Compare a lexicon with _rules translation | |||
| break; | |||
| @@ -193,6 +193,216 @@ static const unsigned short KOI8_R[0x60] = { | |||
| #define N_CHARS 34 | |||
| int *p_unicode; | |||
| int unicode[80]; | |||
| #define PH(c1,c2) (c2<<8)+c1 // combine two characters into an integer for phoneme name | |||
| void DecodePhonemes2(const char *inptr, char *outptr) | |||
| //=================================================== | |||
| // Translate from internal phoneme codes into phoneme mnemonics | |||
| { | |||
| unsigned char phcode; | |||
| unsigned char c; | |||
| unsigned int mnem; | |||
| PHONEME_TAB *ph; | |||
| const char *p; | |||
| int ix; | |||
| int j; | |||
| int start; | |||
| static const char *stress_chars = "==,,'* "; | |||
| unsigned int replace_ph[] = {',',PH('@','-'),'W','3','y',PH('A',':'),'*',PH('_','!'),PH('_','|'),PH('O','I'),PH('Y',':'),PH('p','F'),0}; | |||
| const char *replace_ph2[] = {NULL,NULL, "9","@r","Y", "a:", "r", "?", "?", "OY", "2:", "pf" ,NULL}; | |||
| start = 1; | |||
| for(ix=0; (phcode = inptr[ix]) != 0; ix++) | |||
| { | |||
| if(phcode == 255) | |||
| continue; /* indicates unrecognised phoneme */ | |||
| if((ph = phoneme_tab[phcode]) == NULL) | |||
| continue; | |||
| if((ph->type == phSTRESS) && (ph->std_length <= 4) && (ph->spect == 0)) | |||
| { | |||
| if(ph->std_length > 3) | |||
| *outptr++ = stress_chars[ph->std_length]; | |||
| } | |||
| else | |||
| { | |||
| mnem = ph->mnemonic; | |||
| if(ph->type == phPAUSE) | |||
| { | |||
| if(start) | |||
| continue; // omit initial [?] | |||
| if(inptr[ix+1] == phonSCHWA_SHORT) | |||
| continue; // omit [?] before [@-*] | |||
| } | |||
| start = 0; | |||
| p = NULL; | |||
| for(j=0;;j++) | |||
| { | |||
| if(replace_ph[j] == 0) | |||
| break; | |||
| if(mnem == replace_ph[j]) | |||
| { | |||
| p = replace_ph2[j]; | |||
| if(p == NULL) | |||
| mnem = 0; | |||
| break; | |||
| } | |||
| } | |||
| if(p != NULL) | |||
| { | |||
| while((c = *p++) != 0) | |||
| { | |||
| *outptr++ = c; | |||
| } | |||
| } | |||
| else | |||
| if(mnem != 0) | |||
| { | |||
| while((c = (mnem & 0xff)) != 0) | |||
| { | |||
| *outptr++ = c; | |||
| mnem = mnem >> 8; | |||
| } | |||
| } | |||
| } | |||
| } | |||
| *outptr = 0; /* string terminator */ | |||
| } // end of DecodePhonemes | |||
| void Lexicon_De() | |||
| {//============== | |||
| // Compare eSpeak's translation of German words with a pronunciation lexicon | |||
| FILE *f_in; | |||
| FILE *f_out; | |||
| int ix; | |||
| int c; | |||
| char *p; | |||
| int stress; | |||
| int count=0; | |||
| int start; | |||
| int matched=0; | |||
| char buf[120]; | |||
| char word[80]; | |||
| char word2[80]; | |||
| char type[80]; | |||
| char pronounce[80]; | |||
| char pronounce2[80]; | |||
| char phonemes[80]; | |||
| WORD_TAB winfo; | |||
| static char *vowels = "aeiouyAEIOU29@"; | |||
| wxString fname = wxFileSelector(_T("German Lexicon"),wxString(path_home,wxConvLocal), | |||
| _T(""),_T(""),_T("*"),wxOPEN); | |||
| strcpy(buf,fname.mb_str(wxConvLocal)); | |||
| if((f_in = fopen(buf,"r")) == NULL) | |||
| { | |||
| wxLogError(_T("Can't read file ")+fname); | |||
| return; | |||
| } | |||
| if((f_out = fopen("compare_de","w")) == NULL) | |||
| { | |||
| wxLogError(_T("Can't write file ")); | |||
| return; | |||
| } | |||
| LoadVoice("de",0); | |||
| word2[0] = ' '; | |||
| while(!feof(f_in)) | |||
| { | |||
| count++; | |||
| if(fgets(buf,sizeof(buf),f_in) == NULL) | |||
| break; | |||
| sscanf(buf,"%s\t%s\t%s",word,type,pronounce); | |||
| // convert word to lower-case | |||
| for(ix=0, p=&word2[1];;) | |||
| { | |||
| ix += utf8_in(&c,&word[ix],0); | |||
| c = towlower(c); | |||
| p += utf8_out(c,p); | |||
| if(c == 0) | |||
| break; | |||
| } | |||
| strcpy(word,&word2[1]); | |||
| strcat(&word2[1]," "); | |||
| // remove | syllable boundaries | |||
| stress=0; | |||
| start=1; | |||
| for(ix=0, p=pronounce2;;ix++) | |||
| { | |||
| c = pronounce[ix]; | |||
| if(c == '\'') | |||
| { | |||
| stress=4; | |||
| continue; | |||
| } | |||
| if(c == ',') | |||
| { | |||
| stress=3; | |||
| continue; | |||
| } | |||
| if(c == '|') | |||
| continue; | |||
| if((c == '?') && start) | |||
| continue; // omit initial [?] | |||
| start =0; | |||
| if(stress && (strchr(vowels,c) != NULL)) | |||
| { | |||
| if(stress == 4) | |||
| *p++ = '\''; | |||
| if(stress == 3) | |||
| *p++ = ','; | |||
| stress = 0; | |||
| } | |||
| *p++ = c; | |||
| if(c == 0) | |||
| break; | |||
| if(strchr("eiouy",c) && pronounce[ix+1] != ':') | |||
| *p++ = ':'; // ensure [;] after these vowels | |||
| } | |||
| // translate | |||
| memset(&winfo,0,sizeof(winfo)); | |||
| translator->TranslateWord(&word2[1],0,&winfo); | |||
| DecodePhonemes2(translator->word_phonemes,phonemes); // also need to change some phoneme names | |||
| if(strcmp(phonemes,pronounce2) == 0) | |||
| { | |||
| matched++; | |||
| } | |||
| else | |||
| { | |||
| if(strlen(word) < 8) | |||
| strcat(word,"\t"); | |||
| fprintf(f_out,"%s\t%s\t%s\n",word,phonemes,pronounce2); | |||
| } | |||
| } | |||
| fclose(f_in); | |||
| fclose(f_out); | |||
| wxLogStatus(_T("Completed, equal=%d different=%d"),matched,count-matched); | |||
| } | |||
| void Lexicon_Ru() | |||
| @@ -497,6 +707,9 @@ void CompareLexicon(int id) | |||
| case MENU_LEXICON_RU: | |||
| Lexicon_Ru(); | |||
| break; | |||
| case MENU_LEXICON_DE: | |||
| Lexicon_De(); | |||
| break; | |||
| } | |||
| } // end of CompareLexicon | |||
| @@ -157,6 +157,7 @@ enum { | |||
| MENU_VOWELCHART3, | |||
| MENU_LEXICON, | |||
| MENU_LEXICON_RU, | |||
| MENU_LEXICON_DE, | |||
| MENU_TO_UTF8, | |||
| MENU_COUNT_WORDS, | |||
| MENU_TEST, | |||
| @@ -106,6 +106,7 @@ wxMenuBar *MakeMenu(int type) | |||
| lexicon_menu = new wxMenu; | |||
| lexicon_menu->Append(MENU_LEXICON_RU, _T("Russian (lexicon.dict)")); | |||
| lexicon_menu->Append(MENU_LEXICON_DE, _T("German")); | |||
| tools_menu = new wxMenu; | |||
| tools_menu->Append(MENU_VOWELCHART, _T("Make &Vowels Chart"), vowelchart_menu); | |||
| @@ -35,7 +35,7 @@ | |||
| #include "translate.h" | |||
| #include "wave.h" | |||
| const char *version_string = "1.25.16 02.Jun.07"; | |||
| const char *version_string = "1.25.17 04.Jun.07"; | |||
| const int version_phdata = 0x012514; | |||
| int option_device_number = -1; | |||