mirror of
https://github.com/rhasspy/espeak-ng.git
synced 2026-10-31 05:35:35 +00:00
[1.40.09]
Changed -b option to include an option for 16 bit character input. numbers.cpp: Added option for vigesimal number systems for tens+units. Fixed problems with word-length indications in callback events. -m option now ignores XML comments. git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@216 d46cf337-b52f-0410-862d-fd96e6ae7743
This commit is contained in:
+78
-16
@@ -196,26 +196,29 @@ _dpt 'pWnt
|
||||
_roman rum'eIns@
|
||||
|
||||
// ordinal numbers
|
||||
_ord d@ // default suffix
|
||||
_ord20 st@ // for 20,30,etc
|
||||
_1o _'e@rst@
|
||||
_2o tw'e@d@
|
||||
_3o d'&:rd@
|
||||
_7o s'e@v@nd@
|
||||
_8o _'ax2st@
|
||||
_9o ne@x2@nd@
|
||||
_0de d@
|
||||
_0ste st@
|
||||
_1o _'e@r
|
||||
_2o tw'e@
|
||||
_3o d'&:r
|
||||
_7o s'e@v@n
|
||||
_8o _'ax2
|
||||
_9o ne@x2@n
|
||||
_0Co h'On@rtst@
|
||||
|
||||
|
||||
|
||||
// Place names
|
||||
|
||||
acapulco akap'ulk@U
|
||||
afganistan afg'anistan
|
||||
alaska al'aska
|
||||
albanië alb'A:ne@:@-
|
||||
algerië alx2'e@re@:@-
|
||||
amanzimtoti $4
|
||||
antwerpen antv&rp@n
|
||||
babilon babilOn
|
||||
bangladesj baNglad'ES
|
||||
barkly _^_EN
|
||||
bellevue b&lvju:
|
||||
bermuda $2
|
||||
bethlehem bEt_liEm
|
||||
@@ -235,6 +238,7 @@ ceylon s@lOn
|
||||
chicago _^_EN
|
||||
china S'ina
|
||||
clanwilliam kl&:nw'ili@m
|
||||
clifton _^_EN
|
||||
colenso kul'E:ns@U
|
||||
colesberg ko@lsb&rx2
|
||||
constantia $2
|
||||
@@ -247,12 +251,13 @@ ermelo &rm@lo@
|
||||
franschhoek frA~nsh'uk
|
||||
gadara x2@dA:ra
|
||||
galilea x2al@l'i:a
|
||||
gariep x2ar'ip
|
||||
germiston _^_EN
|
||||
getsémané x2Ets'e@mani
|
||||
gonubie g@nu:bi
|
||||
goudini $2
|
||||
gordonsbaai gO:rd@nsb'AI
|
||||
(graaff reinet) x2rA:f||r@n'Et
|
||||
grahamstad x2rA:mstat
|
||||
griekeland x2rik@lant
|
||||
groblersdal x2rObl@rsd'al
|
||||
havana hav'ana
|
||||
@@ -260,6 +265,7 @@ hermon $1
|
||||
hirosjima hiruS'ima
|
||||
israel IsraI:l
|
||||
italië it'A:li;@
|
||||
jeffreysbaai dZEfrisb'AI
|
||||
kalafong kalaf'ON
|
||||
kanada kanad%a
|
||||
kanaän kA:nA:an
|
||||
@@ -272,6 +278,9 @@ kongo kONgu
|
||||
knysna neIsna
|
||||
kuruman kuruman
|
||||
kwa kwa $u $only // KwaZulu, etc.
|
||||
lady _^_EN // Lady Grey/Lady Smith
|
||||
ladybrand leIdibr'ant
|
||||
laingsburg leInsbWrx2
|
||||
lesotho l@sutu
|
||||
limpopo l@mpo@po@
|
||||
(los angeles) lOs_'andZ@li:z
|
||||
@@ -283,10 +292,10 @@ maputo map'u:tu
|
||||
mauritius mOr'iSjWs
|
||||
milaan $2
|
||||
mesopotamië mEsuput'A:mi@
|
||||
mpumalanga mpu:mal'aNga
|
||||
montagu mOnt@ky
|
||||
moreletapark mOr@l,Etap'ark
|
||||
moorreesburg mur'e@sbWrx2
|
||||
mosambiek mo@samb'ik
|
||||
(thaba nchu) tab'A:||ntSu
|
||||
europa Y@r'o@pa
|
||||
nigel _^_EN
|
||||
@@ -314,6 +323,7 @@ tunisië $2
|
||||
turkye $2
|
||||
ulundi ul'undi
|
||||
upington apiNt@n
|
||||
vanrhynsdorp fanr'eInsdOrp
|
||||
vesuvius v@su:viWs
|
||||
viëtnam vj'Etnam
|
||||
wallonië val'o@ni@
|
||||
@@ -333,14 +343,20 @@ adam adam
|
||||
adriaan A:drijan
|
||||
adrie A:dri
|
||||
albertus alb'&rtWs
|
||||
alfred _^_EN
|
||||
allah %alA:
|
||||
amelia am'i:lija
|
||||
annalet anal'Et
|
||||
André 'andreI
|
||||
annette an'Et
|
||||
antoinette antun'Et
|
||||
barbara bA:b@ra
|
||||
basson $2
|
||||
bea bi:ja
|
||||
benade b@nA:di
|
||||
benjamin bEndZ@m@n
|
||||
bennett bEn@t
|
||||
bertha b&rta
|
||||
bester b'Est@r
|
||||
beyers beI@rs
|
||||
blignault blIx2n@Ut
|
||||
@@ -350,7 +366,7 @@ bouwer b@U@r
|
||||
brian _^_EN
|
||||
bredenkamp bre@d@nkamp
|
||||
breytenbach breIt@nbax2
|
||||
brouwer bruw'&:r
|
||||
bruwer bruw'&:r
|
||||
caesar siz@r
|
||||
carl kA:r@L
|
||||
casanova kasan'o@va
|
||||
@@ -375,6 +391,7 @@ cindy sIndi
|
||||
coetzee kuts'e@
|
||||
cronjé krOnj'e@
|
||||
cynthia _^_EN
|
||||
dalene dal'e@n
|
||||
darwin _^_EN
|
||||
david _^_EN
|
||||
(da vinci) da||v'intSi
|
||||
@@ -390,16 +407,20 @@ donaldson _^_EN
|
||||
du $u
|
||||
(du pisanie) du||pis'A:ni
|
||||
(du plessis) du||pl@s'i
|
||||
(du plooy) d@||ploI
|
||||
(du preez) d@||pr'e@
|
||||
(du toit) d@||toI
|
||||
duvenage dyv@nA:x2@
|
||||
eksteen $1
|
||||
eldorado &ldOr'A:d@U
|
||||
elisabeth il'isabEt
|
||||
elize il'i:z
|
||||
elmien $2
|
||||
elsabe &ls@bi
|
||||
elsabé &ls@bi
|
||||
emmarentia Emar'e~nSja
|
||||
erasmus $2
|
||||
ernest _^_EN
|
||||
eségiël is'e@x2i_@l
|
||||
estelle %ist&l
|
||||
etienne Eti@n
|
||||
@@ -418,15 +439,18 @@ george _^_EN
|
||||
georgina dZO:dZ'ina
|
||||
gerhard x2&rart
|
||||
gerhardus $2
|
||||
gertruida $2
|
||||
gloria glO:ria
|
||||
grange x2rA:nsi
|
||||
gustav gustaf
|
||||
guy _^_EN
|
||||
hamlet _^_EN
|
||||
harry _^_EN
|
||||
havenga hA:f@Nx2a
|
||||
haydn hAId@n
|
||||
helen _^_EN
|
||||
helena hil'e@na
|
||||
helene hi:l'i:n
|
||||
helloïse hEluw'i:z
|
||||
henry _^_EN
|
||||
herklaas $1
|
||||
@@ -436,10 +460,12 @@ ilse 'ilz@
|
||||
ingrid iNgr@d
|
||||
isabel is@b&l
|
||||
iskariot isk'ariOt
|
||||
jaco jaku
|
||||
jacques ZA:k
|
||||
james _^_EN
|
||||
jane _^_EN
|
||||
Jean ZA~n $capital
|
||||
jesebel je@s@b&l
|
||||
jimmy _^_EN
|
||||
joan _^_EN
|
||||
joey dZ@Ui
|
||||
@@ -452,14 +478,17 @@ kelvin _^_EN
|
||||
kim _^_EN $capital
|
||||
krige krix2@
|
||||
labuschagne labWsk'ax2ni
|
||||
lafras $2
|
||||
langenhoven laN@nho@f@n
|
||||
lasarus lA:s@r%Ws
|
||||
lategan lA:t@x2an
|
||||
le l@ $only
|
||||
leandra li'andra
|
||||
leipoldt lAIpOlt
|
||||
leonardo liu:n'ardu
|
||||
leonie li'o@ni
|
||||
levi le@fi
|
||||
|
||||
liesbet lisbEt
|
||||
louis luI
|
||||
louise luw'i:z
|
||||
mackintosh _^_EN
|
||||
@@ -467,6 +496,8 @@ mbeki mbE:ki
|
||||
magdalena $3
|
||||
malan mal'an
|
||||
malherbe mal'&rb@
|
||||
mantovani mantOv'A:ni
|
||||
mara mA:ra
|
||||
marelie mar@li
|
||||
margaret _^_EN
|
||||
margaretha marx2ar'e@ta
|
||||
@@ -478,8 +509,11 @@ marlise marl'i:s
|
||||
martha marta
|
||||
martin m'A:rt@n
|
||||
mary _^_EN
|
||||
mathilda mat'Ilda
|
||||
matteus mat'i:Ws
|
||||
matthee mat'e@
|
||||
matthéüs mat'i:Ws
|
||||
maureen _^_EN
|
||||
mefistofeles mEfist'o@f@l@s
|
||||
melanie m@lA:ni
|
||||
meraai m@rAI
|
||||
@@ -491,6 +525,7 @@ michiel $2
|
||||
mike _^_EN
|
||||
miriam mIri@m
|
||||
mohammed muh'am@t
|
||||
morkel mOrk@l
|
||||
morné mOrn'eI
|
||||
mostert m'Ost@rt
|
||||
mouton mut'On
|
||||
@@ -516,10 +551,12 @@ rebekka r@bEka
|
||||
reinette r@nEt
|
||||
renette r@nEt
|
||||
renée r@neI
|
||||
retha re@ta
|
||||
retief r@tif
|
||||
rhodes _^_EN
|
||||
robert _^_EN
|
||||
ronel run'&l
|
||||
rossouw r@s@U
|
||||
rousseau r@s@U
|
||||
ruda ruda
|
||||
rupert rup@rt
|
||||
@@ -554,6 +591,7 @@ toerien $2
|
||||
totius to@SiWs
|
||||
trudie trudi
|
||||
versfeld f&rsf<
|
||||
veronica _^_EN
|
||||
victoria _^_EN
|
||||
viljoen $2
|
||||
villiers vIli@rs
|
||||
@@ -574,8 +612,11 @@ schalkwyk skalkveIk
|
||||
schreiner SraIn@r
|
||||
tony t@Uni
|
||||
trichardt trix2A:rt
|
||||
vera ve@ra
|
||||
verwey f@rveI
|
||||
vivaldi viv'aldi
|
||||
viviers v@v@je@
|
||||
wilhelm v@lh&l@-m
|
||||
khumalo kum'A:lu
|
||||
zuma zu:ma
|
||||
|
||||
@@ -589,6 +630,11 @@ citroên s@trun
|
||||
ferrari f@rA:ri
|
||||
martini mart'i:ni
|
||||
naspers nasp&rs
|
||||
peugeot pW:Z@U
|
||||
(pick n pay) p,ik||@n||p'eI
|
||||
port pOrt $1
|
||||
rover _^_EN
|
||||
sotho su:tu
|
||||
toyota $2
|
||||
venda vEnda
|
||||
volvo vOlvu
|
||||
@@ -665,7 +711,7 @@ hoekom $pause
|
||||
hoeveel $pause
|
||||
wat $pause
|
||||
watter $pause
|
||||
|
||||
ás as '!as
|
||||
|
||||
// prepositions
|
||||
aan $u $strend2
|
||||
@@ -717,9 +763,10 @@ dis $u
|
||||
|
||||
// phrase with words spoken together
|
||||
|
||||
(nie waar nie) n,i||v,A:r||n'i
|
||||
(à la carte) a||la||k'art
|
||||
|
||||
(carpe diem) karpE||di:Em
|
||||
(nie waar nie) n,i||v,A:r||n'i
|
||||
(sy aan sy) s,eI||an||s'eI
|
||||
|
||||
|
||||
// main word list
|
||||
@@ -735,6 +782,7 @@ agamemnon ax2am'EmnOn
|
||||
aggressie $2
|
||||
agterstevoor $4
|
||||
agterweë $3
|
||||
aha A:h'!A:
|
||||
algaande $2
|
||||
alge alx2@
|
||||
algehele alx2@h,e@l@
|
||||
@@ -743,8 +791,10 @@ almiskie $3
|
||||
alom al_'Om
|
||||
alreeds $2
|
||||
alternatiewe $4
|
||||
amelee am@le@
|
||||
amen A:mEn
|
||||
anale an'A:l@
|
||||
as't as@t $u
|
||||
asof asOf
|
||||
asook %as_o@k
|
||||
aspris $2
|
||||
@@ -762,6 +812,7 @@ beswil bEsv@l
|
||||
besnedene b@sne@d@n@
|
||||
bestes bEst@s
|
||||
beta be@ta $only
|
||||
betlehemster bEtli:Emst&r
|
||||
bewe be@v@
|
||||
bewend be@v@nt
|
||||
bewering b@ve@rIN
|
||||
@@ -779,6 +830,9 @@ capita kapita
|
||||
casino kas'i:n@U
|
||||
cedille s@dIl@
|
||||
charisma kar'Isma
|
||||
cliché kliS'eI:
|
||||
|
||||
clichés kliS'eI:s
|
||||
crescendo kr@SEndu
|
||||
|
||||
dadelik dA:d@lIk
|
||||
@@ -832,6 +886,7 @@ geldelike x2&ld@l@k@
|
||||
genade $2
|
||||
genesis x2e@n@s@s
|
||||
//gesamentlik x2@sA:m@ntl@k
|
||||
gladiator x2ladi'A:tOr
|
||||
globale x2lo@b'A:l@
|
||||
gooi x2OI
|
||||
gomorra x2@mOra
|
||||
@@ -840,6 +895,7 @@ gratis x2r'A:t@s
|
||||
grondys x2rO:nt_eIs
|
||||
|
||||
hallo h'Il,@U
|
||||
handtertjie hant&:rci
|
||||
hanou hA:n@U
|
||||
hardop hart?Op
|
||||
heeltemal he@lt@mal
|
||||
@@ -896,7 +952,9 @@ kulture $2
|
||||
kunsmatige kWnsm'A:t@x2@
|
||||
kwansuis $2
|
||||
|
||||
lasagne las'anj@
|
||||
libido l@bidu
|
||||
lokaas lOk_A:s
|
||||
londense lOnd@ns@
|
||||
lord _^_EN
|
||||
|
||||
@@ -910,7 +968,9 @@ meegee me@x2e@
|
||||
memorabilia mEmOrab'ilija
|
||||
memoriam mEm'o@riam
|
||||
mercedes $2
|
||||
meregebied me@r@x2@bit
|
||||
merlot m&rl'o@
|
||||
miaau mi'aU:
|
||||
midwinter mIdv@nt@r
|
||||
militêre mIl@t'&:r@
|
||||
minister m@nIst@r
|
||||
@@ -997,6 +1057,7 @@ pandemonium pand@m'o@niWm
|
||||
parate par'A:t@
|
||||
parke park@
|
||||
parkie $1
|
||||
parte $1
|
||||
patos pA:tOs
|
||||
patriotisme patri|ut'Ism@
|
||||
penorent pEno@rEnt
|
||||
@@ -1056,6 +1117,7 @@ suburbia sWb'Wrbija
|
||||
tanga taNga
|
||||
tango taNx2u
|
||||
tenminste $2
|
||||
tequila t@ki:la
|
||||
terdeë $2
|
||||
terug t@-rWx2
|
||||
tesaam t@sA:m
|
||||
|
||||
+93
-24
@@ -23,6 +23,7 @@
|
||||
&b) a (_ %a // short final a: mamba and compounds/marimba/hamba
|
||||
&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
|
||||
&rm) a (_ %a // shorten a sound: Irma/karma/firma and compounds
|
||||
&r) a (_ %a // short final a in words ending in -ra: infra/mantra/sentra, etc.
|
||||
Cbr) a (_ A: // long a: blommetjies-/kantbra
|
||||
&dr) a (_ A: // exceptwrds ending in -dra: ingedra/oorgedra, etc.
|
||||
@@ -36,7 +37,7 @@
|
||||
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
|
||||
_) abo (C %abO // move default stress and fix a and o sounds: abominasie/abonnement/aborsie
|
||||
_) a (bC %a // abdy/ablatief/ablusie/abstrak, etc.
|
||||
_) a (bba a // restore default stress: (ge)abba/abbamandjie, etc.
|
||||
abse (s %apsE // fix stress and e sound: abses/-se
|
||||
@@ -257,6 +258,7 @@
|
||||
arre (stA %ar@ // arrestasie/arresteer
|
||||
arro (g %ar%u // arrogant/-e/arrogansie
|
||||
ar (seen %ar
|
||||
arte (fak %art@ // move default stress: artefak/-te
|
||||
ar (tikel %ar // stress: artikel and compounds
|
||||
artiku %art%ik%y // stress and vowel sounds: artikulasie/artikuleer
|
||||
@C) as (_ as // shorten final a of words ending in -as: rigtingvas/jonkmanskas, etc.
|
||||
@@ -290,6 +292,7 @@
|
||||
C) a (xA+ a // shorten a before x: taxi and compounds/praxi/saxofoon
|
||||
ay (_ _^_EN // words ending in ay are English
|
||||
ays (_ _^_EN // words ending in ays are English
|
||||
aë (robi %aI // move default stress: aërobies/-e
|
||||
|
||||
|
||||
.group aa
|
||||
@@ -365,6 +368,8 @@
|
||||
_) ann (a@ %an // move default stress: annaal/annale
|
||||
g) an (_ _^_EN //if it ends in gan it is English
|
||||
C) anette (_ %anEt // Janette/Sanette
|
||||
ano (rak an%u // fix stress and vowel sounds: anorak/-ke
|
||||
ano (reksi %an%u // fix stress and o sound: anoreksie(leier...)
|
||||
ansjovi anS''o@f@ // fix stress and o sound: ansjovis/-se/-smeer
|
||||
an (tjie aIN
|
||||
_) ana (C ,ana // words starting with ana starts destressed
|
||||
@@ -470,6 +475,7 @@
|
||||
balsem bals@m // correct e sound in derivatives like balseming
|
||||
bara (k bar'a
|
||||
bar (bA b%ar // barbaar/barbare and derivatives/barbier and compounds
|
||||
basi (lisk b%as@ // fix vowel sounds: basilisk/-e and compounds
|
||||
bastion bastiOn // -tion not English: bastion/-s and compounds
|
||||
_) bate b''A:t@ // fix stress and e sound: batefinansiering/-portefeulje and many others
|
||||
batte (ry b%at@ // move default stress: battery/-e and compounds: batterysuur...
|
||||
@@ -528,7 +534,7 @@
|
||||
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.
|
||||
byge (low b%eIx2@ // move default stress: bygelowig/-e/-heid
|
||||
byge (lowi b%eIx2@ // move default stress: bygelowig/-e/-heid
|
||||
_) by (telP2 b'eI // fix e sound: bytel/-ling/-lery
|
||||
by (voorb b%eI// move default stress
|
||||
bywoordeli b%eIvo@rd@l@ // move default stressa: bywoordelik/-e
|
||||
@@ -553,21 +559,19 @@
|
||||
C) be (rsie b'&: //kombersie etc.
|
||||
bene (r be@n@ //benerig/e
|
||||
be (C%+ bE // beffie/bessie/bennie/bettie/blombeddings
|
||||
bek (d b&k // fix e sound: eendbekdier/kortbekdolfyn/rooibekduifie/skinderbekdorp
|
||||
re) be (lK+ b& // fix e sounds: rebel/-le/-lie
|
||||
_) be (Cy b@ // bely/beny/betyds
|
||||
bes (ie_ be@s //sonbesie duinebesie etc.
|
||||
bes (ies_ be@s //sonbesies duinebesies etc.
|
||||
son) be (sie be@ // fix e sound in compounds with sonbesie: sonbesiebos, etc.
|
||||
beste (k b@st& // fix e sound: bestekopname and many compounds of bestek
|
||||
bed (h bEt // fix stress, e sound and d sound: bedhoek/bedhok, etc.
|
||||
bed (C bEt
|
||||
bedjie bE:ici // (ge)bedjie/-s/bababedjie
|
||||
bed (k bEt // bedkassie/bedkaartjie/bedkatel/bedkussing
|
||||
bed (l bEt // bedlamp/bedliggie/dubbelbedlaken
|
||||
bed (m bEt // bedmaats/bedmatjie, etc.
|
||||
bed (p bEt // fix e sound: bedpan/-ne/-poot, etc.
|
||||
bed (rand bEt // fix e and first d sounds
|
||||
bed (s bEt // bedsitkamer/bedsprei/gebedsdag
|
||||
be (dr@ b@ // bedremmeld/bedrewe/bedrywig, etc.
|
||||
bed (t bE // fix e and d sounds: bedtafeltjie/bedtyd
|
||||
bedw (@ b@dw // bedwing and similar
|
||||
@) bed (_ bEt // bruidsbed/dubbelbed; many compounds ending in bed
|
||||
be (de_ be@ // bede/gebede
|
||||
bedes (_ be@d@s // bedes/seënbedes, etc.
|
||||
@@ -733,6 +737,7 @@
|
||||
deto (nA d%Et%u // fix e and o sounds and stress: detonasie/detoneer/detonering
|
||||
deur (aar d%y@r_ // move default stress: deuraar/-de
|
||||
deur (bo d%Y@r // move default stress: deurboor/deurborende
|
||||
deur (dag d%Y@r // move default stress: (on)deurdag/-te/-theid
|
||||
deur (drenk d%y@r // move default stress: deurdrenk/-te
|
||||
deur (dring@ d%y@r // move default stress: deurdringend/-e
|
||||
deur (grond d%y@r // move default stress: (on)deurgrond/-elik/-e/-heid
|
||||
@@ -862,6 +867,7 @@
|
||||
du (et d%u:w // fix stress and -ue-sound: (klavier)duet/-te, etc.
|
||||
@n) d (uit t_ // fix d sound and insert short break: enduit/handuit and similar
|
||||
dwelm (_ dw&l@-m // fix d and e sounds in compounds like wonderdwelm
|
||||
dw (erg dw // fix d sound: tuindwerg/-e/-ie
|
||||
@) dwes tv'Es // noordwes/te/lik/e suidwes/te/lik/e
|
||||
@) dwese tve@s@ // leedwese/vakbondwese
|
||||
@) dwillig tv'Il@x2 // d sound and stress: kwaadwillig/bereidwillig
|
||||
@@ -875,11 +881,13 @@
|
||||
e (C E
|
||||
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
|
||||
juwel) e (C @ // fix e sound: juwelekissie and similar compounds
|
||||
fontein) e (C @_ // fix e sound: Fonteinesirkel/-wisselaar, etc.
|
||||
kening) e (@ @ // fix e sound: rekeningeklerk/-navraag and similar
|
||||
narkos) e (C @ // fix e sound: narkosedood/-gas/-masker/-middel/-rekords, etc.
|
||||
ooi) e (C @ // fix e sound: dooiepunt/ooievaar and similar
|
||||
skew) e (C @ // fix e sound: skewekop/-mond
|
||||
trol) e (C@ @ // fix e sound in compounds: kontrolebank/-doeleindes/-kamer/-lys/-maatreël/-rekening...
|
||||
voorrad) e (C @ // fix e sound: voorradedepot/-konvooi and similar
|
||||
@C) e (aCC @_ // fix e sound: doodseise-/manne-/ongevalle-/troepeafdeling/slakkeafval/handearbeid
|
||||
@@ -890,6 +898,7 @@
|
||||
CAC) e (rr @ // fix e sound: koperring/-rooi/nederryn/somerreën/-rok/superrealis/syferrekenaar...
|
||||
@C) e (reekK @ // fix e sound: duine-/rotsereeks
|
||||
aai) e (C @ // fix e sound: baaierd/waaierstert/paaiement/compounds starting with baaiers-
|
||||
lat) eres @r@s //lateres
|
||||
fp) ers (_ &rs // fix e sound: dof-/gif-/olyf-/tydskrifpers, etc.
|
||||
bloup) ers &:rs // fix e sound: bloupers
|
||||
treil) e (rC @ // fix e sound: (vis)treilerkaptein/-wrak and similar compounds
|
||||
@@ -931,6 +940,7 @@
|
||||
ies) e (b @ // fix e sound: dinamiesebinding/ekonomiesebemagtiging
|
||||
&At) e (bA@ @ // fix e sound: batebestuur/sekuriteitebeurs/soldatebbaadjie/geslotebaan, etc.
|
||||
Aw) e (bA @ // fix e sound: briewebesteller/diewebende/newebedoeling/skewebek/stywebeen
|
||||
@d) e (bl @ // fix e sound: huldeblyk/-e/lindeblom/maagdebloeisel
|
||||
@C) e (bo @ // compounds with boek/boer/boog/boom/bol/bord/borsel/bos/ grondbonebotter/kamdebo...
|
||||
@C) e (bu @ // briewebus/ereburger/novellebundel/urinebuis/woedebui
|
||||
@C) e (by @ // fix e sound: statebybel/-s
|
||||
@@ -1422,6 +1432,7 @@
|
||||
fari (seër f%ar%i // fix stress and a sound: Fariseër/-s
|
||||
farma (seut f%arm%a // move default stress: farmaseut/-e/-ies/-ika
|
||||
fasade f%asA:d@ // fix stress and 1st a sound: fasade/-s and compounds
|
||||
fase (tK f%asE //
|
||||
fasili f%as@l%i // fasiliteit/e/aftrekorderfasiliteit
|
||||
fa (ta@ f%a //fix stress and 1st a sound: fatale/fatalis/-me/-te/-ties
|
||||
fat (soen f%at // move default stress: (on)fatsoen(lik)
|
||||
@@ -1443,6 +1454,7 @@
|
||||
fi (siek f@ // correct 1st i sound and move default stress:
|
||||
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
|
||||
_) fi (na@ f%i // finaal/finale/finansies
|
||||
mor) fine (@ fin@_ // fix e sound in compounds: morfineafhanklikheid/-beswyming/-dosis/-tablet
|
||||
fi (skA f@ // move default stress: fiskaal/fiskale/konfiskeer
|
||||
@@ -1456,8 +1468,10 @@
|
||||
flu (we fl%y // move default stress: fluweel/fluwele and compounds
|
||||
_) fok (o fOk_ // fix o sound, insert short break: fokop/fokof
|
||||
folio fo@li_u // fix o sounds: folio and compounds
|
||||
fondue f%Ondy // fix stress and ue sound: fondue and compounds
|
||||
@) fonie fun'i // kakofonie/simfonieorkes/telefonie
|
||||
@) 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
|
||||
fore (l f%ur& // fix stress and e sound: forel/-e and compounds
|
||||
@@ -1472,6 +1486,7 @@
|
||||
fo (togra fo@ // move default stress: fotograaf and similar
|
||||
fra (giel fr%a // fix stress and a sound: fragiel/-e
|
||||
_) fran (CisCA fr%an // fix stress and a sound: Fransiskus/Franciscus/Francisca
|
||||
frangi (pani fr%aN%i // fix stress: frangipani and compounds
|
||||
fre (kwen fr%i // fix stress and 1st e sound: frekwensie/-s and compounds
|
||||
freud frOId // Freud/Freudiaans/-e
|
||||
front (A@ fr%Ont // fix stress and e sound: konfronterend/-e/konfrontering
|
||||
@@ -1494,10 +1509,14 @@
|
||||
gal (joen x2%al // move default stress: galjoen/-e and compounds
|
||||
gamie (_ x2am'i // bi-/mono-/poligamie, etc.
|
||||
gamies x2'A:mis // bi-/mono-/poligamies/-e
|
||||
ga (riep x2%a // fix stress and a sound: Gariep(dam)
|
||||
gar (n x2%ar // move default stress: garnaal/garnale/garneer/garnering and compounds
|
||||
garni (soen x2%arn%i // fix stress: garnisoen and compounds
|
||||
@C) garye x2%ar'eI@ // Fix stress: Bulgarye/Hongarye
|
||||
gas (aan x2as_ // fix stress: gasaanleg/-aansteker and similar comp9ounds
|
||||
_) gas (A x2''as_ // fix stress: gasaanleg/-aansteker/-installasie/-ontploffing
|
||||
gas (erig x2A:s // long a and no pause: gaserig/-e/-heid
|
||||
gas (ie x2A:s // long a and no pause: gasie/-s and compounds
|
||||
gas (ig x2A:s // long a and no pause: gasig/-e/-heid
|
||||
gauteng x2%aUtEN //Gauteng and compounds
|
||||
_) gh g
|
||||
gh (_ k
|
||||
@@ -1739,6 +1758,7 @@
|
||||
heid (_S4 heIt
|
||||
herinner h&r'In@r // herinner/-ing/-e|s
|
||||
hetero (@@P6 h%Et@-r%u // fix stress and vowel sounds: many compounds: heteroseksueel/-ele/-aliteit, etc.
|
||||
hex (C hEks // prevent English translation: Hex(rivier)vallei
|
||||
hia (sint h%ij%a // fix stress: hiasint/-e and compounds
|
||||
_) hi (bis h%i // move default stress: hibiskus/-se and compounds
|
||||
higië (nA h%ix2%ie@
|
||||
@@ -1757,6 +1777,7 @@
|
||||
hiër (argie h%i@r // stress on 1st a: hiërargies/-e
|
||||
hiëro (glie h%i@r%u // fix stress and vowel sounds: hiëroglief/-gliewe
|
||||
A) hle (_ =LE // Nguni words and names ending in -hle: Enhlalakahle/Hlalanikahle/malahle/Phahle
|
||||
_) hobo ho@bu // fix o sound in compounds: hobokonsert/-musiek/-solo/-sonata/-speler
|
||||
hoeve (r h%uf& // fix stress and e sounds: hoever(re)
|
||||
hoeveelh (e h%ufe@lh // move default stress: hoeveelheid/-hede
|
||||
hof (A hOf_ // fix o, pause: hofaansoek/-amptenaar/-etiket/-interdik/-ordonnans/-uitspraak/-ure...
|
||||
@@ -1785,6 +1806,7 @@
|
||||
ie i
|
||||
tr) ie (_ 'i //stress on trie at word end
|
||||
ieë (K i:@ // knieë/vlieë/spieël/-tjie
|
||||
ie (uu i // split ie/uu, eu not diphthong: drieuur and similar
|
||||
ss) ief (_ 'if // move default stress: aggressief/massief/obsessief/progressief, etc.
|
||||
ss) iewe (_ 'iv@ // move default stress: aggressiewe/massiewe/obsessiewe/progressiewe
|
||||
ns) iewe (K 'iv@ // fix stress and e sound: intensiewesorg(eenheid) and similar
|
||||
@@ -1827,6 +1849,7 @@
|
||||
_) immi (grA @m@ // fix stress and i sounds: immigrant/-e and compounds
|
||||
_) i (mmu %i // fix stress and i sound: immuun/immune/immuniteit
|
||||
_) inder (C @nd@r // inderdaad/inderhaas/indertyd
|
||||
_) indel (C Ind&l // fix e sound: indelf/indelwe/indelwing
|
||||
indi (a@ @nd%i // fix stress: Indiaan/Indiane
|
||||
in (dien @n //indienstreding/indiensopleiding/indiensplasing
|
||||
indis (kr @nd@s // stress: indiskreet/-e/indiskresie/-s
|
||||
@@ -1939,6 +1962,8 @@
|
||||
irriter (@ ir@t'e@r // irriterend/e/irritering
|
||||
|
||||
iles (_ _^_EN // words and names ending in -iles are English
|
||||
ipe (kon %ip@ // Fix stress and e sound: ipekonders and compounds
|
||||
_) ira (C %ira // fix stress: Irak/Iran/Iranees/-nese/Iraki
|
||||
ity (_N _^_EN
|
||||
@) igering ix2'e@r@N
|
||||
instruks @nstr'Wks // instruksie/s (stress)
|
||||
@@ -1978,6 +2003,7 @@
|
||||
@) iseur is'Y@r // adviseur/narkotiseur
|
||||
@) i (sering i
|
||||
C) isie 'isi // ambisie/ammunisie/komposisie/ammunisiekis
|
||||
@@@C) isie isi // restore default stress in compounds like kragkompetisie...
|
||||
C) isieus isi'Y@s // ambisieus/suspisieuse
|
||||
C) isk (_ 'Isk // asterisk/tamarisk
|
||||
C) isk (e_ 'Isk // asteriske/tamariske
|
||||
@@ -2074,6 +2100,7 @@
|
||||
_) kilo kil%u // fix o sound in compounds: kilogram/-liter/-meter
|
||||
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
|
||||
klande (sti kl%and@ // move default stress: klandestien/-e
|
||||
_) kla (sA@@ kla // klasaantekeninge/klasonderwyser and other compounds
|
||||
kla (ssiek kl%a // move default stress: klassiek/-e
|
||||
@@ -2103,7 +2130,7 @@
|
||||
kleure klY@r@ // fix e sound: kleurebeeld/-gloed/-kaart/-kontras/-mengeling/-prag/-sin...
|
||||
kli (maat kl@ // move default stress: klimaat and compounds
|
||||
kli (mop klI // fix i sound: klimop(plant)
|
||||
klim (u klIm_ // fix i sound in compounds like bergklimuitstappie
|
||||
berg) klim (A klIm_ // fix i sound in compounds like bergklimuitstappie/-ekspedisie
|
||||
kli (niek kl@ // fix stress and i sound: kliniek and compounds
|
||||
klip (A klIp_ // fix i sound: klipalbaster/-altaar/--uil/leiklipolie
|
||||
klou (sule kl%@U // move default stress: klousule/-s
|
||||
@@ -2209,6 +2236,8 @@
|
||||
_) kar (b k%ar // move default stress: karba/karbol/karbonkel and their compounds
|
||||
kar (be kar // restore default stress: karbestuurder/-s/-besitter, etc.
|
||||
kar (does k%ar // move default stress: kardoes and compounds
|
||||
_) ka (rien k%a // fix stress and a sound: Karien/Karientjie/Kariena
|
||||
karika (tu k%ar%ik%a // fix stress and a sounds: karikatuur/karikature
|
||||
karme (naadj k%arm@ // fix stress and e sound: karmenaadjie and compounds
|
||||
karmosyn k%arm%useIn // fix stress and o sound: karmosyn and compounds
|
||||
karna (val k%arn%a // fix stress and 2nd a sound: karnaval and compounds
|
||||
@@ -2224,13 +2253,14 @@
|
||||
kar (wei k%ar // move default stress: karwei and derivatives
|
||||
ka (sarm k%a // move default stress: kasarm and compounds
|
||||
kaserne k%as&rn@ // move default stress, fix 1st e sound: kaserne and compounds
|
||||
kaske (nade k%ask@ // fix stress and e sound: kaskenade/-s and compounds
|
||||
_) ka (sta k%a // move default stress: kastaiing and compounds
|
||||
_) ka (ste@ k%a // move default stress: kasteel/kastele and compounds
|
||||
ka (sty k%a // move default stress: kasty/-der/-ding
|
||||
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
|
||||
katalo (gus k%atalu // fix stress and vowel sounds: katalogus 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
|
||||
kategorie k,at@x2ur'i // to also handle plural
|
||||
@@ -2238,6 +2268,7 @@
|
||||
kategories k,at@x2'o@ris // to move stress
|
||||
K) katel kA:t@l // fix e sound of compounds: katelknop/-styl, etc.
|
||||
katjie (pie k%aIc%i // move default stress: katjiepiering and compounds
|
||||
katki (sA k%atk@ // fix i sound: katkiseer/katkisasie, etc.
|
||||
_) ka (to k%a // fix stress and a sound: katode and compounds/katoliek/katots
|
||||
_) ka (tr k%a // move default stress: Katrina/katrol and compounds
|
||||
|
||||
@@ -2311,10 +2342,12 @@
|
||||
konkel kONk@l // restore default stress and fix [N] sound: konkelaar/konkelwerk, etc.
|
||||
konsen (tr k%Ons@n // fix stress and e sound: konsentreer/konsentrerend/konsentrasie
|
||||
konsen (trie k%Ons''En // fix stress and e sound: konsentries/-e
|
||||
konsep (A k%OnsEp_ // fix e sound, pause: konsepooreenkoms and similar compounds
|
||||
konsertina k%Ons@rtin%a // fix stress and vowel sounds: konsertina/-musiek and similar
|
||||
konside (rA k%Ons@d@ // fix vowel sounds: konsiderasie/konsidereer
|
||||
konsist k%Ons@st // konsistorie and compounds/konsistensie
|
||||
konstabel k%OnstA:b@l // (hof/hoof/verkeers)konstabel/-s, etc.
|
||||
konsti (tusi k%Onst@ // fix stress and i sound: konstitusie and compounds
|
||||
konsul (A k%Ons%Wl // konsulaat/konsulate/konsulêr
|
||||
kon (sul kOn // restore default stress: konsul and compounds
|
||||
konsul (tant k%Ons%Wl // fix stress: konsultant/-e and compounds
|
||||
@@ -2322,6 +2355,7 @@
|
||||
_) kontra (KP6 k'Ontra // kontra is prefix
|
||||
kontra (diks k%Ontr%a // move default stress: kontradiksie/-s
|
||||
_) kontrak k%Ontrak // move default stress: kontraksie/kontrak and compounds
|
||||
kontrap (sie k%Ontrap // fix stress: kontrapsie/-s
|
||||
_) kontras k%Ontras // move default stress: kontras/-te/kontrasteer
|
||||
kontrasep k%Ontr%asEp // fix stress and e sound: kontrasepsie and derivatives
|
||||
kontrover (s k%Ontr%uv&r // o and v sounds: kontroversie/kontroversieel
|
||||
@@ -2341,7 +2375,7 @@
|
||||
kos (tu k%Os // move default stress: kostuum and compounds
|
||||
kouka (sië k%ukA: // fix stress and vowel sounds: Koukasiër/-s
|
||||
kou (sa@ k%@U // move default stress: kousaal/-ale
|
||||
koö k%o@O // koördinasie/koöpsie, etc.
|
||||
ko (ö k%u // koördinasie/koöpsie/koöperasie/-atief, etc.
|
||||
|
||||
|
||||
|
||||
@@ -2354,9 +2388,11 @@
|
||||
lagune l%ax2yn@ // move default stress: lagune and compounds
|
||||
_) la (kon l%a // lakoniek/lakonies/lakonisme
|
||||
lamfer lA~mf@r // fix e sound: lamferdoek/-vlae, etc. (variant)
|
||||
lampe (t l%ampE // move default stress: lampet/-te/lampetbeker/-s
|
||||
lanfer lA~mf@r // fix e sound: lanferdoek/-vlae, etc.
|
||||
lam (len l%am // move default stress: lamlendeling/lamlendig/-e/-heid
|
||||
lande (ry l%and@ // move default stress: landerye/compounds of landery-
|
||||
_) land (_rover _^_EN
|
||||
_) lang (d@@ l%aN // langdradig/langdurig and their derivitivs
|
||||
_) lange (CA laN@ // e sound: langelaas/Langeberge
|
||||
lang (werp l%aN // move default stress: langwerpig/-e/-heid
|
||||
@@ -2379,6 +2415,7 @@
|
||||
legende l@x2End@ // move default stress; fix e sounds
|
||||
legen (da l@x2@n // move default stress and fix e sounds
|
||||
legi (oen l%Ex2%i // fix stress and e sound: legioen/-e and compounds
|
||||
le (kker l& // fix e sound: luilekker/-dae/-lewe, etc
|
||||
leli (k le@l@ // fix e sound and stress: lelik and derivatives
|
||||
_) lende lEnd@ // lendelam/lendene/compounds of lende
|
||||
lening le@n@N // banklening/sorgverlening/hulpverlening...
|
||||
@@ -2474,6 +2511,7 @@
|
||||
majestu m%A:j@st%y // fix stress: majestueus/-e
|
||||
makaber m%akA:b@r // fix stress and vowel sounds: makaber/-e/-heid
|
||||
maka (paan m%ak%a // fix stress and a sounds: Makapaan/-s/-grot and compounds
|
||||
ma (kassar m%a // fix stress and 1st a sound: (anti)makassar/-s
|
||||
@) makie (sie mak'i // fix a sound and stress: bol(le)makiesie/-slanery
|
||||
ma (kietie m%a // fix stress and a sound: makietie and compounds: verjaardagmakietie/-s
|
||||
@) makranka makr'anka // fix stress and vowel sounds: koek(e)makranka/-s
|
||||
@@ -2605,6 +2643,7 @@
|
||||
morf (otomie m%Orf // move default stress: morfotomie
|
||||
_) morr (i mOr // restore default stress: morrig/morrie/-doring
|
||||
_) mors (@ mOrs // restore default stress: morsaf/morsdood/morsig
|
||||
mosam (biek m%o@s%am // move default stress: Mosambiek/-er/-se
|
||||
mosa (ïek m%o@s%a // move default stress: mosaïek and compounds
|
||||
mo (skee m%O // move default stress: moskee/-s and compounds
|
||||
motor mo@t@r // motorfiets/motorkar/vragmotor
|
||||
@@ -2627,7 +2666,7 @@
|
||||
mede (doë m%e@d@ // move default stress: mededoë/-nd
|
||||
_) mede (ly m%e@d@// move stress
|
||||
mede (plig m%e@d@ // move stress: medepligtige
|
||||
media mi:dia // compounds of media
|
||||
media mi:di:ja, // compounds of media
|
||||
medisi (na@ m%Ed@s%i // fix stress and vowel sounds: medisinaal/-nale
|
||||
medi (tA m%Ed%i // fix e sound: mediteer/meditering/meditasie
|
||||
medite (rre m%Ed%it@ // fix stress and vowel sounds: mediterreens/-e
|
||||
@@ -2657,7 +2696,7 @@
|
||||
|
||||
mentee (C mEnt'e@ // argumenteer/dokumenteer/fragmenteer stress related
|
||||
mentele (K mEnt'e@l@ // stress always on penultimate slb of words ending in ntele/-r
|
||||
|
||||
men (tasie m%En // fix stress: argumentasie/dokumentasie and similar
|
||||
mentering mEnt'e@r@N
|
||||
mekaar m@k'A:r
|
||||
mekaarge m@k'A:rx2@
|
||||
@@ -2706,10 +2745,12 @@
|
||||
eu) n (g n // dreungeluid/kreungeluid/steungeluid/steungewend
|
||||
oo) n (g n // hoongelag/loongeld/telefoongesprek/woongeriewe and similar
|
||||
Cui) n (g n // basuingeskal/bruingebrand/bruingeel/tuingereedskap/tuingewas/tuingrond
|
||||
we) n (g@++ n // split n/g: opwengrammofoon/wengereg/-gedagtes
|
||||
y) n (g n // fyngoud/hooflyngesprek/langtermyngroei/kaplyngrens
|
||||
ë) n (g n // split -ng-: reëngeluid/-geur/-gogga/-gordel/seëngebed
|
||||
aa) n (gas n // split n/g: metaangas and compounds and similar
|
||||
&) n (gat n // split "ng": mangat/-e/woongat/-e/opwengat/-e
|
||||
spi) n (ge n // split n/g: spingehalte/-geluid, etc.
|
||||
ng (eeR Nx2 // diftongeer/gedistingeerde/rangeer and compounds
|
||||
ngees nx2e@s // split n/g: leuen-/span-/sportman-/wengees
|
||||
n (_g N
|
||||
@@ -2720,6 +2761,8 @@
|
||||
_) na (C_ n'a //three-letter words starting with na
|
||||
na (boots nA: // long a in compounds: klank-/vlugnabootser, etc.
|
||||
na (burig n%A: // move default stress: naburig/-e/-heid
|
||||
na (byge n%A: // move default stress: nabygeleë and derivatives
|
||||
nabyh (e n%A:beIh // move default stress: nabyheid/-hede
|
||||
na (ï n%a_ // naïef/naïewe/naïwiteit
|
||||
@) na (lis n%a // shorten a sound: joernalis/-te/-tiek
|
||||
nami (bi n%amI // Namibië/Namibiese
|
||||
@@ -2767,6 +2810,7 @@
|
||||
neo (li n%i%u // fix stress and vowel sounds: neolities/-e/neolitikum
|
||||
ner (veu n%&r // move default stress: nerveus/-e
|
||||
@C) nes (_ nEs // fix final e sound: doringnes/aasvoëlnes/kalkoennes/hamerkopnes/reiernes/kiewietnes
|
||||
bye) nes nEs // fix e sound: byenes and compounds
|
||||
by) nes nEs // fix e sound: (perde)bynes/te
|
||||
net (agtig nEt_ // fix e sound: (vis)netagtig/-e
|
||||
_) net (o nEt_ // fix o sound: netonderrok/-klere
|
||||
@@ -2812,7 +2856,7 @@
|
||||
no (stalgie n%O // stress on 2nd slb.: nostalgies
|
||||
note (b no@t@ // fix e sound: notebalk/-e/-bank/-beurs
|
||||
notule (K n%utyl@ // fix stress and vowel sounds: notule and compounds
|
||||
no (velle n%u // move default stress and fix o sound
|
||||
novelle n%uf&l@ // move default stress and fix o sound: novelle/-s and compounds
|
||||
november n%o@fEmb@r // fix 1st e sound and stress: November and compounds
|
||||
ntere (ss ntr@' // interessant/interesseer/geïnteresseerd
|
||||
n (tjie N // breintjie/fonteintjie/kleintjie
|
||||
@@ -2857,7 +2901,7 @@
|
||||
_) ok (tA %Ok // move default stress: Oktober and compounds: Oktobermaand, etc./oktaaf/oktawe
|
||||
ole (ander %o@l%i // fix stress and e sound: oleander and compounds
|
||||
C) o (lia o@ // fix o sound: Goliat/magnolia
|
||||
oliek (_ ul'ik // koliek/mankoliek/simboliek
|
||||
K) oliek ul'ik // koliek/mankoliek/simboliek/koliekbaba
|
||||
oliek (e_ ul'ik // mankolieke/katolieke
|
||||
oliekig ul'ik@x2 // mankoliekig/-e/-heid
|
||||
o (lien %u // fix stress and o sound: olien/-hout, etc.
|
||||
@@ -2929,6 +2973,7 @@
|
||||
oloog ul'o@x2 // bioloog/kardioloog and similar
|
||||
oloë ul'u@ // bioloë/kardioloë and similar
|
||||
omega %o@me@x2a // omega/-s
|
||||
omele (t %Om@lE // fix stress and vowel sounds: omelet/-te and compounds
|
||||
ometrie ume@tr'i // geometrie/psigometrie
|
||||
ometries um'e@tris // geometries/psigometriese
|
||||
w) o (rs O: //lengthen o sound in wors compounds
|
||||
@@ -2991,6 +3036,7 @@
|
||||
opper Op@r // oppergesag/wese/vlak/man
|
||||
opper (vlakki %Op@r // move default stress: oppervlakkig/-e/-heid/-ste
|
||||
opsetlik %OpsEtl@k // move default stress: opsetlik/-e/-heid
|
||||
op (sione@ %Op // fix stress vowel and s sounds: opsioneel/-nele
|
||||
optel Opt&l
|
||||
_) op (@P2 'Op // opeet/opeis/optredes/opoffering
|
||||
open (+ o@p@n // open/opening/e/s
|
||||
@@ -3328,6 +3374,7 @@
|
||||
peripa (t pEripa'' // fix stress and vowel sounds: peripateties/-e/peripatetikus/-se/peripatetici
|
||||
peri (sCA p%Er@ // fix stress and vowel sounds: peristalties/-e/peristaltiek/periskoop/-skopies
|
||||
@) perke (_ p&rk@ // fix e sound in some words ending in -perke: menseperke
|
||||
@) perker (K p&rk@r // fix e sound: words like spoedbeperker/-s
|
||||
@) perking p&rk@N // fix e sound in some words containing -perking
|
||||
per (kussie p@r // fix stress and e sound: perkussie and compounds
|
||||
perle (moe p%&rl@ // move default stress: perlemoen/perlemoer and compounds/reperkussie/-s
|
||||
@@ -3343,6 +3390,8 @@
|
||||
pers (om p&rs_ // fix e sound, pause: persombudsman/-ne and compounds
|
||||
perso (neel p%&rs%u // personeel and compounds
|
||||
pervers p@rf&rs // pervers/perversie
|
||||
pervert p@rf&rt // fix stress and e sounds: pervert/-e and compounds
|
||||
runder) pes pEs // fix e sound: runderpes and compounds
|
||||
pe (tieter p@ // fix stress and 1st e sound: petieterig/-e/-heid
|
||||
pe (tisi p@ // fix stress and e sound: petisie/petisionaris and compounds
|
||||
_) pe (trA_ pe@ // lengthen e sound: Petro/Petra
|
||||
@@ -3352,10 +3401,12 @@
|
||||
ph (_ f // fix ph sound: Rudolph/Joseph
|
||||
phi (lip fI
|
||||
phi (lippA_ f@ // fix stress and 1st i sound: Philippa/Philippi
|
||||
_) pieter (sA@ p%it@r // move default stress: pieters(i)elie and compounds
|
||||
pig (meA p@x2 // move default stress: pigmee/pigmeë
|
||||
pi (kant p%i // move default stress: pikant/-e, etc.
|
||||
pikke (wyn p@k@ // move default stress: pikkewyn and compounds
|
||||
_) pi (la p%i // move default stress: pilaar/pilare/pilatus
|
||||
pio (n p%ijO // fix stress: pion/-ne and compounds of pion
|
||||
pio (nier p%i%u // fix stress and vowel sounds: pionier and compounds
|
||||
pira (mi p%ir%a // move default stress: piramide/-s/piramiedvormig
|
||||
pi (sto p@ // pistool/pistole and compounds
|
||||
@@ -3452,8 +3503,9 @@
|
||||
promisku pr%Om@sky // fix stress and o sound: promisku/-e/-íteit
|
||||
promulg (e pr%Om%Wlx2 // fix stress and vowel sounds: promulgeer/-gering
|
||||
proposi pr%Op@zi // stress, o and s sounds: (besigheids)proposisie/-si, etc.
|
||||
prosa pr'o@sa //prosa and compounds
|
||||
prosa pro@s%a //prosa and compounds
|
||||
prosa (ïe pr%o@sA: // fix stress and vowel sounds: prosaïes/-e
|
||||
@) prose (_ pro@s@ // fix o sound: klap-/klip-/knop-/popr ose
|
||||
proses pr%usEs // proses/versoeningsproses/strafproseswet
|
||||
|
||||
projek pr%ujEk
|
||||
@@ -3519,6 +3571,7 @@
|
||||
rasse ras@ // e sound of compounds starting with rasse
|
||||
ribbe (tj r'Ibi
|
||||
riete rit@ // fix e sound: merietelys/rietedak, etc.
|
||||
rinkh (als rINk // drop h: rinkhals and compounds
|
||||
rinne (w r@n@ // move default stress: (ge/ver)rinneweer/-de/-der
|
||||
_) ri (o r%i // move default stress: riool and compounds/riolering
|
||||
ris (kant r@s // move default stress: riskant/-e
|
||||
@@ -3551,6 +3604,7 @@
|
||||
rugby rWgbi
|
||||
ru (dolC ru // fix u sound: rudolf
|
||||
_) rug (A@ r''Wx2_ // fix u sound, pause: rugoefeninge/-operasie and similar
|
||||
ruma (tiek r%Wm@ // fix stress and vowel sounds: rumatiek(vingers and similar)
|
||||
ru (moer r%W // fix stress and u sound: rumoer/-ig/-heid
|
||||
rusper (C rWsp@r // fix e sound: rusperband/-tjie/-trekker and similar
|
||||
ru (ïn r%y_ // move default stress: ruïne/-s
|
||||
@@ -3631,9 +3685,11 @@
|
||||
o) rene r@n@ // eersgeborene/uitverkorenes
|
||||
re (geer r@ // regeer/geregeer; stress to end
|
||||
reger (A r@x2e@r // regering/regerende
|
||||
repertoire r%Ep@rtwA:r // repertoire and compounds
|
||||
re (sensA r@ // resensie/-s/resenseer/resensent
|
||||
reser (v r@s@r // fix stress and e sounds: (ge)reserveer/reservering
|
||||
re (sessie r@ // fix stress and e sound: resessie/-s and compounds
|
||||
resi (tA r@s@ // fix vowel sounds: resitasie and compounds/resiteer
|
||||
respek r@spEk
|
||||
respek (teer r@sp%Ek // stress to end
|
||||
&) rele (_ r'e@l@
|
||||
@@ -3693,6 +3749,7 @@
|
||||
_) sebra se@bra // fix vowel sounds: sebra/-strepe; variant of zebra
|
||||
se (ggA s& // fix e sound: niksseggend/-e
|
||||
@) seko (no@ s_%Ek%u // fix e sound; default stress; insert short pause: bedryfs-landsekonomie/-s/-ekonoom
|
||||
@) seks (_ sEks // fix final e sound: kinder-/kuber-/oumens-/selfoon-/tienerseks
|
||||
seks (tant s%Eks // move default stress: sekstant and compounds
|
||||
sekste (t s%EkstE // fix stress and 2nd e sound: sekstet/-te
|
||||
selek (CA s@lEk //seleksie selekteer etc.
|
||||
@@ -3700,6 +3757,7 @@
|
||||
sen (sorie s%En // move default stress: sensories/-e
|
||||
senter sEnt@r // fix e sound: binne-/buite-/Springboksenter
|
||||
@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.)
|
||||
sitrus s'itr%Ws_ //i sound and stress in compounds
|
||||
|
||||
@@ -3733,6 +3791,7 @@
|
||||
sa (tanie s%A:
|
||||
sa (tir s%a // move default stress: satire/satiries/-e
|
||||
sa (turnu s%a // fix stress and a sound: saturnus and compounds
|
||||
sauna sO:na // fix au sound: sauna(bad and similar compounds)
|
||||
sav (annA s%av // fix stress and v sound: savanna/-s/savanne
|
||||
_) schu (C Su // fix u sound: Schubert/Schultz/Schumann/Schumacher
|
||||
_) sedan s@dan // fix stress and e sound: sedan/-s/sedanmotor, etc.
|
||||
@@ -3814,6 +3873,7 @@
|
||||
skerpi (oen sk%&rp%i // move default stress: skerpioen/-e and compounds
|
||||
skilder (y sk@ld@r // move stress to y: skildery and compounds like skilderymuseum
|
||||
skisofr (e sk%is%ufr // fix stress and o sound: skisofreen/skisofrene
|
||||
_) skok (AP4 sk''Ok_ // fix o sound and stress: skokaankondiging/-effek/-insluiting/-onthulling...
|
||||
skole sko@l@ // fix e sound in compounds: skolebeheerliggaam/-koor/-rugby/-wedstryd/-wet
|
||||
sko (lier sk%o@ // move default stress: skolier/-e
|
||||
skoppel (maa sk%Op@l // move default stress: skoppelmaai/-e/-er/-s
|
||||
@@ -3821,7 +3881,7 @@
|
||||
skrif (A skrIf_ // i sound: (hand)skrifontleder/skrifuitleg/tydskrifadvertensie/-afdeling/-artikel
|
||||
skuld (erken skWlt_ // fix d sound: skulderkenning/-s/-erkentenis
|
||||
skyn (hei sk%eIn // move default stress: skynheilig/-e/-heid
|
||||
_) slag sl'ax2
|
||||
_) slag sl''ax2_ // slagoffer/-instrument/-e
|
||||
slag (off slax2_ // short a sound, insert pause: misdaadslagoffer and similar compounds
|
||||
sla (vin sl%a // move default stress and shorten a sound: slavin/-ne and compounds
|
||||
sla (we slA: // fix stress and a sound: slawearbeid/-er, etc.
|
||||
@@ -3982,6 +4042,7 @@
|
||||
standerd (@ st%and@rt // compounds starting with standerd
|
||||
stand (houde st%ant // move default stress: standhoudend/-e/-heid
|
||||
stand (vasti st%ant // move default stress: (on)standvastig/-e/-heid
|
||||
_) stap (A stap_ // fix a sound, pause: stapafstand/-ekspedisie/-oord
|
||||
stapel stA:p@l // fix e sound: (op)stapeling/stapelaar
|
||||
staties st'A:tis
|
||||
sta (tutA st%a // fix stress and a sound: statute/statutêr
|
||||
@@ -4162,7 +4223,8 @@
|
||||
_) 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
|
||||
transendent (A tr%ans%End%Ent // fix stress and vowel sounds and remove short break: transendenteel/-tele/-taal
|
||||
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
|
||||
transport tr%anspOrt // fix stress: transport and compounds
|
||||
trap (orr trap_ // shorten a sound: traporrel/-tjie/-s and compounds
|
||||
@@ -4269,6 +4331,7 @@
|
||||
_) ter (l t@r // move default stress: terloops/-e
|
||||
@) term (_ t&r@m // correct pronunciation of e
|
||||
@) terme (_ t&rm@ // correct pronunciation of 1st e
|
||||
&) termes t@rmEs // fix e sounds: bottermes and similar
|
||||
ter (miet t%&r // move default stress: termiet/-e and compounds
|
||||
_) ter (w t@r // stress and e sound: terwyl/terwille
|
||||
sin) te (ti te@ //sintetiseer, compounds and derivatives
|
||||
@@ -4299,6 +4362,7 @@
|
||||
|
||||
|
||||
&) tel (_ t@l
|
||||
ge) tel (_ t&l // fix e sound: bymekaargetel/oorgetel, etc.
|
||||
teleur t@lY@r // teleur/teleurstelling/teleurgesteld
|
||||
&) tels (_ t@ls
|
||||
sleu) tel t@l //sleutel in compounds
|
||||
@@ -4386,7 +4450,7 @@
|
||||
uit (voerig %Yyt // move stress: uitvoerig/-e/-heid
|
||||
uit (wisba %Yyt // move default stress: (on)uitwisbaar/-bare/-baarheid
|
||||
_) uitge (@P5 'Yytx2@ // words beginning with uitge have stress on 1st slb
|
||||
uitgewer 'Yytx2,e@v@r
|
||||
uitgewer Yytx2%e@v@r
|
||||
uitgewerk Yytx2@v&rk // uitgewerk and derivatives; see rule: uitgewer
|
||||
uitgewerp Yytx2@v&rp // fix vowel sounds, see rule: uitgewer
|
||||
uitke (n YytkE // mix e sound: uitken
|
||||
@@ -4460,6 +4524,7 @@
|
||||
vere (_ fe@r@ // fix e sound: vere and compounds ending in vere
|
||||
ve (st fE // fix e sound: huweliksbevestiger/-bevestiging
|
||||
_) vet (A fEt_ // fix e sound, pause: vetafskeiding/-olie/-oplossing, etc.
|
||||
vete (X fe@t@ // fix stress and e sounds, remove pause: vete/-s and compounds
|
||||
vete (ra f%Et@ // fix stress and e sounds: veteraan/-ane and compounds
|
||||
veter (K fe@t@r // (skoen)veter/-s, etc.
|
||||
_) veto (reg fe@t%u // fix o sound: vetoreg/-te
|
||||
@@ -4569,6 +4634,7 @@
|
||||
vol (kome f%Ol
|
||||
vo (llA_ fO // volle/vollê/Volla - exception to: vo (lC f%O
|
||||
volle (dig f%Ole@ // fix stress and e sound: (on)volledig/-e/-heid...
|
||||
voll (engte fOlE
|
||||
vo (ller fO // exception to: vo (lC f%O
|
||||
volles (_ fOl@s // fix stress and e sound: volles/passievolles, etc.
|
||||
vol (hou_ fOl // exception to: vo (lC f%O
|
||||
@@ -4576,7 +4642,7 @@
|
||||
vol (mane fOl // exception to: vo (lC f%O
|
||||
vol (prop fOl // exception to: vo (lC f%O
|
||||
vol (r fOl // volrond/-rooi/-ryp: exception to: vo (lC f%O
|
||||
vol (sirk fOl // volsirkel: exception to: vo (lC f%O
|
||||
vol (siC fOl // volsirkel/volsin/-ne: exception to: vo (lC f%O
|
||||
_) vol (sk fOl // restore default stress: volskaalse/-skaduwee/-skerm/-skiet, etc.
|
||||
vol (ste_ fOl // exception to: vo (lC f%O
|
||||
vol (sto fOl // volstof/volstoom/volstop/volstort; exception to: vo (lC f%O
|
||||
@@ -4644,6 +4710,7 @@
|
||||
nd) w v // aandwandeling/brandweer/eindwedstryd/grondwet/grondwal
|
||||
Cod) w v // fix w sound: godwelgevallig/godweet/godwees
|
||||
k) w w
|
||||
k) w (erC v // fix w sound: wrakwerf/-werwe
|
||||
volks) w v // fix w sound: Volkswagen/volkswelsyn/-weldoener, etc.
|
||||
k) w (And v // fix w sound: buikwand/rukwinde
|
||||
s) w w
|
||||
@@ -4886,12 +4953,14 @@
|
||||
@) 'tjie %ici // foto'tjie/ma'tjie, etc.
|
||||
K) á (CK '!a // extra stress: kán/wás and similar
|
||||
áá '!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
|
||||
K) é (CK '!E // extra stress: hét/nét and similar
|
||||
éé '!e@ // extra stress: één, etdc.
|
||||
ék (_ '!&k // ekstra stress: ék/plék
|
||||
ə @ // char.replacement for 'n
|
||||
_C) è (_ E // dè/nè
|
||||
éú '!Y@ // stressed syllable
|
||||
|
||||
ê e:
|
||||
l) êer &:@r // fix ê sound: lêer and compounds
|
||||
@@ -4908,6 +4977,7 @@
|
||||
ï (nsp @ // geïnspireer/-de
|
||||
ï (nt @ // geïnteresseerd
|
||||
ï (nC 'I // beïndruk/beïnvloed
|
||||
ïnkarn (A @Nk%arn // fix stress and nk sound: reïnkarnasie and compounds/reïnkarneer
|
||||
ïsol %is%ul // geïsoleer/-d
|
||||
K) ó (CK '!O // extra stress: óf/kón and similar
|
||||
óé '!u // extra stress: móét/sóék and similar
|
||||
@@ -4919,13 +4989,12 @@
|
||||
ûe W:@ // brûe/rû
|
||||
ý '!eI // extra stress: jý/mý/sý and similar
|
||||
ñ _^_ES // words containing ñ are Spanish: senñor/-a/-ita
|
||||
|
||||
// punctuation
|
||||
! _:eItrup_:
|
||||
!) !
|
||||
$ dOl@r
|
||||
|
||||
__) - (_D minWs
|
||||
A_) - (_D _
|
||||
C_) - (_D _
|
||||
|
||||
|
||||
|
||||
|
||||
+4
-5
@@ -42,7 +42,6 @@ _< m@n'o||_:_:k@
|
||||
_> ma#Z;'o||_:_:k@
|
||||
_' a#p'Ost**'Uf
|
||||
_" kUm'Et@s
|
||||
_$ dola#r
|
||||
- m'En^s
|
||||
__ b'aRR2a#||B'ajS;a#
|
||||
_/ ba*Ra
|
||||
@@ -50,8 +49,8 @@ _\ b'a*RaimbERt'iDa
|
||||
_` a#ks'Ent,UB'E**t
|
||||
_( 'ob**@||pa#**'Ent@zis
|
||||
_) t'anka#||pa#**'Ent@zis
|
||||
_[ 'ob**@||kla#wD'at,or
|
||||
_] t'anka#||kla#wD'at,or
|
||||
_[ 'ob**@||kla#wD'at,o*
|
||||
_] t'anka#||kla#wD'at,o*
|
||||
_{ 'ob**@||kl'aws
|
||||
_} t'anka#||kl'aws
|
||||
_« 'ob**@||kUm'Et@s
|
||||
@@ -69,7 +68,7 @@ _» t'anka#||kUm'Et@s
|
||||
@ a*R'oBa
|
||||
/ ba*Ra
|
||||
© kopi*R'aIt
|
||||
£ lliur**@s
|
||||
£ lliu**@s
|
||||
¶ pa#**'aQ**a#f
|
||||
§ a#pa#**t'at // o secció?
|
||||
|
||||
@@ -216,7 +215,7 @@ o o $atend
|
||||
|
||||
b be
|
||||
c se
|
||||
ç se,tr@nkaDa#
|
||||
ç se,t**@nkaDa#
|
||||
d de
|
||||
f Efa#
|
||||
g Je
|
||||
|
||||
+9
-8
@@ -12,7 +12,7 @@
|
||||
.L02 h l r s v w y z // continuants, not f
|
||||
.L03 f h r s v w y z // continuants, not l
|
||||
.L04 i í e é è // front vowels
|
||||
.L08 p t k f s // sords
|
||||
.L05 p t k f s // sords
|
||||
.L09 b d g m v l n d z r q // sonors
|
||||
.L10 a e o // vocals fortes
|
||||
.L11 i u // vocals febles
|
||||
@@ -116,7 +116,7 @@
|
||||
m m
|
||||
_) m' (P2 m
|
||||
mp (K m
|
||||
ment (_ m'Ent
|
||||
// ment (_ m'En // ??
|
||||
|
||||
|
||||
.group n
|
||||
@@ -126,6 +126,7 @@
|
||||
e) n (_ n // except after e, i
|
||||
i) n (_ n
|
||||
nt (K n
|
||||
nt (_ =n
|
||||
ny n^
|
||||
b) n (@ m
|
||||
v) n (@ m
|
||||
@@ -137,7 +138,7 @@
|
||||
|
||||
.group o
|
||||
o o
|
||||
or (_ 'or
|
||||
or (_ 'o*
|
||||
ou Ow
|
||||
|
||||
|
||||
@@ -155,7 +156,7 @@
|
||||
|
||||
.group r
|
||||
r R
|
||||
_) r RR2
|
||||
_) r *R
|
||||
r (_ = // final r is silent, but stress the vowel
|
||||
r (t **
|
||||
A) r (A **
|
||||
@@ -164,7 +165,7 @@
|
||||
m) r (A R
|
||||
n) r (A R
|
||||
s) r (A R
|
||||
rr RR2
|
||||
rr *R
|
||||
|
||||
|
||||
.group s
|
||||
@@ -205,8 +206,8 @@
|
||||
|
||||
.group x
|
||||
x ks
|
||||
_e) x dz
|
||||
_è) x dz
|
||||
_A) x gz
|
||||
_A) x (L05 ks
|
||||
K) x S;
|
||||
Ai) x S;
|
||||
Au) x S;
|
||||
@@ -236,4 +237,4 @@
|
||||
g) ü w
|
||||
ñ n^
|
||||
|
||||
$ dola#r
|
||||
$ dola#*
|
||||
|
||||
+1
-1
@@ -109,7 +109,7 @@ _17 'zi:btse:n
|
||||
_18 '_axttse:n
|
||||
_19 'nOYntse:n
|
||||
_2X 'tsvantsIC
|
||||
_3X 'd@-*aItsIC
|
||||
_3X 'd@-*aIsIC
|
||||
_4X 'fi:*tsIC
|
||||
_5X 'fynftsIC
|
||||
_6X 'zEktsIC
|
||||
|
||||
@@ -36,9 +36,9 @@ o O u U
|
||||
|
||||
* ** : ; b B d D
|
||||
dZ; f g j J J^ k l
|
||||
l^ m n N n^ p Q r
|
||||
R R2 s S; t T ts tS;
|
||||
v v# w z Z Z;
|
||||
l^ m n N n^ p Q R
|
||||
R2 s S; t T ts tS; v
|
||||
v# w z Z Z;
|
||||
|
||||
|
||||
Dictionary cs_dict
|
||||
@@ -139,8 +139,8 @@ o O oI u
|
||||
|
||||
* ** : b B d D f
|
||||
g j J J^ k l m n
|
||||
N n^ p Q r R R2 s
|
||||
t T tS v v# w x z
|
||||
N n^ p Q R R2 s t
|
||||
T tS v v# w x z
|
||||
|
||||
|
||||
Dictionary fi_dict
|
||||
@@ -371,6 +371,18 @@ N n^ p q R s S S;
|
||||
t tS v w x z
|
||||
|
||||
|
||||
Dictionary eu_dict
|
||||
|
||||
a aI aU e eI eU i o
|
||||
oI u Y
|
||||
|
||||
* ** : ; b B c d
|
||||
D f g h j J k l
|
||||
l^ m n n^ p Q r R
|
||||
s S t tS ts tz v w
|
||||
x z
|
||||
|
||||
|
||||
Dictionary nl_dict
|
||||
|
||||
8 @ @- A a: E e: EI
|
||||
|
||||
+26
-9
@@ -178,8 +178,8 @@ _‼ Ekskla2m'eIS@nz
|
||||
_₠ jU@roU
|
||||
|
||||
# haS $max3
|
||||
@ _at_
|
||||
& _and
|
||||
@ _at_ $u+
|
||||
& _and $u+
|
||||
\ bakstroUk $max3
|
||||
/ stroUk $max3
|
||||
?3 \ bakslaS $max3
|
||||
@@ -303,12 +303,15 @@ _0M3 b'Ili@n
|
||||
_dpt pOInt
|
||||
_roman roUm@n_
|
||||
|
||||
_0st st
|
||||
_0nd @nd
|
||||
_0rd d
|
||||
_0th T
|
||||
_ord T // default ending
|
||||
_ord20 @T // for 20,30,etc
|
||||
_1o f'3:st
|
||||
_2o s'Ek@nd
|
||||
_3o T'3:d
|
||||
_5o f'IT
|
||||
_1o f'3:
|
||||
_2o s'Ek
|
||||
_3o T'3:
|
||||
_5o f'I
|
||||
_0Co h'Vndr@dT
|
||||
|
||||
|
||||
@@ -429,6 +432,7 @@ accursed a2k3:sI2d
|
||||
?5 accursed a2kVRsI2d
|
||||
achille a2kIli:
|
||||
aching eIkI2N
|
||||
achy eIkI
|
||||
adam ad@m
|
||||
adamant ad@m@nt
|
||||
add ad
|
||||
@@ -607,6 +611,7 @@ authority a2T0rI2tI
|
||||
authoritative O:T'0rI2t@tIv
|
||||
autograph O:t@graf
|
||||
auto O:toU
|
||||
autocracy O:t'0kr@sI
|
||||
automobile O:t@m@bi@l
|
||||
autonomous O:t'0n@m@s
|
||||
autopsy O:t0psI
|
||||
@@ -720,6 +725,7 @@ cannabis kana2bIs
|
||||
canoe k@nu:
|
||||
canoes k@nu:z
|
||||
canton kant0n
|
||||
canvas kanv@s
|
||||
capitol kapIt@L
|
||||
caprice ka2pr'i:s
|
||||
caramel kar@mEl
|
||||
@@ -753,6 +759,8 @@ chapel tSap@L
|
||||
charade Sa2rA:d
|
||||
charismatic karIsm'atIk
|
||||
charit tSarIt // charitable
|
||||
chic Si:k
|
||||
chisel tSIz@L
|
||||
chocolate tS0kl@t
|
||||
cholera k0l@r@
|
||||
cholesterol k@lEst@r0l
|
||||
@@ -847,6 +855,7 @@ coordinate koU'O:dI2neIt $verb
|
||||
copier k0pi@3
|
||||
coral k0r@L
|
||||
coronet k0r@nEt
|
||||
corollary $2
|
||||
corporal kO@pr@L
|
||||
corporate kO@p@r@t
|
||||
corps kO@ $only
|
||||
@@ -1203,6 +1212,7 @@ hospitable h0sp'It@b@L
|
||||
hostage h0stI2dZ
|
||||
hostess hoUstEs
|
||||
hotel hoUt'El
|
||||
hotkey h0tki:
|
||||
house haUz $verb
|
||||
however $2
|
||||
howto haUtu:
|
||||
@@ -1582,6 +1592,7 @@ pageant padZ@nt
|
||||
paltry pO:ltrI
|
||||
panacea pana2s'i:@
|
||||
panache $2
|
||||
pancreas pankri@s
|
||||
parabola p@rab@l@
|
||||
paralysis p@ral@sIs
|
||||
parameter p@ramI2t3
|
||||
@@ -1912,6 +1923,7 @@ shrilly SrIllI $verbf
|
||||
sibelius sI2beIli@s
|
||||
sierra sI'e@r@
|
||||
signage saInI2dZ
|
||||
signal sIgn@l // signaled
|
||||
signer saIn3
|
||||
sikh si:k
|
||||
silhouette sI2lUw'Et
|
||||
@@ -2142,6 +2154,7 @@ vegan vi:g@n
|
||||
vengeance vEndZ@ns
|
||||
venus vi:n@s
|
||||
versus v3:sI2z
|
||||
vertices v3:tIsi:z
|
||||
vestige vEstI2dZ
|
||||
vex vEks // for vexed
|
||||
vicar vIk3
|
||||
@@ -2391,7 +2404,7 @@ Oman oUm'an
|
||||
Oregon 0rI2g@n
|
||||
Pacific pa2sIfIk
|
||||
Palestine pal@staIn
|
||||
Palestinian pal@st'Ini:@n
|
||||
Palestinia pal@st'Ini:@
|
||||
Panama pan@mA:
|
||||
Paris parIs
|
||||
Peking pi:k'IN
|
||||
@@ -2420,7 +2433,7 @@ Seychelle seIS'El
|
||||
Sicily sIsI2lI
|
||||
Slovak sloUvak
|
||||
Seoul soUl
|
||||
(sri lanka) sr,i:||l'anka2
|
||||
Sri sr,i: // Sri Lanka(n)
|
||||
Sudan su:d'an
|
||||
Suez su:I2z
|
||||
Sulawesi su:la2w'eIsI
|
||||
@@ -2448,6 +2461,7 @@ Wyoming waI'oUmI2N
|
||||
Xhosa kO:s@
|
||||
zaire zaI'i@3
|
||||
zimbabwe zI2mbA:bwI
|
||||
zimbabwean zI2mbA:bwI@n
|
||||
|
||||
Aaron e@r@n
|
||||
Abe eIb
|
||||
@@ -2505,6 +2519,7 @@ Gary garI
|
||||
Geraint gEraInt
|
||||
Gibbs gIbz
|
||||
Giles gaIlz
|
||||
Gladys gladIs
|
||||
Glynn glIn
|
||||
Graeme greI@m
|
||||
Graham greI@m
|
||||
@@ -2565,6 +2580,7 @@ Mohammad moUh'amI2d
|
||||
Muhammad moUh'amI2d
|
||||
Moira mOIr@
|
||||
Natalie nata2li
|
||||
Natasha $2
|
||||
Nathan neIT@n
|
||||
Neville nEvIl
|
||||
Nicholas nIk@l@s
|
||||
@@ -2887,6 +2903,7 @@ we'd %wi:d $pastf
|
||||
|
||||
I aI $u+ $verbf $only
|
||||
(I am) %aIa2m
|
||||
(I am) %aIam $atend
|
||||
he %hi: $verbsf
|
||||
she %Si: $only $verbsf
|
||||
it %It $verbsf
|
||||
|
||||
+9
-3
@@ -1442,7 +1442,7 @@
|
||||
conva (l k0nv@
|
||||
_) co (nvoy k0
|
||||
_) copy k0pI
|
||||
coro (lla k@r0
|
||||
coro (ll k0r0
|
||||
co (rrect k@
|
||||
correspo k,0rIsp'0
|
||||
co (rro k@
|
||||
@@ -1869,6 +1869,7 @@
|
||||
@f) ed (_S2vdei t
|
||||
@g) ed (_S1vi d
|
||||
@k) ed (_S2vdei t
|
||||
el) ed (_S2dv d
|
||||
&en) ed (_S2v d
|
||||
cl) ed (_S1v d
|
||||
@p) ed (_S2vdei t
|
||||
@@ -2751,6 +2752,7 @@
|
||||
ie I
|
||||
ie (_ I
|
||||
ied (_S2i d // suffix
|
||||
ieds (_S3i dz
|
||||
ie (c aI
|
||||
ie (ce i:
|
||||
ie (_ aI
|
||||
@@ -2875,6 +2877,7 @@
|
||||
@) ingment (_S7dve I2Ng-m@nt
|
||||
logu) ing (_S4v I2N
|
||||
x) ing (_+S3v I2N
|
||||
el) ing (_+S3dv I2N
|
||||
@@om) ing (_S3dv I2N
|
||||
en) ing (_S3v I2N
|
||||
en) ings (_S4v I2Nz
|
||||
@@ -3831,6 +3834,7 @@
|
||||
_f) or (@ O@
|
||||
_f) ore (A O@
|
||||
f) or (k O@
|
||||
_f) or (s@ %O@
|
||||
ch) or (d O@
|
||||
l) or (d O@
|
||||
_m) or O@
|
||||
@@ -4083,7 +4087,7 @@
|
||||
c) over Vv3
|
||||
c) ov (et Vv
|
||||
d) ove Vv
|
||||
g) ov (ern Vv
|
||||
g) overn Vv3n
|
||||
sh) ov (+ Vv
|
||||
h) ov (el 0v
|
||||
h) ov (er 0v
|
||||
@@ -4106,7 +4110,7 @@
|
||||
|
||||
.group ow
|
||||
ow oU
|
||||
ow (itz =oUv
|
||||
ow (itz_ =oUv
|
||||
ow (ay_ @w
|
||||
kn) owle (d 0lI
|
||||
_) ow (l aU
|
||||
@@ -4183,6 +4187,7 @@
|
||||
ras) p (b
|
||||
_) pur (su p3
|
||||
put (_ pUt
|
||||
s) put (_ pVt
|
||||
pyon pj0n
|
||||
_) pyro (@@P4 p,aIroU
|
||||
pyrom (e paIr'0m
|
||||
@@ -4794,6 +4799,7 @@
|
||||
@) u (late =jU
|
||||
@) u (lar =jU
|
||||
@) u (lum =jU
|
||||
@) uli (_ =jUlaI
|
||||
&) u (lous_ =jU
|
||||
ll) u (l ju:
|
||||
j) u (li u:
|
||||
|
||||
@@ -29,6 +29,16 @@ _0M3 mili'ardo
|
||||
_0M4 duili'ono
|
||||
_dpt _komo_
|
||||
|
||||
// ordinal numbers
|
||||
_0a a
|
||||
_0aj aI
|
||||
_0an an
|
||||
_0ajn aIn
|
||||
_0-a a
|
||||
_0-aj aI
|
||||
_0-an an
|
||||
_0-ajn aIn
|
||||
|
||||
// accent names
|
||||
_lig ligat'uRa
|
||||
_acu dekst@-*ak'oRna
|
||||
|
||||
@@ -17,10 +17,6 @@
|
||||
a a
|
||||
aj aI
|
||||
aŭ aU
|
||||
D_-_) a (_ %a //'a' after a number
|
||||
D_-_) an (_ %an //'an' after a number
|
||||
D_) a (_ %a //'a' after a number
|
||||
D_) an (_ %an //'an' after a number
|
||||
|
||||
|
||||
.group b
|
||||
|
||||
+1
-1
@@ -63,7 +63,7 @@ _» kom'iJ^as||dE**'EtSas
|
||||
|
||||
^ TiRkumfl'exo
|
||||
€ eU**o
|
||||
% pOrTj'Ento $max3
|
||||
% pO**Tj'Ento $max3
|
||||
& ampERs'ant
|
||||
@ a*R'oBa
|
||||
/ ba*Ra
|
||||
|
||||
+1
-1
@@ -212,7 +212,7 @@
|
||||
ü u
|
||||
ñ n^
|
||||
|
||||
$ d'Olar
|
||||
$ d'Ola*
|
||||
|
||||
_) - (_D m'EnOs
|
||||
A_) - (_D _
|
||||
|
||||
+18
-50
@@ -24,7 +24,7 @@
|
||||
|
||||
// 2006-11-18 Gilles Casse <gcasse@oralux.org>
|
||||
//
|
||||
// Updated 2009-01-14 Michel Such <michel.such@free.fr>
|
||||
// Updated 2009-02-01 Michel Such <michel.such@free.fr>
|
||||
//
|
||||
// * Numbers, a few abbreviations and exceptions.
|
||||
//
|
||||
@@ -111,7 +111,6 @@ _# djEz
|
||||
_' a2postr'Of
|
||||
_( 'uvR@-parA~t'Ez
|
||||
_) f'Erm parA~t'Ez
|
||||
_* asterisk:
|
||||
_, virgyl
|
||||
_- tirE
|
||||
_. _|pw%E~
|
||||
@@ -141,11 +140,11 @@ _µ mikR'o
|
||||
_§ sEksj'O~
|
||||
|
||||
// symbols that are normally spoken when reading text
|
||||
@ arobaz
|
||||
% pursA~ $max3
|
||||
* asterisk: $max3
|
||||
@ _!arobaz
|
||||
% pursA~ $max3
|
||||
& e $u $brk
|
||||
_& _e_komErsj'al
|
||||
* asterisk: $max3
|
||||
+ plys $max3
|
||||
~ tilde
|
||||
€ @ro
|
||||
@@ -200,30 +199,11 @@ _4X karA~t
|
||||
_41 karA~te:W~
|
||||
_5X sE~kA~t
|
||||
_51 sE~kA~te:W~
|
||||
_6X swAsA~t
|
||||
_6X swAsA~t:
|
||||
_61 swAsA~te:W~
|
||||
_7X swAsA~t:diz3
|
||||
_71 swAsA~te:O~z
|
||||
_72 swAsA~t:duz
|
||||
_73 swAsA~t:tREz
|
||||
_74 swAsA~t:katOrz
|
||||
_75 swAsA~t:kE~z
|
||||
_76 swAsA~t:sEz
|
||||
_77 swAsA~t:dis:Et
|
||||
_78 swAsA~t:diz'w^it3
|
||||
_79 swAsA~t:diznWf
|
||||
_8X katR@vE~
|
||||
_8X katR@vE~:
|
||||
_80 katR@vE~z2
|
||||
_9X katR@vE~diz3
|
||||
_91 katR@vE~:O~z
|
||||
_92 katR@vE~:duz
|
||||
_93 katR@vE~:tREz
|
||||
_94 katR@vE~:katOrz
|
||||
_95 katR@vE~:kE~z
|
||||
_96 katR@vE~:sEz
|
||||
_97 katR@vE~:dis:Et
|
||||
_98 katR@vE~:dizw^it3
|
||||
_99 katR@vE~:diznWf
|
||||
_0C sA~
|
||||
_1C0 sA~t2
|
||||
_0M1 mil
|
||||
@@ -236,24 +216,8 @@ _dpt virgyl
|
||||
//some numbers have special pronunciation in Belgium and Switzerland
|
||||
?2 _7X sEptA~t
|
||||
?2 _71 sEptA~te:W~
|
||||
?2 _72 sEptA~t:dYz2
|
||||
?2 _73 sEptA~t:tRwAz2
|
||||
?2 _74 sEptA~t:katr
|
||||
?2 _75 sEptA~t:sE~k
|
||||
?2 _76 sEptA~t:siz3
|
||||
?2 _77 sEptA~t:sEt
|
||||
?2 _78 sEptA~t:w^it3
|
||||
?2 _79 sEptA~t:nWf
|
||||
?2 _9X no2nA~t
|
||||
?2 _91 no2nA~te:W~
|
||||
?2 _92 no2nA~t:dYz2
|
||||
?2 _93 no2nA~t:tRwAz2
|
||||
?2 _94 no2nA~t:katr
|
||||
?2 _95 no2nA~t:sE~k
|
||||
?2 _96 no2nA~t:siz3
|
||||
?2 _97 no2nA~t:sEt
|
||||
?2 _98 no2nA~t:w^it3
|
||||
?2 _99 no2nA~t:nWf
|
||||
|
||||
(21 ème) vE~te:yniEm
|
||||
(31 ème) tRA~te:yniEm
|
||||
@@ -288,7 +252,7 @@ hz _!E2rts
|
||||
ibm $abbrev
|
||||
ide $abbrev
|
||||
ip $abbrev
|
||||
jaws dZ'O2wz
|
||||
jaws dZ'awz
|
||||
kde $abbrev
|
||||
kg kilogram
|
||||
khz kiloE2rts
|
||||
@@ -324,8 +288,9 @@ xfce iksEfse@
|
||||
xy $abbrev
|
||||
|
||||
|
||||
dr dOkt Wr $dot $capital
|
||||
dr dOktWr $dot $capital
|
||||
prof $dot
|
||||
pr professeur $text *dot $capital
|
||||
|
||||
|
||||
|
||||
@@ -472,7 +437,6 @@ trop $u+
|
||||
assez $u+
|
||||
beaucoup $u+
|
||||
peu $u+
|
||||
peu $noun
|
||||
très $u
|
||||
|
||||
// negative
|
||||
@@ -480,7 +444,6 @@ ne $u $verbf
|
||||
pas $u+
|
||||
pas $noun
|
||||
plus $u+
|
||||
plus $noun
|
||||
guère $u+
|
||||
jamais $u+
|
||||
non nO~ $u+
|
||||
@@ -504,7 +467,8 @@ sommes $u+ $verb
|
||||
sont $u+ $verb
|
||||
|
||||
fus $u+ $verb
|
||||
fut $u+ $verb
|
||||
fut fyt2 $u+ $verb
|
||||
fût fyt2 $u+ $verb
|
||||
fûmes $u+ $verb
|
||||
fûtes $u+ $verb
|
||||
furent $u+
|
||||
@@ -526,6 +490,7 @@ eues yz2 $u+
|
||||
eus yz2 $u+
|
||||
|
||||
eut yt2 $u+ $verb
|
||||
eût yt2 $u+ $verb
|
||||
eûmes $u+ $verb
|
||||
eûtes $u+ $verb
|
||||
eurent yrt2 $u+
|
||||
@@ -627,14 +592,17 @@ malus malys
|
||||
mapper _^_en
|
||||
mars mars
|
||||
mieux mj'Y $u+
|
||||
mrs _^_en
|
||||
ours urs
|
||||
parangon parA~gO~
|
||||
phallus falys
|
||||
polder pOldEr
|
||||
premier pr@mjer2
|
||||
(program files) pr,o2gram||f'ajlz
|
||||
program _^_en
|
||||
quit _^_en
|
||||
scanner skaner2
|
||||
scanner skanWr $noun
|
||||
sir _^_EN
|
||||
souris suri
|
||||
sus sys
|
||||
sus sy $verb
|
||||
@@ -733,7 +701,7 @@ from frO2m $u+
|
||||
get _^_en
|
||||
google gu:gWl
|
||||
gnome gnOm
|
||||
gnu gnu
|
||||
gnu $abbrev
|
||||
hamburger hA~b@rgWr
|
||||
help _^_en
|
||||
hot _^_en
|
||||
@@ -819,5 +787,5 @@ wallis wAlis
|
||||
futuna futuna
|
||||
zimbabwe zimbabwe
|
||||
|
||||
|
||||
pest $1
|
||||
|
||||
|
||||
+6
-2
@@ -23,7 +23,7 @@
|
||||
|
||||
// 2006-11-18 Gilles Casse <gcasse@oralux.org>
|
||||
//
|
||||
// Updated: 2009-01-14 Michel Such <michel.such@free.fr>
|
||||
// Updated: 2009-02-19 Michel Such <michel.such@free.fr>
|
||||
//
|
||||
|
||||
// Letter classes:
|
||||
@@ -738,6 +738,7 @@ _) half _^_en
|
||||
_AC) ind (er_ _^_en // finder, reminder
|
||||
ize (X _^_en // realize
|
||||
dr) i (ve _^_en
|
||||
ram_f) i (le _^_en
|
||||
|
||||
|
||||
.group î
|
||||
@@ -902,7 +903,7 @@ _) half _^_en
|
||||
|
||||
// group o: English section
|
||||
oa (X _^_en // approach, load
|
||||
oa (CeX _^_en
|
||||
oa (CerX _^_en
|
||||
oach _^_en
|
||||
old (er_ _^_en // folder, older
|
||||
C) oing (_ _^_en // going
|
||||
@@ -1102,6 +1103,7 @@ _) t (_ te
|
||||
-) t (- t2
|
||||
_) t' (P2v t
|
||||
Vn) t (_ t2
|
||||
A) t (- t2
|
||||
t (_
|
||||
peti) t (_ t2
|
||||
_) th t // thon
|
||||
@@ -1292,6 +1294,8 @@ Vn) t (_ t2
|
||||
|
||||
.group x
|
||||
x ks
|
||||
_) x (A gz // xylophone
|
||||
xml (_S3 _!iksEmEl
|
||||
e) x (A gz // exagérer exemple
|
||||
L03e) x (A ks // annexe, vexer
|
||||
_ine) x (A gz
|
||||
|
||||
@@ -136,6 +136,4 @@
|
||||
4 4
|
||||
5 5
|
||||
6 6
|
||||
7 1
|
||||
8 3
|
||||
9 6
|
||||
7 7
|
||||
|
||||
+14
-3
@@ -1,4 +1,4 @@
|
||||
58 phoneme tables
|
||||
59 phoneme tables
|
||||
new total
|
||||
base 103 103
|
||||
base2 24 122
|
||||
@@ -43,7 +43,7 @@
|
||||
no 28 129
|
||||
is 33 129
|
||||
vi 41 140
|
||||
zhy 40 136
|
||||
zhy 41 137
|
||||
zh 66 154
|
||||
sw 14 112
|
||||
tr 18 127
|
||||
@@ -58,6 +58,7 @@
|
||||
ne 18 157
|
||||
mr 1 149
|
||||
om 25 125
|
||||
eu 6 124
|
||||
|
||||
Data file Used by
|
||||
b/b [b] base
|
||||
@@ -245,8 +246,8 @@ envelope/p_214 [5] vi
|
||||
envelope/p_512 [6] vi
|
||||
envelope/p_fall [2] vi
|
||||
[7] vi
|
||||
[1] zhy
|
||||
[4] zhy
|
||||
[7] zhy
|
||||
[21] zh
|
||||
[51] zh
|
||||
[22] zh
|
||||
@@ -255,6 +256,7 @@ envelope/p_fall [2] vi
|
||||
[+] rw
|
||||
envelope/p_fallrise [4] vi
|
||||
envelope/p_level [1] vi
|
||||
[1] zhy
|
||||
[3] zhy
|
||||
[6] zhy
|
||||
[55] zh
|
||||
@@ -723,6 +725,8 @@ ufric/s [s] base
|
||||
[s] es
|
||||
[s#] pt
|
||||
[z] sq
|
||||
[s] eu
|
||||
[z] eu
|
||||
ufric/s_ [s] base
|
||||
[z] base
|
||||
[s2] fi
|
||||
@@ -738,6 +742,8 @@ ufric/s_ [s] base
|
||||
[s2] is
|
||||
[z] sq
|
||||
[s2] om
|
||||
[s] eu
|
||||
[z] eu
|
||||
ufric/s! [s] base
|
||||
[s2] fi
|
||||
[s] fr
|
||||
@@ -1012,6 +1018,8 @@ ustop/ts [ts] base2
|
||||
[dz] sq
|
||||
[dz] hy
|
||||
[ts#] hy
|
||||
[ts] eu
|
||||
[tz] eu
|
||||
ustop/ts_ [ts] base2
|
||||
[ts] de
|
||||
[ts] eo
|
||||
@@ -1024,6 +1032,8 @@ ustop/ts_ [ts] base2
|
||||
[dz] sq
|
||||
[dz] hy
|
||||
[ts#] hy
|
||||
[ts] eu
|
||||
[tz] eu
|
||||
ustop/ts2 [ts] lv
|
||||
[ts] hy
|
||||
ustop/tsh [tS] base
|
||||
@@ -2134,6 +2144,7 @@ vowel/y# [Y:] en
|
||||
[8] nl
|
||||
[Y] ro
|
||||
[oe] zhy
|
||||
[Y] eu
|
||||
vowel/y## [y#] is
|
||||
vowel/y_2 [y] fr
|
||||
[y"] fr
|
||||
|
||||
+7
-1
@@ -6,7 +6,7 @@
|
||||
|
||||
phoneme 1 // tone: high level
|
||||
stress
|
||||
tone 50 30 envelope/p_fall NULL
|
||||
tone 50 50 envelope/p_level NULL
|
||||
endphoneme
|
||||
|
||||
|
||||
@@ -40,6 +40,12 @@ phoneme 6 // tone: low level
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme 7 // tone: high fall
|
||||
stress
|
||||
tone 50 30 envelope/p_fall NULL
|
||||
endphoneme
|
||||
|
||||
|
||||
//====================================================
|
||||
// Consonants
|
||||
//====================================================
|
||||
|
||||
@@ -1361,3 +1361,6 @@ include ph_mathari
|
||||
|
||||
phonemetable om base
|
||||
include ph_oromo
|
||||
|
||||
phonemetable eu base2
|
||||
include ph_basque
|
||||
|
||||
+9
-4
@@ -1030,8 +1030,8 @@ void ChangeWordStress(Translator *tr, char *word, int new_stress)
|
||||
|
||||
|
||||
|
||||
void SetWordStress(Translator *tr, char *output, unsigned int dictionary_flags, int tonic, int prev_stress)
|
||||
{//========================================================================================================
|
||||
void SetWordStress(Translator *tr, char *output, unsigned int &dictionary_flags, int tonic, int prev_stress)
|
||||
{//=========================================================================================================
|
||||
/* Guess stress pattern of word. This is language specific
|
||||
|
||||
'dictionary_flags' has bits 0-3 position of stressed vowel (if > 0)
|
||||
@@ -1109,6 +1109,13 @@ void SetWordStress(Translator *tr, char *output, unsigned int dictionary_flags,
|
||||
|
||||
max_stress = GetVowelStress(tr, phonetic, vowel_stress, vowel_count, stressed_syllable, 1);
|
||||
|
||||
if((max_stress == 0) && (tr->langopts.stress_flags & 1) && (vowel_count == 2))
|
||||
{
|
||||
// option: don't stress monosyllables except at end-of-clause
|
||||
vowel_stress[1] = 1;
|
||||
dictionary_flags |= FLAG_STRESS_END;
|
||||
}
|
||||
|
||||
// heavy or light syllables
|
||||
ix = 1;
|
||||
for(p = phonetic; *p != 0; p++)
|
||||
@@ -1219,8 +1226,6 @@ void SetWordStress(Translator *tr, char *output, unsigned int dictionary_flags,
|
||||
else
|
||||
{
|
||||
stressed_syllable = 1;
|
||||
if(stressflags & 0x1)
|
||||
max_stress = 3; // don't give full stress to monosyllables
|
||||
}
|
||||
|
||||
// only set the stress if it's not already marked explicitly
|
||||
|
||||
+8
-3
@@ -52,7 +52,7 @@ static const char *help_text =
|
||||
"\t Use voice file of this name from espeak-data/voices\n"
|
||||
"-w <wave file name>\n"
|
||||
"\t Write output to this WAV file, rather than speaking it directly\n"
|
||||
"-b\t Input text is 8-bit encoding\n"
|
||||
"-b\t Input text encoding, 1=UTF8, 2=8 bit, 4=16 bit \n"
|
||||
"-m\t Interpret SSML markup, and ignore other < > tags\n"
|
||||
"-q\t Quiet, don't produce any speech (may be useful with -x)\n"
|
||||
"-x\t Write phoneme mnemonics to stdout\n"
|
||||
@@ -330,6 +330,7 @@ int main (int argc, char **argv)
|
||||
int option_index = 0;
|
||||
int c;
|
||||
int ix;
|
||||
int value;
|
||||
int flag_stdin = 0;
|
||||
int flag_compile = 0;
|
||||
int filesize = 0;
|
||||
@@ -362,7 +363,7 @@ int main (int argc, char **argv)
|
||||
|
||||
while(true)
|
||||
{
|
||||
c = getopt_long (argc, argv, "a:bf:g:hk:l:mp:qs:v:w:xXz",
|
||||
c = getopt_long (argc, argv, "a:b:f:g:hk:l:mp:qs:v:w:xXz",
|
||||
long_options, &option_index);
|
||||
|
||||
/* Detect the end of the options. */
|
||||
@@ -372,7 +373,11 @@ int main (int argc, char **argv)
|
||||
switch (c)
|
||||
{
|
||||
case 'b':
|
||||
synth_flags |= espeakCHARS_8BIT;
|
||||
// input character encoding, 8bit, 16bit, UTF8
|
||||
if((sscanf(optarg,"%d",&value) == 1) && (value <= 4))
|
||||
synth_flags |= value;
|
||||
else
|
||||
synth_flags |= espeakCHARS_8BIT;
|
||||
break;
|
||||
|
||||
case 'h':
|
||||
|
||||
+12
-8
@@ -192,7 +192,7 @@ t_espeak_command* create_espeak_mark(const void *text, size_t size, const char *
|
||||
//>
|
||||
//< create_espeak_key, create_espeak_char
|
||||
|
||||
t_espeak_command* create_espeak_key(const char *key_name)
|
||||
t_espeak_command* create_espeak_key(const char *key_name, void *user_data)
|
||||
{
|
||||
ENTER("create_espeak_key");
|
||||
int a_error=1;
|
||||
@@ -205,7 +205,9 @@ t_espeak_command* create_espeak_key(const char *key_name)
|
||||
|
||||
a_command->type = ET_KEY;
|
||||
a_command->state = CS_UNDEFINED;
|
||||
a_command->u.my_key = strdup( key_name);
|
||||
a_command->u.my_key.user_data = user_data;
|
||||
a_command->u.my_key.unique_identifier = ++my_current_text_id;
|
||||
a_command->u.my_key.key_name = strdup( key_name);
|
||||
a_error=0;
|
||||
|
||||
key_error:
|
||||
@@ -223,7 +225,7 @@ t_espeak_command* create_espeak_key(const char *key_name)
|
||||
return a_command;
|
||||
}
|
||||
|
||||
t_espeak_command* create_espeak_char(wchar_t character)
|
||||
t_espeak_command* create_espeak_char(wchar_t character, void* user_data)
|
||||
{
|
||||
ENTER("create_espeak_char");
|
||||
int a_error=1;
|
||||
@@ -235,7 +237,9 @@ t_espeak_command* create_espeak_char(wchar_t character)
|
||||
|
||||
a_command->type = ET_CHAR;
|
||||
a_command->state = CS_UNDEFINED;
|
||||
a_command->u.my_char = character;
|
||||
a_command->u.my_char.user_data = user_data;
|
||||
a_command->u.my_char.unique_identifier = ++my_current_text_id;
|
||||
a_command->u.my_char.character = character;
|
||||
a_error=0;
|
||||
|
||||
char_error:
|
||||
@@ -463,9 +467,9 @@ int delete_espeak_command( t_espeak_command* the_command)
|
||||
break;
|
||||
|
||||
case ET_KEY:
|
||||
if (the_command->u.my_key)
|
||||
if (the_command->u.my_key.key_name)
|
||||
{
|
||||
free((void*)(the_command->u.my_key));
|
||||
free((void*)(the_command->u.my_key.key_name));
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -562,14 +566,14 @@ void process_espeak_command( t_espeak_command* the_command)
|
||||
|
||||
case ET_KEY:
|
||||
{
|
||||
const char* data = the_command->u.my_key;
|
||||
const char* data = the_command->u.my_key.key_name;
|
||||
sync_espeak_Key(data);
|
||||
}
|
||||
break;
|
||||
|
||||
case ET_CHAR:
|
||||
{
|
||||
const wchar_t data = the_command->u.my_char;
|
||||
const wchar_t data = the_command->u.my_char.character;
|
||||
sync_espeak_Char( data);
|
||||
}
|
||||
break;
|
||||
|
||||
+20
-4
@@ -42,12 +42,28 @@ typedef struct
|
||||
void* user_data;
|
||||
} t_espeak_mark;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
unsigned int unique_identifier;
|
||||
void* user_data;
|
||||
wchar_t character;
|
||||
} t_espeak_character;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
unsigned int unique_identifier;
|
||||
void* user_data;
|
||||
const char* key_name;
|
||||
} t_espeak_key;
|
||||
|
||||
|
||||
typedef struct
|
||||
{
|
||||
unsigned int unique_identifier;
|
||||
void* user_data;
|
||||
} t_espeak_terminated_msg;
|
||||
|
||||
|
||||
typedef struct
|
||||
{
|
||||
espeak_PARAMETER parameter;
|
||||
@@ -71,8 +87,8 @@ typedef struct
|
||||
{
|
||||
t_espeak_text my_text;
|
||||
t_espeak_mark my_mark;
|
||||
const char* my_key;
|
||||
wchar_t my_char;
|
||||
t_espeak_key my_key;
|
||||
t_espeak_character my_char;
|
||||
t_espeak_parameter my_param;
|
||||
const wchar_t* my_punctuation_list;
|
||||
const char *my_voice_name;
|
||||
@@ -88,9 +104,9 @@ t_espeak_command* create_espeak_mark(const void *text, size_t size, const char *
|
||||
|
||||
t_espeak_command* create_espeak_terminated_msg(unsigned int unique_identifier, void* user_data);
|
||||
|
||||
t_espeak_command* create_espeak_key(const char *key_name);
|
||||
t_espeak_command* create_espeak_key(const char *key_name, void *user_data);
|
||||
|
||||
t_espeak_command* create_espeak_char(wchar_t character);
|
||||
t_espeak_command* create_espeak_char(wchar_t character, void *user_data);
|
||||
|
||||
t_espeak_command* create_espeak_parameter(espeak_PARAMETER parameter, int value, int relative);
|
||||
|
||||
|
||||
+47
-22
@@ -747,6 +747,9 @@ void SetSpellingStress(Translator *tr, char *phonemes, int control, int n_chars)
|
||||
|
||||
|
||||
|
||||
// Numbers
|
||||
|
||||
static char ph_ordinal2[12];
|
||||
|
||||
int TranslateRoman(Translator *tr, char *word, char *ph_out)
|
||||
{//=====================================================
|
||||
@@ -905,13 +908,14 @@ static int LookupNum2(Translator *tr, int value, int control, char *ph_out)
|
||||
int found_ordinal = 0;
|
||||
int next_phtype;
|
||||
char string[12]; // for looking up entries in *_list
|
||||
char ph_ordinal[20];
|
||||
char ph_tens[50];
|
||||
char ph_digits[50];
|
||||
char ph_and[12];
|
||||
char ph_ordinal[12];
|
||||
|
||||
// is there a special pronunciation for this 2-digit number
|
||||
found = 0;
|
||||
ph_ordinal[0] = 0;
|
||||
|
||||
if(control & 4)
|
||||
{
|
||||
@@ -920,6 +924,8 @@ static int LookupNum2(Translator *tr, int value, int control, char *ph_out)
|
||||
}
|
||||
if(control & 2)
|
||||
{
|
||||
strcpy(ph_ordinal, ph_ordinal2);
|
||||
|
||||
sprintf(string,"_%do",value);
|
||||
if((found = Lookup(tr, string, ph_digits)) != 0)
|
||||
{
|
||||
@@ -969,6 +975,14 @@ static int LookupNum2(Translator *tr, int value, int control, char *ph_out)
|
||||
Lookup(tr, string, ph_tens);
|
||||
}
|
||||
|
||||
if((ph_tens[0] == 0) && (tr->langopts.numbers & NUM_VIGESIMAL))
|
||||
{
|
||||
// tens not found, (for example) 73 is 60+13
|
||||
units = (value % 20);
|
||||
sprintf(string,"_%dX",(value / 10) & 0xfe);
|
||||
Lookup(tr, string, ph_tens);
|
||||
}
|
||||
|
||||
ph_digits[0] = 0;
|
||||
if(units > 0)
|
||||
{
|
||||
@@ -997,8 +1011,7 @@ static int LookupNum2(Translator *tr, int value, int control, char *ph_out)
|
||||
}
|
||||
}
|
||||
|
||||
ph_ordinal[0] = 0;
|
||||
if((control & 2) && (found_ordinal == 0))
|
||||
if((control & 2) && (found_ordinal == 0) && (ph_ordinal[0] == 0))
|
||||
{
|
||||
if((value >= 20) && (((value % 10) == 0) || (tr->langopts.numbers & 0x10)))
|
||||
Lookup(tr, "_ord20", ph_ordinal);
|
||||
@@ -1196,10 +1209,6 @@ static int LookupNum3(Translator *tr, int value, char *ph_out, int suppress_null
|
||||
} // end of LookupNum3
|
||||
|
||||
|
||||
static const char *ordinalstr_en[] = {"th","st","nd","rd",NULL,};
|
||||
static const char *ordinalstr_af[] = {"de","ste",NULL,};
|
||||
static const char **ordinal_strings[] = {NULL, ordinalstr_en, ordinalstr_af};
|
||||
|
||||
static int TranslateNumber_1(Translator *tr, char *word, char *ph_out, unsigned int *flags, int wflags)
|
||||
{//====================================================================================================
|
||||
// Number translation with various options
|
||||
@@ -1208,7 +1217,7 @@ static int TranslateNumber_1(Translator *tr, char *word, char *ph_out, unsigned
|
||||
|
||||
int n_digits;
|
||||
int value;
|
||||
int ix;
|
||||
unsigned int ix;
|
||||
unsigned char c;
|
||||
int suppress_null = 0;
|
||||
int decimal_point = 0;
|
||||
@@ -1221,41 +1230,57 @@ static int TranslateNumber_1(Translator *tr, char *word, char *ph_out, unsigned
|
||||
int decimal_count;
|
||||
int max_decimal_count;
|
||||
int decimal_mode;
|
||||
int len;
|
||||
const char *p;
|
||||
const char **pp;
|
||||
char string[12]; // for looking up entries in de_list
|
||||
int hyphen;
|
||||
char *p;
|
||||
char string[20]; // for looking up entries in **_list
|
||||
char buf1[100];
|
||||
char ph_append[50];
|
||||
char ph_buf[200];
|
||||
char ph_buf2[50];
|
||||
char suffix[20];
|
||||
|
||||
static const char str_pause[2] = {phonPAUSE_NOLINK,0};
|
||||
|
||||
*flags = 0;
|
||||
|
||||
for(ix=0; isdigit(word[ix]); ix++) ;
|
||||
n_digits = ix;
|
||||
value = this_value = atoi(word);
|
||||
|
||||
ph_ordinal2[0] = 0;
|
||||
if((tr->langopts.numbers & 0x10000) && (word[ix] == '.'))
|
||||
{
|
||||
// ordinal number
|
||||
// ordinal number is indicated by dot after the number
|
||||
ordinal = 2;
|
||||
word[ix] = ' ';
|
||||
}
|
||||
else
|
||||
if(tr->langopts.ordinals)
|
||||
{
|
||||
// ordinal numbers are recognized by letters after the number
|
||||
// look for an ordinal number suffix after the number
|
||||
ix++;
|
||||
pp = ordinal_strings[tr->langopts.ordinals];
|
||||
while((p = *pp++) != NULL)
|
||||
hyphen = 0;
|
||||
p = suffix;
|
||||
if(word[ix] == '-')
|
||||
{
|
||||
len = strlen(p);
|
||||
if((word[ix+len] == ' ') && (memcmp(&word[ix], p, len) == 0))
|
||||
*p++ = '-';
|
||||
hyphen = 1;
|
||||
ix += 2;
|
||||
}
|
||||
while((word[ix] != 0) && (word[ix] != ' ') && (ix < (sizeof(suffix)-1)))
|
||||
{
|
||||
*p++ = word[ix++];
|
||||
}
|
||||
*p = 0;
|
||||
|
||||
if(suffix[0] != 0)
|
||||
{
|
||||
sprintf(string,"_0%s",suffix);
|
||||
if(Lookup(tr, string, ph_ordinal2))
|
||||
{
|
||||
// this is an ordinal suffix
|
||||
ordinal = 2;
|
||||
memset(&word[ix], ' ', len);
|
||||
break;
|
||||
flags[0] |= FLAG_SKIPWORDS;
|
||||
dictionary_skipwords = 1 + hyphen;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1462,7 +1487,7 @@ static int TranslateNumber_1(Translator *tr, char *word, char *ph_out, unsigned
|
||||
strcat(ph_out,str_pause); // don't add pause for 100s, 6th, etc.
|
||||
}
|
||||
|
||||
*flags = FLAG_FOUND;
|
||||
*flags |= FLAG_FOUND;
|
||||
prev_value = this_value;
|
||||
return(1);
|
||||
} // end of TranslateNumber_1
|
||||
|
||||
+75
-44
@@ -51,7 +51,7 @@ char *namedata = NULL;
|
||||
|
||||
static FILE *f_input = NULL;
|
||||
static int ungot_char2 = 0;
|
||||
char *p_textinput;
|
||||
unsigned char *p_textinput;
|
||||
wchar_t *p_wchar_input;
|
||||
static int ungot_char;
|
||||
static const char *ungot_word = NULL;
|
||||
@@ -373,13 +373,21 @@ int Eof(void)
|
||||
|
||||
static int GetC_get(void)
|
||||
{//======================
|
||||
int c;
|
||||
unsigned int c;
|
||||
unsigned int c2;
|
||||
|
||||
if(f_input != NULL)
|
||||
{
|
||||
c = fgetc(f_input);
|
||||
if(feof(f_input)) c = ' ';
|
||||
return(c & 0xff);
|
||||
|
||||
if(option_multibyte == espeakCHARS_16BIT)
|
||||
{
|
||||
c2 = fgetc(f_input);
|
||||
if(feof(f_input)) c2 = 0;
|
||||
c = c + (c2 << 8);
|
||||
}
|
||||
return(c);
|
||||
}
|
||||
|
||||
if(option_multibyte == espeakCHARS_WCHAR)
|
||||
@@ -402,7 +410,15 @@ static int GetC_get(void)
|
||||
}
|
||||
|
||||
if(!end_of_input)
|
||||
{
|
||||
if(option_multibyte == espeakCHARS_16BIT)
|
||||
{
|
||||
c = p_textinput[0] + (p_textinput[1] << 8);
|
||||
p_textinput += 2;
|
||||
return(c);
|
||||
}
|
||||
return(*p_textinput++ & 0xff);
|
||||
}
|
||||
}
|
||||
return(0);
|
||||
}
|
||||
@@ -440,7 +456,7 @@ static int GetC(void)
|
||||
c1 = GetC_get();
|
||||
}
|
||||
|
||||
if(option_multibyte == espeakCHARS_WCHAR)
|
||||
if((option_multibyte == espeakCHARS_WCHAR) || (option_multibyte == espeakCHARS_16BIT))
|
||||
{
|
||||
count_characters++;
|
||||
return(c1); // wchar_t text
|
||||
@@ -1862,8 +1878,8 @@ static MNEM_TAB xml_char_mnemonics[] = {
|
||||
{NULL,-1}};
|
||||
|
||||
|
||||
int ReadClause(Translator *tr, FILE *f_in, char *buf, short *charix, int n_buf, int *tone_type)
|
||||
{//============================================================================================
|
||||
int ReadClause(Translator *tr, FILE *f_in, char *buf, short *charix, int *charix_top, int n_buf, int *tone_type)
|
||||
{//=============================================================================================================
|
||||
/* Find the end of the current clause.
|
||||
Write the clause into buf
|
||||
|
||||
@@ -2031,49 +2047,62 @@ f_input = f_in; // for GetC etc
|
||||
}
|
||||
}
|
||||
else
|
||||
if((c1 == '<') && (ssml_ignore_l_angle != '<') && ((c2 == '/') || iswalpha(c2)))
|
||||
if((c1 == '<') && (ssml_ignore_l_angle != '<'))
|
||||
{
|
||||
// SSML Tag
|
||||
n_xml_buf = 0;
|
||||
c1 = c2;
|
||||
while(!Eof() && (c1 != '>') && (n_xml_buf < N_XML_BUF))
|
||||
if(c2 == '!')
|
||||
{
|
||||
xml_buf[n_xml_buf++] = c1;
|
||||
c1 = GetC();
|
||||
}
|
||||
xml_buf[n_xml_buf] = 0;
|
||||
c2 = ' ';
|
||||
|
||||
buf[ix++] = ' ';
|
||||
|
||||
self_closing = 0;
|
||||
if(xml_buf[n_xml_buf-1] == '/')
|
||||
{
|
||||
// a self-closing tag
|
||||
xml_buf[n_xml_buf-1] = ' ';
|
||||
self_closing = 1;
|
||||
}
|
||||
|
||||
terminator = ProcessSsmlTag(xml_buf,buf,ix,n_buf,self_closing);
|
||||
|
||||
if(terminator != 0)
|
||||
{
|
||||
buf[ix] = ' ';
|
||||
buf[ix++] = 0;
|
||||
|
||||
if(terminator & CLAUSE_BIT_VOICE)
|
||||
// a comment, ignore until closing '<'
|
||||
while(!Eof() && (c1 != '>'))
|
||||
{
|
||||
// a change in voice, write the new voice name to the end of the buf
|
||||
p = current_voice_id;
|
||||
while((*p != 0) && (ix < (n_buf-1)))
|
||||
{
|
||||
buf[ix++] = *p++;
|
||||
}
|
||||
buf[ix++] = 0;
|
||||
c1 = GetC();
|
||||
}
|
||||
return(terminator);
|
||||
c2 = ' ';
|
||||
}
|
||||
else
|
||||
if((c2 == '/') || iswalpha(c2))
|
||||
{
|
||||
// SSML Tag
|
||||
n_xml_buf = 0;
|
||||
c1 = c2;
|
||||
while(!Eof() && (c1 != '>') && (n_xml_buf < N_XML_BUF))
|
||||
{
|
||||
xml_buf[n_xml_buf++] = c1;
|
||||
c1 = GetC();
|
||||
}
|
||||
xml_buf[n_xml_buf] = 0;
|
||||
c2 = ' ';
|
||||
|
||||
buf[ix++] = ' ';
|
||||
|
||||
self_closing = 0;
|
||||
if(xml_buf[n_xml_buf-1] == '/')
|
||||
{
|
||||
// a self-closing tag
|
||||
xml_buf[n_xml_buf-1] = ' ';
|
||||
self_closing = 1;
|
||||
}
|
||||
|
||||
terminator = ProcessSsmlTag(xml_buf,buf,ix,n_buf,self_closing);
|
||||
|
||||
if(terminator != 0)
|
||||
{
|
||||
buf[ix] = ' ';
|
||||
buf[ix++] = 0;
|
||||
|
||||
if(terminator & CLAUSE_BIT_VOICE)
|
||||
{
|
||||
// a change in voice, write the new voice name to the end of the buf
|
||||
p = current_voice_id;
|
||||
while((*p != 0) && (ix < (n_buf-1)))
|
||||
{
|
||||
buf[ix++] = *p++;
|
||||
}
|
||||
buf[ix++] = 0;
|
||||
}
|
||||
return(terminator);
|
||||
}
|
||||
continue;
|
||||
}
|
||||
continue;
|
||||
}
|
||||
}
|
||||
ssml_ignore_l_angle=0;
|
||||
@@ -2087,6 +2116,7 @@ f_input = f_in; // for GetC etc
|
||||
if((punct = lookupwchar(punct_chars,c1)) == 0)
|
||||
{
|
||||
charix[ix] = count_characters - clause_start_char;
|
||||
*charix_top = ix;
|
||||
ix += utf8_out(c1,&buf[ix]);
|
||||
terminator = CLAUSE_PERIOD; // line doesn't end in punctuation, assume period
|
||||
}
|
||||
@@ -2342,6 +2372,7 @@ if(option_ssml) parag=1;
|
||||
while(j < ix)
|
||||
charix[j++] = -1; // subsequent bytes of a multibyte character
|
||||
}
|
||||
*charix_top = ix;
|
||||
|
||||
if(((ix > (n_buf-20)) && !IsAlpha(c1) && !iswdigit(c1)) || (ix >= (n_buf-2)))
|
||||
{
|
||||
|
||||
+5
-2
@@ -86,7 +86,7 @@ static const char *help_text =
|
||||
"\t Use voice file of this name from espeak-data/voices\n"
|
||||
"-w <wave file name>\n"
|
||||
"\t Write output to this WAV file, rather than speaking it directly\n"
|
||||
"-b\t Input text is 8-bit encoding\n"
|
||||
"-b\t Input text encoding, 1=UTF8, 2=8 bit, 4=16 bit \n"
|
||||
"-m\t Interpret SSML markup, and ignore other < > tags\n"
|
||||
"-q\t Quiet, don't produce any speech (may be useful with -x)\n"
|
||||
"-x\t Write phoneme mnemonics to stdout\n"
|
||||
@@ -568,7 +568,7 @@ int main (int argc, char **argv)
|
||||
#else
|
||||
while(true)
|
||||
{
|
||||
c = getopt_long (argc, argv, "a:bf:g:hk:l:p:qs:v:w:xXmz",
|
||||
c = getopt_long (argc, argv, "a:b:f:g:hk:l:p:qs:v:w:xXmz",
|
||||
long_options, &option_index);
|
||||
|
||||
/* Detect the end of the options. */
|
||||
@@ -580,7 +580,10 @@ int main (int argc, char **argv)
|
||||
switch (c)
|
||||
{
|
||||
case 'b':
|
||||
// input character encoding, 8bit, 16bit, UTF8
|
||||
option_multibyte = espeakCHARS_8BIT;
|
||||
if((sscanf(optarg2,"%d",&value) == 1) && (value <= 4))
|
||||
option_multibyte= value;
|
||||
break;
|
||||
|
||||
case 'h':
|
||||
|
||||
+2
-2
@@ -884,7 +884,7 @@ ESPEAK_API espeak_ERROR espeak_Key(const char *key)
|
||||
}
|
||||
|
||||
#ifdef USE_ASYNC
|
||||
t_espeak_command* c = create_espeak_key( key);
|
||||
t_espeak_command* c = create_espeak_key( key, NULL);
|
||||
a_error = fifo_add_command(c);
|
||||
if (a_error != EE_OK)
|
||||
{
|
||||
@@ -910,7 +910,7 @@ ESPEAK_API espeak_ERROR espeak_Char(wchar_t character)
|
||||
return(EE_OK);
|
||||
}
|
||||
|
||||
t_espeak_command* c = create_espeak_char( character);
|
||||
t_espeak_command* c = create_espeak_char( character, NULL);
|
||||
a_error = fifo_add_command(c);
|
||||
if (a_error != EE_OK)
|
||||
{
|
||||
|
||||
+4
-1
@@ -27,7 +27,7 @@
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
#define ESPEAK_API_REVISION 3
|
||||
#define ESPEAK_API_REVISION 5
|
||||
/*
|
||||
Revision 2
|
||||
Added parameter "options" to eSpeakInitialize()
|
||||
@@ -38,6 +38,8 @@ Revision 3
|
||||
Revision 4
|
||||
Added flags parameter to espeak_CompileDictionary()
|
||||
|
||||
Revision 5
|
||||
Added espeakCHARS_16BIT
|
||||
*/
|
||||
/********************/
|
||||
/* Initialization */
|
||||
@@ -227,6 +229,7 @@ int UriCallback(int type, const char *uri, const char *base);
|
||||
#define espeakCHARS_UTF8 1
|
||||
#define espeakCHARS_8BIT 2
|
||||
#define espeakCHARS_WCHAR 3
|
||||
#define espeakCHARS_16BIT 4
|
||||
|
||||
#define espeakSSML 0x10
|
||||
#define espeakPHONEMES 0x100
|
||||
|
||||
+1
-1
@@ -35,7 +35,7 @@
|
||||
#include "translate.h"
|
||||
#include "wave.h"
|
||||
|
||||
const char *version_string = "1.40.07 13.Jan.09";
|
||||
const char *version_string = "1.40.09 11.Mar.09";
|
||||
const int version_phdata = 0x014000;
|
||||
|
||||
int option_device_number = -1;
|
||||
|
||||
+16
-6
@@ -263,7 +263,6 @@ Translator *SelectTranslator(const char *name)
|
||||
SetLetterVowel(tr,'y'); // add 'y' to vowels
|
||||
|
||||
tr->langopts.numbers = 0x8d1 + NUM_ROMAN;
|
||||
tr->langopts.ordinals = 2;
|
||||
tr->langopts.accents = 1;
|
||||
}
|
||||
break;
|
||||
@@ -345,7 +344,6 @@ Translator *SelectTranslator(const char *name)
|
||||
|
||||
tr->langopts.stress_rule = 0;
|
||||
tr->langopts.numbers = 0x841 + NUM_ROMAN;
|
||||
tr->langopts.ordinals = 1;
|
||||
tr->langopts.param[LOPT_COMBINE_WORDS] = 2; // allow "mc" to cmbine with the following word
|
||||
}
|
||||
break;
|
||||
@@ -446,6 +444,17 @@ Translator *SelectTranslator(const char *name)
|
||||
break;
|
||||
|
||||
|
||||
case L('e','u'): // basque
|
||||
{
|
||||
static const short stress_lengths_eu[8] = {200, 200, 200, 200, 0, 0, 210, 230}; // very weak stress
|
||||
static const unsigned char stress_amps_eu[8] = {16,16, 18,18, 18,18, 18,18 };
|
||||
SetupTranslator(tr,stress_lengths_eu,stress_amps_eu);
|
||||
tr->langopts.stress_rule = 1; // ?? second syllable ??
|
||||
tr->langopts.numbers = 0x569 + NUM_VIGESIMAL;
|
||||
}
|
||||
break;
|
||||
|
||||
|
||||
case L('f','i'): // Finnish
|
||||
{
|
||||
static const unsigned char stress_amps_fi[8] = {18,16, 22,22, 20,22, 22,22 };
|
||||
@@ -466,6 +475,7 @@ Translator *SelectTranslator(const char *name)
|
||||
}
|
||||
break;
|
||||
|
||||
|
||||
case L('f','r'): // french
|
||||
{
|
||||
static const short stress_lengths_fr[8] = {190, 170, 190, 200, 0, 0, 235, 240};
|
||||
@@ -473,10 +483,10 @@ Translator *SelectTranslator(const char *name)
|
||||
|
||||
SetupTranslator(tr,stress_lengths_fr,stress_amps_fr);
|
||||
tr->langopts.stress_rule = 3; // stress on final syllable
|
||||
tr->langopts.stress_flags = 0x0024; // don't use secondary stress
|
||||
tr->langopts.stress_flags = 0x0024 + 0x1; // don't use secondary stress, monosyllables are unstressed
|
||||
tr->langopts.param[LOPT_IT_LENGTHEN] = 1; // remove lengthen indicator from unstressed syllables
|
||||
|
||||
tr->langopts.numbers = 0x1509 + 0x8000 + NUM_NOPAUSE | NUM_ROMAN;
|
||||
tr->langopts.numbers = 0x1509 + 0x8000 + NUM_NOPAUSE | NUM_ROMAN | NUM_VIGESIMAL;
|
||||
SetLetterVowel(tr,'y');
|
||||
}
|
||||
break;
|
||||
@@ -958,7 +968,7 @@ SetLengthMods(tr,3); // all equal
|
||||
SetupTranslator(tr,stress_lengths_th,stress_amps_th);
|
||||
|
||||
tr->langopts.stress_rule = 0; // stress on final syllable of a "word"
|
||||
tr->langopts.stress_flags = 1; // don't automatically set diminished stress (may be set in the intonation module)
|
||||
tr->langopts.stress_flags = 2; // don't automatically set diminished stress (may be set in the intonation module)
|
||||
tr->langopts.tone_language = 1; // Tone language, use CalcPitches_Tone() rather than CalcPitches()
|
||||
tr->langopts.length_mods0 = tr->langopts.length_mods; // don't lengthen vowels in the last syllable
|
||||
// tr->langopts.tone_numbers = 1; // a number after letters indicates a tone number (eg. pinyin or jyutping)
|
||||
@@ -1024,7 +1034,7 @@ SetLengthMods(tr,3); // all equal
|
||||
SetupTranslator(tr,stress_lengths_zh,stress_amps_zh);
|
||||
|
||||
tr->langopts.stress_rule = 3; // stress on final syllable of a "word"
|
||||
tr->langopts.stress_flags = 1; // don't automatically set diminished stress (may be set in the intonation module)
|
||||
tr->langopts.stress_flags = 2; // don't automatically set diminished stress (may be set in the intonation module)
|
||||
tr->langopts.vowel_pause = 0;
|
||||
tr->langopts.tone_language = 1; // Tone language, use CalcPitches_Tone() rather than CalcPitches()
|
||||
tr->langopts.length_mods0 = tr->langopts.length_mods; // don't lengthen vowels in the last syllable
|
||||
|
||||
+29
-21
@@ -86,7 +86,7 @@ PHONEME_LIST2 ph_list2[N_PHONEME_LIST]; // first stage of text->phonemes
|
||||
|
||||
wchar_t option_punctlist[N_PUNCTLIST]={0};
|
||||
char ctrl_embedded = '\001'; // to allow an alternative CTRL for embedded commands
|
||||
int option_multibyte=espeakCHARS_AUTO; // 0=auto, 1=utf8, 2=8bit, 3=wchar
|
||||
int option_multibyte=espeakCHARS_AUTO; // 0=auto, 1=utf8, 2=8bit, 3=wchar, 4=16bit
|
||||
|
||||
// these are overridden by defaults set in the "speak" file
|
||||
int option_linelength = 0;
|
||||
@@ -1950,7 +1950,7 @@ void *TranslateClause(Translator *tr, FILE *f_text, const void *vp_input, int *t
|
||||
int finished;
|
||||
int single_quoted;
|
||||
int phoneme_mode = 0;
|
||||
int dict_flags; // returned from dictionary lookup
|
||||
int dict_flags = 0; // returned from dictionary lookup
|
||||
int word_flags; // set here
|
||||
int next_word_flags;
|
||||
int embedded_count = 0;
|
||||
@@ -1962,8 +1962,9 @@ void *TranslateClause(Translator *tr, FILE *f_text, const void *vp_input, int *t
|
||||
char *p;
|
||||
int j, k;
|
||||
int n_digits;
|
||||
int charix_top;
|
||||
|
||||
short charix[N_TR_SOURCE+1];
|
||||
short charix[N_TR_SOURCE+4];
|
||||
WORD_TAB words[N_CLAUSE_WORDS];
|
||||
int word_count=0; // index into words
|
||||
|
||||
@@ -1973,7 +1974,7 @@ void *TranslateClause(Translator *tr, FILE *f_text, const void *vp_input, int *t
|
||||
int tone;
|
||||
int tone2;
|
||||
|
||||
p_textinput = (char *)vp_input;
|
||||
p_textinput = (unsigned char *)vp_input;
|
||||
p_wchar_input = (wchar_t *)vp_input;
|
||||
|
||||
embedded_ix = 0;
|
||||
@@ -1987,9 +1988,11 @@ void *TranslateClause(Translator *tr, FILE *f_text, const void *vp_input, int *t
|
||||
|
||||
for(ix=0; ix<N_TR_SOURCE; ix++)
|
||||
charix[ix] = 0;
|
||||
terminator = ReadClause(tr, f_text, source, charix, N_TR_SOURCE, &tone2);
|
||||
terminator = ReadClause(tr, f_text, source, charix, &charix_top, N_TR_SOURCE, &tone2);
|
||||
|
||||
charix[N_TR_SOURCE] = count_characters;
|
||||
charix[charix_top+1] = 0;
|
||||
charix[charix_top+2] = 0x7fff;
|
||||
charix[charix_top+3] = 0;
|
||||
|
||||
clause_pause = (terminator & 0xfff) * 10; // mS
|
||||
tone = (terminator >> 12) & 0xf;
|
||||
@@ -2454,18 +2457,16 @@ if((c == '/') && (tr->langopts.testing & 2) && IsDigit09(next_in) && IsAlpha(pre
|
||||
|
||||
if(IsSpace(c))
|
||||
{
|
||||
if(space_inserted)
|
||||
{
|
||||
source_index = prev_source_index; // rewind to the previous character
|
||||
char_inserted = 0;
|
||||
space_inserted = 0;
|
||||
}
|
||||
|
||||
if(prev_out == ' ')
|
||||
{
|
||||
continue; // multiple spaces
|
||||
}
|
||||
|
||||
if(space_inserted)
|
||||
{
|
||||
words[word_count].length = source_index - words[word_count].sourceix;
|
||||
}
|
||||
|
||||
// end of 'word'
|
||||
sbuf[ix++] = ' ';
|
||||
|
||||
@@ -2516,6 +2517,13 @@ if((c == '/') && (tr->langopts.testing & 2) && IsDigit09(next_in) && IsAlpha(pre
|
||||
all_upper_case = FLAG_ALL_UPPER;
|
||||
syllable_marked = 0;
|
||||
}
|
||||
|
||||
if(space_inserted)
|
||||
{
|
||||
source_index = prev_source_index; // rewind to the previous character
|
||||
char_inserted = 0;
|
||||
space_inserted = 0;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -2644,12 +2652,12 @@ if((c == '/') && (tr->langopts.testing & 2) && IsDigit09(next_in) && IsAlpha(pre
|
||||
|
||||
// include the next few characters, in case there are an ordinal indicator
|
||||
pn[0] = ' ';
|
||||
memcpy(pn+1, pw, 5);
|
||||
pn[5] = 0;
|
||||
memcpy(pn+1, pw, 8);
|
||||
pn[8] = 0;
|
||||
|
||||
for(pw = &number_buf[1]; pw < pn;)
|
||||
{
|
||||
TranslateWord2(tr, pw, &words[ix], words[ix].pre_pause,0 );
|
||||
dict_flags = TranslateWord2(tr, pw, &words[ix], words[ix].pre_pause,0 );
|
||||
while(*pw++ != ' ');
|
||||
words[ix].pre_pause = 0;
|
||||
words[ix].flags = 0;
|
||||
@@ -2679,11 +2687,6 @@ if((c == '/') && (tr->langopts.testing & 2) && IsDigit09(next_in) && IsAlpha(pre
|
||||
}
|
||||
}
|
||||
|
||||
if(dict_flags & FLAG_SKIPWORDS)
|
||||
{
|
||||
ix += dictionary_skipwords; // dictionary indicates skip next word(s)
|
||||
}
|
||||
|
||||
if((dict_flags & FLAG_DOT) && (ix == word_count-1) && (terminator == CLAUSE_PERIOD))
|
||||
{
|
||||
// probably an abbreviation such as Mr. or B. rather than end of sentence
|
||||
@@ -2691,6 +2694,11 @@ if((c == '/') && (tr->langopts.testing & 2) && IsDigit09(next_in) && IsAlpha(pre
|
||||
tone = 4;
|
||||
}
|
||||
}
|
||||
|
||||
if(dict_flags & FLAG_SKIPWORDS)
|
||||
{
|
||||
ix += dictionary_skipwords; // dictionary indicates skip next word(s)
|
||||
}
|
||||
}
|
||||
|
||||
for(ix=0; ix<2; ix++)
|
||||
|
||||
+6
-5
@@ -301,7 +301,7 @@ typedef struct {
|
||||
int vowel_pause;
|
||||
int stress_rule; // 1=first syllable, 2=penultimate, 3=last
|
||||
|
||||
// bit0=don't stress monosyllables,
|
||||
// bit0=don't stress monosyllables, except at end of clause
|
||||
// bit1=don't set diminished stress,
|
||||
// bit2=mark unstressed final syllables as diminished
|
||||
// bit4=don't allow secondary stress on last syllable
|
||||
@@ -328,6 +328,7 @@ typedef struct {
|
||||
#define NUM_ROMAN_UC 0x40000
|
||||
#define NUM_NOPAUSE 0x80000
|
||||
#define NUM_ROMAN_AFTER 0x200000
|
||||
#define NUM_VIGESIMAL 0x400000
|
||||
|
||||
// bits0-1=which numbers routine to use.
|
||||
// bit2= thousands separator must be space
|
||||
@@ -348,6 +349,7 @@ typedef struct {
|
||||
// bit19=don't add pause after a number
|
||||
// bit20='and' before hundreds
|
||||
// bit21= say "roman" after the number, not before
|
||||
// bit22= vigesimal number, if tens are not found
|
||||
int numbers;
|
||||
|
||||
#define NUM2_100000 0x800 // numbers for 100,000 and 10,000,000
|
||||
@@ -364,7 +366,6 @@ typedef struct {
|
||||
int max_roman;
|
||||
int thousands_sep;
|
||||
int decimal_sep;
|
||||
int ordinals;
|
||||
|
||||
// bit 0, accent name before the letter name, bit 1 "capital" after letter name
|
||||
int accents;
|
||||
@@ -514,7 +515,7 @@ extern Translator *translator2;
|
||||
extern const unsigned short *charsets[N_CHARSETS];
|
||||
extern char dictionary_name[40];
|
||||
extern char ctrl_embedded; // to allow an alternative CTRL for embedded commands
|
||||
extern char *p_textinput;
|
||||
extern unsigned char *p_textinput;
|
||||
extern wchar_t *p_wchar_input;
|
||||
extern int dictionary_skipwords;
|
||||
|
||||
@@ -568,11 +569,11 @@ void CalcPitches(Translator *tr, int clause_tone);
|
||||
|
||||
int RemoveEnding(Translator *tr, char *word, int end_type, char *word_copy);
|
||||
int Unpronouncable(Translator *tr, char *word);
|
||||
void SetWordStress(Translator *tr, char *output, unsigned int dictionary_flags, int tonic, int prev_stress);
|
||||
void SetWordStress(Translator *tr, char *output, unsigned int &dictionary_flags, int tonic, int prev_stress);
|
||||
int TranslateRules(Translator *tr, char *p, char *phonemes, int size, char *end_phonemes, int end_flags, unsigned int *dict_flags);
|
||||
int TranslateWord(Translator *tr, char *word1, int next_pause, WORD_TAB *wtab);
|
||||
void *TranslateClause(Translator *tr, FILE *f_text, const void *vp_input, int *tone, char **voice_change);
|
||||
int ReadClause(Translator *tr, FILE *f_in, char *buf, short *charix, int n_buf, int *tone_type);
|
||||
int ReadClause(Translator *tr, FILE *f_in, char *buf, short *charix, int *charix_top, int n_buf, int *tone_type);
|
||||
|
||||
void SetVoiceStack(espeak_VOICE *v);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user