Browse Source

[1.43.02 release]

Language improvements include Danish rules.

Fixed phoneme [n^] for Klatt synthesizer, was producing noise burst.

espeakedit: Display error details after Compile Dictionary.
espeakedit: Fix: After speaking a word which changes language, Compile
    Dictionary may compile the wrong dictionary.

Don't consider multiple spaces as thousands separator (eg. 2  000 )

Lang=Hungarian, don't allow dot as thousands separator.
Lang-Hungarian, Fix suffixes -a, -e, -az, -ez, -azt, -ezt after numbers.


git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@239 d46cf337-b52f-0410-862d-fd96e6ae7743
master
jonsd 15 years ago
parent
commit
aaa5d61737

+ 65
- 4
dictsource/af_list View File

@@ -221,6 +221,7 @@ amanzimtoti $4
antwerpen antv&rp@n
avignon _^_FR
babilon babilOn
babilonië babil'o@ni;@
bangladesj baNglad'ES
barcelona bars@l'o@na
barkly _^_EN
@@ -256,6 +257,7 @@ denemarke de@n@mark@
djakarta dZak'arta
doebaai $2
duitswes dYytsv'Es
efese e@f@s@
ermelo &rm@lo@
franschhoek frA~nsh'uk
fraserburg freIz@rbWrx2
@@ -328,6 +330,7 @@ portugal pOrtyx2al
potchefstroom pOtSIfstr'o@m
rhône _^_FR
richardsbaai ritS@dsb'AI
riviersonderend r@fi:rsOn@r_'Ent
robertson _^_EN
salvador salvadO:r
santiago santi;'A:gu
@@ -352,6 +355,7 @@ upington apiNt@n
vanrhynsdorp fanr'eInsdOrp
vesuvius v@su:viWs
viëtnam vj'Etnam
walhalla $2
wallonië val'o@ni@
washington _^_EN
wellington wEliNt@n
@@ -364,6 +368,7 @@ zulu zulu // Kwazulu-Natal


// People names
abdullah abd'ula
Abiméleg abin'e@lEx2
abraham A:bram
ackerman ak@rman
@@ -380,10 +385,14 @@ André 'andreI
annette an'Et
anthonie ant'o@ni
antoinette antun'Et
antonius ant'o@nijWs
archimedes arx2im'e@dEs
aristoteles arist'o@t@lEs
armstrong _^_EN
arthur _^_EN
astarte $2
badenhorst bA:d@nhOrst
athene at'e@n@
barbara bA:b@ra
basson $2
bea bi:ja
@@ -391,6 +400,7 @@ belcher _^_EN
benade b@nA:di
benjamin bEndZ@m@n
bennett bEn@t
benson _^_EN
bertha b&rta
bester b'Est@r
betjie bEici
@@ -405,6 +415,7 @@ braham brA:m
brian _^_EN
bredenkamp bre@d@nkamp
bruwer bruw'&:r
brünhilde _^_DE
caesar siz@r
cameron _^_EN
carl kA:r@L
@@ -418,6 +429,7 @@ charl SA:l
charles _^_EN
charlie tSA:li
charmaine SA:m'eI:n
chaucer _^_EN
chopin S%OpA~
claire _^_EN
clark _^_EN
@@ -433,6 +445,7 @@ christina kr@stina
christine kr@st'i:n
cindy sIndi
coetzee kuts'e@
collins _^_EN
cronjé krOnj'e@
cussons kas@ns
cynthia _^_EN
@@ -446,11 +459,14 @@ debora d@bo@ra
debussy d@bus'i:
de d@ $only
(de la) d@||la $u // de la Rey/de la Bat, etc.
delila d@lIla
delilah _^_EN
der d@r
derick dErik
deventer d'e@v@nt@r
diana dij'A:na
donaldson _^_EN
dorothea dOr@t'i:ja
dostojewski dOstOj'Evski
du $u
duncan daNk@-n
@@ -459,8 +475,11 @@ duncan daNk@-n
(du plooy) d@||ploI
(du preez) d@||pr'e@
(du toit) d@||toI
dustin _^_EN
duvenage dyv@nA:x2@
einstein aInstaI:n
eksteen $1
elana il'A:na
eldorado &ldOr'A:d@U
elisabeth il'isabEt
elize il'i:z
@@ -498,6 +517,7 @@ gilbert _^_EN
gloria glO:ria
gordon _^_EN
grange x2rA:nsi
gregory _^_EN
greta gre@ta
grové x2ruv'e@
gulliver _^_EN
@@ -511,21 +531,25 @@ helena hil'e@na
helene hi:l'i:n
helloïse hEluw'i:z
henry _^_EN
hercules $1
herklaas $1
herkules $1
hewitt _^_EN
hilde hild@
ibsen ibs@n
ilse 'ilz@
ingrid iNgr@d
isabel is@b&l
isis $1
iskariot isk'ariOt
jaco jaku
jakomina jakum'ina
jakomina jakum'ina
james _^_EN
jane _^_EN
Jean ZA~n $capital
jesebel je@s@b&l
jimmy _^_EN
joachim juw'A:x2@m
joan _^_EN
joey dZ@Ui
johl jo@l
@@ -538,9 +562,11 @@ josé _^_ES
juan x2wan
juanita juan'ita
julia _^_EN
khayyam kaj'am
jung juN
khayyam kaj'am
kelvin _^_EN
kim _^_EN $capital
kleopatra kliu:p'A:tra
krige krix2@
labuschagne labWsk'ax2ni
lafras $2
@@ -555,7 +581,9 @@ leonardo liu:n'ardu
leonie li'o@ni
levi le@fi
lewies l@vis
lewis _^_EN
liesbet lisbEt
lilian _^_EN
loubser l@UpS@r
louis luI
louise luw'i:z
@@ -586,6 +614,7 @@ marthinus mart'inWs
martiens $2
martin m'A:rt@n
mary _^_EN
mathias mat'i:jas
mathilda mat'Ilda
matteus mat'i:Ws
matthee mat'e@
@@ -613,9 +642,12 @@ naomi na_'o@mi
napoleon nap'o@liOn
natasha n%at'aSa
naudé nOd'e@
nefertiti nEf@rt'iti
neil _^_EN
nelson _^_EN
nicholas _^_EN
niklaas niklA:s
oedipus o@dipWs
olga Olga
ontong OntON
patrick _^_EN
@@ -628,6 +660,7 @@ phoebe fi:bi
picasso pik'asu
pinokkio pin'Oki;u
pretorius pr@to@riWs
prometheus prum'e@ti;Ws
pythagoras pit'A:x2o@ras
quijote kix2'OtE
quixote kix2'OtE
@@ -650,6 +683,7 @@ rossouw r@s@U
rousseau r@s@U
ruda ruda
rupert rup@rt
sabrina sabr'ina
salomo sA:l@mo@
samuel sA:my@l
sandra sandra
@@ -670,7 +704,9 @@ sophia suf'i:ja
sophie _^_EN
stephan ste@fan
stephanus st@fA:nWs
stephen _^_EN
stevenson _^_EN
stevens _^_EN
strauss straUs
stockenström stOk@nstro@m
stuart _^_EN
@@ -696,6 +732,8 @@ villiers vIli@rs
vincent _^_EN
violet _^_EN $capital
visagie fis'A:x2i
volschenk fOlskENk
watson _^_EN
william _^_EN
wilson _^_EN
yolande jul'and@
@@ -723,13 +761,15 @@ zuma zu:ma

// Other proper names
absa absa
alibama $3
antares $2
boeing _^_EN
centaurus $2
checkers tSEk@rs
chrysler kraIsl@r
citroên s@trun
ferrari f@rA:ri
isuzu is'u:zu
lamborghini lambOrg'i:ni
martini mart'i:ni
naspers nasp&rs
peugeot pW:Z@U
@@ -848,7 +888,6 @@ onder $u $strend2
op $u $strend2
van $u
vir $u
voor $u $strend2


// misc unstressed
@@ -917,6 +956,8 @@ altemit $3
amelee am@le@
amen A:mEn
anale an'A:l@
anima $1
animus animus
as't as@t $u
asof asOf
asook %as_o@k
@@ -946,16 +987,19 @@ boskaas $2
bostaande b'o@stA:nd@
bourgeois _^_FR
bourgeoisie _^_FR
breyani brij'A:ni
briewemes briv@mEs
bêretyd b&:r@teIt

cabernet kab@rn'eI
camembert kam@mb'&:r
camouflage kamufl'A:Z
cannelloni $3
capita kapita
casino kas'i:n@U
cedille s@dIl@
charisma kar'Isma
cinsaut s@nso@
cliché kliS'eI:
clivia klIvija
cognac kOn^ak
@@ -965,6 +1009,7 @@ crimpelene kr@mp@li:n

dadelik dA:d@lIk
dagorde dax2_Ord@
dagster dax2st&r
daisy deIzi
darem dar@m
dekade dEk'A:d@
@@ -978,9 +1023,12 @@ deurstraalde $2
dikwels dIkv@ls
diplomasie d@plo@mas'i
disleksie $2
divan div'an
doktore $2
doyen dO:j'En
droomster dro@mst&r
dubbelken dWb@lkEn
dunnes dWn@s
dusver dWsf&r

edelagbare $3
@@ -1040,6 +1088,7 @@ hallo h'Il,@U
handtertjie hant&:rci
hanou hA:n@U
hardop hart?Op
hartster hartst&r
heeltemal he@lt@mal
heimat haImat
hek h&k
@@ -1080,10 +1129,12 @@ jawoord jA:vo@rt
jupiter jupit@r

kafee kaf'e@
kaliefa kal'ifa
kameraderie kam@rA:d@r'i
katswink katsv@nk
kaviaar kavi'A:r
kennisvaardig $1
kimono $2
klaasvakie $2
klimeid klImeIt
knapsekêrel knaps@k&:r@l
@@ -1202,10 +1253,12 @@ onraad $1
onrus $1
onvermoë $1
oorkom $2
oorle o@rl@
oorleef $2
oorsee $2
oorsese $2
oorval $2 $verb
opend Op_Ent
oranjepers o@r'anj@p&:rs
oudsher @Utsh&r

@@ -1223,6 +1276,7 @@ per p@r $only
persent p@rsEnt
petite p@tit
pikanienie pikan'ini
pinot pinu
pinotage pinut'A:Z
pirouette p@ru:'Et
plaasjaap plA:sjA:p
@@ -1239,9 +1293,11 @@ regie r@Zi:
rekent re@k@nt
renaissance rEn@s'A~ns
retoriek r@tur'ik
riesling ri:sliN
rimpeling rImp@l@N
rinkink $2
rondeel $2
ronder rOnd@r
rooipers roIp&:rs
roterende rut'e@r@nd@
rottenes rOt@nEs
@@ -1254,6 +1310,7 @@ salami sal'A:mi
salute sal'yt@
samelewing sA:m@l,e@v@N
sanhedrin sanh'e@dr@n
sangemeenskap sanx2@me@nskap
sedertdien $3
sektore $2
sinagoge s@n@x2o@x2@
@@ -1262,6 +1319,7 @@ siesta si;'Esta
singenot sInx2@nOt
sir _^_EN
skepsele skEps@l@
skollienes skOlin,Es
skuldelas skWld@las
s'n s@n $u
slaparm slap_ar@-m
@@ -1287,6 +1345,7 @@ swangerswaar swaN@rswA:r
swetterjoel $3

