Browse Source

[1.27.10] Added inverse conditional rules in *_list and *_rules. eg. ?!3 "if rule 3 is NOT set".

lang=en-r, adjusted vowels.
Moved single characters (eg. % @) from *_list to *_rules so they can be used in combinations (eg. %-).


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

+ 15
- 6
dictsource/af_list View File

@@ -1,4 +1,4 @@
//maintainer: Willem van der Walt
//maintainer: Willem van der Walt
// email: [email protected]
// tel: +27 12 8413996
// Meraka Institute, CSIR
@@ -126,12 +126,18 @@ christo krIstu
christian krIstian
christine kr@st'i:n
coetzee kuts'e@
cronjé krOnj'e@
debora d@bo@ra
der d@r
deventer d'e@v@nt@r
du $u
(du plessis) du||pl@s'i
(du preez) d@||pr'e@
(du toit) d@||toI
elize il'i:z
esegiël is'e@x2i_@l
estelle %ist&l
etienne Eti@n
eugene judZ'i:n
eugène yZ'En
farao fA:ro@
@@ -172,13 +178,13 @@ mostert m'Ost@rt
mozart mo@tsart
naomi na_'o@mi
natasha n%at'aSa
naudé nOd'e@
paul p@Ul
paulus p@UlWs
philip fIl@p
pierre p'e@r
petrus pe@trWs
phoebe fi:bi
preez pr'e@
rachmaninoff rax2m'aninOf
rebekka r@bEka
ronel run'&l
@@ -186,7 +192,9 @@ rousseau r@s@U
roux r'u
schalk sk'alk
scheepers ske@p@rs
schoeman skuman
schoor sko@r
schutte skWt@
shakespeare _^_EN
tania tanja
terblanche t@rblA:nS
@@ -197,12 +205,12 @@ marais mar'E:
mandela mand'E:la
celliers sIlj'e@
joubert jub'&:r
plessis pl@s'i
scarlatti $2
schalkwyk skalkveIk
schreiner SraIn@r
tony t@Uni
xhosa kO:za

toit toI
khumalo kum'A:lu


@@ -295,7 +303,6 @@ voor $u $strend2

// misc unstressed
de d@
du $u
dat $u $strend
te t@
nie $unstressend
@@ -514,6 +521,7 @@ ongewoons $1
onkunde $1
onmag $1
onmin $1
oplaas $2
onraad $1
onrus $1
oorkom $2
@@ -527,6 +535,7 @@ patriotisme patri|ut'Ism@
penorent pEno@rEnt
per pIr
persent p@rsEnt
pinotage pinut'A:Z
prakseer $2
program prux2r'am

@@ -541,7 +550,7 @@ rukkerig rWk@r@x2
samelewing sA:m@l,e@v@N
sedert se@d@rt
sektore $2
sinteties $2
skares skA:r@s
skepsele skEps@l@
s'n s'@n
sobere s'o@b@r@

+ 83
- 17
dictsource/af_rules View File

