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-fd96e6ae7743master
_roman rum'eIns@ | _roman rum'eIns@ | ||||
// ordinal numbers | // 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@ | _0Co h'On@rtst@ | ||||
// Place names | // Place names | ||||
acapulco akap'ulk@U | |||||
afganistan afg'anistan | afganistan afg'anistan | ||||
alaska al'aska | alaska al'aska | ||||
albanië alb'A:ne@:@- | |||||
algerië alx2'e@re@:@- | algerië alx2'e@re@:@- | ||||
amanzimtoti $4 | |||||
antwerpen antv&rp@n | antwerpen antv&rp@n | ||||
babilon babilOn | babilon babilOn | ||||
bangladesj baNglad'ES | bangladesj baNglad'ES | ||||
barkly _^_EN | |||||
bellevue b&lvju: | bellevue b&lvju: | ||||
bermuda $2 | bermuda $2 | ||||
bethlehem bEt_liEm | bethlehem bEt_liEm | ||||
chicago _^_EN | chicago _^_EN | ||||
china S'ina | china S'ina | ||||
clanwilliam kl&:nw'ili@m | clanwilliam kl&:nw'ili@m | ||||
clifton _^_EN | |||||
colenso kul'E:ns@U | colenso kul'E:ns@U | ||||
colesberg ko@lsb&rx2 | colesberg ko@lsb&rx2 | ||||
constantia $2 | constantia $2 | ||||
franschhoek frA~nsh'uk | franschhoek frA~nsh'uk | ||||
gadara x2@dA:ra | gadara x2@dA:ra | ||||
galilea x2al@l'i:a | galilea x2al@l'i:a | ||||
gariep x2ar'ip | |||||
germiston _^_EN | germiston _^_EN | ||||
getsémané x2Ets'e@mani | getsémané x2Ets'e@mani | ||||
gonubie g@nu:bi | |||||
goudini $2 | goudini $2 | ||||
gordonsbaai gO:rd@nsb'AI | gordonsbaai gO:rd@nsb'AI | ||||
(graaff reinet) x2rA:f||r@n'Et | (graaff reinet) x2rA:f||r@n'Et | ||||
grahamstad x2rA:mstat | |||||
griekeland x2rik@lant | griekeland x2rik@lant | ||||
groblersdal x2rObl@rsd'al | groblersdal x2rObl@rsd'al | ||||
havana hav'ana | havana hav'ana | ||||
hirosjima hiruS'ima | hirosjima hiruS'ima | ||||
israel IsraI:l | israel IsraI:l | ||||
italië it'A:li;@ | italië it'A:li;@ | ||||
jeffreysbaai dZEfrisb'AI | |||||
kalafong kalaf'ON | kalafong kalaf'ON | ||||
kanada kanad%a | kanada kanad%a | ||||
kanaän kA:nA:an | kanaän kA:nA:an | ||||
knysna neIsna | knysna neIsna | ||||
kuruman kuruman | kuruman kuruman | ||||
kwa kwa $u $only // KwaZulu, etc. | kwa kwa $u $only // KwaZulu, etc. | ||||
lady _^_EN // Lady Grey/Lady Smith | |||||
ladybrand leIdibr'ant | |||||
laingsburg leInsbWrx2 | |||||
lesotho l@sutu | lesotho l@sutu | ||||
limpopo l@mpo@po@ | limpopo l@mpo@po@ | ||||
(los angeles) lOs_'andZ@li:z | (los angeles) lOs_'andZ@li:z | ||||
mauritius mOr'iSjWs | mauritius mOr'iSjWs | ||||
milaan $2 | milaan $2 | ||||
mesopotamië mEsuput'A:mi@ | mesopotamië mEsuput'A:mi@ | ||||
mpumalanga mpu:mal'aNga | |||||
montagu mOnt@ky | montagu mOnt@ky | ||||
moreletapark mOr@l,Etap'ark | moreletapark mOr@l,Etap'ark | ||||
moorreesburg mur'e@sbWrx2 | moorreesburg mur'e@sbWrx2 | ||||
mosambiek mo@samb'ik | |||||
(thaba nchu) tab'A:||ntSu | (thaba nchu) tab'A:||ntSu | ||||
europa Y@r'o@pa | europa Y@r'o@pa | ||||
nigel _^_EN | nigel _^_EN | ||||
turkye $2 | turkye $2 | ||||
ulundi ul'undi | ulundi ul'undi | ||||
upington apiNt@n | upington apiNt@n | ||||
vanrhynsdorp fanr'eInsdOrp | |||||
vesuvius v@su:viWs | vesuvius v@su:viWs | ||||
viëtnam vj'Etnam | viëtnam vj'Etnam | ||||
wallonië val'o@ni@ | wallonië val'o@ni@ | ||||
adriaan A:drijan | adriaan A:drijan | ||||
adrie A:dri | adrie A:dri | ||||
albertus alb'&rtWs | albertus alb'&rtWs | ||||
alfred _^_EN | |||||
allah %alA: | allah %alA: | ||||
amelia am'i:lija | |||||
annalet anal'Et | |||||
André 'andreI | André 'andreI | ||||
annette an'Et | annette an'Et | ||||
antoinette antun'Et | antoinette antun'Et | ||||
barbara bA:b@ra | barbara bA:b@ra | ||||
basson $2 | |||||
bea bi:ja | bea bi:ja | ||||
benade b@nA:di | |||||
benjamin bEndZ@m@n | benjamin bEndZ@m@n | ||||
bennett bEn@t | bennett bEn@t | ||||
bertha b&rta | |||||
bester b'Est@r | bester b'Est@r | ||||
beyers beI@rs | beyers beI@rs | ||||
blignault blIx2n@Ut | blignault blIx2n@Ut | ||||
brian _^_EN | brian _^_EN | ||||
bredenkamp bre@d@nkamp | bredenkamp bre@d@nkamp | ||||
breytenbach breIt@nbax2 | breytenbach breIt@nbax2 | ||||
brouwer bruw'&:r | |||||
bruwer bruw'&:r | |||||
caesar siz@r | caesar siz@r | ||||
carl kA:r@L | carl kA:r@L | ||||
casanova kasan'o@va | casanova kasan'o@va | ||||
coetzee kuts'e@ | coetzee kuts'e@ | ||||
cronjé krOnj'e@ | cronjé krOnj'e@ | ||||
cynthia _^_EN | cynthia _^_EN | ||||
dalene dal'e@n | |||||
darwin _^_EN | darwin _^_EN | ||||
david _^_EN | david _^_EN | ||||
(da vinci) da||v'intSi | (da vinci) da||v'intSi | ||||
du $u | du $u | ||||
(du pisanie) du||pis'A:ni | (du pisanie) du||pis'A:ni | ||||
(du plessis) du||pl@s'i | (du plessis) du||pl@s'i | ||||
(du plooy) d@||ploI | |||||
(du preez) d@||pr'e@ | (du preez) d@||pr'e@ | ||||
(du toit) d@||toI | (du toit) d@||toI | ||||
duvenage dyv@nA:x2@ | |||||
eksteen $1 | eksteen $1 | ||||
eldorado &ldOr'A:d@U | eldorado &ldOr'A:d@U | ||||
elisabeth il'isabEt | elisabeth il'isabEt | ||||
elize il'i:z | elize il'i:z | ||||
elmien $2 | elmien $2 | ||||
elsabe &ls@bi | |||||
elsabé &ls@bi | elsabé &ls@bi | ||||
emmarentia Emar'e~nSja | emmarentia Emar'e~nSja | ||||
erasmus $2 | erasmus $2 | ||||
ernest _^_EN | |||||
eségiël is'e@x2i_@l | eségiël is'e@x2i_@l | ||||
estelle %ist&l | estelle %ist&l | ||||
etienne Eti@n | etienne Eti@n | ||||
georgina dZO:dZ'ina | georgina dZO:dZ'ina | ||||
gerhard x2&rart | gerhard x2&rart | ||||
gerhardus $2 | gerhardus $2 | ||||
gertruida $2 | |||||
gloria glO:ria | gloria glO:ria | ||||
grange x2rA:nsi | grange x2rA:nsi | ||||
gustav gustaf | gustav gustaf | ||||
guy _^_EN | guy _^_EN | ||||
hamlet _^_EN | |||||
harry _^_EN | harry _^_EN | ||||
havenga hA:f@Nx2a | havenga hA:f@Nx2a | ||||
haydn hAId@n | haydn hAId@n | ||||
helen _^_EN | helen _^_EN | ||||
helena hil'e@na | helena hil'e@na | ||||
helene hi:l'i:n | |||||
helloïse hEluw'i:z | helloïse hEluw'i:z | ||||
henry _^_EN | henry _^_EN | ||||
herklaas $1 | herklaas $1 | ||||
ingrid iNgr@d | ingrid iNgr@d | ||||
isabel is@b&l | isabel is@b&l | ||||
iskariot isk'ariOt | iskariot isk'ariOt | ||||
jaco jaku | |||||
jacques ZA:k | jacques ZA:k | ||||
james _^_EN | james _^_EN | ||||
jane _^_EN | jane _^_EN | ||||
Jean ZA~n $capital | Jean ZA~n $capital | ||||
jesebel je@s@b&l | |||||
jimmy _^_EN | jimmy _^_EN | ||||
joan _^_EN | joan _^_EN | ||||
joey dZ@Ui | joey dZ@Ui | ||||
kim _^_EN $capital | kim _^_EN $capital | ||||
krige krix2@ | krige krix2@ | ||||
labuschagne labWsk'ax2ni | labuschagne labWsk'ax2ni | ||||
lafras $2 | |||||
langenhoven laN@nho@f@n | langenhoven laN@nho@f@n | ||||
lasarus lA:s@r%Ws | lasarus lA:s@r%Ws | ||||
lategan lA:t@x2an | lategan lA:t@x2an | ||||
le l@ $only | le l@ $only | ||||
leandra li'andra | leandra li'andra | ||||
leipoldt lAIpOlt | |||||
leonardo liu:n'ardu | leonardo liu:n'ardu | ||||
leonie li'o@ni | |||||
levi le@fi | levi le@fi | ||||
liesbet lisbEt | |||||
louis luI | louis luI | ||||
louise luw'i:z | louise luw'i:z | ||||
mackintosh _^_EN | mackintosh _^_EN | ||||
magdalena $3 | magdalena $3 | ||||
malan mal'an | malan mal'an | ||||
malherbe mal'&rb@ | malherbe mal'&rb@ | ||||
mantovani mantOv'A:ni | |||||
mara mA:ra | |||||
marelie mar@li | marelie mar@li | ||||
margaret _^_EN | margaret _^_EN | ||||
margaretha marx2ar'e@ta | margaretha marx2ar'e@ta | ||||
martha marta | martha marta | ||||
martin m'A:rt@n | martin m'A:rt@n | ||||
mary _^_EN | mary _^_EN | ||||
mathilda mat'Ilda | |||||
matteus mat'i:Ws | matteus mat'i:Ws | ||||
matthee mat'e@ | |||||
matthéüs mat'i:Ws | matthéüs mat'i:Ws | ||||
maureen _^_EN | |||||
mefistofeles mEfist'o@f@l@s | mefistofeles mEfist'o@f@l@s | ||||
melanie m@lA:ni | melanie m@lA:ni | ||||
meraai m@rAI | meraai m@rAI | ||||
mike _^_EN | mike _^_EN | ||||
miriam mIri@m | miriam mIri@m | ||||
mohammed muh'am@t | mohammed muh'am@t | ||||
morkel mOrk@l | |||||
morné mOrn'eI | morné mOrn'eI | ||||
mostert m'Ost@rt | mostert m'Ost@rt | ||||
mouton mut'On | mouton mut'On | ||||
reinette r@nEt | reinette r@nEt | ||||
renette r@nEt | renette r@nEt | ||||
renée r@neI | renée r@neI | ||||
retha re@ta | |||||
retief r@tif | retief r@tif | ||||
rhodes _^_EN | rhodes _^_EN | ||||
robert _^_EN | robert _^_EN | ||||
ronel run'&l | ronel run'&l | ||||
rossouw r@s@U | |||||
rousseau r@s@U | rousseau r@s@U | ||||
ruda ruda | ruda ruda | ||||
rupert rup@rt | rupert rup@rt | ||||
totius to@SiWs | totius to@SiWs | ||||
trudie trudi | trudie trudi | ||||
versfeld f&rsf< | versfeld f&rsf< | ||||
veronica _^_EN | |||||
victoria _^_EN | victoria _^_EN | ||||
viljoen $2 | viljoen $2 | ||||
villiers vIli@rs | villiers vIli@rs | ||||
schreiner SraIn@r | schreiner SraIn@r | ||||
tony t@Uni | tony t@Uni | ||||
trichardt trix2A:rt | trichardt trix2A:rt | ||||
vera ve@ra | |||||
verwey f@rveI | |||||
vivaldi viv'aldi | vivaldi viv'aldi | ||||
viviers v@v@je@ | viviers v@v@je@ | ||||
wilhelm v@lh&l@-m | |||||
khumalo kum'A:lu | khumalo kum'A:lu | ||||
zuma zu:ma | zuma zu:ma | ||||
ferrari f@rA:ri | ferrari f@rA:ri | ||||
martini mart'i:ni | martini mart'i:ni | ||||
naspers nasp&rs | 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 | toyota $2 | ||||
venda vEnda | venda vEnda | ||||
volvo vOlvu | volvo vOlvu | ||||
hoeveel $pause | hoeveel $pause | ||||
wat $pause | wat $pause | ||||
watter $pause | watter $pause | ||||
ás as '!as | |||||
// prepositions | // prepositions | ||||
aan $u $strend2 | aan $u $strend2 | ||||
// phrase with words spoken together | // phrase with words spoken together | ||||
(nie waar nie) n,i||v,A:r||n'i | |||||
(à la carte) a||la||k'art | (à 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 | // main word list | ||||
aggressie $2 | aggressie $2 | ||||
agterstevoor $4 | agterstevoor $4 | ||||
agterweë $3 | agterweë $3 | ||||
aha A:h'!A: | |||||
algaande $2 | algaande $2 | ||||
alge alx2@ | alge alx2@ | ||||
algehele alx2@h,e@l@ | algehele alx2@h,e@l@ | ||||
alom al_'Om | alom al_'Om | ||||
alreeds $2 | alreeds $2 | ||||
alternatiewe $4 | alternatiewe $4 | ||||
amelee am@le@ | |||||
amen A:mEn | amen A:mEn | ||||
anale an'A:l@ | anale an'A:l@ | ||||
as't as@t $u | |||||
asof asOf | asof asOf | ||||
asook %as_o@k | asook %as_o@k | ||||
aspris $2 | aspris $2 | ||||
besnedene b@sne@d@n@ | besnedene b@sne@d@n@ | ||||
bestes bEst@s | bestes bEst@s | ||||
beta be@ta $only | beta be@ta $only | ||||
betlehemster bEtli:Emst&r | |||||
bewe be@v@ | bewe be@v@ | ||||
bewend be@v@nt | bewend be@v@nt | ||||
bewering b@ve@rIN | bewering b@ve@rIN | ||||
casino kas'i:n@U | casino kas'i:n@U | ||||
cedille s@dIl@ | cedille s@dIl@ | ||||
charisma kar'Isma | charisma kar'Isma | ||||
cliché kliS'eI: | |||||
clichés kliS'eI:s | |||||
crescendo kr@SEndu | crescendo kr@SEndu | ||||
dadelik dA:d@lIk | dadelik dA:d@lIk | ||||
genade $2 | genade $2 | ||||
genesis x2e@n@s@s | genesis x2e@n@s@s | ||||
//gesamentlik x2@sA:m@ntl@k | //gesamentlik x2@sA:m@ntl@k | ||||
gladiator x2ladi'A:tOr | |||||
globale x2lo@b'A:l@ | globale x2lo@b'A:l@ | ||||
gooi x2OI | gooi x2OI | ||||
gomorra x2@mOra | gomorra x2@mOra | ||||
grondys x2rO:nt_eIs | grondys x2rO:nt_eIs | ||||
hallo h'Il,@U | hallo h'Il,@U | ||||
handtertjie hant&:rci | |||||
hanou hA:n@U | hanou hA:n@U | ||||
hardop hart?Op | hardop hart?Op | ||||
heeltemal he@lt@mal | heeltemal he@lt@mal | ||||
kunsmatige kWnsm'A:t@x2@ | kunsmatige kWnsm'A:t@x2@ | ||||
kwansuis $2 | kwansuis $2 | ||||
lasagne las'anj@ | |||||
libido l@bidu | libido l@bidu | ||||
lokaas lOk_A:s | |||||
londense lOnd@ns@ | londense lOnd@ns@ | ||||
lord _^_EN | lord _^_EN | ||||
memorabilia mEmOrab'ilija | memorabilia mEmOrab'ilija | ||||
memoriam mEm'o@riam | memoriam mEm'o@riam | ||||
mercedes $2 | mercedes $2 | ||||
meregebied me@r@x2@bit | |||||
merlot m&rl'o@ | merlot m&rl'o@ | ||||
miaau mi'aU: | |||||
midwinter mIdv@nt@r | midwinter mIdv@nt@r | ||||
militêre mIl@t'&:r@ | militêre mIl@t'&:r@ | ||||
minister m@nIst@r | minister m@nIst@r | ||||
parate par'A:t@ | parate par'A:t@ | ||||
parke park@ | parke park@ | ||||
parkie $1 | parkie $1 | ||||
parte $1 | |||||
patos pA:tOs | patos pA:tOs | ||||
patriotisme patri|ut'Ism@ | patriotisme patri|ut'Ism@ | ||||
penorent pEno@rEnt | penorent pEno@rEnt | ||||
tanga taNga | tanga taNga | ||||
tango taNx2u | tango taNx2u | ||||
tenminste $2 | tenminste $2 | ||||
tequila t@ki:la | |||||
terdeë $2 | terdeë $2 | ||||
terug t@-rWx2 | terug t@-rWx2 | ||||
tesaam t@sA:m | tesaam t@sA:m |
&b) a (_ %a // short final a: mamba and compounds/marimba/hamba | &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 | &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 | 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. | &r) a (_ %a // short final a in words ending in -ra: infra/mantra/sentra, etc. | ||||
Cbr) a (_ A: // long a: blommetjies-/kantbra | Cbr) a (_ A: // long a: blommetjies-/kantbra | ||||
&dr) a (_ A: // exceptwrds ending in -dra: ingedra/oorgedra, etc. | &dr) a (_ A: // exceptwrds ending in -dra: ingedra/oorgedra, etc. | ||||
C) a (Csier %a // (ge)finansier/kassier | C) a (Csier %a // (ge)finansier/kassier | ||||
j) a (pan %a //japan first a sound and stress | j) a (pan %a //japan first a sound and stress | ||||
C) abie 'A:bi | 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 (bC %a // abdy/ablatief/ablusie/abstrak, etc. | ||||
_) a (bba a // restore default stress: (ge)abba/abbamandjie, etc. | _) a (bba a // restore default stress: (ge)abba/abbamandjie, etc. | ||||
abse (s %apsE // fix stress and e sound: abses/-se | abse (s %apsE // fix stress and e sound: abses/-se | ||||
arre (stA %ar@ // arrestasie/arresteer | arre (stA %ar@ // arrestasie/arresteer | ||||
arro (g %ar%u // arrogant/-e/arrogansie | arro (g %ar%u // arrogant/-e/arrogansie | ||||
ar (seen %ar | ar (seen %ar | ||||
arte (fak %art@ // move default stress: artefak/-te | |||||
ar (tikel %ar // stress: artikel and compounds | ar (tikel %ar // stress: artikel and compounds | ||||
artiku %art%ik%y // stress and vowel sounds: artikulasie/artikuleer | artiku %art%ik%y // stress and vowel sounds: artikulasie/artikuleer | ||||
@C) as (_ as // shorten final a of words ending in -as: rigtingvas/jonkmanskas, etc. | @C) as (_ as // shorten final a of words ending in -as: rigtingvas/jonkmanskas, etc. | ||||
C) a (xA+ a // shorten a before x: taxi and compounds/praxi/saxofoon | C) a (xA+ a // shorten a before x: taxi and compounds/praxi/saxofoon | ||||
ay (_ _^_EN // words ending in ay are English | ay (_ _^_EN // words ending in ay are English | ||||
ays (_ _^_EN // words ending in ays are English | ays (_ _^_EN // words ending in ays are English | ||||
aë (robi %aI // move default stress: aërobies/-e | |||||
.group aa | .group aa | ||||
_) ann (a@ %an // move default stress: annaal/annale | _) ann (a@ %an // move default stress: annaal/annale | ||||
g) an (_ _^_EN //if it ends in gan it is English | g) an (_ _^_EN //if it ends in gan it is English | ||||
C) anette (_ %anEt // Janette/Sanette | 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 | ansjovi anS''o@f@ // fix stress and o sound: ansjovis/-se/-smeer | ||||
an (tjie aIN | an (tjie aIN | ||||
_) ana (C ,ana // words starting with ana starts destressed | _) ana (C ,ana // words starting with ana starts destressed | ||||
balsem bals@m // correct e sound in derivatives like balseming | balsem bals@m // correct e sound in derivatives like balseming | ||||
bara (k bar'a | bara (k bar'a | ||||
bar (bA b%ar // barbaar/barbare and derivatives/barbier and compounds | 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 | bastion bastiOn // -tion not English: bastion/-s and compounds | ||||
_) bate b''A:t@ // fix stress and e sound: batefinansiering/-portefeulje and many others | _) 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... | batte (ry b%at@ // move default stress: battery/-e and compounds: batterysuur... | ||||
bybel beIb@l // to correct pronunc. of e in compounds | bybel beIb@l // to correct pronunc. of e in compounds | ||||
byder (C@ b%eId@r // byderhand/-s/byderwets | byder (C@ b%eId@r // byderhand/-s/byderwets | ||||
by (een b%eI_ // move default stress: byeen/byeenkoms/-te, etc. | 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 (telP2 b'eI // fix e sound: bytel/-ling/-lery | ||||
by (voorb b%eI// move default stress | by (voorb b%eI// move default stress | ||||
bywoordeli b%eIvo@rd@l@ // move default stressa: bywoordelik/-e | bywoordeli b%eIvo@rd@l@ // move default stressa: bywoordelik/-e | ||||
C) be (rsie b'&: //kombersie etc. | C) be (rsie b'&: //kombersie etc. | ||||
bene (r be@n@ //benerig/e | bene (r be@n@ //benerig/e | ||||
be (C%+ bE // beffie/bessie/bennie/bettie/blombeddings | 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 | re) be (lK+ b& // fix e sounds: rebel/-le/-lie | ||||
_) be (Cy b@ // bely/beny/betyds | _) be (Cy b@ // bely/beny/betyds | ||||
bes (ie_ be@s //sonbesie duinebesie etc. | bes (ie_ be@s //sonbesie duinebesie etc. | ||||
bes (ies_ be@s //sonbesies duinebesies etc. | bes (ies_ be@s //sonbesies duinebesies etc. | ||||
son) be (sie be@ // fix e sound in compounds with sonbesie: sonbesiebos, 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 | 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 | 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 (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 | 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 | @) bed (_ bEt // bruidsbed/dubbelbed; many compounds ending in bed | ||||
be (de_ be@ // bede/gebede | be (de_ be@ // bede/gebede | ||||
bedes (_ be@d@s // bedes/seënbedes, etc. | bedes (_ be@d@s // bedes/seënbedes, etc. | ||||
deto (nA d%Et%u // fix e and o sounds and stress: detonasie/detoneer/detonering | 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 (aar d%y@r_ // move default stress: deuraar/-de | ||||
deur (bo d%Y@r // move default stress: deurboor/deurborende | 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 (drenk d%y@r // move default stress: deurdrenk/-te | ||||
deur (dring@ d%y@r // move default stress: deurdringend/-e | deur (dring@ d%y@r // move default stress: deurdringend/-e | ||||
deur (grond d%y@r // move default stress: (on)deurgrond/-elik/-e/-heid | deur (grond d%y@r // move default stress: (on)deurgrond/-elik/-e/-heid | ||||
du (et d%u:w // fix stress and -ue-sound: (klavier)duet/-te, etc. | 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 | @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 | 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 | @) dwes tv'Es // noordwes/te/lik/e suidwes/te/lik/e | ||||
@) dwese tve@s@ // leedwese/vakbondwese | @) dwese tve@s@ // leedwese/vakbondwese | ||||
@) dwillig tv'Il@x2 // d sound and stress: kwaadwillig/bereidwillig | @) dwillig tv'Il@x2 // d sound and stress: kwaadwillig/bereidwillig | ||||
e (C E | e (C E | ||||
CAC) e (CC @ // fix e sound: nalatenskap/wapenstilstand | CAC) e (CC @ // fix e sound: nalatenskap/wapenstilstand | ||||
CAC) e (C% E // beesfilette/nougesette/onderbesette/voortgesette | 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 | juwel) e (C @ // fix e sound: juwelekissie and similar compounds | ||||
fontein) e (C @_ // fix e sound: Fonteinesirkel/-wisselaar, etc. | fontein) e (C @_ // fix e sound: Fonteinesirkel/-wisselaar, etc. | ||||
kening) e (@ @ // fix e sound: rekeningeklerk/-navraag and similar | kening) e (@ @ // fix e sound: rekeningeklerk/-navraag and similar | ||||
narkos) e (C @ // fix e sound: narkosedood/-gas/-masker/-middel/-rekords, etc. | narkos) e (C @ // fix e sound: narkosedood/-gas/-masker/-middel/-rekords, etc. | ||||
ooi) e (C @ // fix e sound: dooiepunt/ooievaar and similar | 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... | 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 | voorrad) e (C @ // fix e sound: voorradedepot/-konvooi and similar | ||||
@C) e (aCC @_ // fix e sound: doodseise-/manne-/ongevalle-/troepeafdeling/slakkeafval/handearbeid | @C) e (aCC @_ // fix e sound: doodseise-/manne-/ongevalle-/troepeafdeling/slakkeafval/handearbeid | ||||
CAC) e (rr @ // fix e sound: koperring/-rooi/nederryn/somerreën/-rok/superrealis/syferrekenaar... | CAC) e (rr @ // fix e sound: koperring/-rooi/nederryn/somerreën/-rok/superrealis/syferrekenaar... | ||||
@C) e (reekK @ // fix e sound: duine-/rotsereeks | @C) e (reekK @ // fix e sound: duine-/rotsereeks | ||||
aai) e (C @ // fix e sound: baaierd/waaierstert/paaiement/compounds starting with baaiers- | 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. | fp) ers (_ &rs // fix e sound: dof-/gif-/olyf-/tydskrifpers, etc. | ||||
bloup) ers &:rs // fix e sound: bloupers | bloup) ers &:rs // fix e sound: bloupers | ||||
treil) e (rC @ // fix e sound: (vis)treilerkaptein/-wrak and similar compounds | treil) e (rC @ // fix e sound: (vis)treilerkaptein/-wrak and similar compounds | ||||
ies) e (b @ // fix e sound: dinamiesebinding/ekonomiesebemagtiging | ies) e (b @ // fix e sound: dinamiesebinding/ekonomiesebemagtiging | ||||
&At) e (bA@ @ // fix e sound: batebestuur/sekuriteitebeurs/soldatebbaadjie/geslotebaan, etc. | &At) e (bA@ @ // fix e sound: batebestuur/sekuriteitebeurs/soldatebbaadjie/geslotebaan, etc. | ||||
Aw) e (bA @ // fix e sound: briewebesteller/diewebende/newebedoeling/skewebek/stywebeen | 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 (bo @ // compounds with boek/boer/boog/boom/bol/bord/borsel/bos/ grondbonebotter/kamdebo... | ||||
@C) e (bu @ // briewebus/ereburger/novellebundel/urinebuis/woedebui | @C) e (bu @ // briewebus/ereburger/novellebundel/urinebuis/woedebui | ||||
@C) e (by @ // fix e sound: statebybel/-s | @C) e (by @ // fix e sound: statebybel/-s | ||||
fari (seër f%ar%i // fix stress and a sound: Fariseër/-s | 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 | 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 | 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 | fasili f%as@l%i // fasiliteit/e/aftrekorderfasiliteit | ||||
fa (ta@ f%a //fix stress and 1st a sound: fatale/fatalis/-me/-te/-ties | 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) | fat (soen f%at // move default stress: (on)fatsoen(lik) | ||||
fi (siek f@ // correct 1st i sound and move default stress: | fi (siek f@ // correct 1st i sound and move default stress: | ||||
fili (ppA f@l@ // fix stress and i sounds: Filippyne/-pynse/filippien | fili (ppA f@l@ // fix stress and i sounds: Filippyne/-pynse/filippien | ||||
filistyn f@l@st'eIn // filistyn/e | 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 | _) fi (na@ f%i // finaal/finale/finansies | ||||
mor) fine (@ fin@_ // fix e sound in compounds: morfineafhanklikheid/-beswyming/-dosis/-tablet | mor) fine (@ fin@_ // fix e sound in compounds: morfineafhanklikheid/-beswyming/-dosis/-tablet | ||||
fi (skA f@ // move default stress: fiskaal/fiskale/konfiskeer | fi (skA f@ // move default stress: fiskaal/fiskale/konfiskeer | ||||
flu (we fl%y // move default stress: fluweel/fluwele and compounds | flu (we fl%y // move default stress: fluweel/fluwele and compounds | ||||
_) fok (o fOk_ // fix o sound, insert short break: fokop/fokof | _) fok (o fOk_ // fix o sound, insert short break: fokop/fokof | ||||
folio fo@li_u // fix o sounds: folio and compounds | 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 | @) fonie fun'i // kakofonie/simfonieorkes/telefonie | ||||
@) fonies f'o@nis // fix stress: simfoniese/polifonies/telefonies | @) 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. | fon (tein f%On // move default stress: fontein/fonteinwater, etc. | ||||
_) for (C f%Or // formeel/formele/forseer/fortuin | _) for (C f%Or // formeel/formele/forseer/fortuin | ||||
fore (l f%ur& // fix stress and e sound: forel/-e and compounds | fore (l f%ur& // fix stress and e sound: forel/-e and compounds | ||||
fo (togra fo@ // move default stress: fotograaf and similar | fo (togra fo@ // move default stress: fotograaf and similar | ||||
fra (giel fr%a // fix stress and a sound: fragiel/-e | fra (giel fr%a // fix stress and a sound: fragiel/-e | ||||
_) fran (CisCA fr%an // fix stress and a sound: Fransiskus/Franciscus/Francisca | _) 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 | fre (kwen fr%i // fix stress and 1st e sound: frekwensie/-s and compounds | ||||
freud frOId // Freud/Freudiaans/-e | freud frOId // Freud/Freudiaans/-e | ||||
front (A@ fr%Ont // fix stress and e sound: konfronterend/-e/konfrontering | front (A@ fr%Ont // fix stress and e sound: konfronterend/-e/konfrontering | ||||
gal (joen x2%al // move default stress: galjoen/-e and compounds | gal (joen x2%al // move default stress: galjoen/-e and compounds | ||||
gamie (_ x2am'i // bi-/mono-/poligamie, etc. | gamie (_ x2am'i // bi-/mono-/poligamie, etc. | ||||
gamies x2'A:mis // bi-/mono-/poligamies/-e | 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 | gar (n x2%ar // move default stress: garnaal/garnale/garneer/garnering and compounds | ||||
garni (soen x2%arn%i // fix stress: garnisoen and compounds | garni (soen x2%arn%i // fix stress: garnisoen and compounds | ||||
@C) garye x2%ar'eI@ // Fix stress: Bulgarye/Hongarye | @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 | gauteng x2%aUtEN //Gauteng and compounds | ||||
_) gh g | _) gh g | ||||
gh (_ k | gh (_ k | ||||
heid (_S4 heIt | heid (_S4 heIt | ||||
herinner h&r'In@r // herinner/-ing/-e|s | 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. | 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 | hia (sint h%ij%a // fix stress: hiasint/-e and compounds | ||||
_) hi (bis h%i // move default stress: hibiskus/-se and compounds | _) hi (bis h%i // move default stress: hibiskus/-se and compounds | ||||
higië (nA h%ix2%ie@ | higië (nA h%ix2%ie@ | ||||
hiër (argie h%i@r // stress on 1st a: hiërargies/-e | 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 | 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 | 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) | hoeve (r h%uf& // fix stress and e sounds: hoever(re) | ||||
hoeveelh (e h%ufe@lh // move default stress: hoeveelheid/-hede | hoeveelh (e h%ufe@lh // move default stress: hoeveelheid/-hede | ||||
hof (A hOf_ // fix o, pause: hofaansoek/-amptenaar/-etiket/-interdik/-ordonnans/-uitspraak/-ure... | hof (A hOf_ // fix o, pause: hofaansoek/-amptenaar/-etiket/-interdik/-ordonnans/-uitspraak/-ure... | ||||
ie i | ie i | ||||
tr) ie (_ 'i //stress on trie at word end | tr) ie (_ 'i //stress on trie at word end | ||||
ieë (K i:@ // knieë/vlieë/spieël/-tjie | 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) ief (_ 'if // move default stress: aggressief/massief/obsessief/progressief, etc. | ||||
ss) iewe (_ 'iv@ // move default stress: aggressiewe/massiewe/obsessiewe/progressiewe | ss) iewe (_ 'iv@ // move default stress: aggressiewe/massiewe/obsessiewe/progressiewe | ||||
ns) iewe (K 'iv@ // fix stress and e sound: intensiewesorg(eenheid) and similar | ns) iewe (K 'iv@ // fix stress and e sound: intensiewesorg(eenheid) and similar | ||||
_) immi (grA @m@ // fix stress and i sounds: immigrant/-e and compounds | _) immi (grA @m@ // fix stress and i sounds: immigrant/-e and compounds | ||||
_) i (mmu %i // fix stress and i sound: immuun/immune/immuniteit | _) i (mmu %i // fix stress and i sound: immuun/immune/immuniteit | ||||
_) inder (C @nd@r // inderdaad/inderhaas/indertyd | _) 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 | indi (a@ @nd%i // fix stress: Indiaan/Indiane | ||||
in (dien @n //indienstreding/indiensopleiding/indiensplasing | in (dien @n //indienstreding/indiensopleiding/indiensplasing | ||||
indis (kr @nd@s // stress: indiskreet/-e/indiskresie/-s | indis (kr @nd@s // stress: indiskreet/-e/indiskresie/-s | ||||
irriter (@ ir@t'e@r // irriterend/e/irritering | irriter (@ ir@t'e@r // irriterend/e/irritering | ||||
iles (_ _^_EN // words and names ending in -iles are English | 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 | ity (_N _^_EN | ||||
@) igering ix2'e@r@N | @) igering ix2'e@r@N | ||||
instruks @nstr'Wks // instruksie/s (stress) | instruks @nstr'Wks // instruksie/s (stress) | ||||
@) iseur is'Y@r // adviseur/narkotiseur | @) iseur is'Y@r // adviseur/narkotiseur | ||||
@) i (sering i | @) i (sering i | ||||
C) isie 'isi // ambisie/ammunisie/komposisie/ammunisiekis | 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) isieus isi'Y@s // ambisieus/suspisieuse | ||||
C) isk (_ 'Isk // asterisk/tamarisk | C) isk (_ 'Isk // asterisk/tamarisk | ||||
C) isk (e_ 'Isk // asteriske/tamariske | C) isk (e_ 'Isk // asteriske/tamariske | ||||
_) kilo kil%u // fix o sound in compounds: kilogram/-liter/-meter | _) kilo kil%u // fix o sound in compounds: kilogram/-liter/-meter | ||||
kker (A k@r // swakkerig/blikkerig/flikkerend/flikkering | kker (A k@r // swakkerig/blikkerig/flikkerend/flikkering | ||||
klaarblyklik klA:rbl'eIkl@k // klaarblyklik/e | 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 | klande (sti kl%and@ // move default stress: klandestien/-e | ||||
_) kla (sA@@ kla // klasaantekeninge/klasonderwyser and other compounds | _) kla (sA@@ kla // klasaantekeninge/klasonderwyser and other compounds | ||||
kla (ssiek kl%a // move default stress: klassiek/-e | kla (ssiek kl%a // move default stress: klassiek/-e | ||||
kleure klY@r@ // fix e sound: kleurebeeld/-gloed/-kaart/-kontras/-mengeling/-prag/-sin... | kleure klY@r@ // fix e sound: kleurebeeld/-gloed/-kaart/-kontras/-mengeling/-prag/-sin... | ||||
kli (maat kl@ // move default stress: klimaat and compounds | kli (maat kl@ // move default stress: klimaat and compounds | ||||
kli (mop klI // fix i sound: klimop(plant) | 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 | kli (niek kl@ // fix stress and i sound: kliniek and compounds | ||||
klip (A klIp_ // fix i sound: klipalbaster/-altaar/--uil/leiklipolie | klip (A klIp_ // fix i sound: klipalbaster/-altaar/--uil/leiklipolie | ||||
klou (sule kl%@U // move default stress: klousule/-s | klou (sule kl%@U // move default stress: klousule/-s | ||||
_) kar (b k%ar // move default stress: karba/karbol/karbonkel and their compounds | _) kar (b k%ar // move default stress: karba/karbol/karbonkel and their compounds | ||||
kar (be kar // restore default stress: karbestuurder/-s/-besitter, etc. | kar (be kar // restore default stress: karbestuurder/-s/-besitter, etc. | ||||
kar (does k%ar // move default stress: kardoes and compounds | 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 | karme (naadj k%arm@ // fix stress and e sound: karmenaadjie and compounds | ||||
karmosyn k%arm%useIn // fix stress and o sound: karmosyn 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 | karna (val k%arn%a // fix stress and 2nd a sound: karnaval and compounds | ||||
kar (wei k%ar // move default stress: karwei and derivatives | kar (wei k%ar // move default stress: karwei and derivatives | ||||
ka (sarm k%a // move default stress: kasarm and compounds | ka (sarm k%a // move default stress: kasarm and compounds | ||||
kaserne k%as&rn@ // move default stress, fix 1st e sound: kaserne 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 (sta k%a // move default stress: kastaiing and compounds | ||||
_) ka (ste@ k%a // move default stress: kasteel/kastele and compounds | _) ka (ste@ k%a // move default stress: kasteel/kastele and compounds | ||||
ka (sty k%a // move default stress: kasty/-der/-ding | ka (sty k%a // move default stress: kasty/-der/-ding | ||||
kasse (t k%asE // fix stress and e sound: kasset/-te and compounds | kasse (t k%asE // fix stress and e sound: kasset/-te and compounds | ||||
ka (strol k%a // move default stress: kastrol/-le and compounds | ka (strol k%a // move default stress: kastrol/-le and compounds | ||||
_) kata ,kata | _) 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 (dr k%at@ // katedraal/katedrale and compounds | ||||
kate (gA k%at@ // fix stress and vowel sounds: kategis/-te/kategismus and compounds/kategese/kategeet | 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 | kategorie k,at@x2ur'i // to also handle plural | ||||
kategories k,at@x2'o@ris // to move stress | kategories k,at@x2'o@ris // to move stress | ||||
K) katel kA:t@l // fix e sound of compounds: katelknop/-styl, etc. | K) katel kA:t@l // fix e sound of compounds: katelknop/-styl, etc. | ||||
katjie (pie k%aIc%i // move default stress: katjiepiering and compounds | 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 (to k%a // fix stress and a sound: katode and compounds/katoliek/katots | ||||
_) ka (tr k%a // move default stress: Katrina/katrol and compounds | _) ka (tr k%a // move default stress: Katrina/katrol and compounds | ||||
konkel kONk@l // restore default stress and fix [N] sound: konkelaar/konkelwerk, etc. | 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 (tr k%Ons@n // fix stress and e sound: konsentreer/konsentrerend/konsentrasie | ||||
konsen (trie k%Ons''En // fix stress and e sound: konsentries/-e | 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 | konsertina k%Ons@rtin%a // fix stress and vowel sounds: konsertina/-musiek and similar | ||||
konside (rA k%Ons@d@ // fix vowel sounds: konsiderasie/konsidereer | konside (rA k%Ons@d@ // fix vowel sounds: konsiderasie/konsidereer | ||||
konsist k%Ons@st // konsistorie and compounds/konsistensie | konsist k%Ons@st // konsistorie and compounds/konsistensie | ||||
konstabel k%OnstA:b@l // (hof/hoof/verkeers)konstabel/-s, etc. | 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 | konsul (A k%Ons%Wl // konsulaat/konsulate/konsulêr | ||||
kon (sul kOn // restore default stress: konsul and compounds | kon (sul kOn // restore default stress: konsul and compounds | ||||
konsul (tant k%Ons%Wl // fix stress: konsultant/-e and compounds | konsul (tant k%Ons%Wl // fix stress: konsultant/-e and compounds | ||||
_) kontra (KP6 k'Ontra // kontra is prefix | _) kontra (KP6 k'Ontra // kontra is prefix | ||||
kontra (diks k%Ontr%a // move default stress: kontradiksie/-s | kontra (diks k%Ontr%a // move default stress: kontradiksie/-s | ||||
_) kontrak k%Ontrak // move default stress: kontraksie/kontrak and compounds | _) 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 | _) kontras k%Ontras // move default stress: kontras/-te/kontrasteer | ||||
kontrasep k%Ontr%asEp // fix stress and e sound: kontrasepsie and derivatives | kontrasep k%Ontr%asEp // fix stress and e sound: kontrasepsie and derivatives | ||||
kontrover (s k%Ontr%uv&r // o and v sounds: kontroversie/kontroversieel | kontrover (s k%Ontr%uv&r // o and v sounds: kontroversie/kontroversieel | ||||
kos (tu k%Os // move default stress: kostuum and compounds | kos (tu k%Os // move default stress: kostuum and compounds | ||||
kouka (sië k%ukA: // fix stress and vowel sounds: Koukasiër/-s | kouka (sië k%ukA: // fix stress and vowel sounds: Koukasiër/-s | ||||
kou (sa@ k%@U // move default stress: kousaal/-ale | 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. | |||||
lagune l%ax2yn@ // move default stress: lagune and compounds | lagune l%ax2yn@ // move default stress: lagune and compounds | ||||
_) la (kon l%a // lakoniek/lakonies/lakonisme | _) la (kon l%a // lakoniek/lakonies/lakonisme | ||||
lamfer lA~mf@r // fix e sound: lamferdoek/-vlae, etc. (variant) | 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. | lanfer lA~mf@r // fix e sound: lanferdoek/-vlae, etc. | ||||
lam (len l%am // move default stress: lamlendeling/lamlendig/-e/-heid | lam (len l%am // move default stress: lamlendeling/lamlendig/-e/-heid | ||||
lande (ry l%and@ // move default stress: landerye/compounds of landery- | lande (ry l%and@ // move default stress: landerye/compounds of landery- | ||||
_) land (_rover _^_EN | |||||
_) lang (d@@ l%aN // langdradig/langdurig and their derivitivs | _) lang (d@@ l%aN // langdradig/langdurig and their derivitivs | ||||
_) lange (CA laN@ // e sound: langelaas/Langeberge | _) lange (CA laN@ // e sound: langelaas/Langeberge | ||||
lang (werp l%aN // move default stress: langwerpig/-e/-heid | lang (werp l%aN // move default stress: langwerpig/-e/-heid | ||||
legende l@x2End@ // move default stress; fix e sounds | legende l@x2End@ // move default stress; fix e sounds | ||||
legen (da l@x2@n // move default stress and 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 | 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 | leli (k le@l@ // fix e sound and stress: lelik and derivatives | ||||
_) lende lEnd@ // lendelam/lendene/compounds of lende | _) lende lEnd@ // lendelam/lendene/compounds of lende | ||||
lening le@n@N // banklening/sorgverlening/hulpverlening... | lening le@n@N // banklening/sorgverlening/hulpverlening... | ||||
majestu m%A:j@st%y // fix stress: majestueus/-e | majestu m%A:j@st%y // fix stress: majestueus/-e | ||||
makaber m%akA:b@r // fix stress and vowel sounds: makaber/-e/-heid | 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 | 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 | @) 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 | 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 | @) makranka makr'anka // fix stress and vowel sounds: koek(e)makranka/-s | ||||
morf (otomie m%Orf // move default stress: morfotomie | morf (otomie m%Orf // move default stress: morfotomie | ||||
_) morr (i mOr // restore default stress: morrig/morrie/-doring | _) morr (i mOr // restore default stress: morrig/morrie/-doring | ||||
_) mors (@ mOrs // restore default stress: morsaf/morsdood/morsig | _) 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 | mosa (ïek m%o@s%a // move default stress: mosaïek and compounds | ||||
mo (skee m%O // move default stress: moskee/-s and compounds | mo (skee m%O // move default stress: moskee/-s and compounds | ||||
motor mo@t@r // motorfiets/motorkar/vragmotor | motor mo@t@r // motorfiets/motorkar/vragmotor | ||||
mede (doë m%e@d@ // move default stress: mededoë/-nd | mede (doë m%e@d@ // move default stress: mededoë/-nd | ||||
_) mede (ly m%e@d@// move stress | _) mede (ly m%e@d@// move stress | ||||
mede (plig m%e@d@ // move stress: medepligtige | 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 | medisi (na@ m%Ed@s%i // fix stress and vowel sounds: medisinaal/-nale | ||||
medi (tA m%Ed%i // fix e sound: mediteer/meditering/meditasie | medi (tA m%Ed%i // fix e sound: mediteer/meditering/meditasie | ||||
medite (rre m%Ed%it@ // fix stress and vowel sounds: mediterreens/-e | medite (rre m%Ed%it@ // fix stress and vowel sounds: mediterreens/-e | ||||
mentee (C mEnt'e@ // argumenteer/dokumenteer/fragmenteer stress related | 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 | 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 | mentering mEnt'e@r@N | ||||
mekaar m@k'A:r | mekaar m@k'A:r | ||||
mekaarge m@k'A:rx2@ | mekaarge m@k'A:rx2@ | ||||
eu) n (g n // dreungeluid/kreungeluid/steungeluid/steungewend | eu) n (g n // dreungeluid/kreungeluid/steungeluid/steungewend | ||||
oo) n (g n // hoongelag/loongeld/telefoongesprek/woongeriewe and similar | oo) n (g n // hoongelag/loongeld/telefoongesprek/woongeriewe and similar | ||||
Cui) n (g n // basuingeskal/bruingebrand/bruingeel/tuingereedskap/tuingewas/tuingrond | 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 | y) n (g n // fyngoud/hooflyngesprek/langtermyngroei/kaplyngrens | ||||
ë) n (g n // split -ng-: reëngeluid/-geur/-gogga/-gordel/seëngebed | ë) n (g n // split -ng-: reëngeluid/-geur/-gogga/-gordel/seëngebed | ||||
aa) n (gas n // split n/g: metaangas and compounds and similar | aa) n (gas n // split n/g: metaangas and compounds and similar | ||||
&) n (gat n // split "ng": mangat/-e/woongat/-e/opwengat/-e | &) 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 | ng (eeR Nx2 // diftongeer/gedistingeerde/rangeer and compounds | ||||
ngees nx2e@s // split n/g: leuen-/span-/sportman-/wengees | ngees nx2e@s // split n/g: leuen-/span-/sportman-/wengees | ||||
n (_g N | n (_g N | ||||
_) na (C_ n'a //three-letter words starting with na | _) na (C_ n'a //three-letter words starting with na | ||||
na (boots nA: // long a in compounds: klank-/vlugnabootser, etc. | na (boots nA: // long a in compounds: klank-/vlugnabootser, etc. | ||||
na (burig n%A: // move default stress: naburig/-e/-heid | 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 (ï n%a_ // naïef/naïewe/naïwiteit | ||||
@) na (lis n%a // shorten a sound: joernalis/-te/-tiek | @) na (lis n%a // shorten a sound: joernalis/-te/-tiek | ||||
nami (bi n%amI // Namibië/Namibiese | nami (bi n%amI // Namibië/Namibiese | ||||
neo (li n%i%u // fix stress and vowel sounds: neolities/-e/neolitikum | neo (li n%i%u // fix stress and vowel sounds: neolities/-e/neolitikum | ||||
ner (veu n%&r // move default stress: nerveus/-e | ner (veu n%&r // move default stress: nerveus/-e | ||||
@C) nes (_ nEs // fix final e sound: doringnes/aasvoëlnes/kalkoennes/hamerkopnes/reiernes/kiewietnes | @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 | by) nes nEs // fix e sound: (perde)bynes/te | ||||
net (agtig nEt_ // fix e sound: (vis)netagtig/-e | net (agtig nEt_ // fix e sound: (vis)netagtig/-e | ||||
_) net (o nEt_ // fix o sound: netonderrok/-klere | _) net (o nEt_ // fix o sound: netonderrok/-klere | ||||
no (stalgie n%O // stress on 2nd slb.: nostalgies | no (stalgie n%O // stress on 2nd slb.: nostalgies | ||||
note (b no@t@ // fix e sound: notebalk/-e/-bank/-beurs | note (b no@t@ // fix e sound: notebalk/-e/-bank/-beurs | ||||
notule (K n%utyl@ // fix stress and vowel sounds: notule and compounds | 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 | november n%o@fEmb@r // fix 1st e sound and stress: November and compounds | ||||
ntere (ss ntr@' // interessant/interesseer/geïnteresseerd | ntere (ss ntr@' // interessant/interesseer/geïnteresseerd | ||||
n (tjie N // breintjie/fonteintjie/kleintjie | n (tjie N // breintjie/fonteintjie/kleintjie | ||||
_) ok (tA %Ok // move default stress: Oktober and compounds: Oktobermaand, etc./oktaaf/oktawe | _) 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 | ole (ander %o@l%i // fix stress and e sound: oleander and compounds | ||||
C) o (lia o@ // fix o sound: Goliat/magnolia | 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 | oliek (e_ ul'ik // mankolieke/katolieke | ||||
oliekig ul'ik@x2 // mankoliekig/-e/-heid | oliekig ul'ik@x2 // mankoliekig/-e/-heid | ||||
o (lien %u // fix stress and o sound: olien/-hout, etc. | o (lien %u // fix stress and o sound: olien/-hout, etc. | ||||
oloog ul'o@x2 // bioloog/kardioloog and similar | oloog ul'o@x2 // bioloog/kardioloog and similar | ||||
oloë ul'u@ // bioloë/kardioloë and similar | oloë ul'u@ // bioloë/kardioloë and similar | ||||
omega %o@me@x2a // omega/-s | 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 | ometrie ume@tr'i // geometrie/psigometrie | ||||
ometries um'e@tris // geometries/psigometriese | ometries um'e@tris // geometries/psigometriese | ||||
w) o (rs O: //lengthen o sound in wors compounds | w) o (rs O: //lengthen o sound in wors compounds | ||||
opper Op@r // oppergesag/wese/vlak/man | opper Op@r // oppergesag/wese/vlak/man | ||||
opper (vlakki %Op@r // move default stress: oppervlakkig/-e/-heid/-ste | opper (vlakki %Op@r // move default stress: oppervlakkig/-e/-heid/-ste | ||||
opsetlik %OpsEtl@k // move default stress: opsetlik/-e/-heid | opsetlik %OpsEtl@k // move default stress: opsetlik/-e/-heid | ||||
op (sione@ %Op // fix stress vowel and s sounds: opsioneel/-nele | |||||
optel Opt&l | optel Opt&l | ||||
_) op (@P2 'Op // opeet/opeis/optredes/opoffering | _) op (@P2 'Op // opeet/opeis/optredes/opoffering | ||||
open (+ o@p@n // open/opening/e/s | open (+ o@p@n // open/opening/e/s | ||||
peripa (t pEripa'' // fix stress and vowel sounds: peripateties/-e/peripatetikus/-se/peripatetici | 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 | 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 | @) 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 | @) perking p&rk@N // fix e sound in some words containing -perking | ||||
per (kussie p@r // fix stress and e sound: perkussie and compounds | 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 | perle (moe p%&rl@ // move default stress: perlemoen/perlemoer and compounds/reperkussie/-s | ||||
pers (om p&rs_ // fix e sound, pause: persombudsman/-ne and compounds | pers (om p&rs_ // fix e sound, pause: persombudsman/-ne and compounds | ||||
perso (neel p%&rs%u // personeel and compounds | perso (neel p%&rs%u // personeel and compounds | ||||
pervers p@rf&rs // pervers/perversie | 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 (tieter p@ // fix stress and 1st e sound: petieterig/-e/-heid | ||||
pe (tisi p@ // fix stress and e sound: petisie/petisionaris and compounds | pe (tisi p@ // fix stress and e sound: petisie/petisionaris and compounds | ||||
_) pe (trA_ pe@ // lengthen e sound: Petro/Petra | _) pe (trA_ pe@ // lengthen e sound: Petro/Petra | ||||
ph (_ f // fix ph sound: Rudolph/Joseph | ph (_ f // fix ph sound: Rudolph/Joseph | ||||
phi (lip fI | phi (lip fI | ||||
phi (lippA_ f@ // fix stress and 1st i sound: Philippa/Philippi | 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ë | pig (meA p@x2 // move default stress: pigmee/pigmeë | ||||
pi (kant p%i // move default stress: pikant/-e, etc. | pi (kant p%i // move default stress: pikant/-e, etc. | ||||
pikke (wyn p@k@ // move default stress: pikkewyn and compounds | pikke (wyn p@k@ // move default stress: pikkewyn and compounds | ||||
_) pi (la p%i // move default stress: pilaar/pilare/pilatus | _) 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 | pio (nier p%i%u // fix stress and vowel sounds: pionier and compounds | ||||
pira (mi p%ir%a // move default stress: piramide/-s/piramiedvormig | pira (mi p%ir%a // move default stress: piramide/-s/piramiedvormig | ||||
pi (sto p@ // pistool/pistole and compounds | pi (sto p@ // pistool/pistole and compounds | ||||
promisku pr%Om@sky // fix stress and o sound: promisku/-e/-íteit | promisku pr%Om@sky // fix stress and o sound: promisku/-e/-íteit | ||||
promulg (e pr%Om%Wlx2 // fix stress and vowel sounds: promulgeer/-gering | 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. | 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 | 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 | proses pr%usEs // proses/versoeningsproses/strafproseswet | ||||
projek pr%ujEk | projek pr%ujEk | ||||
rasse ras@ // e sound of compounds starting with rasse | rasse ras@ // e sound of compounds starting with rasse | ||||
ribbe (tj r'Ibi | ribbe (tj r'Ibi | ||||
riete rit@ // fix e sound: merietelys/rietedak, etc. | 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 | rinne (w r@n@ // move default stress: (ge/ver)rinneweer/-de/-der | ||||
_) ri (o r%i // move default stress: riool and compounds/riolering | _) ri (o r%i // move default stress: riool and compounds/riolering | ||||
ris (kant r@s // move default stress: riskant/-e | ris (kant r@s // move default stress: riskant/-e | ||||
rugby rWgbi | rugby rWgbi | ||||
ru (dolC ru // fix u sound: rudolf | ru (dolC ru // fix u sound: rudolf | ||||
_) rug (A@ r''Wx2_ // fix u sound, pause: rugoefeninge/-operasie and similar | _) 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 | ru (moer r%W // fix stress and u sound: rumoer/-ig/-heid | ||||
rusper (C rWsp@r // fix e sound: rusperband/-tjie/-trekker and similar | rusper (C rWsp@r // fix e sound: rusperband/-tjie/-trekker and similar | ||||
ru (ïn r%y_ // move default stress: ruïne/-s | ru (ïn r%y_ // move default stress: ruïne/-s | ||||
o) rene r@n@ // eersgeborene/uitverkorenes | o) rene r@n@ // eersgeborene/uitverkorenes | ||||
re (geer r@ // regeer/geregeer; stress to end | re (geer r@ // regeer/geregeer; stress to end | ||||
reger (A r@x2e@r // regering/regerende | reger (A r@x2e@r // regering/regerende | ||||
repertoire r%Ep@rtwA:r // repertoire and compounds | |||||
re (sensA r@ // resensie/-s/resenseer/resensent | re (sensA r@ // resensie/-s/resenseer/resensent | ||||
reser (v r@s@r // fix stress and e sounds: (ge)reserveer/reservering | 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 | 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 r@spEk | ||||
respek (teer r@sp%Ek // stress to end | respek (teer r@sp%Ek // stress to end | ||||
&) rele (_ r'e@l@ | &) rele (_ r'e@l@ | ||||
_) sebra se@bra // fix vowel sounds: sebra/-strepe; variant of zebra | _) sebra se@bra // fix vowel sounds: sebra/-strepe; variant of zebra | ||||
se (ggA s& // fix e sound: niksseggend/-e | 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 | @) 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 | seks (tant s%Eks // move default stress: sekstant and compounds | ||||
sekste (t s%EkstE // fix stress and 2nd e sound: sekstet/-te | sekste (t s%EkstE // fix stress and 2nd e sound: sekstet/-te | ||||
selek (CA s@lEk //seleksie selekteer etc. | selek (CA s@lEk //seleksie selekteer etc. | ||||
sen (sorie s%En // move default stress: sensories/-e | sen (sorie s%En // move default stress: sensories/-e | ||||
senter sEnt@r // fix e sound: binne-/buite-/Springboksenter | 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 | @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.) | seroto (ni s%Er@t%u // fix stress and vowel sounds: serotonien(vlakke, etc.) | ||||
sitrus s'itr%Ws_ //i sound and stress in compounds | sitrus s'itr%Ws_ //i sound and stress in compounds | ||||
sa (tanie s%A: | sa (tanie s%A: | ||||
sa (tir s%a // move default stress: satire/satiries/-e | sa (tir s%a // move default stress: satire/satiries/-e | ||||
sa (turnu s%a // fix stress and a sound: saturnus and compounds | 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 | sav (annA s%av // fix stress and v sound: savanna/-s/savanne | ||||
_) schu (C Su // fix u sound: Schubert/Schultz/Schumann/Schumacher | _) schu (C Su // fix u sound: Schubert/Schultz/Schumann/Schumacher | ||||
_) sedan s@dan // fix stress and e sound: sedan/-s/sedanmotor, etc. | _) sedan s@dan // fix stress and e sound: sedan/-s/sedanmotor, etc. | ||||
skerpi (oen sk%&rp%i // move default stress: skerpioen/-e and compounds | 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 | 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 | 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 | skole sko@l@ // fix e sound in compounds: skolebeheerliggaam/-koor/-rugby/-wedstryd/-wet | ||||
sko (lier sk%o@ // move default stress: skolier/-e | sko (lier sk%o@ // move default stress: skolier/-e | ||||
skoppel (maa sk%Op@l // move default stress: skoppelmaai/-e/-er/-s | skoppel (maa sk%Op@l // move default stress: skoppelmaai/-e/-er/-s | ||||
skrif (A skrIf_ // i sound: (hand)skrifontleder/skrifuitleg/tydskrifadvertensie/-afdeling/-artikel | skrif (A skrIf_ // i sound: (hand)skrifontleder/skrifuitleg/tydskrifadvertensie/-afdeling/-artikel | ||||
skuld (erken skWlt_ // fix d sound: skulderkenning/-s/-erkentenis | skuld (erken skWlt_ // fix d sound: skulderkenning/-s/-erkentenis | ||||
skyn (hei sk%eIn // move default stress: skynheilig/-e/-heid | 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 | 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 (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. | sla (we slA: // fix stress and a sound: slawearbeid/-er, etc. | ||||
standerd (@ st%and@rt // compounds starting with standerd | standerd (@ st%and@rt // compounds starting with standerd | ||||
stand (houde st%ant // move default stress: standhoudend/-e/-heid | stand (houde st%ant // move default stress: standhoudend/-e/-heid | ||||
stand (vasti st%ant // move default stress: (on)standvastig/-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 | stapel stA:p@l // fix e sound: (op)stapeling/stapelaar | ||||
staties st'A:tis | staties st'A:tis | ||||
sta (tutA st%a // fix stress and a sound: statute/statutêr | sta (tutA st%a // fix stress and a sound: statute/statutêr | ||||
_) trak (ta tr%ak // move default stress: traktaat/traktate | _) trak (ta tr%ak // move default stress: traktaat/traktate | ||||
_) trans (@P5 tr%ans // transatlanties/transformasie/transoranje/Transvaal, etc. | _) trans (@P5 tr%ans // transatlanties/transformasie/transoranje/Transvaal, etc. | ||||
_) trans (aksie tr%ans // remove small break: transaksie/-s and compounds | _) 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 | transito tr%ansit%u // trans not prefix: transitorooftog and similar | ||||
transport tr%anspOrt // fix stress: transport and compounds | transport tr%anspOrt // fix stress: transport and compounds | ||||
trap (orr trap_ // shorten a sound: traporrel/-tjie/-s and compounds | trap (orr trap_ // shorten a sound: traporrel/-tjie/-s and compounds | ||||
_) ter (l t@r // move default stress: terloops/-e | _) ter (l t@r // move default stress: terloops/-e | ||||
@) term (_ t&r@m // correct pronunciation of e | @) term (_ t&r@m // correct pronunciation of e | ||||
@) terme (_ t&rm@ // correct pronunciation of 1st 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 (miet t%&r // move default stress: termiet/-e and compounds | ||||
_) ter (w t@r // stress and e sound: terwyl/terwille | _) ter (w t@r // stress and e sound: terwyl/terwille | ||||
sin) te (ti te@ //sintetiseer, compounds and derivatives | sin) te (ti te@ //sintetiseer, compounds and derivatives | ||||
&) tel (_ t@l | &) tel (_ t@l | ||||
ge) tel (_ t&l // fix e sound: bymekaargetel/oorgetel, etc. | |||||
teleur t@lY@r // teleur/teleurstelling/teleurgesteld | teleur t@lY@r // teleur/teleurstelling/teleurgesteld | ||||
&) tels (_ t@ls | &) tels (_ t@ls | ||||
sleu) tel t@l //sleutel in compounds | sleu) tel t@l //sleutel in compounds | ||||
uit (voerig %Yyt // move stress: uitvoerig/-e/-heid | uit (voerig %Yyt // move stress: uitvoerig/-e/-heid | ||||
uit (wisba %Yyt // move default stress: (on)uitwisbaar/-bare/-baarheid | uit (wisba %Yyt // move default stress: (on)uitwisbaar/-bare/-baarheid | ||||
_) uitge (@P5 'Yytx2@ // words beginning with uitge have stress on 1st slb | _) 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 | uitgewerk Yytx2@v&rk // uitgewerk and derivatives; see rule: uitgewer | ||||
uitgewerp Yytx2@v&rp // fix vowel sounds, see rule: uitgewer | uitgewerp Yytx2@v&rp // fix vowel sounds, see rule: uitgewer | ||||
uitke (n YytkE // mix e sound: uitken | uitke (n YytkE // mix e sound: uitken | ||||
vere (_ fe@r@ // fix e sound: vere and compounds ending in vere | vere (_ fe@r@ // fix e sound: vere and compounds ending in vere | ||||
ve (st fE // fix e sound: huweliksbevestiger/-bevestiging | ve (st fE // fix e sound: huweliksbevestiger/-bevestiging | ||||
_) vet (A fEt_ // fix e sound, pause: vetafskeiding/-olie/-oplossing, etc. | _) 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 | vete (ra f%Et@ // fix stress and e sounds: veteraan/-ane and compounds | ||||
veter (K fe@t@r // (skoen)veter/-s, etc. | veter (K fe@t@r // (skoen)veter/-s, etc. | ||||
_) veto (reg fe@t%u // fix o sound: vetoreg/-te | _) veto (reg fe@t%u // fix o sound: vetoreg/-te | ||||
vol (kome f%Ol | vol (kome f%Ol | ||||
vo (llA_ fO // volle/vollê/Volla - exception to: vo (lC f%O | 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... | 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 | vo (ller fO // exception to: vo (lC f%O | ||||
volles (_ fOl@s // fix stress and e sound: volles/passievolles, etc. | volles (_ fOl@s // fix stress and e sound: volles/passievolles, etc. | ||||
vol (hou_ fOl // exception to: vo (lC f%O | vol (hou_ fOl // exception to: vo (lC f%O | ||||
vol (mane fOl // exception to: vo (lC f%O | vol (mane fOl // exception to: vo (lC f%O | ||||
vol (prop 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 (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 (sk fOl // restore default stress: volskaalse/-skaduwee/-skerm/-skiet, etc. | ||||
vol (ste_ fOl // exception to: vo (lC f%O | vol (ste_ fOl // exception to: vo (lC f%O | ||||
vol (sto fOl // volstof/volstoom/volstop/volstort; exception to: vo (lC f%O | vol (sto fOl // volstof/volstoom/volstop/volstort; exception to: vo (lC f%O | ||||
nd) w v // aandwandeling/brandweer/eindwedstryd/grondwet/grondwal | nd) w v // aandwandeling/brandweer/eindwedstryd/grondwet/grondwal | ||||
Cod) w v // fix w sound: godwelgevallig/godweet/godwees | Cod) w v // fix w sound: godwelgevallig/godweet/godwees | ||||
k) w w | k) w w | ||||
k) w (erC v // fix w sound: wrakwerf/-werwe | |||||
volks) w v // fix w sound: Volkswagen/volkswelsyn/-weldoener, etc. | volks) w v // fix w sound: Volkswagen/volkswelsyn/-weldoener, etc. | ||||
k) w (And v // fix w sound: buikwand/rukwinde | k) w (And v // fix w sound: buikwand/rukwinde | ||||
s) w w | s) w w | ||||
@) 'tjie %ici // foto'tjie/ma'tjie, etc. | @) 'tjie %ici // foto'tjie/ma'tjie, etc. | ||||
K) á (CK '!a // extra stress: kán/wás and similar | K) á (CK '!a // extra stress: kán/wás and similar | ||||
áá '!A: // extra stress: dáár/dáár 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) ék (_ '&k // fix e sound and stress: ék/gék | ||||
K) é (CK '!E // extra stress: hét/nét and similar | K) é (CK '!E // extra stress: hét/nét and similar | ||||
éé '!e@ // extra stress: één, etdc. | éé '!e@ // extra stress: één, etdc. | ||||
ék (_ '!&k // ekstra stress: ék/plék | ék (_ '!&k // ekstra stress: ék/plék | ||||
ə @ // char.replacement for 'n | ə @ // char.replacement for 'n | ||||
_C) è (_ E // dè/nè | _C) è (_ E // dè/nè | ||||
éú '!Y@ // stressed syllable | |||||
ê e: | ê e: | ||||
l) êer &:@r // fix ê sound: lêer and compounds | l) êer &:@r // fix ê sound: lêer and compounds | ||||
ï (nsp @ // geïnspireer/-de | ï (nsp @ // geïnspireer/-de | ||||
ï (nt @ // geïnteresseerd | ï (nt @ // geïnteresseerd | ||||
ï (nC 'I // beïndruk/beïnvloed | ï (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 | ïsol %is%ul // geïsoleer/-d | ||||
K) ó (CK '!O // extra stress: óf/kón and similar | K) ó (CK '!O // extra stress: óf/kón and similar | ||||
óé '!u // extra stress: móét/sóék and similar | óé '!u // extra stress: móét/sóék and similar | ||||
ûe W:@ // brûe/rû | ûe W:@ // brûe/rû | ||||
ý '!eI // extra stress: jý/mý/sý and similar | ý '!eI // extra stress: jý/mý/sý and similar | ||||
ñ _^_ES // words containing ñ are Spanish: senñor/-a/-ita | ñ _^_ES // words containing ñ are Spanish: senñor/-a/-ita | ||||
// punctuation | // punctuation | ||||
! _:eItrup_: | ! _:eItrup_: | ||||
!) ! | !) ! | ||||
$ dOl@r | $ dOl@r | ||||
__) - (_D minWs | __) - (_D minWs | ||||
A_) - (_D _ | A_) - (_D _ | ||||
C_) - (_D _ | C_) - (_D _ | ||||
_> ma#Z;'o||_:_:k@ | _> ma#Z;'o||_:_:k@ | ||||
_' a#p'Ost**'Uf | _' a#p'Ost**'Uf | ||||
_" kUm'Et@s | _" kUm'Et@s | ||||
_$ dola#r | |||||
- m'En^s | - m'En^s | ||||
__ b'aRR2a#||B'ajS;a# | __ b'aRR2a#||B'ajS;a# | ||||
_/ ba*Ra | _/ ba*Ra | ||||
_` a#ks'Ent,UB'E**t | _` a#ks'Ent,UB'E**t | ||||
_( 'ob**@||pa#**'Ent@zis | _( 'ob**@||pa#**'Ent@zis | ||||
_) t'anka#||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 | _{ 'ob**@||kl'aws | ||||
_} t'anka#||kl'aws | _} t'anka#||kl'aws | ||||
_« 'ob**@||kUm'Et@s | _« 'ob**@||kUm'Et@s | ||||
@ a*R'oBa | @ a*R'oBa | ||||
/ ba*Ra | / ba*Ra | ||||
© kopi*R'aIt | © kopi*R'aIt | ||||
£ lliur**@s | |||||
£ lliu**@s | |||||
¶ pa#**'aQ**a#f | ¶ pa#**'aQ**a#f | ||||
§ a#pa#**t'at // o secció? | § a#pa#**t'at // o secció? | ||||
b be | b be | ||||
c se | c se | ||||
ç se,tr@nkaDa# | |||||
ç se,t**@nkaDa# | |||||
d de | d de | ||||
f Efa# | f Efa# | ||||
g Je | g Je |
.L02 h l r s v w y z // continuants, not f | .L02 h l r s v w y z // continuants, not f | ||||
.L03 f h r s v w y z // continuants, not l | .L03 f h r s v w y z // continuants, not l | ||||
.L04 i í e é è // front vowels | .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 | .L09 b d g m v l n d z r q // sonors | ||||
.L10 a e o // vocals fortes | .L10 a e o // vocals fortes | ||||
.L11 i u // vocals febles | .L11 i u // vocals febles | ||||
m m | m m | ||||
_) m' (P2 m | _) m' (P2 m | ||||
mp (K m | mp (K m | ||||
ment (_ m'Ent | |||||
// ment (_ m'En // ?? | |||||
.group n | .group n | ||||
e) n (_ n // except after e, i | e) n (_ n // except after e, i | ||||
i) n (_ n | i) n (_ n | ||||
nt (K n | nt (K n | ||||
nt (_ =n | |||||
ny n^ | ny n^ | ||||
b) n (@ m | b) n (@ m | ||||
v) n (@ m | v) n (@ m | ||||
.group o | .group o | ||||
o o | o o | ||||
or (_ 'or | |||||
or (_ 'o* | |||||
ou Ow | ou Ow | ||||
.group r | .group r | ||||
r R | r R | ||||
_) r RR2 | |||||
_) r *R | |||||
r (_ = // final r is silent, but stress the vowel | r (_ = // final r is silent, but stress the vowel | ||||
r (t ** | r (t ** | ||||
A) r (A ** | A) r (A ** | ||||
m) r (A R | m) r (A R | ||||
n) r (A R | n) r (A R | ||||
s) r (A R | s) r (A R | ||||
rr RR2 | |||||
rr *R | |||||
.group s | .group s | ||||
.group x | .group x | ||||
x ks | x ks | ||||
_e) x dz | |||||
_è) x dz | |||||
_A) x gz | |||||
_A) x (L05 ks | |||||
K) x S; | K) x S; | ||||
Ai) x S; | Ai) x S; | ||||
Au) x S; | Au) x S; | ||||
g) ü w | g) ü w | ||||
ñ n^ | ñ n^ | ||||
$ dola#r | |||||
$ dola#* |
_18 '_axttse:n | _18 '_axttse:n | ||||
_19 'nOYntse:n | _19 'nOYntse:n | ||||
_2X 'tsvantsIC | _2X 'tsvantsIC | ||||
_3X 'd@-*aItsIC | |||||
_3X 'd@-*aIsIC | |||||
_4X 'fi:*tsIC | _4X 'fi:*tsIC | ||||
_5X 'fynftsIC | _5X 'fynftsIC | ||||
_6X 'zEktsIC | _6X 'zEktsIC |
* ** : ; b B d D | * ** : ; b B d D | ||||
dZ; f g j J J^ k l | 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 | Dictionary cs_dict | ||||
* ** : b B d D f | * ** : b B d D f | ||||
g j J J^ k l m n | 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 | Dictionary fi_dict | ||||
t tS v w x z | 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 | Dictionary nl_dict | ||||
8 @ @- A a: E e: EI | 8 @ @- A a: E e: EI |
_₠ jU@roU | _₠ jU@roU | ||||
# haS $max3 | # haS $max3 | ||||
@ _at_ | |||||
& _and | |||||
@ _at_ $u+ | |||||
& _and $u+ | |||||
\ bakstroUk $max3 | \ bakstroUk $max3 | ||||
/ stroUk $max3 | / stroUk $max3 | ||||
?3 \ bakslaS $max3 | ?3 \ bakslaS $max3 | ||||
_dpt pOInt | _dpt pOInt | ||||
_roman roUm@n_ | _roman roUm@n_ | ||||
_0st st | |||||
_0nd @nd | |||||
_0rd d | |||||
_0th T | |||||
_ord T // default ending | _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 | _0Co h'Vndr@dT | ||||
?5 accursed a2kVRsI2d | ?5 accursed a2kVRsI2d | ||||
achille a2kIli: | achille a2kIli: | ||||
aching eIkI2N | aching eIkI2N | ||||
achy eIkI | |||||
adam ad@m | adam ad@m | ||||
adamant ad@m@nt | adamant ad@m@nt | ||||
add ad | add ad | ||||
authoritative O:T'0rI2t@tIv | authoritative O:T'0rI2t@tIv | ||||
autograph O:t@graf | autograph O:t@graf | ||||
auto O:toU | auto O:toU | ||||
autocracy O:t'0kr@sI | |||||
automobile O:t@m@bi@l | automobile O:t@m@bi@l | ||||
autonomous O:t'0n@m@s | autonomous O:t'0n@m@s | ||||
autopsy O:t0psI | autopsy O:t0psI | ||||
canoe k@nu: | canoe k@nu: | ||||
canoes k@nu:z | canoes k@nu:z | ||||
canton kant0n | canton kant0n | ||||
canvas kanv@s | |||||
capitol kapIt@L | capitol kapIt@L | ||||
caprice ka2pr'i:s | caprice ka2pr'i:s | ||||
caramel kar@mEl | caramel kar@mEl | ||||
charade Sa2rA:d | charade Sa2rA:d | ||||
charismatic karIsm'atIk | charismatic karIsm'atIk | ||||
charit tSarIt // charitable | charit tSarIt // charitable | ||||
chic Si:k | |||||
chisel tSIz@L | |||||
chocolate tS0kl@t | chocolate tS0kl@t | ||||
cholera k0l@r@ | cholera k0l@r@ | ||||
cholesterol k@lEst@r0l | cholesterol k@lEst@r0l | ||||
copier k0pi@3 | copier k0pi@3 | ||||
coral k0r@L | coral k0r@L | ||||
coronet k0r@nEt | coronet k0r@nEt | ||||
corollary $2 | |||||
corporal kO@pr@L | corporal kO@pr@L | ||||
corporate kO@p@r@t | corporate kO@p@r@t | ||||
corps kO@ $only | corps kO@ $only | ||||
hostage h0stI2dZ | hostage h0stI2dZ | ||||
hostess hoUstEs | hostess hoUstEs | ||||
hotel hoUt'El | hotel hoUt'El | ||||
hotkey h0tki: | |||||
house haUz $verb | house haUz $verb | ||||
however $2 | however $2 | ||||
howto haUtu: | howto haUtu: | ||||
paltry pO:ltrI | paltry pO:ltrI | ||||
panacea pana2s'i:@ | panacea pana2s'i:@ | ||||
panache $2 | panache $2 | ||||
pancreas pankri@s | |||||
parabola p@rab@l@ | parabola p@rab@l@ | ||||
paralysis p@ral@sIs | paralysis p@ral@sIs | ||||
parameter p@ramI2t3 | parameter p@ramI2t3 | ||||
sibelius sI2beIli@s | sibelius sI2beIli@s | ||||
sierra sI'e@r@ | sierra sI'e@r@ | ||||
signage saInI2dZ | signage saInI2dZ | ||||
signal sIgn@l // signaled | |||||
signer saIn3 | signer saIn3 | ||||
sikh si:k | sikh si:k | ||||
silhouette sI2lUw'Et | silhouette sI2lUw'Et | ||||
vengeance vEndZ@ns | vengeance vEndZ@ns | ||||
venus vi:n@s | venus vi:n@s | ||||
versus v3:sI2z | versus v3:sI2z | ||||
vertices v3:tIsi:z | |||||
vestige vEstI2dZ | vestige vEstI2dZ | ||||
vex vEks // for vexed | vex vEks // for vexed | ||||
vicar vIk3 | vicar vIk3 | ||||
Oregon 0rI2g@n | Oregon 0rI2g@n | ||||
Pacific pa2sIfIk | Pacific pa2sIfIk | ||||
Palestine pal@staIn | Palestine pal@staIn | ||||
Palestinian pal@st'Ini:@n | |||||
Palestinia pal@st'Ini:@ | |||||
Panama pan@mA: | Panama pan@mA: | ||||
Paris parIs | Paris parIs | ||||
Peking pi:k'IN | Peking pi:k'IN | ||||
Sicily sIsI2lI | Sicily sIsI2lI | ||||
Slovak sloUvak | Slovak sloUvak | ||||
Seoul soUl | Seoul soUl | ||||
(sri lanka) sr,i:||l'anka2 | |||||
Sri sr,i: // Sri Lanka(n) | |||||
Sudan su:d'an | Sudan su:d'an | ||||
Suez su:I2z | Suez su:I2z | ||||
Sulawesi su:la2w'eIsI | Sulawesi su:la2w'eIsI | ||||
Xhosa kO:s@ | Xhosa kO:s@ | ||||
zaire zaI'i@3 | zaire zaI'i@3 | ||||
zimbabwe zI2mbA:bwI | zimbabwe zI2mbA:bwI | ||||
zimbabwean zI2mbA:bwI@n | |||||
Aaron e@r@n | Aaron e@r@n | ||||
Abe eIb | Abe eIb | ||||
Geraint gEraInt | Geraint gEraInt | ||||
Gibbs gIbz | Gibbs gIbz | ||||
Giles gaIlz | Giles gaIlz | ||||
Gladys gladIs | |||||
Glynn glIn | Glynn glIn | ||||
Graeme greI@m | Graeme greI@m | ||||
Graham greI@m | Graham greI@m | ||||
Muhammad moUh'amI2d | Muhammad moUh'amI2d | ||||
Moira mOIr@ | Moira mOIr@ | ||||
Natalie nata2li | Natalie nata2li | ||||
Natasha $2 | |||||
Nathan neIT@n | Nathan neIT@n | ||||
Neville nEvIl | Neville nEvIl | ||||
Nicholas nIk@l@s | Nicholas nIk@l@s | ||||
I aI $u+ $verbf $only | I aI $u+ $verbf $only | ||||
(I am) %aIa2m | (I am) %aIa2m | ||||
(I am) %aIam $atend | |||||
he %hi: $verbsf | he %hi: $verbsf | ||||
she %Si: $only $verbsf | she %Si: $only $verbsf | ||||
it %It $verbsf | it %It $verbsf |
conva (l k0nv@ | conva (l k0nv@ | ||||
_) co (nvoy k0 | _) co (nvoy k0 | ||||
_) copy k0pI | _) copy k0pI | ||||
coro (lla k@r0 | |||||
coro (ll k0r0 | |||||
co (rrect k@ | co (rrect k@ | ||||
correspo k,0rIsp'0 | correspo k,0rIsp'0 | ||||
co (rro k@ | co (rro k@ | ||||
@f) ed (_S2vdei t | @f) ed (_S2vdei t | ||||
@g) ed (_S1vi d | @g) ed (_S1vi d | ||||
@k) ed (_S2vdei t | @k) ed (_S2vdei t | ||||
el) ed (_S2dv d | |||||
&en) ed (_S2v d | &en) ed (_S2v d | ||||
cl) ed (_S1v d | cl) ed (_S1v d | ||||
@p) ed (_S2vdei t | @p) ed (_S2vdei t | ||||
ie I | ie I | ||||
ie (_ I | ie (_ I | ||||
ied (_S2i d // suffix | ied (_S2i d // suffix | ||||
ieds (_S3i dz | |||||
ie (c aI | ie (c aI | ||||
ie (ce i: | ie (ce i: | ||||
ie (_ aI | ie (_ aI | ||||
@) ingment (_S7dve I2Ng-m@nt | @) ingment (_S7dve I2Ng-m@nt | ||||
logu) ing (_S4v I2N | logu) ing (_S4v I2N | ||||
x) ing (_+S3v I2N | x) ing (_+S3v I2N | ||||
el) ing (_+S3dv I2N | |||||
@@om) ing (_S3dv I2N | @@om) ing (_S3dv I2N | ||||
en) ing (_S3v I2N | en) ing (_S3v I2N | ||||
en) ings (_S4v I2Nz | en) ings (_S4v I2Nz | ||||
_f) or (@ O@ | _f) or (@ O@ | ||||
_f) ore (A O@ | _f) ore (A O@ | ||||
f) or (k O@ | f) or (k O@ | ||||
_f) or (s@ %O@ | |||||
ch) or (d O@ | ch) or (d O@ | ||||
l) or (d O@ | l) or (d O@ | ||||
_m) or O@ | _m) or O@ | ||||
c) over Vv3 | c) over Vv3 | ||||
c) ov (et Vv | c) ov (et Vv | ||||
d) ove Vv | d) ove Vv | ||||
g) ov (ern Vv | |||||
g) overn Vv3n | |||||
sh) ov (+ Vv | sh) ov (+ Vv | ||||
h) ov (el 0v | h) ov (el 0v | ||||
h) ov (er 0v | h) ov (er 0v | ||||
.group ow | .group ow | ||||
ow oU | ow oU | ||||
ow (itz =oUv | |||||
ow (itz_ =oUv | |||||
ow (ay_ @w | ow (ay_ @w | ||||
kn) owle (d 0lI | kn) owle (d 0lI | ||||
_) ow (l aU | _) ow (l aU | ||||
ras) p (b | ras) p (b | ||||
_) pur (su p3 | _) pur (su p3 | ||||
put (_ pUt | put (_ pUt | ||||
s) put (_ pVt | |||||
pyon pj0n | pyon pj0n | ||||
_) pyro (@@P4 p,aIroU | _) pyro (@@P4 p,aIroU | ||||
pyrom (e paIr'0m | pyrom (e paIr'0m | ||||
@) u (late =jU | @) u (late =jU | ||||
@) u (lar =jU | @) u (lar =jU | ||||
@) u (lum =jU | @) u (lum =jU | ||||
@) uli (_ =jUlaI | |||||
&) u (lous_ =jU | &) u (lous_ =jU | ||||
ll) u (l ju: | ll) u (l ju: | ||||
j) u (li u: | j) u (li u: |
_0M4 duili'ono | _0M4 duili'ono | ||||
_dpt _komo_ | _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 | // accent names | ||||
_lig ligat'uRa | _lig ligat'uRa | ||||
_acu dekst@-*ak'oRna | _acu dekst@-*ak'oRna |
a a | a a | ||||
aj aI | aj aI | ||||
aŭ aU | 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 | .group b |
^ TiRkumfl'exo | ^ TiRkumfl'exo | ||||
€ eU**o | € eU**o | ||||
% pOrTj'Ento $max3 | |||||
% pO**Tj'Ento $max3 | |||||
& ampERs'ant | & ampERs'ant | ||||
@ a*R'oBa | @ a*R'oBa | ||||
/ ba*Ra | / ba*Ra |
ü u | ü u | ||||
ñ n^ | ñ n^ | ||||
$ d'Olar | |||||
$ d'Ola* | |||||
_) - (_D m'EnOs | _) - (_D m'EnOs | ||||
A_) - (_D _ | A_) - (_D _ |
// 2006-11-18 Gilles Casse <[email protected]> | // 2006-11-18 Gilles Casse <[email protected]> | ||||
// | // | ||||
// Updated 2009-01-14 Michel Such <[email protected]> | |||||
// Updated 2009-02-01 Michel Such <[email protected]> | |||||
// | // | ||||
// * Numbers, a few abbreviations and exceptions. | // * Numbers, a few abbreviations and exceptions. | ||||
// | // | ||||
_' a2postr'Of | _' a2postr'Of | ||||
_( 'uvR@-parA~t'Ez | _( 'uvR@-parA~t'Ez | ||||
_) f'Erm parA~t'Ez | _) f'Erm parA~t'Ez | ||||
_* asterisk: | |||||
_, virgyl | _, virgyl | ||||
_- tirE | _- tirE | ||||
_. _|pw%E~ | _. _|pw%E~ | ||||
_§ sEksj'O~ | _§ sEksj'O~ | ||||
// symbols that are normally spoken when reading text | // symbols that are normally spoken when reading text | ||||
@ arobaz | |||||
% pursA~ $max3 | |||||
* asterisk: $max3 | |||||
@ _!arobaz | |||||
% pursA~ $max3 | |||||
& e $u $brk | & e $u $brk | ||||
_& _e_komErsj'al | _& _e_komErsj'al | ||||
* asterisk: $max3 | |||||
+ plys $max3 | + plys $max3 | ||||
~ tilde | ~ tilde | ||||
€ @ro | € @ro | ||||
_41 karA~te:W~ | _41 karA~te:W~ | ||||
_5X sE~kA~t | _5X sE~kA~t | ||||
_51 sE~kA~te:W~ | _51 sE~kA~te:W~ | ||||
_6X swAsA~t | |||||
_6X swAsA~t: | |||||
_61 swAsA~te:W~ | _61 swAsA~te:W~ | ||||
_7X swAsA~t:diz3 | |||||
_71 swAsA~te:O~z | _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 | _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~ | _0C sA~ | ||||
_1C0 sA~t2 | _1C0 sA~t2 | ||||
_0M1 mil | _0M1 mil | ||||
//some numbers have special pronunciation in Belgium and Switzerland | //some numbers have special pronunciation in Belgium and Switzerland | ||||
?2 _7X sEptA~t | ?2 _7X sEptA~t | ||||
?2 _71 sEptA~te:W~ | ?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 _9X no2nA~t | ||||
?2 _91 no2nA~te:W~ | ?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 | (21 ème) vE~te:yniEm | ||||
(31 ème) tRA~te:yniEm | (31 ème) tRA~te:yniEm | ||||
ibm $abbrev | ibm $abbrev | ||||
ide $abbrev | ide $abbrev | ||||
ip $abbrev | ip $abbrev | ||||
jaws dZ'O2wz | |||||
jaws dZ'awz | |||||
kde $abbrev | kde $abbrev | ||||
kg kilogram | kg kilogram | ||||
khz kiloE2rts | khz kiloE2rts | ||||
xy $abbrev | xy $abbrev | ||||
dr dOkt Wr $dot $capital | |||||
dr dOktWr $dot $capital | |||||
prof $dot | prof $dot | ||||
pr professeur $text *dot $capital | |||||
assez $u+ | assez $u+ | ||||
beaucoup $u+ | beaucoup $u+ | ||||
peu $u+ | peu $u+ | ||||
peu $noun | |||||
très $u | très $u | ||||
// negative | // negative | ||||
pas $u+ | pas $u+ | ||||
pas $noun | pas $noun | ||||
plus $u+ | plus $u+ | ||||
plus $noun | |||||
guère $u+ | guère $u+ | ||||
jamais $u+ | jamais $u+ | ||||
non nO~ $u+ | non nO~ $u+ | ||||
sont $u+ $verb | sont $u+ $verb | ||||
fus $u+ $verb | fus $u+ $verb | ||||
fut $u+ $verb | |||||
fut fyt2 $u+ $verb | |||||
fût fyt2 $u+ $verb | |||||
fûmes $u+ $verb | fûmes $u+ $verb | ||||
fûtes $u+ $verb | fûtes $u+ $verb | ||||
furent $u+ | furent $u+ | ||||
eus yz2 $u+ | eus yz2 $u+ | ||||
eut yt2 $u+ $verb | eut yt2 $u+ $verb | ||||
eût yt2 $u+ $verb | |||||
eûmes $u+ $verb | eûmes $u+ $verb | ||||
eûtes $u+ $verb | eûtes $u+ $verb | ||||
eurent yrt2 $u+ | eurent yrt2 $u+ | ||||
mapper _^_en | mapper _^_en | ||||
mars mars | mars mars | ||||
mieux mj'Y $u+ | mieux mj'Y $u+ | ||||
mrs _^_en | |||||
ours urs | ours urs | ||||
parangon parA~gO~ | parangon parA~gO~ | ||||
phallus falys | phallus falys | ||||
polder pOldEr | polder pOldEr | ||||
premier pr@mjer2 | premier pr@mjer2 | ||||
(program files) pr,o2gram||f'ajlz | |||||
program _^_en | |||||
quit _^_en | |||||
scanner skaner2 | scanner skaner2 | ||||
scanner skanWr $noun | scanner skanWr $noun | ||||
sir _^_EN | |||||
souris suri | souris suri | ||||
sus sys | sus sys | ||||
sus sy $verb | sus sy $verb | ||||
get _^_en | get _^_en | ||||
google gu:gWl | google gu:gWl | ||||
gnome gnOm | gnome gnOm | ||||
gnu gnu | |||||
gnu $abbrev | |||||
hamburger hA~b@rgWr | hamburger hA~b@rgWr | ||||
help _^_en | help _^_en | ||||
hot _^_en | hot _^_en | ||||
futuna futuna | futuna futuna | ||||
zimbabwe zimbabwe | zimbabwe zimbabwe | ||||
pest $1 | |||||
// 2006-11-18 Gilles Casse <[email protected]> | // 2006-11-18 Gilles Casse <[email protected]> | ||||
// | // | ||||
// Updated: 2009-01-14 Michel Such <[email protected]> | |||||
// Updated: 2009-02-19 Michel Such <[email protected]> | |||||
// | // | ||||
// Letter classes: | // Letter classes: | ||||
_AC) ind (er_ _^_en // finder, reminder | _AC) ind (er_ _^_en // finder, reminder | ||||
ize (X _^_en // realize | ize (X _^_en // realize | ||||
dr) i (ve _^_en | dr) i (ve _^_en | ||||
ram_f) i (le _^_en | |||||
.group î | .group î | ||||
// group o: English section | // group o: English section | ||||
oa (X _^_en // approach, load | oa (X _^_en // approach, load | ||||
oa (CeX _^_en | |||||
oa (CerX _^_en | |||||
oach _^_en | oach _^_en | ||||
old (er_ _^_en // folder, older | old (er_ _^_en // folder, older | ||||
C) oing (_ _^_en // going | C) oing (_ _^_en // going | ||||
-) t (- t2 | -) t (- t2 | ||||
_) t' (P2v t | _) t' (P2v t | ||||
Vn) t (_ t2 | Vn) t (_ t2 | ||||
A) t (- t2 | |||||
t (_ | t (_ | ||||
peti) t (_ t2 | peti) t (_ t2 | ||||
_) th t // thon | _) th t // thon | ||||
.group x | .group x | ||||
x ks | x ks | ||||
_) x (A gz // xylophone | |||||
xml (_S3 _!iksEmEl | |||||
e) x (A gz // exagérer exemple | e) x (A gz // exagérer exemple | ||||
L03e) x (A ks // annexe, vexer | L03e) x (A ks // annexe, vexer | ||||
_ine) x (A gz | _ine) x (A gz |
4 4 | 4 4 | ||||
5 5 | 5 5 | ||||
6 6 | 6 6 | ||||
7 1 | |||||
8 3 | |||||
9 6 | |||||
7 7 |
58 phoneme tables | |||||
59 phoneme tables | |||||
new total | new total | ||||
base 103 103 | base 103 103 | ||||
base2 24 122 | base2 24 122 | ||||
no 28 129 | no 28 129 | ||||
is 33 129 | is 33 129 | ||||
vi 41 140 | vi 41 140 | ||||
zhy 40 136 | |||||
zhy 41 137 | |||||
zh 66 154 | zh 66 154 | ||||
sw 14 112 | sw 14 112 | ||||
tr 18 127 | tr 18 127 | ||||
ne 18 157 | ne 18 157 | ||||
mr 1 149 | mr 1 149 | ||||
om 25 125 | om 25 125 | ||||
eu 6 124 | |||||
Data file Used by | Data file Used by | ||||
b/b [b] base | b/b [b] base | ||||
envelope/p_512 [6] vi | envelope/p_512 [6] vi | ||||
envelope/p_fall [2] vi | envelope/p_fall [2] vi | ||||
[7] vi | [7] vi | ||||
[1] zhy | |||||
[4] zhy | [4] zhy | ||||
[7] zhy | |||||
[21] zh | [21] zh | ||||
[51] zh | [51] zh | ||||
[22] zh | [22] zh | ||||
[+] rw | [+] rw | ||||
envelope/p_fallrise [4] vi | envelope/p_fallrise [4] vi | ||||
envelope/p_level [1] vi | envelope/p_level [1] vi | ||||
[1] zhy | |||||
[3] zhy | [3] zhy | ||||
[6] zhy | [6] zhy | ||||
[55] zh | [55] zh | ||||
[s] es | [s] es | ||||
[s#] pt | [s#] pt | ||||
[z] sq | [z] sq | ||||
[s] eu | |||||
[z] eu | |||||
ufric/s_ [s] base | ufric/s_ [s] base | ||||
[z] base | [z] base | ||||
[s2] fi | [s2] fi | ||||
[s2] is | [s2] is | ||||
[z] sq | [z] sq | ||||
[s2] om | [s2] om | ||||
[s] eu | |||||
[z] eu | |||||
ufric/s! [s] base | ufric/s! [s] base | ||||
[s2] fi | [s2] fi | ||||
[s] fr | [s] fr | ||||
[dz] sq | [dz] sq | ||||
[dz] hy | [dz] hy | ||||
[ts#] hy | [ts#] hy | ||||
[ts] eu | |||||
[tz] eu | |||||
ustop/ts_ [ts] base2 | ustop/ts_ [ts] base2 | ||||
[ts] de | [ts] de | ||||
[ts] eo | [ts] eo | ||||
[dz] sq | [dz] sq | ||||
[dz] hy | [dz] hy | ||||
[ts#] hy | [ts#] hy | ||||
[ts] eu | |||||
[tz] eu | |||||
ustop/ts2 [ts] lv | ustop/ts2 [ts] lv | ||||
[ts] hy | [ts] hy | ||||
ustop/tsh [tS] base | ustop/tsh [tS] base | ||||
[8] nl | [8] nl | ||||
[Y] ro | [Y] ro | ||||
[oe] zhy | [oe] zhy | ||||
[Y] eu | |||||
vowel/y## [y#] is | vowel/y## [y#] is | ||||
vowel/y_2 [y] fr | vowel/y_2 [y] fr | ||||
[y"] fr | [y"] fr |
phoneme 1 // tone: high level | phoneme 1 // tone: high level | ||||
stress | stress | ||||
tone 50 30 envelope/p_fall NULL | |||||
tone 50 50 envelope/p_level NULL | |||||
endphoneme | endphoneme | ||||
endphoneme | endphoneme | ||||
phoneme 7 // tone: high fall | |||||
stress | |||||
tone 50 30 envelope/p_fall NULL | |||||
endphoneme | |||||
//==================================================== | //==================================================== | ||||
// Consonants | // Consonants | ||||
//==================================================== | //==================================================== |
phonemetable om base | phonemetable om base | ||||
include ph_oromo | include ph_oromo | ||||
phonemetable eu base2 | |||||
include ph_basque |
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 | /* Guess stress pattern of word. This is language specific | ||||
'dictionary_flags' has bits 0-3 position of stressed vowel (if > 0) | 'dictionary_flags' has bits 0-3 position of stressed vowel (if > 0) | ||||
max_stress = GetVowelStress(tr, phonetic, vowel_stress, vowel_count, stressed_syllable, 1); | 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 | // heavy or light syllables | ||||
ix = 1; | ix = 1; | ||||
for(p = phonetic; *p != 0; p++) | for(p = phonetic; *p != 0; p++) | ||||
else | else | ||||
{ | { | ||||
stressed_syllable = 1; | 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 | // only set the stress if it's not already marked explicitly |
"\t Use voice file of this name from espeak-data/voices\n" | "\t Use voice file of this name from espeak-data/voices\n" | ||||
"-w <wave file name>\n" | "-w <wave file name>\n" | ||||
"\t Write output to this WAV file, rather than speaking it directly\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" | "-m\t Interpret SSML markup, and ignore other < > tags\n" | ||||
"-q\t Quiet, don't produce any speech (may be useful with -x)\n" | "-q\t Quiet, don't produce any speech (may be useful with -x)\n" | ||||
"-x\t Write phoneme mnemonics to stdout\n" | "-x\t Write phoneme mnemonics to stdout\n" | ||||
int option_index = 0; | int option_index = 0; | ||||
int c; | int c; | ||||
int ix; | int ix; | ||||
int value; | |||||
int flag_stdin = 0; | int flag_stdin = 0; | ||||
int flag_compile = 0; | int flag_compile = 0; | ||||
int filesize = 0; | int filesize = 0; | ||||
while(true) | 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); | long_options, &option_index); | ||||
/* Detect the end of the options. */ | /* Detect the end of the options. */ | ||||
switch (c) | switch (c) | ||||
{ | { | ||||
case 'b': | 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; | break; | ||||
case 'h': | case 'h': |
//> | //> | ||||
//< create_espeak_key, create_espeak_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"); | ENTER("create_espeak_key"); | ||||
int a_error=1; | int a_error=1; | ||||
a_command->type = ET_KEY; | a_command->type = ET_KEY; | ||||
a_command->state = CS_UNDEFINED; | 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; | a_error=0; | ||||
key_error: | key_error: | ||||
return a_command; | 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"); | ENTER("create_espeak_char"); | ||||
int a_error=1; | int a_error=1; | ||||
a_command->type = ET_CHAR; | a_command->type = ET_CHAR; | ||||
a_command->state = CS_UNDEFINED; | 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; | a_error=0; | ||||
char_error: | char_error: | ||||
break; | break; | ||||
case ET_KEY: | 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; | break; | ||||
case ET_KEY: | 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); | sync_espeak_Key(data); | ||||
} | } | ||||
break; | break; | ||||
case ET_CHAR: | 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); | sync_espeak_Char( data); | ||||
} | } | ||||
break; | break; |
void* user_data; | void* user_data; | ||||
} t_espeak_mark; | } 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 | typedef struct | ||||
{ | { | ||||
unsigned int unique_identifier; | unsigned int unique_identifier; | ||||
void* user_data; | void* user_data; | ||||
} t_espeak_terminated_msg; | } t_espeak_terminated_msg; | ||||
typedef struct | typedef struct | ||||
{ | { | ||||
espeak_PARAMETER parameter; | espeak_PARAMETER parameter; | ||||
{ | { | ||||
t_espeak_text my_text; | t_espeak_text my_text; | ||||
t_espeak_mark my_mark; | 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; | t_espeak_parameter my_param; | ||||
const wchar_t* my_punctuation_list; | const wchar_t* my_punctuation_list; | ||||
const char *my_voice_name; | const char *my_voice_name; | ||||
t_espeak_command* create_espeak_terminated_msg(unsigned int unique_identifier, void* user_data); | 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); | t_espeak_command* create_espeak_parameter(espeak_PARAMETER parameter, int value, int relative); | ||||
// Numbers | |||||
static char ph_ordinal2[12]; | |||||
int TranslateRoman(Translator *tr, char *word, char *ph_out) | int TranslateRoman(Translator *tr, char *word, char *ph_out) | ||||
{//===================================================== | {//===================================================== | ||||
int found_ordinal = 0; | int found_ordinal = 0; | ||||
int next_phtype; | int next_phtype; | ||||
char string[12]; // for looking up entries in *_list | char string[12]; // for looking up entries in *_list | ||||
char ph_ordinal[20]; | |||||
char ph_tens[50]; | char ph_tens[50]; | ||||
char ph_digits[50]; | char ph_digits[50]; | ||||
char ph_and[12]; | char ph_and[12]; | ||||
char ph_ordinal[12]; | |||||
// is there a special pronunciation for this 2-digit number | // is there a special pronunciation for this 2-digit number | ||||
found = 0; | found = 0; | ||||
ph_ordinal[0] = 0; | |||||
if(control & 4) | if(control & 4) | ||||
{ | { | ||||
} | } | ||||
if(control & 2) | if(control & 2) | ||||
{ | { | ||||
strcpy(ph_ordinal, ph_ordinal2); | |||||
sprintf(string,"_%do",value); | sprintf(string,"_%do",value); | ||||
if((found = Lookup(tr, string, ph_digits)) != 0) | if((found = Lookup(tr, string, ph_digits)) != 0) | ||||
{ | { | ||||
Lookup(tr, string, ph_tens); | 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; | ph_digits[0] = 0; | ||||
if(units > 0) | if(units > 0) | ||||
{ | { | ||||
} | } | ||||
} | } | ||||
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))) | if((value >= 20) && (((value % 10) == 0) || (tr->langopts.numbers & 0x10))) | ||||
Lookup(tr, "_ord20", ph_ordinal); | Lookup(tr, "_ord20", ph_ordinal); | ||||
} // end of LookupNum3 | } // 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) | static int TranslateNumber_1(Translator *tr, char *word, char *ph_out, unsigned int *flags, int wflags) | ||||
{//==================================================================================================== | {//==================================================================================================== | ||||
// Number translation with various options | // Number translation with various options | ||||
int n_digits; | int n_digits; | ||||
int value; | int value; | ||||
int ix; | |||||
unsigned int ix; | |||||
unsigned char c; | unsigned char c; | ||||
int suppress_null = 0; | int suppress_null = 0; | ||||
int decimal_point = 0; | int decimal_point = 0; | ||||
int decimal_count; | int decimal_count; | ||||
int max_decimal_count; | int max_decimal_count; | ||||
int decimal_mode; | 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 buf1[100]; | ||||
char ph_append[50]; | char ph_append[50]; | ||||
char ph_buf[200]; | char ph_buf[200]; | ||||
char ph_buf2[50]; | char ph_buf2[50]; | ||||
char suffix[20]; | |||||
static const char str_pause[2] = {phonPAUSE_NOLINK,0}; | static const char str_pause[2] = {phonPAUSE_NOLINK,0}; | ||||
*flags = 0; | |||||
for(ix=0; isdigit(word[ix]); ix++) ; | for(ix=0; isdigit(word[ix]); ix++) ; | ||||
n_digits = ix; | n_digits = ix; | ||||
value = this_value = atoi(word); | value = this_value = atoi(word); | ||||
ph_ordinal2[0] = 0; | |||||
if((tr->langopts.numbers & 0x10000) && (word[ix] == '.')) | if((tr->langopts.numbers & 0x10000) && (word[ix] == '.')) | ||||
{ | { | ||||
// ordinal number | |||||
// ordinal number is indicated by dot after the number | |||||
ordinal = 2; | ordinal = 2; | ||||
word[ix] = ' '; | word[ix] = ' '; | ||||
} | } | ||||
else | else | ||||
if(tr->langopts.ordinals) | |||||
{ | { | ||||
// ordinal numbers are recognized by letters after the number | |||||
// look for an ordinal number suffix after the number | |||||
ix++; | ix++; | ||||
pp = ordinal_strings[tr->langopts.ordinals]; | |||||
while((p = *pp++) != NULL) | |||||
hyphen = 0; | |||||
p = suffix; | |||||
if(word[ix] == '-') | |||||
{ | |||||
*p++ = '-'; | |||||
hyphen = 1; | |||||
ix += 2; | |||||
} | |||||
while((word[ix] != 0) && (word[ix] != ' ') && (ix < (sizeof(suffix)-1))) | |||||
{ | { | ||||
len = strlen(p); | |||||
if((word[ix+len] == ' ') && (memcmp(&word[ix], p, len) == 0)) | |||||
*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; | ordinal = 2; | ||||
memset(&word[ix], ' ', len); | |||||
break; | |||||
flags[0] |= FLAG_SKIPWORDS; | |||||
dictionary_skipwords = 1 + hyphen; | |||||
} | } | ||||
} | } | ||||
} | } | ||||
strcat(ph_out,str_pause); // don't add pause for 100s, 6th, etc. | strcat(ph_out,str_pause); // don't add pause for 100s, 6th, etc. | ||||
} | } | ||||
*flags = FLAG_FOUND; | |||||
*flags |= FLAG_FOUND; | |||||
prev_value = this_value; | prev_value = this_value; | ||||
return(1); | return(1); | ||||
} // end of TranslateNumber_1 | } // end of TranslateNumber_1 |
static FILE *f_input = NULL; | static FILE *f_input = NULL; | ||||
static int ungot_char2 = 0; | static int ungot_char2 = 0; | ||||
char *p_textinput; | |||||
unsigned char *p_textinput; | |||||
wchar_t *p_wchar_input; | wchar_t *p_wchar_input; | ||||
static int ungot_char; | static int ungot_char; | ||||
static const char *ungot_word = NULL; | static const char *ungot_word = NULL; | ||||
static int GetC_get(void) | static int GetC_get(void) | ||||
{//====================== | {//====================== | ||||
int c; | |||||
unsigned int c; | |||||
unsigned int c2; | |||||
if(f_input != NULL) | if(f_input != NULL) | ||||
{ | { | ||||
c = fgetc(f_input); | c = fgetc(f_input); | ||||
if(feof(f_input)) c = ' '; | 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) | if(option_multibyte == espeakCHARS_WCHAR) | ||||
} | } | ||||
if(!end_of_input) | 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(*p_textinput++ & 0xff); | ||||
} | |||||
} | } | ||||
return(0); | return(0); | ||||
} | } | ||||
c1 = GetC_get(); | c1 = GetC_get(); | ||||
} | } | ||||
if(option_multibyte == espeakCHARS_WCHAR) | |||||
if((option_multibyte == espeakCHARS_WCHAR) || (option_multibyte == espeakCHARS_16BIT)) | |||||
{ | { | ||||
count_characters++; | count_characters++; | ||||
return(c1); // wchar_t text | return(c1); // wchar_t text | ||||
{NULL,-1}}; | {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. | /* Find the end of the current clause. | ||||
Write the clause into buf | Write the clause into buf | ||||
} | } | ||||
} | } | ||||
else | 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; | |||||
// a comment, ignore until closing '<' | |||||
while(!Eof() && (c1 != '>')) | |||||
{ | |||||
c1 = GetC(); | |||||
} | |||||
c2 = ' '; | |||||
} | } | ||||
terminator = ProcessSsmlTag(xml_buf,buf,ix,n_buf,self_closing); | |||||
if(terminator != 0) | |||||
else | |||||
if((c2 == '/') || iswalpha(c2)) | |||||
{ | { | ||||
buf[ix] = ' '; | |||||
buf[ix++] = 0; | |||||
if(terminator & CLAUSE_BIT_VOICE) | |||||
// SSML Tag | |||||
n_xml_buf = 0; | |||||
c1 = c2; | |||||
while(!Eof() && (c1 != '>') && (n_xml_buf < N_XML_BUF)) | |||||
{ | { | ||||
// 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))) | |||||
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) | |||||
{ | { | ||||
buf[ix++] = *p++; | |||||
// 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; | |||||
} | } | ||||
buf[ix++] = 0; | |||||
return(terminator); | |||||
} | } | ||||
return(terminator); | |||||
continue; | |||||
} | } | ||||
continue; | |||||
} | } | ||||
} | } | ||||
ssml_ignore_l_angle=0; | ssml_ignore_l_angle=0; | ||||
if((punct = lookupwchar(punct_chars,c1)) == 0) | if((punct = lookupwchar(punct_chars,c1)) == 0) | ||||
{ | { | ||||
charix[ix] = count_characters - clause_start_char; | charix[ix] = count_characters - clause_start_char; | ||||
*charix_top = ix; | |||||
ix += utf8_out(c1,&buf[ix]); | ix += utf8_out(c1,&buf[ix]); | ||||
terminator = CLAUSE_PERIOD; // line doesn't end in punctuation, assume period | terminator = CLAUSE_PERIOD; // line doesn't end in punctuation, assume period | ||||
} | } | ||||
while(j < ix) | while(j < ix) | ||||
charix[j++] = -1; // subsequent bytes of a multibyte character | 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))) | if(((ix > (n_buf-20)) && !IsAlpha(c1) && !iswdigit(c1)) || (ix >= (n_buf-2))) | ||||
{ | { |
"\t Use voice file of this name from espeak-data/voices\n" | "\t Use voice file of this name from espeak-data/voices\n" | ||||
"-w <wave file name>\n" | "-w <wave file name>\n" | ||||
"\t Write output to this WAV file, rather than speaking it directly\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" | "-m\t Interpret SSML markup, and ignore other < > tags\n" | ||||
"-q\t Quiet, don't produce any speech (may be useful with -x)\n" | "-q\t Quiet, don't produce any speech (may be useful with -x)\n" | ||||
"-x\t Write phoneme mnemonics to stdout\n" | "-x\t Write phoneme mnemonics to stdout\n" | ||||
#else | #else | ||||
while(true) | 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); | long_options, &option_index); | ||||
/* Detect the end of the options. */ | /* Detect the end of the options. */ | ||||
switch (c) | switch (c) | ||||
{ | { | ||||
case 'b': | case 'b': | ||||
// input character encoding, 8bit, 16bit, UTF8 | |||||
option_multibyte = espeakCHARS_8BIT; | option_multibyte = espeakCHARS_8BIT; | ||||
if((sscanf(optarg2,"%d",&value) == 1) && (value <= 4)) | |||||
option_multibyte= value; | |||||
break; | break; | ||||
case 'h': | case 'h': |
} | } | ||||
#ifdef USE_ASYNC | #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); | a_error = fifo_add_command(c); | ||||
if (a_error != EE_OK) | if (a_error != EE_OK) | ||||
{ | { | ||||
return(EE_OK); | 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); | a_error = fifo_add_command(c); | ||||
if (a_error != EE_OK) | if (a_error != EE_OK) | ||||
{ | { |
#include <stdio.h> | #include <stdio.h> | ||||
#define ESPEAK_API_REVISION 3 | |||||
#define ESPEAK_API_REVISION 5 | |||||
/* | /* | ||||
Revision 2 | Revision 2 | ||||
Added parameter "options" to eSpeakInitialize() | Added parameter "options" to eSpeakInitialize() | ||||
Revision 4 | Revision 4 | ||||
Added flags parameter to espeak_CompileDictionary() | Added flags parameter to espeak_CompileDictionary() | ||||
Revision 5 | |||||
Added espeakCHARS_16BIT | |||||
*/ | */ | ||||
/********************/ | /********************/ | ||||
/* Initialization */ | /* Initialization */ | ||||
#define espeakCHARS_UTF8 1 | #define espeakCHARS_UTF8 1 | ||||
#define espeakCHARS_8BIT 2 | #define espeakCHARS_8BIT 2 | ||||
#define espeakCHARS_WCHAR 3 | #define espeakCHARS_WCHAR 3 | ||||
#define espeakCHARS_16BIT 4 | |||||
#define espeakSSML 0x10 | #define espeakSSML 0x10 | ||||
#define espeakPHONEMES 0x100 | #define espeakPHONEMES 0x100 |
#include "translate.h" | #include "translate.h" | ||||
#include "wave.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; | const int version_phdata = 0x014000; | ||||
int option_device_number = -1; | int option_device_number = -1; |
SetLetterVowel(tr,'y'); // add 'y' to vowels | SetLetterVowel(tr,'y'); // add 'y' to vowels | ||||
tr->langopts.numbers = 0x8d1 + NUM_ROMAN; | tr->langopts.numbers = 0x8d1 + NUM_ROMAN; | ||||
tr->langopts.ordinals = 2; | |||||
tr->langopts.accents = 1; | tr->langopts.accents = 1; | ||||
} | } | ||||
break; | break; | ||||
tr->langopts.stress_rule = 0; | tr->langopts.stress_rule = 0; | ||||
tr->langopts.numbers = 0x841 + NUM_ROMAN; | 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 | tr->langopts.param[LOPT_COMBINE_WORDS] = 2; // allow "mc" to cmbine with the following word | ||||
} | } | ||||
break; | break; | ||||
break; | 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 | case L('f','i'): // Finnish | ||||
{ | { | ||||
static const unsigned char stress_amps_fi[8] = {18,16, 22,22, 20,22, 22,22 }; | static const unsigned char stress_amps_fi[8] = {18,16, 22,22, 20,22, 22,22 }; | ||||
} | } | ||||
break; | break; | ||||
case L('f','r'): // french | case L('f','r'): // french | ||||
{ | { | ||||
static const short stress_lengths_fr[8] = {190, 170, 190, 200, 0, 0, 235, 240}; | static const short stress_lengths_fr[8] = {190, 170, 190, 200, 0, 0, 235, 240}; | ||||
SetupTranslator(tr,stress_lengths_fr,stress_amps_fr); | SetupTranslator(tr,stress_lengths_fr,stress_amps_fr); | ||||
tr->langopts.stress_rule = 3; // stress on final syllable | 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.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'); | SetLetterVowel(tr,'y'); | ||||
} | } | ||||
break; | break; | ||||
SetupTranslator(tr,stress_lengths_th,stress_amps_th); | SetupTranslator(tr,stress_lengths_th,stress_amps_th); | ||||
tr->langopts.stress_rule = 0; // stress on final syllable of a "word" | 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.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.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) | // tr->langopts.tone_numbers = 1; // a number after letters indicates a tone number (eg. pinyin or jyutping) | ||||
SetupTranslator(tr,stress_lengths_zh,stress_amps_zh); | SetupTranslator(tr,stress_lengths_zh,stress_amps_zh); | ||||
tr->langopts.stress_rule = 3; // stress on final syllable of a "word" | 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.vowel_pause = 0; | ||||
tr->langopts.tone_language = 1; // Tone language, use CalcPitches_Tone() rather than CalcPitches() | 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.length_mods0 = tr->langopts.length_mods; // don't lengthen vowels in the last syllable |
wchar_t option_punctlist[N_PUNCTLIST]={0}; | wchar_t option_punctlist[N_PUNCTLIST]={0}; | ||||
char ctrl_embedded = '\001'; // to allow an alternative CTRL for embedded commands | 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 | // these are overridden by defaults set in the "speak" file | ||||
int option_linelength = 0; | int option_linelength = 0; | ||||
int finished; | int finished; | ||||
int single_quoted; | int single_quoted; | ||||
int phoneme_mode = 0; | 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 word_flags; // set here | ||||
int next_word_flags; | int next_word_flags; | ||||
int embedded_count = 0; | int embedded_count = 0; | ||||
char *p; | char *p; | ||||
int j, k; | int j, k; | ||||
int n_digits; | int n_digits; | ||||
int charix_top; | |||||
short charix[N_TR_SOURCE+1]; | |||||
short charix[N_TR_SOURCE+4]; | |||||
WORD_TAB words[N_CLAUSE_WORDS]; | WORD_TAB words[N_CLAUSE_WORDS]; | ||||
int word_count=0; // index into words | int word_count=0; // index into words | ||||
int tone; | int tone; | ||||
int tone2; | int tone2; | ||||
p_textinput = (char *)vp_input; | |||||
p_textinput = (unsigned char *)vp_input; | |||||
p_wchar_input = (wchar_t *)vp_input; | p_wchar_input = (wchar_t *)vp_input; | ||||
embedded_ix = 0; | embedded_ix = 0; | ||||
for(ix=0; ix<N_TR_SOURCE; ix++) | for(ix=0; ix<N_TR_SOURCE; ix++) | ||||
charix[ix] = 0; | 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 | clause_pause = (terminator & 0xfff) * 10; // mS | ||||
tone = (terminator >> 12) & 0xf; | tone = (terminator >> 12) & 0xf; | ||||
if(IsSpace(c)) | if(IsSpace(c)) | ||||
{ | { | ||||
if(space_inserted) | |||||
if(prev_out == ' ') | |||||
{ | { | ||||
source_index = prev_source_index; // rewind to the previous character | |||||
char_inserted = 0; | |||||
space_inserted = 0; | |||||
continue; // multiple spaces | |||||
} | } | ||||
if(prev_out == ' ') | |||||
if(space_inserted) | |||||
{ | { | ||||
continue; // multiple spaces | |||||
words[word_count].length = source_index - words[word_count].sourceix; | |||||
} | } | ||||
// end of 'word' | // end of 'word' | ||||
all_upper_case = FLAG_ALL_UPPER; | all_upper_case = FLAG_ALL_UPPER; | ||||
syllable_marked = 0; | syllable_marked = 0; | ||||
} | } | ||||
if(space_inserted) | |||||
{ | |||||
source_index = prev_source_index; // rewind to the previous character | |||||
char_inserted = 0; | |||||
space_inserted = 0; | |||||
} | |||||
} | } | ||||
else | else | ||||
{ | { | ||||
// include the next few characters, in case there are an ordinal indicator | // include the next few characters, in case there are an ordinal indicator | ||||
pn[0] = ' '; | 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;) | 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++ != ' '); | while(*pw++ != ' '); | ||||
words[ix].pre_pause = 0; | words[ix].pre_pause = 0; | ||||
words[ix].flags = 0; | words[ix].flags = 0; | ||||
} | } | ||||
} | } | ||||
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)) | 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 | // probably an abbreviation such as Mr. or B. rather than end of sentence | ||||
tone = 4; | tone = 4; | ||||
} | } | ||||
} | } | ||||
if(dict_flags & FLAG_SKIPWORDS) | |||||
{ | |||||
ix += dictionary_skipwords; // dictionary indicates skip next word(s) | |||||
} | |||||
} | } | ||||
for(ix=0; ix<2; ix++) | for(ix=0; ix<2; ix++) |
int vowel_pause; | int vowel_pause; | ||||
int stress_rule; // 1=first syllable, 2=penultimate, 3=last | 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, | // bit1=don't set diminished stress, | ||||
// bit2=mark unstressed final syllables as diminished | // bit2=mark unstressed final syllables as diminished | ||||
// bit4=don't allow secondary stress on last syllable | // bit4=don't allow secondary stress on last syllable | ||||
#define NUM_ROMAN_UC 0x40000 | #define NUM_ROMAN_UC 0x40000 | ||||
#define NUM_NOPAUSE 0x80000 | #define NUM_NOPAUSE 0x80000 | ||||
#define NUM_ROMAN_AFTER 0x200000 | #define NUM_ROMAN_AFTER 0x200000 | ||||
#define NUM_VIGESIMAL 0x400000 | |||||
// bits0-1=which numbers routine to use. | // bits0-1=which numbers routine to use. | ||||
// bit2= thousands separator must be space | // bit2= thousands separator must be space | ||||
// bit19=don't add pause after a number | // bit19=don't add pause after a number | ||||
// bit20='and' before hundreds | // bit20='and' before hundreds | ||||
// bit21= say "roman" after the number, not before | // bit21= say "roman" after the number, not before | ||||
// bit22= vigesimal number, if tens are not found | |||||
int numbers; | int numbers; | ||||
#define NUM2_100000 0x800 // numbers for 100,000 and 10,000,000 | #define NUM2_100000 0x800 // numbers for 100,000 and 10,000,000 | ||||
int max_roman; | int max_roman; | ||||
int thousands_sep; | int thousands_sep; | ||||
int decimal_sep; | int decimal_sep; | ||||
int ordinals; | |||||
// bit 0, accent name before the letter name, bit 1 "capital" after letter name | // bit 0, accent name before the letter name, bit 1 "capital" after letter name | ||||
int accents; | int accents; | ||||
extern const unsigned short *charsets[N_CHARSETS]; | extern const unsigned short *charsets[N_CHARSETS]; | ||||
extern char dictionary_name[40]; | extern char dictionary_name[40]; | ||||
extern char ctrl_embedded; // to allow an alternative CTRL for embedded commands | 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 wchar_t *p_wchar_input; | ||||
extern int dictionary_skipwords; | extern int dictionary_skipwords; | ||||
int RemoveEnding(Translator *tr, char *word, int end_type, char *word_copy); | int RemoveEnding(Translator *tr, char *word, int end_type, char *word_copy); | ||||
int Unpronouncable(Translator *tr, char *word); | 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 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); | 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); | 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); | void SetVoiceStack(espeak_VOICE *v); | ||||