tanga taNga
tangas taNgas
tango taNx2u
tenminste $2
tequila t@ki:la
@@ -1302,6 +1361,7 @@ tornado $2
totale tut'A:l@
totsiens $2
tragiek trax2'ik
trapesium trap'e@si:Wm
tsoenami tsun'A:mi

uitdaging YydA:x2@N
@@ -1349,6 +1409,7 @@ voorgee fo@rx2e@
voorkeer $1
voorkom $2 $only
voormalige fo@rm'A:l@x2@
voornemens fo@rne@m@ns
//voorsien $2
voorwaar $2
vorendag $3

+ 41
- 6
dictsource/af_rules View File

@@ -127,7 +127,7 @@
adrena (li %adr@n%a // fix stress and vowel sounds: adrenalien and compounds
al (baster %al // move default stress: albaster and compounds
al (bino %al // move default stress: albino
alche (mis %alx2%e@ // move default stress: alchemis and derivatives
alche (mi %alx2%e@ // move default stress: alchemis and derivatives/alchemie
aleksand (ry %al%Eks%and // fix stress and a and d sounds: aleksandryn/-e/-s
alex (a %al%Ekz // Alexander/Alexandra/Alexandria
alfabe (tK alfabE // fix stress and e sound: (vinger)alfabet/-te
@@ -421,6 +421,7 @@
b (eentjie++ b // exception to "bee" rule: beentjie/-s and compounds
bbe (rr b@ // fix e sound: rubberrand/-ranke/-ring/-roller, etc.
bobbe (j b%Ob@ //fix stress for bobbejaan and friends
boe (ddhi b%u // move default stress: Boedis/-te
bo (grond bo@ // fix 1st o sound: bogronds/-e
_) bo (kle bo@ // fix o sound: bokleed/boklere
bokma (kier b%Okm%a // fix stress and a sound: bokmakierie/-s/-tjie
@@ -500,6 +501,7 @@
bur (lesk b%Wr // move default stress: burlesk/-e
buro b%yro@ // fix stress and o sound: burohoof and similar
bur (okra b%yr // fix stress for burokraat/-krate/-krasie/-kraties
@) bury (_ _^_EN // words ending in -bury are English: Canterbury/Salisbury/Bradbury...
bybel beIb@l // to correct pronunc. of e in compounds
byder (C@ b%eId@r // byderhand/-s/byderwets
by (een b%eI_ // move default stress: byeen/byeenkoms/-te, etc.
@@ -682,6 +684,7 @@
c (i s
c (y s
ce (_ _^_EN // words ending in ce are English
cen (taurA s%En // move default stress: Centauri/Centaurus
ch x2
_) ch x2
chalet S%aleI // chalet/-s/bergchalet
@@ -804,6 +807,7 @@
@) d (eteC_ t // aand-/oggendetes/grondeter
djie ci // bokbaardjie/bordjie/boordjie/perdjie/tydjie
doeane d%uA:n@ // fix stress and e sound: doeane(-beampte/-gelde/-kantoor...)
dopa (mi d%o@p%a // fix stress and a sound: dopamien and compounds
do (ssier d%O // move default stress: dossier/-e and compounds
@) d (r d // but oordrewe/oordrom
san) d (r t // fix d sound: sandrif/-randjie/-rivier/-ruiter
@@ -931,6 +935,7 @@
CAC) e (CC @ // fix e sound: nalatenskap/wapenstilstand
CAC) e (C% E // beesfilette/nougesette/onderbesette/voortgesette
blind) e (C@ @ // fix e sound in compounds like: blindekol/-mol/-wese
_meid) e (C @ // fix e sound: meidekamer/-naaier/-praatjies
pous) e (C @ // fix e sound: pousebrood/-klok/-tyd, etc.
vreugd) e (C @ // fix e sound: vreugdefees/-klokkies/-lied/-tyd...
vriend) e (C @ // fix e sound: vriendepaar/-woorde
@@ -1087,6 +1092,7 @@
eun) eri (n @r'I // fix stress and e sound: sigeunerin/-ne/-netjie
hal) e (rC@ @ // uithalerperd/-skut/-speler and similar
C) e (ndh =@ //asemrowendheid/beduidendheid/doeltreffendheid/dringendheid/voortvarendheid...
e (fesi %i // fix stress and first e sound: Efesiër/Efesies
effek (K %ifEk // move default stress and fix e sound: effek/-te/-tief/rimpeleffek
eienaardig %eI@nA:rd@x2 // move default stress: eienaardig/-ste
@) ein (dig 'eIn // nimmereindige/nimmereindigend
@@ -1288,6 +1294,7 @@
C) ewy (C @veI // alewyn/compounds of brandewyn/sekondewyser
_op) e (n @
@C) er (tyd @r // tegelykertyd/kindertyd/indertyd, but spertyd
esote (rie %e@s%ute@ // fix stress and vowel sounds: esoteries/-e
_) etens 'e@t@ns // etenstyd/klok/tafel/uur
pann) e (C @ //pannekoek and friends
pann) e (tjie i //fix pannetjie/spannetjie etc.
@@ -1383,6 +1390,7 @@
@Cl) eer e@r // restore default stress in compounds like windpompleer
oriënt) eer e@r // default stress: beroepsgeoriënteerd and similar
Cm) eer e@r // words containing meer preceded by consonant take default stress: bergmeer/strandmeer, etc.
mm) eer 'e@r // stress eer in (ge)programmeer/inflammeer and similar
rm) eer 'e@r // but not words like: alarmeer/gereformeerd/transformeer
sf) eer e@r // sfeer at end of compounds does not take stress: atmosfeer, etc.
sk) eer e@r // words kontaining skeer take default stress: af/glad/kort/raakgeskeer
@@ -1486,6 +1494,7 @@
pr) entjie E:iNk%i //fix prentjie
@s) ent (rA Ent // winkelsentrum/studentesentrum, etc.
&) en (k_ EN // but kersgeskenk/verjaardaggeskenk
_) en (toptie %En // move default stress: entopties/-e
// The following are experimental nasalisation of ens
gr) ens e~ns
m) ens (++ e~ns
@@ -1530,6 +1539,7 @@
fiasko f%iask%u // move default stress: fiasko; fix o sound: fiasko's
fi (sant f%i // move default stress: fisant/-e and compounds
fi (siek f@ // correct 1st i sound and move default stress:
field _^_EN // names containing field are English: Hopefield/Smithfield/Bradfield...
fili (ppA f@l@ // fix stress and i sounds: Filippyne/-pynse/filippien
filistyn f@l@st'eIn // filistyn/e
fille (t f@lE // fix stress and e sound: (bees)fillet/-te and similar
@@ -1553,7 +1563,7 @@
@) fonies f'o@nis // fix stress: simfoniese/polifonies/telefonies
@) fonie (s@@ fun'i // fix stress: simfonieseisoen and similar
fon (tein f%On // move default stress: fontein/fonteinwater, etc.
_) for (C f%Or // formeel/formele/forseer/fortuin
_) for (C@ f%Or // formeel/formele/forseer/fortuin, but forsheid
fore (l f%ur& // fix stress and e sound: forel/-e and compounds
forma (lien f%Orm%a // fix stress and a sound: formalien and compounds
formi (da f%Orm%i // move default stress: formidabel/-e
@@ -1621,6 +1631,7 @@
gletser x2l''Ets@r // fix 2nd e sound: gletserbeweging/-meer/-vorming/vergletsering, etc.
glise (rien gl@s@ // fix stress and g and vowel sounds: gliserien(-salf/-suur)
@) gn (_ _^_EN // English words like design/foreign/resign/sign in Afrikaans text
@) gnon (_ _^_FR // words ending in -gnon are French: Sauvignon/perignon...
go (din x2%o@ // move default stress: godin/-ne/-netjie, etc.
godde (lo x2%Od@ // move default stress: goddelose/goddeloos
god (salig x2%Ot // move default stress: godsalig/-e/-heid
@@ -2041,6 +2052,7 @@
C) isk (_ 'Isk // asterisk/tamarisk
C) isk (e_ 'Isk // asteriske/tamariske
_) islam islam // fix i sound: Islam/Islamiseer/Islamisme
_) islam (i %isl%am // move default stress: Islamiet/Islamitiese
C) ispel Isp@l // lispeling/kwispeling/kwispelstert
@) isme (K 'Ism@ // isme always takes stress
israe (li@ @sr%aI // fix stress and vowel sounds: Israeliet/-e/Israelities/-e
@@ -2062,6 +2074,7 @@
self) in (C@ _@n // selfingenome/-nheid/selfinkeer, etc.
_) in (a@P2 In // inakkuraat/inaktief/inaktiwiteit
_) inbe (lC Inb%& // fix e sound in compounds like inbelprogram
indone (si @nd%uni: // fix stress and vowel sounds: Indonesië/Indonesiese
_) in (oe In_ // fix i sound, pause: inoefen/-oes and derivatives
invest (eer @nv%Est // fix stress, v and e sounds: investeer/-der
investe (r@ @nv%Este@ // fix e sound: (kapitaal)investering/investerende
@@ -2164,6 +2177,7 @@
jong (etjie jON // fix e sound: jongetjie/-s
_) jorda (niA j%OrdA: // move default stress: Jordanië/Jordaniese
joule dZu:l // (kilo)joules
_) jungi (a j,uN%i // fix stress and u sound: Jungiaans/-e
junie juni
julie juli
ju (rid j%u // fix stress and u sound: juridies/-e
@@ -2207,6 +2221,7 @@
kikoe (joe k%iku: // fix stress, lengthen oe: kikoejoe and compounds
kilimandjaro k%il@m%andZA:ru // fix stress and vowel and "dj" sounds: kilimandjaro and compounds
_) kilo kil%u // fix o sound in compounds: kilogram/-liter/-meter
ki (netie k%i // move default stress: kineties/-e
kker (A k@r // swakkerig/blikkerig/flikkerend/flikkering
klaarblyklik klA:rbl'eIkl@k // klaarblyklik/e
kla (kous klA: // fix stress and long a sound: klakous/-e
@@ -2330,6 +2345,7 @@
@) ka (non k%a // shorten a sound in compounds like waterkanon/-ne
_) kano (vaar k%ano@ // fix stress and vowel sounds: kanovaarder/vaart, etc.
kano (_ k%ano@ // fix last o sound: (opblaas)kano/-'s
kanse (lle k%ans@ // fix stress, not nasalised: (ge)kanselleer
kan (tien k%an // move default stress: kantien and compounds
_) kan (to@ k%an move default stress: kantoor/kantore and compounds
kant (onder kant_ // kantonderklere/-onderrok, etc.
@@ -2375,6 +2391,7 @@
kasse (t k%asE // fix stress and e sound: kasset/-te and compounds
ka (strol k%a // move default stress: kastrol/-le and compounds
_) kata ,kata
ka (tarsi k%a // fix stress: katarsis/-se and compounds
katalo (gA k%atal%u // fix stress and vowel sounds: katalogus and compounds/katalogi/katalogisering
kate (dr k%at@ // katedraal/katedrale and compounds
kate (gA k%at@ // fix stress and vowel sounds: kategis/-te/kategismus and compounds/kategese/kategeet
@@ -2518,7 +2535,7 @@
_) lan (sA l%an // move default stress: lanset/-te/lanseer/-ering/lansier
_) lapa (K lA:pa // fix words like lapakombuis
lapar (otomi l%ap%ar // fix stress and a sounds: laparotomie
_) lapel l%ap'&l //lapelwapen etc.
lape (lK l%ap& //lapelwapen etc./lapelle/baadjielapelle
lapel (_ l%ap'&l //baadjielapel etc.
la (tent l%a // fix stress and a sound: latent/-e
latrine l%atrin@ // fix stress and e sound in compounds: latrine(deur, etc.)
@@ -2916,6 +2933,7 @@
nami (bi n%amI // Namibië/Namibiese
na (tal ,na' //natal and compunds
_) n (AA n // for words starting with naa, etc.
naarstigte n%A:rstIx2t@ // move default stress: naarstigtelik/-e
namakwa n%amakw%a //namakwa and compounds
naster (g nast@r // shorten 1st a: nastergal and compounds
_) nag (C n'ax2
@@ -3054,6 +3072,7 @@
odiek ud'ik // periodiek/metodiek
oggend (@ Ox2@nt_ // fix d sound: oggenduur/-reën, etc.
oggende (_ Ox2@nd@ // but: oggende and compounds ending in -oggende
K) oir (_ _^_FR // words ending in -oir are French
okapi %o@kA:p%i // fix stress: okapi/-'s and i in compounds: okapispoor,etc.
_) oker o@k@r // fix e sound in compounds: okergeel/-kleur, etc.
okker (neut %Ok@r // move default stress: okkerneut and compounds
@@ -3147,6 +3166,7 @@
omgewe (_ Omx2'e@v@ // se rule: _) omge (@P4 Omx2@
_) omge (@P4 'Omx2@ // stress on 1st slb
omgewing %Omx2e@v@N
_) om (gord %Om // move default stress: omgord(el)
_) om (h %Om // omhels/omhein/omhoog/omhul
om (ha Om // restore default stress: omhaal/omhang/omhaak
omkeer Omke@r // restore default stress: omkeer/handomkeer and similar
@@ -3187,6 +3207,8 @@
ort (osko %Ort // fix 2nd o sound and stress: ortoskopies/-e
ose (a %o@S%i // fix stress and s and e sounds: oseaan/oseane and compounds
o (soon %O // fix stress and 1st o sound: osoon(laag) and similar
ossill (e %Os@l // move default stress: (ge)ossilleer and compounds
ossille (CA %Os@le@ // fix stress and vowel sounds: ossillerend/-e/ossillering
@) oties 'o@tis // antibioties/eksoties/eroties/neuroties
@) otomie (_N %o@t%um'i // fix o sounds and stress of medical terms: laparotomie, etc.
@) otomie (ë %o@t%um'i: // fix o sounds and stress of plurals of medical terms: leukotomieë/nefrotomieë, etc.
@@ -3209,6 +3231,7 @@
fr) ons o~ns
g) ons o~ns
_) onaf (skeiC %On_%af // move default stress: onafskei(d)baar/-bare
_) onaf (wend %On_%af // move default stress: onafwendbaar/-heid/-bare
on (dier On // restore default stress: ondier/-e
ondjie OINci
ontjie OINci
@@ -3460,6 +3483,7 @@
plane (tA pl%an@' // planetarium/interplanetêr
planete pl%ane@t@ // move default stress and fix a sound: planete and compounds like planetebaan
plant (aardi pl%ant_ // fix stress and insert short break: plantaardig/-e
pla (stiek pl%a // move default stress: plastiekjuwele/-versiersels...
_) pla (ta pl%a // move default stress: plataan/-boom/platane
platinum (A plA:tinWm_ // fix u sound, pause in compounds like: platinumaandele/-erts
ple (k pl&
@@ -3658,6 +3682,7 @@
pre (nata pr,e@ // fix e sound: prenataal/-tale
presbiteri (a pr%Esb@t%e@r%i
@) present pr@sEnt // restore default stress when present 2nd part of compound: krismispresent, etc.
prese (dent pr@s@ // fix stress and e sounds: presedent/-testelsel...
preste (rend pr@ste@ // fix stress and vowel sounds: presterend/-e
prestige pr%Esti:Z // prestige and compounds
pretori pr%it%o@r%i //pretorianer,pretoriaan, fix e and o sounds a
@@ -3766,6 +3791,7 @@
ritme rItm@ // fix e sound in ritmes/ritmespeler
ritu (A r@t%y // ritueel/rituele/ritualisties
rl(_ _^_EN // words ending in -rl are English: girl/whirl/pearl, etc.
rls (_ _^_EN // words ending in -rls are English: girls/whirls/pearls, etc.
roersel rurs@l // fix stress and e sound: roersele and compounds of roersel
_) rol (A rOl? // oprolaksie/roloorvleueling
roeme (nië r%umi: // fix stress and e sound: Roemenië(r)
@@ -3911,6 +3937,7 @@
shire (_ _^_EN // names ending in shire are English: yorkshire/Oxfordshire, etc.
sj S
s (jag s // split sj: baasjagter/patrysjag/pelsjagter
sja (ma S%a // fix stress and a sound: sjamane and compounds
sjampanje S%ampanj@ // move default stress: sjampanje and compounds
sjampoe S%ampu: // fix stress and length of oe: sjampoe and compounds
sjar (mant S%ar // move default stress: sjarmant/-e/-ste
@@ -4107,6 +4134,7 @@
soverre so@f'&r@ // stress: se rule: so (v s'o@ // soveel/sover
spas (mod sp%as // move default stress: spasmodies/-e
speku (lA sp%Ek%y // spekulasie/spekuleer/spekulatief
AA) spel (d sp&l // fix e sound: koppiespeld/toespeld
@) sper (a sp@r' //desperate/desperaatheid/rasperagtig
ek) sper (im spEr // eksperimenteer/eksperimenteel
sake sA:k@ //sakeman, sakeonderneming etc.
@@ -4168,6 +4196,7 @@
sen (sorie s%En // move default stress: sensories/-e
senter sEnt@r // fix e sound: binne-/buite-/Springboksenter
senti (ment s%Ent%i // fix stress: sentimentaliteit
_) senu (CC se@ny // fix u sound: senudraad/-kwaal/-stelsel, etc.
@C) se (re_ se@ // fix penultimate e sound: bed-/brand-/keel-/kop-/kruip-/maag-/mond-/pitsere
se (roet s@ // fix stress and e sound: seroet and compounds
seroto (ni s%Er@t%u // fix stress and vowel sounds: serotonien(vlakke, etc.)
@@ -4277,6 +4306,7 @@
ste (l st&
apo) stel st@l // apostel and compounds
kun) stel (d st@l // gekunsteld/ongekunsteld and derivatives
ste (llasie st@ // fix e sound: konstellasie and compounds
@) ste (lyK st@ // fix e sound: buustelyfie/gastelys/onkostelys, etc.

stede (_ ste@d@ //voorstede, hoofstede etc.
@@ -4317,7 +4347,7 @@
storm stOr@-m
stotene sto@t@n@ // fix penultimate e sound: verstotene/-s/uitgestotene/-s
stout (moedi st%@Ut // move default stress: stoutmoedig/-e/-heid
@) straat (_S6 strA:t // Vermeulen/Maréstraat and similar
@) straat (_S6t strA:t // Vermeulen/Maréstraat and similar
strab (otomi str%ab // fix stress and 1st o sound: strabotomie
straf (regte str%af // move default stress: strafregtelik/-e
strand (o strant_ // fix d sound and insert pause: strandoord/-e
@@ -4604,6 +4634,7 @@
_) trak (ta tr%ak // move default stress: traktaat/traktate
_) trans (@P5 tr%ans // transatlanties/transformasie/transoranje/Transvaal, etc.
_) trans (aksie tr%ans // remove small break: transaksie/-s and compounds
_) trans (dans trA:ns // default stress: transdans-/er/-eres
transendent (A tr%ans%End%Ent // fix stress and vowel sounds and remove short break: transendenteel/-tele/-taal
transistor tr%ansIst@r // trans- not prefix, fix o sound: transistor(radio, etc.)
transito tr%ansit%u // trans not prefix: transitorooftog and similar
@@ -4711,6 +4742,7 @@
.group v
v f
v (v
@) v (alent v // fix v sound: ambi-/bi-/di-/ekwi-/mono-/poli-/univalent/-e
@) vaardig f'A:rd@x2 // diensvaardig/hulpvaardig/onboetvaardig/strydvaardig
uit) vaardig fA:rd@x2 // but uitvaardig
ver) vaardig fA:rd@x2 // default stress: onderdelevervaardiger and similar
@@ -4748,6 +4780,7 @@
vi (cto@ v%i // fix v and i sounds: victoriaans/-e
video vidiu //video and compounds
vier (kantig f%i:r // move default stress: vierkantig/-e vs. vierkant
viking vikiN // fix v and i sounds: Viking/-er/-boot, etc.
villa vIla // fix v sound: villa/-s
ville _^_EN
@ie) vis (_ f@s // fix stress: jellie/kerrievis
@@ -4847,6 +4880,7 @@
@) vers (_ f&rs // teksvers/slotvers/kindervers and similar
vers (album f&:rs_ // fix e sound: versalbum/-s
_) vers (b f&rs // fix e sound: versbundel/-bou/-boek
vers (d f&rs // fix e sound: versdrama and similar
@) vers (e_ f&rs // plurals of words like the above
_) versf f''&rsf // fix stress and e sound: versfragment/-e
ver (sie_ f&:r //words ending in versie
@@ -5005,7 +5039,7 @@
yd) w v // fix w sound: sluittydwerk/(wa)wydwakker
C) w (eerder v // fix w sound: insek-/muskiet-/reuk-/sweetweerder and similar
s) w (eerder w // but: eed-/geesbe-/saamsweerder and similar
luk) w (enK v // fix w sound: gelukwens(brief...)/gelukwensing, etc.
luk) wens ve~ns // fix w sound: gelukwens(brief...)/gelukwensing, etc.
w (ese_ v //words ending in wese
wed (ren vEt // fix e and d sounds: (perde)wedren and other compounds
@C) w (eë v // fix w sound: duikweë/staatsweë/uitweë, etc.
@@ -5057,7 +5091,7 @@
C) waarts vA:rts // fix w sound: dakwaarts/huiswaarts/kerkwaarts/noordwaarts/weswaarts
wêrel (djie v&:r@l // fix -djie in wêreldjie and compounds
wêrelde (_ v&:r@ld@ // wêrelde and words ending in wêrelde
wêreld (@P6 v'&:r@lt_ // d sound and short break: wêreldoorlog/-reis and similar
_) wêreld (@P6 v'&:r@lt_ // d sound and short break: wêreldoorlog/-reis and similar
wêreldw v&:r@ltv // fix t and w sounds: wêreldwater/-wys/-erkende and similar
wh _^_EN // words containing wh are English
@t) w (ie v // fix w sound: (ge)kortwiek/meetwiel
@@ -5215,6 +5249,7 @@
@) 's (S2 s // plurals of wrds ending in vowels: crescendo's/innuendo's/okapi's, etc.
@) 'tjie %ici // foto'tjie/ma'tjie, etc.
K) á (CK '!a // extra stress: kán/wás and similar
C) á (CA ''A: // always stress long accented a
áá '!A: // extra stress: dáár/dáár and similar
álle (K '!al@ // ekstra stress: álle/-s
K) ék (_ '&k // fix e sound and stress: ék/gék

+ 2090
- 36
dictsource/da_list
File diff suppressed because it is too large
View File


+ 976
- 311
dictsource/da_rules
File diff suppressed because it is too large
View File


+ 2
- 2
dictsource/de_rules View File

@@ -1,6 +1,6 @@

// ***************************************************************************
// * Copyright (C) 2006 to 2007 by Jonathan Duddington *
// * Copyright (C) 2006 to 2010 by Jonathan Duddington *
// * email: [email protected] *
// * *
// * This program is free software; you can redistribute it and/or modify *
@@ -531,7 +531,7 @@


.group i
_) i ( i:
_) i (_ i:
i i:
ih (+ i:


+ 24
- 24
dictsource/dict_phonemes View File

@@ -60,9 +60,20 @@ E i o O u V W y
Y

* - : ; ? b d D
dZ f g h j k l L
dZ f g h j k l l/3
m n N p r R s S
t tS v w
t tS v w z


Dictionary hu_dict

A a: E e: i i: o o:
u u: Y y y: Y:

- : b c d dZ dz f
g h j J k l m n
n^ p r R R2 s S s2
t tS ts v z Z


Dictionary de_dict
@@ -141,9 +152,9 @@ s2 t v w Z

Dictionary fr_dict

@ @- @2 a A~ e E E2
E: E~ i i- i: o O o2
O2 o3 O~ u u: W w^i wA
@ @- @2 a A A~ e E
E2 E: E~ i i- i: o O
o2 O2 o3 O~ u u: W w^i
W~ y Y

: b d dZ f g h j
@@ -190,15 +201,16 @@ r. s S s. t T t. th
th. v w x z


Dictionary hu_dict
Dictionary ta_dict

A a: E e: i i: o o:
u u: Y y y: Y:
a a: aI aU e E e: i
I i: o o: U u u: V

- : b c d dZ dz f
g h j J k l m n
n^ p r R R2 s S s2
t tS ts v z Z
: ; b C d d. dZ f
g h H j k l l. m
n N n. n^ p Q r R
s S s. t T t. th tS
v w z z.


Dictionary hy_dict
@@ -450,18 +462,6 @@ p Q R s S t T tS
v w x z


Dictionary ta_dict

a a: aI aU e E e: i
I i: o o: U u u: V

: ; b C d d. dZ f
g h H j k l l. m
n N n. n^ p Q r R
s S s. t T t. th tS
v w z z.


Dictionary tr_dict

a e E i I o O u

+ 1
- 1
dictsource/en_list View File

@@ -113,7 +113,6 @@ _] raItbrakI2t
_( lEftpa2rEn
_) raItpa2rEn
_* ast@rIsk
_+ plVs
_, k0m@
_- h,aIf@n
?3 _- daS
@@ -178,6 +177,7 @@ _‴ trIp@LpraIm
_‼ Ekskla2m'eIS@nz
_₠ jU@roU

+ plVs $max3
# haS $max3
@ _at_ $u+
& _and $u+

+ 14
- 8
dictsource/fr_list View File

@@ -24,7 +24,7 @@

// 2006-11-18 Gilles Casse <[email protected]>
//
// Updated 2010-02-07 Michel Such <[email protected]>
// Updated 2010-03-05 Michel Such <[email protected]>
//
// * Numbers, a few abbreviations and exceptions.
//
@@ -158,7 +158,7 @@ _& _e_komErsi-'al
÷ diviz'e_p'ar
¼ W~_k'ar
½ W~_d@m'i
¾ trwA_k'ar
¾ trua_k'ar
© _^_EN
® mark||depoz'e

@@ -168,7 +168,7 @@ _& _e_komErsi-'al
_0 zero $u+
_1 W~
_2 dYz2
_3 trwAz2
_3 truaz2
_4 katr
_5 sE~k
_6 siz3
@@ -188,7 +188,7 @@ _19 diznWf
_20 vE~
_21 vE~te:W~
_22 vE~tdYz2
_23 vE~t:trwAz2
_23 vE~t:truaz2
_24 vE~tkatr
_25 vE~tsE~k
_26 vE~tsiz3
@@ -257,6 +257,7 @@ divx diviks
ebay _^_en
(e bay) ebay $text
edf @deEf
eml @EmEl
etc E2tsetera
ghz ZigaErts
(g hz) ZigaErts
@@ -286,7 +287,7 @@ mm millimètre $text
mme madame $text
mn minyt
mns minytz2
(mp 3) _!EmpetrwA
(mp 3) _!Empetrua
mr m@siY
nsi $abbrev
nsis $abbrev
@@ -622,12 +623,14 @@ adam adA~
adams adams
admin admin
adsltv adeEs'El||tev'e
agenda aZE~da
airbus airbuss $text
alan alan
albinos albinoss $text
alleluia alelui'a
alterego altErego
anis anis
arte arte
any Eni $u
auvent ovA~
beta beta
bien bi-E~n2
@@ -635,6 +638,7 @@ bis bis
bissus bisys
blues _^_en
broglie breuil $text
browglie breuil $text
buffer bWfWr
bus bys
bus by $verb
@@ -795,7 +799,7 @@ espeak @spi:k
ethernet etErnEt
exit egzit
(file zilla) f,ajl||zij'a
from frO2m $u+
from frO2m $u
get _^_en
google gug=Wl
gnome gnOm
@@ -805,6 +809,7 @@ help _^_en
hot _^_en
in in $u+
inside _^_en
internet E~tErn'Et
(internet explorer) E~tErn'Et||E2ksplOr'Wr
klaxon klaksOn
let _^_en
@@ -814,7 +819,7 @@ logon _^_en
(mac os x) makoEsiks
made _^_en
media medja
messenger mesEnZWr
messenger mE2sEnZWr
my maj $u+
nat nat
not _^_en
@@ -869,6 +874,7 @@ bissau bisa'o
(burkina faso) byrkina||faso
burundi burundi
calvados calvadoss $text
christmas krismas
croatie kroasi
esperanto E2sperA~to
groenland groEnlA~d

+ 27
- 16
dictsource/fr_rules View File

@@ -23,7 +23,7 @@

// 2006-11-18 Gilles Casse <[email protected]>
//
// Updated: 2010-02-07 Michel Such <[email protected]>
// Updated: 2010-03-05 Michel Such <[email protected]>
//

// Letter classes:
@@ -71,6 +71,7 @@
am (n a // condamner

_L04) an (_ an
an (n_ a
_h) an (_ an
_) anti (@@P4 A~ti
_) arché (@P5 arke // archéologue
@@ -244,11 +245,13 @@ _) ç' (P2v s
e (Ce_ E
eau o // bateau cheveaux
g) ea (s_ a // mangeas
cap) e (la_ e
gh) e (tAX e // spagheti
j) e (a // Jean Jeanne
p) ect (_ E2 // suspect
ect (_ Ekt // direct
pi) ed (_ e // pied
_art) e (++ e // arte, artefact
_cl) ef (_ e // clef
_cr) e (at e
_) ein (K En // peindre
@@ -256,7 +259,7 @@ _) ç' (P2v s
pl) ein (_ E~n2 // plein emploi
e (il E // vieille
ei E // neige
eoi wA // asseoir
eoi ua // asseoir
ell El // selle
el (K El // celsius, caramel
_f) em (me a // femme
@@ -275,6 +278,7 @@ _) ç' (P2v s
en (_ A~n2 // en
en (hA A~n // enharmonique
_C) en (j E~ // benjamin
_flam) en (c E~ // flamenco
_) en (A A~n // enivrer

C) en (d_ A~ // comprend dépend
@@ -415,6 +419,7 @@ _) en (A A~n // enivrer

AA) en (_ E~
C) en (_ En // amen, abdomen, golden
nc) ens (_ A~ // encens
xam) en (_ E~ // examen

en (s_ A~
@@ -429,6 +434,9 @@ _) en (A A~n // enivrer
_hi) er (_ Er // hier
_fi) er (_ Er // fier
_hiv) er (X Er // hiver
Cst) er (X Er // hamster
_cart) er (X Er // carter
_cutt) er (X Er // cutter
tain) er (X Er // container
_ti) er (_ Er
ack) er (K Wr
@@ -590,7 +598,7 @@ _m) e (ga e

Z) ème i-Em
è E
ès E
ès (_ E
Ar) ès (_ Es
m) ès (_ Es
n) ès (_ Es
@@ -775,7 +783,8 @@ C) i (es_ i
in (_ W~ // vin
ing (_ iN
_) infra (_P5 E~fra
_) inter (@P5 E~tEr
_) inter (@@P5 E~tEr
_) interr (A E~tEr
_) inter (_ E~t'Er
_) inter (ne_ E~t'Er
_) intra (neP5 E~tra
@@ -926,7 +935,7 @@ C) i (es_ i
o (Cos_ o2
C) o (d_ O2

oe (ll wA // moelleux
oe (ll ua // moelleux
oe (i W // oeil
_) oe (C Y // oesophage
_ph) oe (C e // phoetus
@@ -941,10 +950,10 @@ C) i (es_ i
_) oi (gnon o // oignons
oin (C wE~
oin (_ wE~ // coin
_) oi wA // oiseau
oi wA // poil
oê (l wA // poêle
wA // boîte
_) oi ua // oiseau
oi ua // poil
oê (l ua // poêle
ua // boîte
om (C O~ // bombe
om (m O // nommer
om (ni O2m // omnibus
@@ -978,10 +987,10 @@ C) i (es_ i
ou u // hibou brouillard
où u // où
oû u // coûter
oyes (_ wA // troyes
oy (A wAj // noyer voyelles
oyes (_ ua // troyes
oy (A uaj // noyer voyelles
_y) o (y o
oy wA // roy
oy ua // roy
o (_ o // zorro allégro
o (z_ o // berlioz
o O
@@ -1250,7 +1259,8 @@ VCi) t (_ t2
Vé) t (ion t // répétions
habi) t (ions t // habitions
imi) t (ions t // imitions, limitions
Vu) t (ion t // ajoutions
VAu) t (ion t // ajoutions
lu) t (ion s // févolution
Apor) t (ion t // emportions, exportions
opor) t (ion s // proportion
Cpor) t (ion t // emportions, exportions
@@ -1309,9 +1319,9 @@ VCi) t (_ t2
C) ucci utSi // capuccino
c) ueill Wj // cueillir
c) ueil (_ Wj // recueil
_g) ua wA
ag) ua (_ wA
Ctig) ua (_ wA
_g) ua ua
ag) ua (_ ua
Ctig) ua (_ ua
_c) ul (_ y
_) ultra (P5 yltra
g) u (ay u
@@ -1394,6 +1404,7 @@ _r) w (an u // Rwanda

.group x
x ks
xx ks
_) x (A gz // xylophone
_) x (CP1 iks // xylophone
xml (_S3 _!iksEmEl

+ 5
- 2
dictsource/hu_list View File

@@ -350,7 +350,7 @@ VDSZSZ ve:de:EsEs $allcaps
WC ve:tse: $allcaps
LST ElESte: $allcaps
BAR bAR2 $allcaps
SS EsEs $allcaps
//SS EsEs $allcaps

a.m An^n^i||m'int $dot
ún u:JnEvEzEt: $hasdot
@@ -923,7 +923,7 @@ vitt $unstressend
rést $unstressend
brit $unstressend
természetes $u $1
front $unstressend

// word pairs

@@ -1153,6 +1153,9 @@ egyezség eggyesség
(dvd-n) dévédén
(dvd-d) dévédéd
(DVD-d) dévédéd
(USA-éval) usáéval
(ubuntu-n) ubuntun





+ 23
- 13
dictsource/hu_rules View File

@@ -16,7 +16,6 @@
000_-) al (_ Al // ... but not 1000-al
_) alattvaló AlAtvAlo:
ahhoz Ahoz
?!2 auschwitz AuSvits

.group á
á a:
@@ -37,6 +36,7 @@
tö) bb (ség b
tö) bb (nyire b
tö) bb (nek b
tová) bb (ra b

.group c
c ts
@@ -68,7 +68,6 @@
kilen) c (csatorn ts
ner) c (stóla ts
kavi) cs (zátony tS
?!2 cherbourg SER2buR2g
har) c (cselek ts
külön) c (sé ts

@@ -96,10 +95,8 @@ hierar) ch (i h
stri) ch (el h:
ar) ch (ív h
ar) ch (ivál h
ma) ch (iná h

?!2 _) church (il tSYR2tS
?!2 bu) ch (enwald h
?!2 da) ch (au h

.group d
d d
@@ -167,6 +164,9 @@ menetren) dsz (erű d|s
árpá) d (sáv d
ötö) dsz (ör ts:
ezre) d (szin d
ha) d (szin d
hor) d (szí d


.group dz
fogó) dz (kod ts
@@ -227,7 +227,7 @@ ringató) dz z

.group f
f f
führer fy:R2ER2
//führer fy:R2ER2


.group g
@@ -267,6 +267,7 @@ ritkasá) g (gyűjt g
é) gh (ajla kh
se) gg (fe g
se) gg (be g
pro) g (gyak g

.group gy
gy J
@@ -328,6 +329,10 @@ tizene) gy (es J:
a) gy (sérül J
á) gy (sor J
né) gy (sáv J
tizene) gy (edik J:
e) gy (aránt J:
e) gy (enrang J:
e) gy (előre J:



@@ -352,6 +357,7 @@ tizene) gy (es J:
v) í (zen i
sz) í (vatás i
v) í (zére i
sz) í (ve i



@@ -434,7 +440,6 @@ keresztü) l (j l
mosquito moskito:
mosquitó moskito:
messerschmitt mEs:ER2Smit:
?!2 hi) mm (ler m


.group n
@@ -488,7 +493,7 @@ tulajdo) n (jog n
fe) nn (sík n
egye) n (jogú n
beto) n (járda n
verse) ny (jog n^

.group o
o o
@@ -529,8 +534,9 @@ tulajdo) n (jog n
_) richa (rd R2iCa:
_) richá (rd R2iCa:
reichsmarschall R2EjsmAR2SAl:
?!2 _) roose (velt R2u:z
?!2 _) reichs R2Ejs
i) rr (itá R2
ko) rr (epetá R2


.group s
s S
@@ -557,9 +563,8 @@ juventu) s s //a radio station name
óriá) s S
látá) s (zavar S
hallá) s (zavar S
?!2 _) sherman SER2mAn
?!2 siegfried sigfR2i:d
gyalogo) s (zászló S
ki) s (zsidó S


.group ss
@@ -726,6 +731,8 @@ gyalogo) ssz Ss
mozgá) ssz Ss
_ke) ss (elring s:
rádió) ssz (ob Ss
jelzé) ssz (erű Ss
kitöré) ssz (erű Ss

.group sz
sz s
@@ -925,6 +932,7 @@ terüle) t (cél t
huncu) t (ság t
néme) t (juhá t
pó) t (je t
halo) tt (ba t

.group ts
ts (_S2 tS //general rule with word end of ts letters
@@ -1002,10 +1010,11 @@ indula) tsz (ó t|s
me) tsz (e ts:
hű) ts tS:
huncu) ts (ág tS:
segi) ts (é tS:

.group u
u u
szovjet) u (nió u:

.group ú
ú u:
@@ -1013,6 +1022,7 @@ indula) tsz (ó t|s
h) ú (szas u
h) ú (szat u


.group ü
ü y
ütt yt:

+ 1
- 1
dictsource/is_rules View File

@@ -6,7 +6,7 @@
// letter group H j,r,v,

.replace
x xz
x xz // so that it behaves as 2 letters


.group a

+ 2
- 2
dictsource/nl_rules View File

@@ -20,7 +20,7 @@

_) be (@P2 b@
_) b (ee+ b
_) be( ren bI:
_) be (ren bI:
_) be (ter be:
_) beu bY:

@@ -97,7 +97,7 @@


.group i
_) i ( i:
_) i (_ i:
i i
ij (+ EI
i (CC I

+ 4
- 4
dictsource/sk_rules View File

@@ -494,7 +494,7 @@ _defini) tí (v ti:
_ak) tí (v ti:
_detek) tí ti:
mo) tí (v ti:
_pales) tí ( ti:
_pales) tí ti:
_nega) tí (v ti:
i) tí (v ti:
a) tí (v ti:
@@ -528,7 +528,7 @@ _charak) te (r te
ia) te (_ te
me) te (r_ te
v) te (dajš te
zavia) te ( te
zavia) te te
_de) te (ktí te
_) te (ó te
in) te (rne te
@@ -559,7 +559,7 @@ _charak) te (r te
_pas) te te
_pa) te (nt te
te (mati te
_dein) te ( te
_dein) te te
_sep) te (mb te
_é) te (r te
_asis) te (n te
@@ -593,7 +593,7 @@ _charak) te (r te
in) te (r te
_sys) te (m te
_al) te (rn te
_syn) te ( te
_syn) te te
_li) te (r te



+ 680
- 680
dictsource/sv_rules
File diff suppressed because it is too large
View File


+ 100
- 51
dictsource/ta_rules View File

@@ -70,6 +70,7 @@
_) க (னத் gV
_) க (னம gV
_) க (ப்பென்ர gV
_) க (மகம gV
_) க (ம்பீர gV
_) க (ருட gV
_) க (ர்ஜ gV
@@ -89,6 +90,7 @@
_) க (ானம g
க (ாரன k
க (ாரர k
_) க (ிடுகிடு g
_) க (ிரிஜா g
_) க (ிரிதர g
_) க (ுகன g
@@ -97,6 +99,7 @@
_) க (ுடியாத்த g
_) க (ுணங் g
_) க (ுணத் g
_) க (ுணப்பட g
_) க (ுணம g
_) க (ுண்டடி g
_) க (ுண்டன g
@@ -113,6 +116,7 @@
_) க (ுபுகுபு g
_) க (ுபுக் g
_) க (ுப்பென்ற g
_) க (ுமுகுமு g
_) க (ும்பல g
_) க (ும்மிடிப்பூண் g
_) க (ும்மிருட்ட g
@@ -158,6 +162,7 @@
_கல்) க (ண்ட kV
_கல்) க (த்தா kV
கொல்) க (த்தா kV
மோ) க (ன HV
தின) க (ர kV
மது) க (ர kV
திவா) க (ர kV
@@ -168,9 +173,11 @@
க (வி kV
கோயில்) க (ாளை k
_கல்) க (ி k
ங்) க (ிரு g
க (ுமார k
க (ுல k
_) குல்க (ந்த gulkV
ம) க (ே H
//endsort

_) கி (ராம g
@@ -178,8 +185,14 @@
_) கி (ராக்கி g
கிரு (ஷ் kri
_) கி (ரீட k
_) கி (ரஹ g
_) கி (ரக g
நற்) க (ுண g
ம) க (ா H
_சொர்) க்க ggV
_வர்) க்க ggV
மார்) க்க ggV
துர்) க்க ggV


.group ங
@@ -210,11 +223,16 @@

//sort
_) ச (க்கரவர்த்தி tSV
சங்க (ர s.VNkV
ச (ண்பக s.V
ச (ண்மு s.V
_) ச (துர் tSV
ச (ந்திர tSV
_) ச (ப்பாத்தி tSV
ச (ாந்தி s.
_) ச (ான்ஸ tS
_) ச (ாமுண்ட tS
சமா) ச (ார tS
_) ச (ிட்டாக tS
_) ச (ிட்டாட்ட tS
_) ச (ிட்டி tS
@@ -225,33 +243,35 @@
வி) ச (ித்திர tS
_) ச (ித்ரா tS
சு) சித (்ரா tSit
_) சி (நே s
_) சி (னே s
_) ச (ின் tS
சி (ரம s
_) சிரு (ஷ்டி sri
_) ச (ீன tS
_) ச (ீனிவா s
சீ (னிவாச sri:
_ஈ) சு s
கே) சு (வ s
மே) சு (வ s
சு (வாதீன s
சு (வாமி s
சு (வாரஸ்ய s
_) ச (ெட்டிப்பாளைய tS
_) ச (ெட்டியார tS
ச (ெண்பக s.
_) ச (ென்னை tS
_) ச (ெல்லம tS
_) ச (ெஸ் tS
_) ச (ேரி tS
//endsort

_) சிரு (ஷ்டி sri
சீ (னிவாச sri:
ச (ாந்தி s.
ச (ண்மு s.V
சங்க (ர s.VNkV
ச (ண்பக s.V
ச (ெண்பக s.
சு (வாரஸ்ய s
சு (வாமி s
சி (ரம s


.group ஜ
ஜ dZV
ஜ (B dZ
_) ஜு (வால dZ

.group ஞ
ஞ n^V
@@ -360,6 +380,7 @@
_) த (ர்ம dV
_) த (வம dV
_) த (ாக்கா d
_) த (ாக்காம t
_) த (ாச d
_) த (ாடி d
_) த (ாட்சாய d
@@ -387,6 +408,7 @@
_) த (ிடீ d
_) த (ிடீர d
_) த (ிடுக் d
_) த (ிடுதிடு d
_) த (ிடும d
_) த (ிண்டிவன d
_) த (ிண்டுக்கல d
@@ -411,6 +433,8 @@
_) த (ீரமில்ல d
_) த (ீரர் d
_) த (ீர்க d
_) த (ீர்க்கலா t
_) த (ீர்க்கா t
_) த (ுக்க d
_) த (ுக்கடா t
_) த (ுக்கிரி t
@@ -437,6 +461,8 @@
_) த (ேவதை d
_) த (ேவன d
_) த (ேவர்க d
_) த (ேவலோக d
_) த (ேவாதி d
_) த (ேவாமிருத d
_) த (ேவாம்ச d
_) த (ேவார d
@@ -449,48 +475,53 @@
_) த (ோஷ d
//endsort

யு) த்த ddV
யு) த்த(B dd
பு) த்த (ி dd
பு) த்த (ியி dd
பு) த்த (ர ddV
பு) த்த (ன ddV
சமு) த்த (ிர dd
உ) த்த (ியோக dd
ம) த்த (ிய dd
வா) த்த (ிய dd
வை) த்த (ிய dd
சி) த்த (ர ddV


_சாந்) த (ி t
_சும) த (ி t
_வசந்) த (ி t
_சுகந்) த (ி t
_வனி) த (ா t
_சுனி) த (ா t
//sort
_வசந்) த tV
த (ன tV
_ல) த (ா t
அனி) த (ா t
_சுனி) த (ா t
_வனி) த (ா t
_வினி) த (ா t
பிரேமல) த (ா t
_சும) த (ி t
_சாந்) த (ி t
_ரேவ) த (ி t
_வினி) த (ா t
_வசந்) த tV
வாசந்) த (ி t
_சுகந்) த (ி t
_பார்வ) த (ி t
பிரபாவ) த (ி t
_வசந்) த (ி t
_கோம) த (ி t
_பிர) த (ீ t
பவி) த (்ரா t
நி) த (்ய t
சி) த (்ரா t

_) திரு (ஷ்டி dri
பிரபாவ) த (ி t
_) தி (யாக t
_) திரு (திரா dri
_) து (ரோண t
_) திரு (ஷ்டி dri
_) தி (ரௌபதி t
_பிர) த (ீ t
_) து(ரோக d
_) தி (யாக t
_) து (ரோண t
_) து (வேச d
_) து (வேஷ d

யு) த்த ddV
யு) த்த(B dd
பு) த்த (ன ddV
சி) த்த (ர ddV
பு) த்த (ர ddV
பு) த்த (ி dd
சா) த்த (ிய dd
ம) த்த (ிய dd
வா) த்த (ிய dd
வை) த்த (ிய dd
பு) த்த (ியி dd
உ) த்த (ியோக dd
சமு) த்த (ிர dd
ச) த (்ய t
நி) த (்ய t
சி) த (்ரா t
பவி) த (்ரா t
ச) த (்ரு t
த) த (்ரூப t
//endsort


.group ந
@@ -568,11 +599,15 @@ _கோம) த (ி t
_) ப (யப் bV
_) ப (யம bV
_) ப (ரதநாட்டிய bV
_) ப (ரதன bV
_) ப (ரதர bV
_) ப (ரோட bV
_) ப (ர்மா bV
_) ப (லகீன bV
_) ப (லங் bV
_) ப (லசாலி bV
_) ப (லதேவ bV
_) ப (லத்தை bV
_) ப (லப்படு bV
_) ப (லம bV
_) ப (லமுறை pV
@@ -623,11 +658,13 @@ _கோம) த (ி t
_) ப (ால்ய b
_) ப (ாவனா b
_) ப (ாவனை b
_) ப (ாவித்த b
_) ப (ாஷை b
_) ப (ாஷ்ய b
_) ப (ாஸ்கர b
_) ப (ாஸ்மதி b
_) ப (ிக்கு b
_) ப (ிக்ஷூ b
_) ப (ிரகதீ b
_) ப (ிரகஸ்பதி b
_) ப (ிரம்ம b
@@ -693,12 +730,19 @@ _கோம) த (ி t
நன்) ப (கல pV
பின்) ப (கல pV
முன்) ப (கல pV
நாலா) ப (க்க pV
ப (டி pV
@) ப (ட்ச+ pV
ப (ண pV
கல்) ப (னா pV
நிரு) ப (மா pV
அனு) ப (மா pV
சமன்) ப (ாட p
முரன்) ப (ாட p
ப (ாண்டி p
ப (ாதை p
எதிர்) ப (ார p
அட) ப (ாவ p
கோ) ப (ி p
ம்) ப (ுரா b
நாலா) ப (ுற p
@@ -708,13 +752,14 @@ _கோம) த (ி t
இன்ஸ்) ப (ெக்டர p
ப (ெற p // ?? end-of-word + suffix ??
ப (ோதிலும்+ p
ப (ோது p
ப (ோதும் p
ப (ோது+ p
ப (ோதும்+ p
ப (ோதும்_+ p
ப (ோதே_+ p
ப (ோன்ற p // ?? end-of-word + suffix ??
ப (ோல்_ p
_ர) ப்ப (ர bb
ப (ோன்ற+ p // ?? end-of-word + suffix ??
ப (ோல்_+ p
_ர) ப்ப (ர bbV
துர்) ப்ப (ாக்கிய bb
//endsort

// If ப+ appearing in the middle of a word is followed by ட+
@@ -738,6 +783,7 @@ _கோம) த (ி t
_) பி (ரசாத p
_) பி (ரசாந்தி p
_) பிரச (ார prVtS
_) பி (ரசித்த p
_) பி (ரசித்தி p
_) பி (ரச்சனை p
_) பிரச (்னை prVtS
@@ -766,7 +812,9 @@ _கோம) த (ி t
_) பி (ரவாக p
_) பி (ரவேச p
_) பி (ரவேசி p
_) பி (ரஷ்ட p
_) பி (ரஸ்தா p
_) பி (ராகார p
_) பி (ராணன p
_) பி (ராணி p
_) பி (ராதித் p
@@ -802,7 +850,7 @@ _கோம) த (ி t
ம) ப (K pV
மா) ப (K pV
ம) ப (ா p
மா) ப( ா p
மா) ப (ா p
பப (K pVpV
பாப (K pa:pV
பப (ா pVp
@@ -815,7 +863,7 @@ _கோம) த (ி t
னி) ப (K pV
னீ) ப (K pV
னி) ப (ா p
னீ) ப( ா p
னீ) ப (ா p
க) ப (K pV
க) ப (ா p
கா) ப (K pV
@@ -882,7 +930,7 @@ _கோம) த (ி t
.group வ
வ vV
வ (B v
_) வி (யாபார v
_) வி (யா v


.group ஶ
@@ -930,6 +978,7 @@ _கோம) த (ி t
_) இ (ரான i
_) இ (லட்சிய // silent
_) இ (ரகசிய // silent
_) இ (லேச // silent

ஈ i:


+ 28
- 26
phsource/compile_report View File

@@ -17,8 +17,8 @@ consonants 9 107
jbo 2 111
nci 3 120
fi 40 130
fr 55 138
fr_ca 11 138
fr 54 137
fr_ca 11 137
hi 58 145
ta 20 148
hu 24 116
@@ -103,7 +103,6 @@ d/dr [*] base
[d[] base
[d] base2
[d] fi
[d] fr
[d.] hi
[dh.] hi
[d] hu
@@ -321,8 +320,8 @@ l/l_@ [l/3] base
[W] fr
[Y] fr
[l/] fr
l/l@ [] base
[L] base
l/l@ [L] base
[¼øÞ] base
[W] fr
[Y] fr
[l] fr
@@ -348,15 +347,14 @@ l/L2_oL [l/2] base
l/L2_uL [l/2] base
l/l_3 [l/] de
l/l_4 [ll] sq
l/la [] base
[L] base
l/la [L] base
[¼øÞ] base
[a] fr
[l] fr
l/l_a [l/3] base
[l/] fr
[wA] fr
l/le [] base
[L] base
l/le [L] base
[¼øÞ] base
[l] fr
l/l_e [l/3] base
[l/] fr
@@ -364,8 +362,8 @@ l/L_eL_af [&] af
[&:] af
l/l_front [L] sq
l/l_front_ [l/4] sq
l/li [] base
[L] base
l/li [L] base
[¼øÞ] base
[l] fr
[l] zh
l/l_i [l/3] base
@@ -373,15 +371,15 @@ l/l_i [l/3] base
[i] sq
l/l_long [l] base
[l] fr
l/lo [] base
[L] base
l/lo [L] base
[¼øÞ] base
[l] fr
l/l_o [l/3] base
[l/] fr
[o2] fr
l^/l_rfx [l.] base
l/lu [] base
[L] base
l/lu [L] base
[¼øÞ] base
[l] fr
[w^i] fr
l/l_u [l/3] base
@@ -486,7 +484,6 @@ r3/r_ [r/] base
[r/] ru
r3/r#_ [r#] is
r3/r_n [r/] base
[r/2] fr
[r/] ru
r3/r_ru [R4] ru
r3/r_ru2 [R4] ru
@@ -674,6 +671,7 @@ ustop/kl [k] base
[k] zhy
ustop/kr [k] base
[k] base2
[k] fr
[k] el
[k] zhy
ustop/k_unasp [k] base
@@ -708,6 +706,7 @@ ustop/pr [p] base
[p-] consonants
[ph] consonants
[p] base2
[p] fr
ustop/p_unasp [p] base
[p-] consonants
[p] base2
@@ -1275,7 +1274,8 @@ vowel/a#_3 [a2] en
[a] ml
vowel/a_4 [a/] el
[a] vi
vowel/a_5 [a:] ta
vowel/a_5 [a] fr
[a:] ta
[a/] it
[a] la
[a] sv
@@ -1868,29 +1868,31 @@ vwl_fr/r [r] fr
vwl_fr/_r [r] fr
vwl_fr/r_ [r/2] fr
vwl_fr/r_@ [r/2] fr
vwl_fr/r@ [r] fr
vwl_fr/r@ [)g] fr
vwl_fr/@R [x] pt_pt
vwl_fr/_r2 [r] fr
vwl_fr/@R2 [R] fr_ca
vwl_fr/ra [a] fr
vwl_fr/ra [)g] fr
vwl_fr/r_a [r/2] fr
vwl_fr/raa [A~] fr
vwl_fr/r_an [A~] fr
vwl_fr/re [r] fr
vwl_fr/re [)g] fr
vwl_fr/r_e [r/2] fr
vwl_fr/ri [r] fr
vwl_fr/ri [)g] fr
vwl_fr/r_i [r/2] fr
vwl_fr/ro [r] fr
vwl_fr/ro [)g] fr
vwl_fr/r_o [o] fr
[o2] fr
[r/2] fr
vwl_fr/ru [r] fr
vwl_fr/ru [)g] fr
vwl_fr/r_u [r/2] fr
vwl_fr/ry [w^i] fr
vwl_fr/ry [y] fr
[w^i] fr
vwl_fr/r_y [y] fr
vwl_fr/tr [r] fr
vwl_fr/w_a [wA] fr
vwl_fr/trr [r/2] fr
vwl_fr/xr [r] fr
[r2] fr
vwl_hi/l-voc [l-] base
[l-] sk
[l:] sk

+ 64
- 42
phsource/ph_french View File

@@ -1,7 +1,7 @@
//====================================================
// French
//====================================================
// Updated 2010-02-13 Michel Such <[email protected]>
// Updated 2010-02-25 Michel Such <[email protected]>

phoneme #l virtual
// Used for l and l/
@@ -17,33 +17,44 @@ phoneme : // Lengthen previous vowel by "length"
endphoneme


procedure vowelstart_r
NextVowelStarts
VowelStart(vwl_fr/r@)
VowelStart(vwl_fr/ra, -30)
VowelStart(vwl_fr/re)
VowelStart(vwl_fr/ri)
VowelStart(vwl_fr/ro)
VowelStart(vwl_fr/ru)
EndSwitch
endprocedure


phoneme r
liquid rhotic uvl
lengthmod 7
starttype #r endtype #r
lengthmod 7

IF nextPh(isNotVowel) THEN
ChangePhoneme(r/2)
ENDIF

VowelEnding(vwl_fr/xr)
IF nextPh(isStressed) THEN
length 45
ENDIF

NextVowelStarts
VowelStart(vwl_fr/r@)
VowelStart(NULL)
VowelStart(vwl_fr/re)
VowelStart(vwl_fr/ri)
VowelStart(vwl_fr/ro)
VowelStart(vwl_fr/ru)
EndSwitch
VowelEnding(vwl_fr/xr)
CALL vowelstart_r

IF prevPh(isPause) OR prevPhW(r/2) THEN
FMT(vwl_fr/_r)
ELIF prevPhW(p) OR prevPhW(k) THEN
length 50
FMT(vwl_fr/tr)
ELIF prevPhW(t) THEN
length 45
FMT(vwl_fr/tr) addWav(r3/rx,30)
ELIF prevPhW(f) OR prevPhW(g) OR prevPhW(v) THEN
length 40
ENDIF

IF thisPh(isWordStart) THEN
@@ -67,15 +78,18 @@ phoneme r2 // silent unless followed by vowel
IF nextPh(isNotVowel) THEN
ChangePhoneme(NULL)
ENDIF

VowelEnding(vwl_fr/xr)
CALL vowelstart_r
FMT(vwl_fr/r)
endphoneme



phoneme r/2 // variant of [r] when not preceding a vowel
liquid uvl
liquid rhotic uvl
starttype #r endtype #r
Vowelout f1=2 f2=1600 -300 300 f3=-300 100
Vowelout f1=2 f2=1600 -300 300 f3=-300 100 len=50
lengthmod 2

PrevVowelEndings
@@ -87,10 +101,17 @@ phoneme r/2 // variant of [r] when not preceding a vowel
VowelEnding(vwl_fr/r_u)
EndSwitch

IF prevPh(t) OR prevPh(p) OR prevPh(k) OR prevPh(d) THEN
FMT(vwl_fr/trr)
ENDIF

IF thisPh(isWordEnd) THEN
FMT(vwl_fr/r_) addWav(r3/rx, 20)
ENDIF

IF prevPh(isVowel) THEN
FMT(vwl_fr/r_) addWav(r3/rx, 30)
ELIF prevPh(m) OR prevPh(n) THEN
FMT(r3/r_n)
length 80
FMT(vwl_fr/r_) addWav(r3/rx, 20)
ENDIF

FMT(vwl_fr/r_)
@@ -120,7 +141,8 @@ phoneme l
VowelEnding(l/xl, -40)
ENDIF

IF prevPh(isPause) THEN
IF prevPh(isPause) OR thisPh(isWordStart) THEN
VowelEnding(NULL)
FMT(l/_l)
ENDIF
IF prevPh(r/2) THEN
@@ -187,9 +209,11 @@ phoneme a
VowelStart(l/la, -15)
ENDIF

IF prevPh(#r) THEN
VowelStart(vwl_fr/ra)
IF prevPhW(u) THEN
length 140
FMT(vowel/a_5)
ENDIF

FMT(vowel/a_6)
endphoneme

@@ -201,6 +225,9 @@ phoneme e
IF nextPh(l/) THEN
VowelEnding(l/xl, -20)
ENDIF
IF nextPh(isVowel) THEN
length 200
ENDIF

FMT(vowel/e_8)
endphoneme
@@ -313,6 +340,9 @@ phoneme u
IF nextPh(i) THEN
Length 50
ENDIF
IF nextPhW(a) THEN
length 110
ENDIF

FMT(vowel/u_bck2)
endphoneme
@@ -332,6 +362,9 @@ phoneme y
IF nextPh(l/) THEN
VowelEnding(l/l_y, -30)
ENDIF
IF prevPh(#r) THEN
VowelStart(vwl_fr/ry)
ENDIF
IF nextPh(r/2) THEN
VowelEnding(vwl_fr/r_y)
ENDIF
@@ -377,21 +410,6 @@ phoneme W
endphoneme


phoneme wA
vowel starttype #o endtype #a
length 220

IF nextPh(l/) THEN
VowelEnding(l/l_a)
ENDIF
IF nextPh(j) THEN
VowelEnding(NULL)
ENDIF

FMT(vwl_fr/w_a)
endphoneme


phoneme w^i
vowel starttype #u endtype #i
length 240
@@ -414,7 +432,7 @@ phoneme A~
VowelEnding(vwl_fr/r_an)
ENDIF
IF prevPh(#r) THEN
VowelStart(vwl_fr/raa)
VowelStart(vwl_fr/raa, -10)
ENDIF

FMT(vnasal/aa_n4)
@@ -488,7 +506,7 @@ phoneme b
ENDIF

IF PreVoicing THEN
FMT(b/xb, 50)
FMT(b/xb)
ENDIF

IF nextPh(isPause2) OR nextPh(#l) THEN
@@ -510,10 +528,10 @@ phoneme d
FMT(d/xd)
ENDIF

IF nextPh(isPause2) THEN
IF nextPh(isPause2) OR nextPh(isPause) THEN
FMT(d/d_) addWav(x/d_, 50)
ELIF nextPh(#r) THEN
FMT(d/dr) addWav(x/d, 50)
// ELIF nextPh(#r) THEN
// FMT(d/dr) addWav(x/d, 50)
ELIF prevPh(isPause) THEN
FMT(d/d) addWav(x/d, 50)
ENDIF
@@ -551,7 +569,8 @@ phoneme k
IF nextPh(isPause2) THEN
WAV(ustop/k_)
ELIF nextPh(#r) THEN
WAV(ustop/k, 50)
length 50
WAV(ustop/kr, 40)
ELIF nextPh(#i) OR nextPh(;) THEN
WAV(ustop/ki, 45)
ELIF nextPh(#l) THEN
@@ -583,8 +602,11 @@ phoneme p
WAV(ustop/p_, 70)
ELIF nextPh(@-) THEN
WAV(ustop/p_unasp, 60)
ELIF nextPh(l) THEN
ELIF nextPh(#l) THEN
WAV(ustop/pl, 30)
ELIF nextPh(#r) THEN
length 50
WAV(ustop/pr, 30)
ENDIF
WAV(ustop/p_unasp_, 90)
endphoneme
@@ -707,7 +729,7 @@ phoneme z
lengthmod 6
Vowelout f1=0 f2=1700 -300 300 f3=-100 60 len=50

IF nextPh(isPause2) THEN
IF nextPh(isPause2) OR nextPh(isPause) THEN
FMT(voc/z_) addWav(ufric/s_, 45)
ENDIF
FMT(voc/z) addWav(ufric/s_, 45)

BIN
phsource/vowel/o_mid2 View File


BIN
phsource/vwl_fr/_r View File


BIN
phsource/vwl_fr/r View File


BIN
phsource/vwl_fr/r_ View File


BIN
phsource/vwl_fr/ra View File


BIN
phsource/vwl_fr/raa View File


BIN
phsource/vwl_fr/re View File


BIN
phsource/vwl_fr/ri View File


BIN
phsource/vwl_fr/ry View File


BIN
phsource/vwl_fr/tr View File


BIN
phsource/vwl_fr/xr View File


+ 1
- 1
src/compiledata.cpp View File

@@ -3156,7 +3156,7 @@ fprintf(f_errors,"\nRefs %d, Reused %d\n",count_references,duplicate_references
report.Printf(_T("Compiled phonemes: %d errors."),error_count);
if(error_count > 0)
{
report += _T(" See file: 'error_log'.");
report += _T(" See file: 'phsource/error_log'.");
wxLogError(report);
}
wxLogStatus(report + report_dict);

+ 5
- 0
src/compiledict.cpp View File

@@ -1007,6 +1007,11 @@ static char *compile_rule(char *input)
copy_rule_string(buf,state);
state = 3;
p = buf;
if(input[ix+1] == ' ')
{
fprintf(f_log,"%5d: Syntax error. Space after (\n",linenum);
error_count++;
}
break;
case '\n': // end of line

+ 29
- 0
src/espeakedit.cpp View File

@@ -590,7 +590,36 @@ void MyFrame::OnTools(wxCommandEvent& event)
wxLogStatus(_T("Compiled '")+wxString(dictionary_name,wxConvLocal)+_T("', %d errors"),err);

if(log != NULL)
{
fclose(log);

if(err > 0)
{
// display the error messages
int len;
FILE *f;
char *msg;
wxString msg_string;

len = GetFileLength(fname_log);
if(len > 0)
{
if(len > 2000)
len = 2000; // restrict length to pppppevent crash in wxLogMessage()
msg = (char *)malloc(len+1);
if(msg != NULL)
{
f = fopen(fname_log,"r");
fread(msg,len,1,f);
fclose(f);
msg[len] = 0;
msg_string = wxString(msg,wxConvUTF8);
wxLogMessage(msg_string);
free(msg);
}
}
}
}
break;

case MENU_FORMAT_DICTIONARY:

+ 47
- 34
src/numbers.cpp View File

@@ -758,26 +758,26 @@ void SetSpellingStress(Translator *tr, char *phonemes, int control, int n_chars)
static char ph_ordinal2[12];


static int CheckDotOrdinal(Translator *tr, char *word, WORD_TAB *wtab, int roman)
{//==============================================================================
static int CheckDotOrdinal(Translator *tr, char *word, char *word_end, WORD_TAB *wtab, int roman)
{//==============================================================================================

int ordinal = 0;
int c2;
int nextflags;

if((tr->langopts.numbers & NUM_ORDINAL_DOT) && ((word[0] == '.') || (wtab[0].flags & FLAG_HAS_DOT)) && !(wtab[1].flags & FLAG_NOSPACE))
if((tr->langopts.numbers & NUM_ORDINAL_DOT) && ((word_end[0] == '.') || (wtab[0].flags & FLAG_HAS_DOT)) && !(wtab[1].flags & FLAG_NOSPACE))
{
if(roman || !(wtab[1].flags & FLAG_FIRST_UPPER))
{
utf8_in(&c2, &word[2]);
if((word[1] != 0) && ((c2 == 0) || (wtab[0].flags & FLAG_COMMA_AFTER) || IsAlpha(c2)))
utf8_in(&c2, &word_end[2]);
if((word_end[1] != 0) && ((c2 == 0) || (wtab[0].flags & FLAG_COMMA_AFTER) || IsAlpha(c2)))
{
// ordinal number is indicated by dot after the number
// but not if the next word starts with an upper-case letter
// (c2 == 0) is for cases such as, "2.,"
ordinal = 2;
if(word[0] == '.')
word[0] = ' ';
if(word_end[0] == '.')
word_end[0] = ' ';

if((roman==0) && (tr->translator_name == L('h','u')))
{
@@ -785,7 +785,7 @@ static int CheckDotOrdinal(Translator *tr, char *word, WORD_TAB *wtab, int roman
nextflags = 0;
if(IsAlpha(c2))
{
nextflags = TranslateWord(tr, &word[2], 0, NULL);
nextflags = TranslateWord(tr, &word_end[2], 0, NULL);
}

if((tr->prev_dict_flags & FLAG_ALT_TRANS) && ((c2 == 0) || (wtab[0].flags & FLAG_COMMA_AFTER) || iswdigit(c2)))
@@ -793,8 +793,15 @@ if((tr->prev_dict_flags & FLAG_ALT_TRANS) && ((c2 == 0) || (wtab[0].flags & FLAG

if(nextflags & FLAG_ALT_TRANS)
ordinal = 0;
if((tr->prev_dict_flags & (FLAG_ALT_TRANS | FLAG_ALT3_TRANS)) && (nextflags & FLAG_ALT3_TRANS))
ordinal = 0x22;

if(nextflags & FLAG_ALT3_TRANS)
{
if(word[-2] == '-')
ordinal = 0; // eg. december 2-5. között

if(tr->prev_dict_flags & (FLAG_ALT_TRANS | FLAG_ALT3_TRANS))
ordinal = 0x22;
}
}
}
}
@@ -816,6 +823,7 @@ int TranslateRoman(Translator *tr, char *word, char *ph_out, WORD_TAB *wtab)
int subtract;
int repeat = 0;
int n_digits = 0;
char *word_start;
unsigned int flags[2];
char ph_roman[30];
char number_chars[N_WORD_BYTES];
@@ -833,6 +841,7 @@ int TranslateRoman(Translator *tr, char *word, char *ph_out, WORD_TAB *wtab)
if((tr->langopts.numbers & NUM_ROMAN_CAPITALS) && !(wtab[0].flags & FLAG_ALL_UPPER))
return(0);

word_start = word;
while((c = *word++) != ' ')
{
if((p2 = strchr(roman_numbers,c)) == NULL)
@@ -886,7 +895,7 @@ int TranslateRoman(Translator *tr, char *word, char *ph_out, WORD_TAB *wtab)

sprintf(number_chars," %d ",acc);

if(CheckDotOrdinal(tr, word, wtab, 1))
if(CheckDotOrdinal(tr, word_start, word, wtab, 1))
wtab[0].flags |= FLAG_ORDINAL;

if(tr->langopts.numbers & NUM_ROMAN_ORDINAL)
@@ -947,32 +956,35 @@ static int LookupThousands(Translator *tr, int value, int thousandplex, int thou
ph_of[0] = 0;

// first look for a match with the exact value of thousands
if(thousands_exact & 1)
if(value > 0)
{
if(thousands_exact & 2)
{
// ordinal number
sprintf(string,"_%dM%do",value,thousandplex);
found_value = Lookup(tr, string, ph_thousands);
}
if(!found_value & (number_control & 1))
if(thousands_exact & 1)
{
// look for the 'e' variant
sprintf(string,"_%dM%de",value,thousandplex);
found_value = Lookup(tr, string, ph_thousands);
if(thousands_exact & 2)
{
// ordinal number
sprintf(string,"_%dM%do",value,thousandplex);
found_value = Lookup(tr, string, ph_thousands);
}
if(!found_value & (number_control & 1))
{
// look for the 'e' variant
sprintf(string,"_%dM%de",value,thousandplex);
found_value = Lookup(tr, string, ph_thousands);
}
if(!found_value)
{
// 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)
if(found_value == 0)
{
// is there a different pronunciation if there are no hundreds,tens,or units ? (LANG=ta)
sprintf(string,"_%dM%dx",value,thousandplex);
sprintf(string,"_%dM%d",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_value == 0)
{
@@ -1504,7 +1516,7 @@ static int TranslateNumber_1(Translator *tr, char *word, char *ph_out, unsigned
if((tr->langopts.thousands_sep == ' ') || (tr->langopts.numbers & NUM_ALLOW_SPACE))
{
// thousands groups can be separated by spaces
if((n_digits == 3) && isdigit(word[-2]))
if((n_digits == 3) && !(wtab->flags & FLAG_MULTIPLE_SPACES) && isdigit(word[-2]))
{
prev_thousands = 1;
}
@@ -1520,7 +1532,7 @@ static int TranslateNumber_1(Translator *tr, char *word, char *ph_out, unsigned
if(prev_thousands || (word[0] != '0'))
{
// don't check for ordinal if the number has a leading zero
ordinal = CheckDotOrdinal(tr, &word[ix], wtab, 0);
ordinal = CheckDotOrdinal(tr, word, &word[ix], wtab, 0);
}

if((word[ix] == '.') && !isdigit(word[ix+1]) && !isdigit(word[ix+2]) && !(wtab[1].flags & FLAG_NOSPACE))
@@ -1627,8 +1639,9 @@ static int TranslateNumber_1(Translator *tr, char *word, char *ph_out, unsigned

if(tr->translator_name == L('h','u'))
{
// variant form of numbers when followed by hyphen and a suffix starting with 'a' or 'e'
if((wtab[thousandplex].flags & FLAG_HYPHEN_AFTER) && (thousands_exact==1) && ((word[suffix_ix] == 'a') || (word[suffix_ix] == 'e')))
// variant form of numbers when followed by hyphen and a suffix starting with 'a' or 'e' (buit not a, e, az, ez, azt, ezt
if((wtab[thousandplex].flags & FLAG_HYPHEN_AFTER) && (thousands_exact==1)
&& ((word[suffix_ix] == 'a') || (word[suffix_ix] == 'e')) && ((c = word[suffix_ix+1]) != ' ') && (c != 'z'))
{
number_control |= 1; // use _1e variant of number
}

+ 0
- 1
src/speak_lib.cpp View File

@@ -47,7 +47,6 @@
#include "wave.h"

unsigned char *outbuf=NULL;
extern FILE *f_logespeak;
extern espeak_VOICE voice_selected;

espeak_EVENT *event_list=NULL;

+ 2
- 2
src/synthdata.cpp View File

@@ -35,8 +35,8 @@
#include "translate.h"
#include "wave.h"

const char *version_string = "1.43.03 24.Feb.10";
const int version_phdata = 0x014220;
const char *version_string = "1.43.02 08.Mar.10";
const int version_phdata = 0x014300;

int option_device_number = -1;
FILE *f_logespeak = NULL;

+ 3
- 1
src/tr_languages.cpp View File

@@ -598,7 +598,9 @@ Translator *SelectTranslator(const char *name)
tr->langopts.param[LOPT_ANNOUNCE_PUNCT] = 2; // don't break clause before announcing . ? !
tr->langopts.param[LOPT_MIN_LONG_VOWEL] = 65;

tr->langopts.numbers = NUM_DECIMAL_COMMA | NUM_ALLOW_SPACE | NUM_DFRACTION_5 | NUM_ROMAN | NUM_ROMAN_ORDINAL | NUM_ROMAN_CAPITALS | NUM_ORDINAL_DOT | NUM_OMIT_1_HUNDRED;
tr->langopts.numbers = NUM_DFRACTION_5 | NUM_ALLOW_SPACE | NUM_ROMAN | NUM_ROMAN_ORDINAL | NUM_ROMAN_CAPITALS | NUM_ORDINAL_DOT | NUM_OMIT_1_HUNDRED;
tr->langopts.thousands_sep = ' '; // don't allow dot as thousands separator
tr->langopts.decimal_sep = ',';
tr->langopts.min_roman = 1;
SetLetterVowel(tr,'y');
tr->langopts.spelling_stress = 1;

+ 22
- 0
src/translate.cpp View File

@@ -1361,6 +1361,18 @@ static int TranslateWord2(Translator *tr, char *word, WORD_TAB *wtab, int pre_pa
int word_flags;
int word_copy_len;
char word_copy[N_WORD_BYTES+1];
char old_dictionary_name[40];

if((f_logespeak != NULL) && (logging_type & 8))
{
fprintf(f_logespeak,"WORD: flg=%.5x len=%d '",wtab->flags,wtab->length);
for(ix=0; ix<40; ix++)
{
if(word[ix]==0) break;
fputc(word[ix], f_logespeak);
}
fprintf(f_logespeak,"'\n");
}

len = wtab->length;
if(len > 31) len = 31;
@@ -1550,6 +1562,7 @@ static int TranslateWord2(Translator *tr, char *word, WORD_TAB *wtab, int pre_pa
if(new_language[0]==0)
new_language = "en";

strcpy(old_dictionary_name, dictionary_name);
switch_phonemes = SetTranslator2(new_language);

if(switch_phonemes >= 0)
@@ -1784,6 +1797,7 @@ static int TranslateWord2(Translator *tr, char *word, WORD_TAB *wtab, int pre_pa
if(switch_phonemes >= 0)
{
// this word uses a different phoneme table, now switch back
strcpy(dictionary_name, old_dictionary_name);
SelectPhonemeTable(voice->phoneme_tab_ix);
SetPlist2(&ph_list2[n_ph_list2],phonSWITCH);
ph_list2[n_ph_list2++].tone_ph = voice->phoneme_tab_ix; // original phoneme table number
@@ -2076,6 +2090,14 @@ void *TranslateClause(Translator *tr, FILE *f_text, const void *vp_input, int *t
charix[ix] = 0;
terminator = ReadClause(tr, f_text, source, charix, &charix_top, N_TR_SOURCE, &tone2);

if((f_logespeak != NULL) && (logging_type & 4))
{
fprintf(f_logespeak,"CLAUSE %x:\n",terminator);
for(p=source; *p != 0; p++)
fputc(*p, f_logespeak);
fprintf(f_logespeak,"ENDCLAUSE\n");
}

charix[charix_top+1] = 0;
charix[charix_top+2] = 0x7fff;
charix[charix_top+3] = 0;

+ 2
- 0
src/translate.h View File

@@ -642,3 +642,5 @@ void InterpretPhoneme(Translator *tr, int control, PHONEME_LIST *plist, PHONEME_
void InterpretPhoneme2(int phcode, PHONEME_DATA *phdata);

extern FILE *f_trans; // for logging
extern FILE *f_logespeak;
extern int logging_type; // from config file

Loading…
Cancel
Save