@@ -1,4 +1,4 @@
//maintainer: Willem van der Walt
//maintainer: Willem van der Walt
// email: [email protected]
// tel: +27 12 8413996
// Meraka Institute, CSIR
@@ -12,11 +12,13 @@
.group a
_C) a (Cie_ 'A:
a A:
AC) a (_ %a // short final a in words like: Eva/Pieta/(su)sara
%C) a (_ %a // short final a in words like: Bella/Betta/gogga
&d) a (_ %a // short, unstressed a after d at end of word: soda/padda... and compounds
i) a (_ %a // a short and unstressed in words ending in ia: laboratoria/millennia
a (C a
C) a (Csier %a // (ge)finansier/kassier
j) a (pan %a //japan first a sound and stress

C) abie 'A:bi
abo (C %abO // move default stress and fix a and o sounds: abominasie/abonnement/aborsie
_) a (bC %a // abdy/ablatief/ablusie/abstrak, etdc.
@@ -39,8 +41,9 @@
akkedis a%k@d'Is //akkedis and compounds
ae A: //should be A:@ but sounds wrong
konst) abel A:b@l //exception for konstabel in compounds
t) abel %ab'&l //tabelopskrif temperatuurtabel etc.
t) abell %ab'&l //tabelle fix double l
t) abel %ab&l //tabelopskrif temperatuurtabel etc.
spekt) abel 'A:b@l // respektabel/-e/-heid/-ste
t) abell %ab&l //tabelle fix double l
w) a (tering A: //watering exception to the rest
C) a (tering %a //short unstressed a before tering formatering etc. except watering
ai aI
@@ -312,7 +315,8 @@
bek (_ b&k // exception to be (C%+ bE
beken b@kEn // 2nd e sound: oorbekend/welbekende
@) beker (_ be@k@r // compounds ending with -beker
bell b&l // inbeller/oorbelle/seepbelle
r) bel b&l // fix e sound: deurbel/oorbel
bell (+ b&l // inbeller/oorbelle/seepbelle
_) bel (C b&l // Belgies/belhamel
bere (_ be@r@ //tediebere pandabere etc.
beste (_ bEst@ // fix e sound: beste/allerbeste/naasbeste/-s
@@ -411,7 +415,7 @@
direk d%irEk // direk/-sie/-te/-theid/indirek...
dirig (e d@r@x2 // fix stress and i sounds: dirigeer/dirigent and compounds
diskre (s d@skrE // fix stress and e sound: diskresie/diskresionêre
&) de (_S2 d@
divide (nd d@v@dE //dividende etc.
&) des (_ d@s
d (_N t //
dj c // palatal stop
@@ -444,8 +448,11 @@
dominee (_ d'o@m@ni
domin (A dOmin' // domineer/dominering
_) dom (ACC dOm // fix o sound: domastrant/domonnosel and derivitives
dosi (s do@s@ // fix stress: (oor)dosis/-se; excep. to rule of stress on -is
@) d (C t // oudste/benoudste/goudstad/steeds/Sweeds
ge) dw dw// fix d sound: rondgedwaal/deurgedwarrel/deurgedwing, etc.
@) ds (_ ts // fix d sound of wrds ending in -ds: buitentyds, etc.
oo) d (r t // fix d sound: broodrooster/doodryp/loodreg/noodroep
p) d (C d // oopdwing/koopdwang
ver) d (C d // verdwyn; see rule: @) d (C t
@) dd d // beddens/bedding
@@ -518,6 +525,7 @@
@) eer 'e@r // this string most often has stress
h) eer e@r // words containing heer take default stress: allesoorheersende
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
Cs) eer e@r // words containing seer (meaning pain) take default stress
w) eer e@r // stress may vary in words containing weer: lugafweer/donderweer
u) eer 'e@r // aktueer/konstrueer/salueer, etc.
@@ -584,6 +592,7 @@
%C) e (C @ // (d)warrelwind/slakkepas
ll) e (lK & // parallel/-le
@s) e (l@ @ // e sound in words like borselkop/voedselaanvulling and many similar
@s) e (lfde '& //fix dieselfde
Cs) e (lf & // e sound in words like terselfdertyd/vanselfsprekend
Cs) e (lle_ & // e sound in words like bloedselle/limfselle/stamselle/tronkselle
AC) e (lh @ // e sound in words like edelheid/ydelheid/kreupelheid
@@ -596,6 +605,7 @@
&) e (lC_ @
@m) e (ld & // aanmeld/voormeld
Csp) e (ld & // fix e sound: borsspeld/haakspeld/doekspeld, etc.
Csp) e (ls & // fix e sound: jakkalspels/penspels/lamspels and similar
elagtig @l'ax2t@x2 // beuselagtig/e/heid/buffelagtig...
ener (gi %En@r // energie/energiek/e
ele (ment El@ // element/e/klankelement
@@ -629,6 +639,7 @@
breip) e (n E // fix e sound in breipen/-ne
&) e (n_ @
&) e (nC_ @
&) e (nde_ @ // fix penultimate e sound: sinkende/drinkende/klinkende
&) e (ng_ E
erf) e (nis @ //erfenis/kultuurerfenis/verderfenis

@@ -740,7 +751,7 @@
CoeC) e (C @ //fix e in boetedoening, boedelbelasting and many others
orr) e (l @ //fix e in borrel, orrel, korrel in compounds
intell) e (k %E //intellek, and friends
p) e (ring 'e@ //imansipering and others e sound and stress
p) e (ring 'e@ //emansipering and others e sound and stress
roep) e (ring 'e@ //groepering e sound and stress
eval (u %iv%al // evaluasie/evalueer/evaluering
CAt) e (gn & //fix e in mikrotegnologie and others
@@ -902,6 +913,7 @@
her (eva h&r? // fix e sound: herevalueer...
hersen h&rs@n // restore default stress and fix 2nd e sound: hersenskim/-me/-mig/hersenskudding
hertog (in h%&rt%Ox2 // fix stress and o sound: (aarts/groot)hertogin/-ne and similar
hertzog h&rtsOx2 // fix stress and o sound: hertzog/-isme/-koekies
_) her (uit h''&r_ // restore stress to 1st slb.: heruitgawe/-gee/-saai/-sending
hel h&l
_) helde h'&ld@ // heldedade/heldedood/heldemoed...
@@ -934,7 +946,8 @@
_) in (a@ In_ //inasem inagneming etc.
_) iese (C ,is@ // iesegrimmig and derivitives
ieus i'Y@s // this ending always takes stress
C) i (g @// figuur/figure/stoksielsaligalleenA
C) i (g @ // figuur/figure/stoksielsaligalleenA
X) i (gK+ I // fix stress: (ont)stig/-ting/ontwrig
_ant) i (C i // fix i sounds an words like: antichris/antidoot/antiklimaks, etc.
ps) i (gA i // i sound in words like psigiater/psigoloog, etc.
s) i (gC I // stress: sigverlies/opsigte
@@ -1029,6 +1042,7 @@
iër (@ i'e@r // kopiëring/subsidiërende
fn) is (A @s_ // fix i sound: begrafnisete/-ondernemer/-onkoste
AC) is (_ 'Is // aktivis/humanis/kommunis/pianis/solis/violis/kompromis
pub) is (_ @s // restore defaultstress: pubis, excep. to: AC) is (_
en) is (K @s // stress: beduidenis/bekentenis/gevangenis, etc.
kris) is @s // fix stress: krisis and compounds
pol) is (_ @s // polis and compounds
@@ -1306,6 +1320,7 @@
manier m@ni:r //manier and compounds
manu (sk ,many
marine m%arin@ // marine and compounds
ma (ritz m%a' // fix stress: Maritz/Pietermaritsburg
marmelade m%arm@lA:d@ // fix stress and e sounds: marmelade and compounds
mar (sje m%ar // move default stress: marsjeer and derivitives
mas (biek m%as // move default stress: masbieker/-s
@@ -1494,6 +1509,8 @@
nuan (seer n%y%an // fix stress: (ge)nuanseer/-d
nuus (kierig n%ys // move default stress: nuuskierig/-heid
nuwer (wet n%yv@r // move default stress: nuwerwets/-e
@Cer) ny (_ n'eI // move default stress: lekkerny/raserny/slawerny
@Cer) ny (e n'eI // move default stress: gekkernye/lekkernye/sotternye


.group o
@@ -1516,6 +1533,7 @@
_) ordent %OrdEnt // move default stress: ordentlik/-e/-er/-ste/-heid
orie o@ri
oriu 'o@riW
_) or (ka %Or // move default stress: orkaan/orkane/orkaanwaarskuwing...
orkes %OrkEs // orkes and compounds
_) os (moC %Os // move default stress: osmose/osmoties/-e

@@ -1636,6 +1654,7 @@

_) on (@P2 %On
ondeur %Ond%y@r // ondeurdagte/ondeurdringbaar/ondergrondelik
_) on (fiks On // stress on 1st slb.: onfiks/-e/-heid
onheil ''OnheIl // stress: onheil/e/onheilbringer/onheilsvoorspelling
onheil (ig %Onh'eIl // stress: onheilig/e
onheil (spel %Onh%eIl // stress: onheilspellend/e
@@ -1647,8 +1666,14 @@
onteenseg Onte@ns'&x2 // onteenseglik/e
_) ontel %Ont&l // ontelbaar/ontelbare/ontelbaarheid
on (toe %On // ontoereikend/heid
on (tugtig %On // fix stress and avoid ont prefix: ontugtig/-e/-heid
on (tug On // stress on 1st slb and avoid ont prefix: ontug/-pleger...
on (tyd %On // ontydig and derivitives
_) on (wAs 'On // onwis/onwys
_) onweer Onve@r // stress on 1st slb.: onweer/-snag/-swolke...
_) onweer (l %Onv%e@r // but onweerlegbaar/-bare/-baarheid
_) onweer (spr %Onv%e@r // onweerspreekbaar/onweerspreeklike/onweersproke
_) onweer (staan %Onv%e@r // onweerstaanbaar/-bare/-baarheid
_) onge (@P4 Onx2@
_) ongees %Onx2%e@s // ongeesdriftig; see rule: _) onge (@P4 Onx2@
_) ongeloofli (k Onx2@l'o@fl@ // to avoid "lik" suffix retranslation of "ongeloof"
@@ -1704,12 +1729,14 @@
oor (heers %o@r // move default stress
oorkoepel o@rk'up@l // stress and pronunc. of el: oorkoepelend/oorkoepeling
_) oorlede o@rl'e@d@ // stress oorlede/ne/s
oorle (wing o@rl''e@ // stress on 2nd slb.: oorlewing/-sekuriteit/-situasie
oor (reed %o@r // move default stress
oor (redA %o@r // move default stress: oorredingskrag
oor (rompel %o@r // move default stress
oor (sk %o@r // stress: oorskadu/oorskat/oorskrei
_) oor (skiet o@r // stress on 1st slb.: oorskiet and compounds
oor (spronk %o@r // move default stress: (on)oorspronklik and compounds
oor (stur %o@r // move default stress: oorsturig/-e/-heid
oor (tr %o@r // oortree/oortreding/oortref
oor (tuig %o@r // oortuig/oortuiging/oortuigende
_) oor (vleuel %o@r // move default stress: oorvleuel/-ing
@@ -1728,7 +1755,8 @@
pakke (t p%akE // pakket/-te and compounds
panga paNga // fix g sound: panga/-s
_) pan (to p%an // move default stress: pantoffel and compounds/pantoen
papaja pap'AIa //papaja and compounds
papaja p%ap'A:ia //papaja and compounds
papawer p%apA:v@r // move default stress: papawer/-s and compounds
pam (C p%am // move default stress: pamflet/pampoen/pampoentjies and compounds
pam (pa pam // restore default stress: pampas and compounds
pape (gaai p%ap@ //papegaai and compounds: stress, a and e sounds
@@ -1736,6 +1764,7 @@
pantser pants@r // fix e sound in compounds starting with pantser
pa (pier p%a // papier and compounds
parle (ment p%arl@ // move default stress and fix e sound: parlement and compounds, eg.
parti (tu p%art@ // fix stress and i sound: partituur/partiture and compounds
pa (tat p@ // patat/warmpatat/wurgpatat
patie (K p%at'i //words ending in patie has stress at end + a sound/simpatiek
para (C ,para //paralel, paragraaf etc.
@@ -1771,7 +1800,9 @@
per (so p@r // persoon/persone
perso (neel p%&rs%u // personeel and compounds
pervers p@rf&rs // pervers/perversie
_) pi (la p%i // move default stress: pilaar/pilare/pilatus
pi (sto p@ // pistool/pistole and compounds
pizza pitsa // fix zz sound: pizza and compounds
pla (fon pl%a // plafon and many compounds
_) pla (kka pl%a // move default stress: plakkaat/plakkate
plane (tA pl%an@' // planetarium/interplanetêr
@@ -1781,14 +1812,18 @@
plig plIx2 // fix i sound: dienspligontduiker/pliguitvoering
@) pligtig pl'Ix2t@x2 // pligtig in compounds takes stress: dienspligtige, etc.
pof (add pOf_ // fix o sound: (konings)pofadder/-s
po (liep p%u // fix stress and o sound: poliep/-e/-agtig and compounds of poliep
polisie pul'isi
politiek pOl@t'ik
popu ,pOpy
_) por (C %pOr //portret portaal etc.
por (sie pOr // restore default stress: porsie/-s/-tjie
portu (ge p%Ort%y // fix stress: Portugees/Portugese
_) pos (a pOs //posadres/posadministrasie
_) post (K p'@Ust- //post where it means after
_) post (u p%Ost // move default stress: postuur/posture/postuum and compounds of postuur
_) prak (tyk pr%ak // stress: praktyk and compounds
pre (lud pr@ // fix stress and e sound: prelude/-s/(ge)preludeer
pre (mier pr@ // move default stress and fix e sound: premier and compounds
pre (sA pr@ // president/presies/present
pre (se_ pre@ // fix e sound of words ending in -prese
@@ -1802,6 +1837,7 @@
profesie prOf@s'i // fix vowel sounds and move stress
pro (CA pr%u // probeer/produk/proses/professie/provinsie
prokie pro@k%i //sprokie and compounds
proposi pr%Op@zi // stress, o and s sounds: (besigheids)proposisie/-si, etc.
prosa pr'o@sa //prosa and compounds
proses (_ prus'Es //proses at end of word

@@ -1820,6 +1856,7 @@

pub (li p%Wb
puntener p%Wnt@ne@r // stress and 2nd e sound: puntenerig and derivitives
pu (pil p%y // move default stress: pupil/-le and compounds


.group q
@@ -1827,6 +1864,7 @@
q (q

qu _^_EN // words containing qu are English
quix (otie kw%iks // avoid translation by English rules: quixoties/-e


.group r
@@ -1847,6 +1885,8 @@
_) ra (pport r%a // fix stress: rapport/skoolrapport/rapportryer
rasse ras@ // e sound of compounds starting with rasse
ribbe (tj r'Ibi
rinne (w r@n@ // move default stress: (ge/ver)rinneweer/-de/-der
ritme rItm@ // fix e sound in ritmes/ritmespeler
ritu (A r@t%y // ritueel/rituele/ritualisties
_) rol (A rOl? // oprolaksie/roloorvleueling
roetine r%utin@ // stress: roetine/-basis/-besoek/-kontrole...
@@ -1862,11 +1902,11 @@
rivier r@f'i:r
_) ri (g rI // stress on 1st slb.: rigting/-loos/-vas, etc.
rond (r rOnt // grondreuk/grondrel/rondreis/-rol/-ry
rugby r'Wgbi
ru (moer r%W // fix stress and u sound: rumoer/-ig/-heid
rondom rOnt_%Om // rondom/rondomheen/rondomstaner
rolprent rOlprEnt // rolprent/rolprentvertoning and other compounds

ru (briek r%W // move default stress: rubriek/-skrywer, etc.
rugby rWgbi
ru (moer r%W // fix stress and u sound: rumoer/-ig/-heid
.group re
rea (ks r%ia // reaksie/s/skokreaksie
rea (C r%i%a // reageer/realis/me|ties
@@ -1878,6 +1918,7 @@
reden (ACA r@d@n' // redenasie/s
_) redi (gA r%Ed%i // redigeer/geredigeer/-de/ongeredigeerde
refor (m r@f%Or // gereformeerde/reformering/reformasie
regime (_ r@Zi:m // regime/-s and compounds
reg (ist r@x2 // registrasie/-nommer/register/bevolkingsregister
regverdig r&x2f'&rd@x2 // regverdig/onregverdige/regverdigheid - verwyder uit af_list
re (kru r@ // move stress from 1st slb
@@ -1885,6 +1926,7 @@
rele (van r@l@ // relevansie/relevant and derivitives
re (nA r@ // move stress from 1st slb.: renoster
reper (kus r%e@p@r // stress: reperkussie/-s
re (produ r%e@ // fix stress and e sound: reproduksie/reproduseer
repu (t r%Epy // move stress from 1st slb
rewol (u r%Ev%Wl //rewolusie and friends
rewolwer r@v'Olv@r //rewolwer and friends
@@ -1926,6 +1968,8 @@
sch S
sh (_ S
sj S
sjampanje S%ampanj@ // move default stress: sjampanje and compounds
sjerrie SEri // fix e sound: sjerrie and compounds
sjokolade SOk@l'A:d@ // sjokolade and compounds
s (japie s // dorpsjapie/plaasjapie/stadsjapie
@) sj (aar sj // diensjaar/lewensjaar/begrotingsjaar
@@ -1934,19 +1978,24 @@
sig (a@ s@x2 // sigaar/sigare/sigaardosie
siklu (s siklW // siklus and many compounds
sili (nd s@lI // silinder(s)/silinderkoppe
sinteties s@nte@tis // sinteties/e/fotosinteties/-e
si (viel s@ // move default stress and fix i sound: siviel/-e
s (iën S
sending (_ sEnd@N //fix sending at word end

saamge (P6 s'A:mx2@ // saamgepers/-de/saamgetel/saamgeêet
saamgee sA:mx2e@ // fix ee in saamgee; see rule: saamge (P6
sabot (A s%ab%ut // sabotasie/saboteer
salaris s@lA:r@s // salaris/aanvangsalaris/salarisskaal/-uitbetaling
salon salOn // eetsalon/haarkappersalon
_) sam (b s%am // move default stress: sambok/-kke/sambreel/sambrele and compounds
_) same (@P4 s'A:m@ // samekoms/sameswering
samel (C sA:m@l // versamelde: see rule:_) same (@P4 s'A:m@
samen (+ sA:m@n // gesamentlik/-e
_) sar (d s%ar // sardien/-blikkie/sardinies/sardyne
sar (kA s%ar // move default stress: sarkasme/sarkasties/sarkoom
sa (tir s%a // move default stress: satire/satiries/-e
_) schu (C Su // fix u sound: Schubert/Schultz/Schumann/Schumacher
_) sede se@d@ // sede/-s|-preek
seker se@k@r // versekering/sekerheid/onsekerheid/sekere
se (ko s@ // sekond/sekonde/sekondes/sekondant
@@ -1956,16 +2005,21 @@

&) sele (_ s'e@l@
no) sele (_ s@l@ // e sounds in onnosele
self (stan s%&lf // move default stress: selfstandig/-e/-heid
seli (ba s%El%i // move default stress and fix e sound: selibaat/selibate
@) sel (wig s'&l // stress: (ver)eenselwig and derivitives
_) semen (t s@mEn // sementtafel/blad/vierkant
semi (na s%Em%i // seminaar/seminare/seminarium

sening se@n@N // sening/haaksening/heupsening
_) senior s''i:ni@r // default stress; fix vowl sounds: senior and compounds starting with senior
senior (itei s%i:n%i%Or // fix vowel sounds: senioriteit
sen (trale s%En // exception to default stress rule
_) ser (e@ s@r // fix stress and 1st e sound: sereen/serene
sere (moni s%Er@ // seremonie/-meester/huwelikseremonie/seremonieel
ser (sant s@r // move default stress: sersant and compounds
ser (vet s@r // servet and compounds, e.g. servetring
ses (uur sEs_ // fix e sound and insert short break: sesuur/-nuus, etc.
setel (K se@t@l // setel and compounds; to avoid "=tel" suffix
sete (ne_ se@t@ // fix e sound: besetenes/aangesetene/ingesetene
siaal Si'A:l // potensiaal/provinsiaal
@@ -1982,6 +2036,7 @@
skan (da sk%an // move default stress: skandaal/skandale/skandalig and compounds
_) skar (C sk%ar // move default stress: skarlaken/skarminkel/skarnier and many compounds
skarrel skar@l // restore default stress: (ge)skarrel/-ing
_) ske (let sk@ // fix stress and 1st e sound: skelet and compounds
skemer ske@m@r // fix 2nd e in many compounds and derivitives of skemer-
sker (muts sk%&r // move default stress: (ge)skermutsel/skermutseling/-e
skilder (y sk@ld@r // move stress to y: skildery and compounds like skilderymuseum
@@ -2014,7 +2069,11 @@
@) sief (_ s'if // massief/aggressief/passief/intensief
@) siewe (_ s'iv@ // massiewe/aggressiewe/passiewe/intensiewe
_) sieke sik@ // siekeboeg/-fonds/-lys/-lokaal/-loon
si (llabe s@ // move default stress: sillabe/-s
silwer sIlv@r // silwerskoon/silwerware/compounds of silwer
sim (bo s@m // move default stress: simbool/simbole/simbolies/-e
simbo (liek s@mb%u // fix stress and vowel sounds: simboliek and compounds
simpo (siA s@mpo@ // fix stress and o sound: simposium/simposia and compounds
// sioe Si'u
si (o Si // fisiologie/-logiese/-loog
sio (ne Siu' // emosioneel/emosionele/rasioneel/rasionele, etc.
@@ -2046,7 +2105,7 @@
@) sug (tig s'Wx2 // eersugtig/onbaatsugtig/onselfsugtig, etc.
sukses s%WksEs // sukses/suksesse/suksesvol/reusesukses
su (mmier s%W // move default stress: sumier/-e
su (san s%u // fix stress and u sound: susan/-na
su (saC s%u // fix stress and u sound: susan/-na/susara
swag sv'ax2
swart (gal sw%art // move default stress: swartgallig
swerk sv&rk
@@ -2059,6 +2118,7 @@
stapel stA:p@l // fix e sound: (op)stapeling/stapelaar
staties st'A:tis
steding ste@d@N // besteding and compounds
C) steker ste@k@r // e sound: (aan/dop/kwaad/rugsteker/-s/-y, etc.
wor) stel st@l //worstel e sound in compounds
@) stel (iC st@l // eersteling/gunsteling/wellusteling/worsteling/eerstelig and compounds
@) ste (llen st'& // belangstellendes/gerusstellend/regstellende/teleurstellend
@@ -2137,7 +2197,7 @@
toneel t%une@l
toege (wing t'ux2e@ // exception to _) toege (@P5 tux2@
_) toege (@P5 t'ux2@
toe (laatba t%u // move default stress: (on)toelaatbaar/-bare/-baarheid
toer (@ t%ur // move default stress: toeris/-te/compounds of toernooi
toere tu:r@ // restore default stress
toe (vallig t%u // exception to default stress rule
@@ -2160,6 +2220,7 @@
tuin (ier t%Yyn // move default stress: tuinier and compounds
tussen tWs@n // tussenin/tussenbeide/tussenganger
tuur t'yr
parti) tuur ty:r // compounds ending with partituur take default stress: musiekpartituur
s) tuur ty:r // "uur" in stuur takes default stress: weggestuur
@) ty (dig t'eI // gelyktydig/vroegtydig

@@ -2192,7 +2253,7 @@
_) ter (l t@r // move default stress: terloops/-e
@) term (_ t&r@ // correct pronunciation of e
@) terme (_ t&rm@ // correct pronunciation of 1st e
sin) te (ti te@ //sintetiseer, compounds and derivitives
sin) te (ti te@ //sintetiseer, compounds and derivitives
tern (K t'&:r@-n //lantern ekstern etc.
tern (e_ t'&rn // interne/eksterne
_) ter (nA t@r // terneergedruk/ternouernood
@@ -2216,7 +2277,7 @@

tes (_ t@s

&) tel (_S3 t@l
&) tel (_ t@l
teleur t@lY@r // teleur/teleurstelling/teleurgesteld
&) tels (_S4 t@ls
sleu) tel t@l //sleutel in compounds
@@ -2271,7 +2332,8 @@
uitgee (+ 'Yytx2e@ // se rule: _) uitge (@P5 Yytx2@
uitsonderli (k %YytsOn@rl@ // move default stress: uitsonderlik/-e vs. uitsonder
uit (sorteer ''Yyt // remove stress from -eer and place on 1st slb
uitstaande %YytstA:nd@ // move default stress
uitspreekl %Yytspre@kl // fix stress and avoid -lik suffix: onuitspreeklik/-e
uitstaan (C %YytstA:n // move default stress: uitstaande/onuitstaanbaar/-bare
uit (steken %Yyt // move default stress
uit (spatt %Yyt // move default stress
_) uitge (@P5 'Yytx2@ // words beginning with uitge have stress on 1st slb
@@ -2314,6 +2376,7 @@
ven (yn f@n // venyn/venynig
ver f@r
virtu v@rtS%y //virtueel virtuose etc. fix v and t sounds and assure lack of stress
ver (kyker f'&:r //verkyker and compounds
_) ver (@P3 f@r
verant (w f@r%ant // (on)verantwoordelik/-heid/verantwoording
verende f'e@r@nd@
@@ -2468,6 +2531,8 @@
@) ws (_N _^_EN
@) w (_N _^_EN
@) werste vIrst@
k) w (oA v // fix w sound: dankwoord/werkwoord/skoonmaakwoede/spreekwoord
@C) w (oCC v // fix w sound: kubiekwortel/steekwond/onafhanklikwording/republiekwording/varkwors
woe (styn v%u // move default stress: woestyn and compounds
wolke vOlk@ // nimbuswolke/wolkekrabber
woorde vo@rd@
@@ -2484,6 +2549,7 @@
.group z
z z
z (z
t) z s // fix s sound: britz/fritz/hertz and similar


.group

+ 0
- 17
dictsource/cs_list View File

@@ -48,23 +48,6 @@ y ipsilon
_z zet
ž Zet

: dv'ojtetSka
% pRotsento
+ plus
€ eURo
@ zavina:tS
& ampr-sent
# gR^i:Zek
/ lomeno
\\ beksleS
! vigR^itSn^i:k
° stupen^
× kRa:t
÷ Jeleno
§ paRagRaf
~ tilda
^ zdR^i:Ska
© k'opiRajt

_#9 t'ap
_#32 m'ezeRa // space

+ 18
- 1
dictsource/cs_rules View File

@@ -632,7 +632,24 @@ _flegma) ti ti
ŕ r-
ü i

$ dola:R
$ dola:R
: dv'ojtetSka
% pRotsento
+ plus
€ eURo
@ zavina:tS
& ampr-sent
# gR^i:Zek
/ lomeno
\\ beksleS
! vigR^itSn^i:k
° stupen^
× kRa:t
÷ Jeleno
§ paRagRaf
~ tilda
^ zdR^i:Ska
© k'opiRajt

. tetSka
. (. _:

+ 0
- 10
dictsource/de_list View File

@@ -17,16 +17,6 @@
_. pUnkt
_, kOma

€ OY*o:
£ paUnd
% p@-*o:ts'Ent
& Unt
@ kl'ame:*,af@
# nUm3
+ plUs
= glaIC
~ tIld@
\ bEkslES

_| paIp
_: d'Op@lp,UNkt

+ 13
- 2
dictsource/de_rules View File

@@ -1131,8 +1131,19 @@
š S
ž Z

, (D kOma
$ dOl'A:
, (D kOma
$ dOl'A:
€ OY*o:
£ paUnd
% p@-*o:ts'Ent
& Unt
@ kl'ame:*,af@
# nUm3
+ plUs
= glaIC
~ tIld@
\ bEkslES


. pUnkt
. (. _:

+ 3
- 4
dictsource/en_list View File

@@ -11,7 +11,7 @@
// Conditional rules
// ?2 Use long 'a' in 'bath'
// ?3 General American
// ?4 Not General American
// ?!3 Not General American
// ?5 split [3:] er [3:], ir [IR], ur [VR]
// ?6 'one' = [wVn], 'of' = [Vv]
// ?7 Scottish
@@ -134,8 +134,7 @@ _0C h'Vndr@d
_0M1 T'aUz@nd
_0M2 m'Ili@n
_0M3 b'Ili@n
_0and @n
?3 _0and
?!3 _0and @n
_dpt pOInt
_roman roUm@n_

@@ -1462,7 +1461,7 @@ rapport rap'o@
rarest re@r@st
rascal raask@L
ratatouille rat@t'u:I2
rather rA:D3
?!3 rather rA:D3
ratio reISI2oU
rationale raS@n'al
ravine r@vi:n

+ 1
- 1
dictsource/en_rules View File

@@ -23,7 +23,7 @@
// Conditional rules
// ?2 Use long 'a' in 'bath'
// ?3 General American
// ?4 Not General American
// ?!3 Not General American
// ?5 split [3:] er [3:], ir [IR], ur [VR]
// ?6 'one' = [wVn], 'of' = [Vv]
// ?7 Scottish

+ 0
- 20
dictsource/fr_list View File

@@ -33,26 +33,6 @@ _y i:gR'Ek


// character names
! Eksklamassj'O~
$ dOlaR
@ aRobas
% puRsA~
& _e
+ plys
~ tilde
€ @Ro
¢ sEnt
¥ i;En
£ livR
° d@gRe
± pl'yz_'u_mw'E~
× myltip@-lj'e_p'aR
÷ diviz'e_p'aR
¼ W~_k'aR
½ W~_d@m'i
¾ tRw'a k'aR
© _^_EN
® R@ZistR'@d_m'aRk


//_cap k,ap@-t@L

+ 21
- 1
dictsource/fr_rules View File

@@ -502,7 +502,7 @@

alc) oo (l O // alcool
z) oo o // zoo
oo u // pool
oo (X u // pool
_gal) op (_ o // galop

_sir) op (_ o // sirop
@@ -772,3 +772,23 @@

// symbols that are normally spoken when reading text
, (D pilk:u
! Eksklamassj'O~
$ dOlaR
@ aRobas
% puRsA~
& _e
+ plys
~ tilde
€ @Ro
¢ sEnt
¥ i;En
£ livR
° d@gRe
± pl'yz_'u_mw'E~
× myltip@-lj'e_p'aR
÷ diviz'e_p'aR
¼ W~_k'aR
½ W~_d@m'i
¾ tRw'a k'aR
© _^_EN
® R@ZistR'@d_m'aRk

+ 0
- 6
dictsource/hu_list View File

@@ -323,13 +323,7 @@ ly Ellipsilon
ny En^

_. pont
% sa:zAle:k
@ kukAts
€ EuR2o
+ plus
§ pAR2AgR2AfuS
Ft foR2int
$ dolla:R2




+ 7
- 1
dictsource/hu_rules View File

@@ -143,7 +143,7 @@ _minde) gy (ik J:
ly j
lly jj

A) lj (A lj_|
A) lj (A ljj

C) ly (_ li
_kéth) ly li
@@ -320,6 +320,12 @@ _szára) zs (ág zS
ñ n^
ø Y

% sa:zAle:k
@ kukAts
€ EuR2o
+ plus
§ pAR2AgR2AfuS

. pont
. (. _:
\.) .

+ 14
- 3
docs/dictionary.html View File

@@ -529,11 +529,21 @@ The dictionary list is searched from bottom to top. The first match that satisf
then if "to" is at the end of the clause, we get [tu:], if not then we get [t@].

<p>&nbsp;<hr>
<h3>4.5 Numbers and Character Names</h3>
<h4>4.5.1 Letter names</h4>
<h3>4.5 Conditional Rules</h3>
Rules in a <b>_rules</b> file and entries in a <b>_list</b> file can be made conditional. They apply only to some voices. This can be useful to specify different pronunciations for different variants of a language (dialects or accents).<p>
Conditional rules have &nbsp; <b>?</b> &nbsp; and a condition number at the start if the line in the <b>_rules</b> or <b>_list</b> file. This means that the rule only applies of that condition number is specified in a <b>dictrules</b> line in the <a href="voices.html">voice file</a>.<p>
If the rule starts with &nbsp; <b>?!</b> &nbsp; then the rule only applies if the condition number is <b>not</b> specified in the voice file. eg.<p>
<pre>
?3 can't kant // only use this if the voice has: dictrules 3
?!3 rather rA:D3 // only use if the voice doesn't have: dictrules 3
</pre>

<p>&nbsp;<hr>
<h3>4.6 Numbers and Character Names</h3>
<h4>4.6.1 Letter names</h4>
The names of individual letters can be given either in the <b>_rules</b> or <b>_list</b> file. Sometimes an individual letter is also used as a word in the language and its pronunciation as a word differs from its letter name. If so, it should be listed in the <b>_list</b> file, preceded by an underscore, to give the letter name (as distinct from its pronunciation as a word). eg. in English:
<pre> _a eI</pre>
<h4>4.5.2 Numbers</h4>
<h4>4.6.2 Numbers</h4>
The operation the TranslateNumber() function is controlled by the language's <code>langopts.numbers</code> option. This constructs spoken numbers from fragments according to various options which can be set for each language. The number fragments are given in the <b>_list</b> file.
<p>
<ul>
@@ -562,5 +572,6 @@ _0 to _9 &nbsp;
</tbody></table>
</ul>


</body>
</html>

+ 13
- 11
phsource/compile_report View File

@@ -306,7 +306,7 @@
1 vdiph/ae fr_ca
1 vdiph/ae_2 en_n
8 vdiph/ai base2 eo sk hr mk it pt vi
3 vdiph/ai_2 en_us cy
2 vdiph/ai_2 cy
1 vdiph/ai_3 no
1 vdiph/ai_4 af
2 vdiph/ai_5 de la
@@ -320,8 +320,8 @@
6 vdiph/au_4 base2 cy eo sk it is
1 vdiph/ee-e hi
4 vdiph/eei en de pt vi
2 vdiph/eei_2 eo fi
3 vdiph/eei_3 en_us en_rp sk
3 vdiph/eei_2 en_us eo fi
2 vdiph/eei_3 en_rp sk
1 vdiph/eei_4 nl
3 vdiph/eeu pt vi zhy
2 vdiph/eeu_2 la pt_pt
@@ -412,7 +412,7 @@
4 vowel/& en_rp fi hi sv
4 vowel/0 base2 en hi pt
4 vowel/0_2 en_n en_wm pt_pt sw
5 vowel/0_3 en_us en_sc en_rp hu
4 vowel/0_3 en_us en_sc en_rp hu
2 vowel/@_2 fr
6 vowel/@_3 en_sc de hi
1 vowel/3_2 en_n
@@ -429,7 +429,7 @@
12 vowel/a#_3 en en_n en_us en_wm de hi ru pt_pt vi zhy
4 vowel/a_4 en_wm el vi
3 vowel/a_5 it sv sw
7 vowel/aa en_us fi fr_ca no zhy
5 vowel/aa fi fr_ca no zhy
1 vowel/aa# fi
3 vowel/aa_2 en cy
1 vowel/aa_3 af
@@ -437,6 +437,7 @@
2 vowel/aa_5 en_n
2 vowel/aa_6 de
1 vowel/aa_7 nl
2 vowel/aa_8 en_us
3 vowel/a_en en fr
1 vowel/@_bck hi
15 vowel/e base2 en en_n af cy eo fr hr mk it la pt ++
@@ -501,9 +502,8 @@
5 vowel/u# en en_sc
6 vowel/u_2 fi fr sk hr mk ro
1 vowel/u#_2 sv
1 vowel/u_3 ro
2 vowel/u_3 en_us ro
1 vowel/u#_3 en_n
1 vowel/u_4 en_us
2 vowel/u#_4 en_sc
1 vowel/u_5 sw
3 vowel/u_6 en_rp pt_pt
@@ -549,16 +549,18 @@
1 vwl_en_rp/oo en_rp
1 vwl_en/u en
4 vwl_en/u_L en en_n en_us en_rp
1 vwl_en_us/3_us en_us
2 vwl_en_us/3_us en_us
2 vwl_en_us/a en_us
2 vwl_en_us/ar2 en_us
1 vwl_en_us/aai en_us
2 vwl_en_us/ar en_us
1 vwl_en_us/ee en_us
1 vwl_en_us/er en_us
1 vwl_en_us/i_final3 en_us
2 vwl_en_us/ii en_us
2 vwl_en_us/ir en_us en_sc
4 vwl_en_us/or en_us en_sc
1 vwl_en_us/@r_us en_us
1 vwl_en_us/oo en_us
1 vwl_en_us/oor en_us
3 vwl_en_us/or en_us en_sc
1 vwl_en_us/ur en_us
1 vwl_en_us/V en_us
2 vwl_en_wm/aa en_wm

BIN
phsource/j/jo View File


+ 44
- 43
phsource/ph_english_us View File

@@ -10,17 +10,18 @@ phoneme @ // Schwa
formants vowel/@
unstressed
linkout r-
length 140
length 130
endphoneme


phoneme 3 // Schwa, used for rhotic schwa in American
vowel starttype (@) endtype (@)
formants vwl_en_us/@r_us
formants vwl_en_us/3_us
// formants vowel/3_2
unstressed
linkout r-
beforevowel @
length 175
length 180
endphoneme


@@ -37,7 +38,7 @@ phoneme @5 // Schwa, changes to U before a vowel
formants vowel/@
unstressed
beforevowelpause U
length 140
length 130
endphoneme


@@ -52,26 +53,25 @@ endphoneme

phoneme a
vowel starttype (a) endtype (@)
length 200
length 190
formants vwl_en_us/a
reduceto a2 0
endphoneme


phoneme a2
vowel starttype (@) endtype (@)
unstressed
length 150
formants vowel/a#_3
phoneme aa // 'bath' etc.
vowel starttype (a) endtype (@)
length 190
formants vwl_en_us/a
linkout r-
endphoneme


phoneme aa // 'bath' etc.
vowel starttype (a) endtype (@)
length 200
formants vwl_en_us/a
// formants vowel/a_2
phoneme a2
vowel starttype (@) endtype (@)
unstressed
length 140
formants vowel/a#_3
linkout r-
endphoneme

@@ -80,7 +80,6 @@ phoneme E
vowel starttype (e) endtype (e)
length 160
formants vwl_en_us/ee
// formants vowel/ee_2
reduceto I 0
endphoneme

@@ -92,6 +91,7 @@ phoneme I
linkout ;
endphoneme


phoneme I2
vowel starttype (i) endtype (i)
unstressed
@@ -111,15 +111,15 @@ endphoneme

phoneme 0
vowel starttype (o) endtype (o)
length 190
formants vowel/aa
length 180
formants vowel/aa_8
reduceto @ 0
endphoneme


phoneme V
vowel starttype (a) endtype (@)
length 150
length 170
formants vwl_en_us/V
// formants vowel/V_2
reduceto @ 0
@@ -128,31 +128,32 @@ endphoneme

phoneme U
vowel starttype (o) endtype (o)
length 150
length 140
formants vowel/8_2
endphoneme


phoneme A:
vowel starttype (a) endtype (a)
length 210
formants vowel/aa
before r vwl_en_us/ar2
length 200
formants vowel/aa_8
before r vwl_en_us/ar
linkout r-
endphoneme


phoneme A@ // Used for [A:] when followed by 'r', becomes [A:]+[r] in American
vowel starttype (a) endtype (@)
length 250
formants vwl_en_us/ar2
length 240
formants vwl_en_us/ar
appendph r
endphoneme


phoneme 3:
vowel starttype (@) endtype (@)
length 230
length 220
// formants vwl_en_us/@r_us2
formants vwl_en_us/3_us
// reduceto @ 0
linkout r-
@@ -161,7 +162,7 @@ endphoneme

phoneme i:
vowel starttype (i) endtype (i)
length 165
length 160
formants vowel/i_en
after w w/wi2
linkout ;
@@ -170,7 +171,7 @@ endphoneme

phoneme O:
vowel starttype (o) endtype (o)
length 210
length 200
formants vowel/0_3
before r vwl_en_us/or
reduceto @ 0
@@ -180,7 +181,7 @@ endphoneme
phoneme O@
vowel starttype (o) endtype (@)
length 240
formants vwl_en_us/or
formants vwl_en_us/oor
appendph r
endphoneme

@@ -196,57 +197,57 @@ endphoneme
phoneme O
vowel starttype (o) endtype (o)
length 150
formants vowel/0_3
formants vwl_en_us/oo
reduceto @ 0
endphoneme


phoneme u:
vowel starttype (u) endtype (u)
length 190
formants vowel/u_4
length 170
formants vowel/u_3
before l/2 vwl_en/u_L-40+l/L2_uL
endphoneme


phoneme aU
vowel starttype (a) endtype (u)
length 210
length 200
formants vdiph/au_2
endphoneme


phoneme oU
vowel starttype (@) endtype (u)
length 230
length 210
formants vdiph/8u
endphoneme


phoneme aI
vowel starttype (a) endtype (i)
length 220
formants vdiph/ai_2
length 210
formants vwl_en_us/aai
endphoneme


phoneme eI
vowel starttype (e) endtype (i)
length 220
formants vdiph/eei_3
length 210
formants vdiph/eei_2
endphoneme


phoneme OI
vowel starttype (o) endtype (i)
length 230
length 220
formants vdiph/ooi
endphoneme


phoneme e@
vowel starttype (e) endtype (@)
length 260
length 250
formants vwl_en_us/er
appendph r
endphoneme
@@ -254,7 +255,7 @@ endphoneme

phoneme i@
vowel starttype (i) endtype (@)
length 240
length 220
formants vwl_en_us/ir
appendph r
endphoneme
@@ -262,7 +263,7 @@ endphoneme

phoneme U@
vowel starttype (@) endtype (@)
length 240
length 220
formants vwl_en_us/ur
linkout r-
endphoneme
@@ -301,7 +302,7 @@ phoneme t# // reduced [t] as in "city"
vowelin f1=0 f2=1700 -300 300 f3=-100 80
vowelout f1=0 f2=1700 -300 300 f3=-100 80
lengthmod 5
wave x/d%80
wave x/d%90
endphoneme



+ 1
- 1
phsource/ph_hungarian View File

@@ -62,7 +62,7 @@ endphoneme

phoneme a:
vowel starttype (a) endtype (a)
length 260
length 270
formants vowel/a
endphoneme


BIN
phsource/vdiph/8u View File


BIN
phsource/vdiph/ai_3 View File


BIN
phsource/vdiph/au_2 View File


BIN
phsource/vwl_en_us/3_us View File


BIN
phsource/vwl_en_us/@r_us View File


BIN
phsource/vwl_en_us/V View File


BIN
phsource/vwl_en_us/a View File


BIN
phsource/vwl_en_us/aai View File


BIN
phsource/vwl_en_us/ar View File


BIN
phsource/vwl_en_us/ee View File


BIN
phsource/vwl_en_us/er2 → phsource/vwl_en_us/ei View File


BIN
phsource/vwl_en_us/er View File


BIN
phsource/vwl_en_us/ii View File


BIN
phsource/vwl_en_us/ir View File


BIN
phsource/vwl_en_us/oo View File


BIN
phsource/vwl_en_us/oor View File


BIN
phsource/vwl_en_us/or View File


+ 23
- 2
src/compiledict.cpp View File

@@ -161,6 +161,7 @@ int compile_line(char *linebuf, char *dict_line, int *hash)
int ix;
int step;
int n_flag_codes = 0;
int flag_offset;
int length;
int multiple_words = 0;
char *multiple_string = NULL;
@@ -189,7 +190,17 @@ int compile_line(char *linebuf, char *dict_line, int *hash)
if((c == '?') && (step==0))
{
// conditional rule, allow only if the numbered condition is set for the voice
flag_offset = 100;

p++;
if(*p == '!')
{
// allow only if the numbered condition is NOT set
flag_offset = 132;
p++;
}

ix = 0;
if(isdigit(*p))
{
@@ -201,7 +212,7 @@ int compile_line(char *linebuf, char *dict_line, int *hash)
ix = ix*10 + (*p-'0');
p++;
}
flag_codes[n_flag_codes++] = ix+100;
flag_codes[n_flag_codes++] = ix + flag_offset;
c = *p;
}
@@ -859,7 +870,17 @@ char *compile_rule(char *input)
if(rule_cond[0] != 0)
{
ix = -1;
ix = atoi(rule_cond);
if(rule_cond[0] == '!')
{
// allow the rule only if the condition number is NOT set for the voice
ix = atoi(&rule_cond[1]) + 32;
}
else
{
// allow the rule only if the condition number is set for the voice
ix = atoi(rule_cond);
}

if((ix > 0) && (ix < 255))
{
output[len++] = RULE_CONDITION;

+ 27
- 5
src/dictionary.cpp View File

@@ -666,7 +666,7 @@ int Translator::IsVowel(int letter)

void SetLetterVowel(Translator *tr, int c)
{//=======================================
tr->letter_bits[c] = 0x81; // group 0 only
tr->letter_bits[c] = (tr->letter_bits[c] & 0x40) | 0x81; // keep value for group 6 (front vowels e,i,y)
}

void ResetLetterBits(Translator *tr, int groups)
@@ -1773,9 +1773,21 @@ void Translator::MatchRule(char *word[], const char *group, char *rule, MatchRec
case RULE_CONDITION:
/* conditional rule, next byte gives condition number */
condition_num = *rule++;
if((dict_condition & (1L << condition_num))==0)
failed = 1;
if(condition_num >= 32)
{
// allow the rule only if the condition number is NOT set
if((dict_condition & (1L << (condition_num-32))) != 0)
failed = 1;
}
else
{
// allow the rule only if the condition number is set
if((dict_condition & (1L << condition_num)) == 0)
failed = 1;
}

if(!failed)
match.points++; // add one point for a matched conditional rule
break;
}
@@ -2677,8 +2689,18 @@ int Translator::LookupDict2(char *word, char *word2, char *phonetic, unsigned in
if(flag >= 100)
{
// conditional rule
if((dict_condition & (1 << (flag-100))) == 0)
condition_failed = 1;
if(flag >= 132)
{
// fail if this condition is set
if((dict_condition & (1 << (flag-132))) != 0)
condition_failed = 1;
}
else
{
// allow only if this condition is set
if((dict_condition & (1 << (flag-100))) == 0)
condition_failed = 1;
}
}
else
if(flag > 64)

+ 1
- 1
src/setlengths.cpp View File

@@ -389,7 +389,7 @@ void Translator::CalcLengths()
if(p->type == phLIQUID)
{
p->length = speed1;
p->pitch1 = p->pitch2 - 20; // post vocalic [r/]
//p->pitch1 = p->pitch2 - 20; // post vocalic [r/]
}

if(next->type == phVSTOP)

+ 1
- 1
src/synthdata.cpp View File

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

const char *version_string = "1.27.09 12.Jul.07";
const char *version_string = "1.27.10 15.Jul.07";
const int version_phdata = 0x012701;

int option_device_number = -1;

+ 1
- 2
src/tr_languages.cpp View File

@@ -317,8 +317,7 @@ Translator *SelectTranslator(const char *name)
case L('h','u'): // Hungarian
{
static int stress_amps_hu[8] = {17,17, 19,19, 20,24, 24,22 };
static int stress_lengths_hu[8] = {185,190, 190,190, 0,0, 210,220};
// static int stress_lengths_hu[8] = {180,180, 200,190, 0,0, 210,225};
static int stress_lengths_hu[8] = {185,195, 195,190, 0,0, 210,220};
static const unsigned int replace_chars_hu[] = {0xd4,0xf4,0xdb,0xfb,0};
static const unsigned int replacement_chars_hu[] = {0x150,0x151,0x170,0x171,0}; // allow o,u-circumflex for o,u-double-acute


+ 9
- 5
src/translate.cpp View File

@@ -713,6 +713,7 @@ if((wmark > 0) && (wmark < 8))
length = 999;
while(((length < 3) && (length > 0))|| (word_length > 1 && Unpronouncable(word)))
{
char *p;
// This word looks "unpronouncable", so speak letters individually until we
// find a remainder that we can pronounce.
word += TranslateLetter(word,phonemes,0);
@@ -722,13 +723,15 @@ if((wmark > 0) && (wmark < 8))
strcpy(word_phonemes,phonemes);
return(0);
}
if(memcmp(word,"'s ",3) == 0)

p = &word[word_length-3];
if(memcmp(p,"'s ",3) == 0)
{
// remove a 's suffix and pronounce this separately (not as an individual letter)
add_plural_suffix = 1;
word[0] = ' ';
word[1] = ' ';
break;
p[0] = ' ';
p[1] = ' ';
last_char = p[-1];
}

length=0;
@@ -1903,7 +1906,8 @@ if((c == '/') && (langopts.testing & 2) && isdigit(next_in) && IsAlpha(prev_out)
{
if(!IsAlpha(prev_out) || (langopts.ideographs && (c >= 0x3000)))
{
letter_count = 0;
if(prev_out != '\'')
letter_count = 0; // don't reset count for an apostrophy within a word

if((prev_out != ' ') && (prev_out != '\''))
{

Loading…
Cancel
Save