[1.42.42]

Don't recognize space as a thousands separator if it's tab, newline, or multiple spaces.
Don't recognuze space as a thousands separator if not followed by exactly 3 digits.

Unrecognized HTML tags should not add a space (eg. <font> <b> inside a word).

lang=hu: fixes for when numbers are ordinal.


git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@236 d46cf337-b52f-0410-862d-fd96e6ae7743
This commit is contained in:
jonsd
2010-02-13 11:14:41 +00:00
parent 20f52f0301
commit 2698461aa4
69 changed files with 2050 additions and 839 deletions
+88 -5
View File
@@ -84,6 +84,7 @@ z zEd
ú $accent
û $accent
ü $accent
ý $accent
_cap h'o@flEt@r
_?? s@mb'o@l
@@ -198,8 +199,8 @@ _dpt 'pWnt
_roman rum'eIns@
// ordinal numbers
_0de d@
_0ste st@
_#de d@
_#ste st@
_1o _'e@r
_2o tw'e@
_3o d'&:r
@@ -218,6 +219,7 @@ albanië alb'A:ne@:@-
algerië alx2'e@re@:@-
amanzimtoti $4
antwerpen antv&rp@n
avignon _^_FR
babilon babilOn
bangladesj baNglad'ES
barcelona bars@l'o@na
@@ -256,8 +258,10 @@ doebaai $2
duitswes dYytsv'Es
ermelo &rm@lo@
franschhoek frA~nsh'uk
fraserburg freIz@rbWrx2
gadara x2@dA:ra
galilea x2al@l'i:a
gdansk g@-dansk
genève Z@nE:v
germiston _^_EN
getsémané x2Ets'e@mani
@@ -271,6 +275,7 @@ groblersdal x2rObl@rsd'al
havana hav'ana
hermon $1
hirosjima hiruS'ima
ingwavuma iNgwav'u:ma
israel IsraI:l
italië it'A:li;@
jeffreysbaai dZEfrisb'AI
@@ -287,11 +292,13 @@ kongo kONgu
knysna neIsna
kuruman kuruman
kwa kwa $u $only // KwaZulu, etc.
kwazulu kwaz'ulu // Kwazulu (lowercase z)
lady _^_EN // Lady Grey/Lady Smith
ladybrand leIdibr'ant
laingsburg leInsbWrx2
lesotho l@sutu
limpopo l@mpo@po@
lockerbie _^_EN
(los angeles) lOs_'andZ@li:z
macedonië mas@d'o@ni@
madagaskar madax2'askar
@@ -309,6 +316,7 @@ moorreesburg mur'e@sbWrx2
europa Y@r'o@pa
nigel _^_EN
nineve nIn@fi
oberammergau o@b@r'am@rgaU
oklahoma @Ukl@h'@Uma
outeniekwa @Ut@n'ikwa
oxford _^_EN
@@ -321,7 +329,6 @@ potchefstroom pOtSIfstr'o@m
rhône _^_FR
richardsbaai ritS@dsb'AI
robertson _^_EN
sahara sah'A:ra
salvador salvadO:r
santiago santi;'A:gu
secunda s@kunda
@@ -335,7 +342,9 @@ springs _^_EN $capital
sunnyside _^_EN
suriname syrin'A:m@
swellendam $3
tankwa taNkwa
tokio to@kiu
trafalgar traf'algar
tunisië $2
turkye $2
ulundi ul'undi
@@ -346,6 +355,7 @@ viëtnam vj'Etnam
wallonië val'o@ni@
washington _^_EN
wellington wEliNt@n
wimbledon _^_EN
wolseley wulsli
uganda ug'anda
uruguay urugwaI
@@ -360,6 +370,7 @@ ackerman ak@rman
adam adam
adriaan A:drijan
adrie A:dri
agnes _^_EN
albertus alb'&rtWs
alfred _^_EN
allah %alA:
@@ -367,6 +378,7 @@ amelia am'i:lija
annalet anal'Et
André 'andreI
annette an'Et
anthonie ant'o@ni
antoinette antun'Et
archimedes arx2im'e@dEs
aristoteles arist'o@t@lEs
@@ -381,6 +393,7 @@ benjamin bEndZ@m@n
bennett bEn@t
bertha b&rta
bester b'Est@r
betjie bEici
betsie bEtsi
beyers beI@rs
blignault blIx2n@Ut
@@ -388,10 +401,12 @@ blomerus blum'e@rWs
blum blum
botha bo@ta
bouwer b@U@r
braham brA:m
brian _^_EN
bredenkamp bre@d@nkamp
bruwer bruw'&:r
caesar siz@r
cameron _^_EN
carl kA:r@L
carlyle _^_EN
carol _^_EN
@@ -404,10 +419,12 @@ charles _^_EN
charlie tSA:li
charmaine SA:m'eI:n
chopin S%OpA~
claire _^_EN
clark _^_EN
conradie $2
chris krIs
christo krIstu
christof krIstOf
christoffel kr@stOf@l
christiaan krIstiA:n
christian krIstian
@@ -420,6 +437,7 @@ cronjé krOnj'e@
cussons kas@ns
cynthia _^_EN
dalene dal'e@n
danielle dani;'&l
darwin _^_EN
daniël d'A:ni:@l
david _^_EN
@@ -466,7 +484,6 @@ flaubert _^_FR
floris $1
fouché fuS'e@
fourie fur'i
francina $2
francois franSwa
françois frA~nsw'A:
gabriël x2A:bri@l
@@ -475,11 +492,13 @@ george _^_EN
georgina dZO:dZ'ina
gerhard x2&rart
gerhardus $2
gertie gI:ti
gertruida $2
gilbert _^_EN
gloria glO:ria
gordon _^_EN
grange x2rA:nsi
greta gre@ta
grové x2ruv'e@
gulliver _^_EN
gustav gustaf
@@ -501,6 +520,7 @@ ingrid iNgr@d
isabel is@b&l
iskariot isk'ariOt
jaco jaku
jakomina jakum'ina
james _^_EN
jane _^_EN
Jean ZA~n $capital
@@ -528,15 +548,22 @@ langenhoven laN@nho@f@n
lasarus lA:s@r%Ws
lategan lA:t@x2an
le l@ $only
leana li'A:na
leandra li'andra
leipoldt lAIpOlt
leonardo liu:n'ardu
leonie li'o@ni
levi le@fi
lewies l@vis
liesbet lisbEt
loubser l@UpS@r
louis luI
louise luw'i:z
lucretia lukr'i:Sja
lukas lukas
lulu lulu
mabalêl mabal'&l
mabel _^_EN
mackintosh _^_EN
madelene mad@l'e@n
mbeki mbE:ki
@@ -555,6 +582,8 @@ marius mA:riWs
marlene marl'e@:n
marlise marl'i:s
martha marta
marthinus mart'inWs
martiens $2
martin m'A:rt@n
mary _^_EN
mathilda mat'Ilda
@@ -579,6 +608,7 @@ morné mOrn'eI
mostert m'Ost@rt
mouton mut'On
mozart mo@tsart
myburgh meIbWrx2
naomi na_'o@mi
napoleon nap'o@liOn
natasha n%at'aSa
@@ -588,6 +618,8 @@ nelson _^_EN
niklaas niklA:s
olga Olga
ontong OntON
patrick _^_EN
petoors p@to@rs
phillips fIl@ps
pierre p'e@r
petronella pe@trun'&la
@@ -602,6 +634,7 @@ quixote kix2'OtE
rachmaninoff rax2m'aninOf
rademeyer rA:d@meI@r
rall rA:l
raymond _^_EN
rebekka r@bEka
reinette r@nEt
renette r@nEt
@@ -611,6 +644,7 @@ retief r@tif
rhodes _^_EN
riekert rik@rt
robert _^_EN
robin _^_EN
ronel run'&l
rossouw r@s@U
rousseau r@s@U
@@ -639,6 +673,7 @@ stephanus st@fA:nWs
stevenson _^_EN
strauss straUs
stockenström stOk@nstro@m
stuart _^_EN
suzanne suz'A:n
suzette suz'Et
tania tanja
@@ -678,9 +713,11 @@ tony t@Uni
trichardt trix2A:rt
vera ve@ra
verwey f@rveI
virginia _^_EN
vivaldi viv'aldi
viviers v@v@je@
wilhelm v@lh&l@-m
williston _^_EN
khumalo kum'A:lu
zuma zu:ma
@@ -692,17 +729,21 @@ checkers tSEk@rs
chrysler kraIsl@r
citroên s@trun
ferrari f@rA:ri
isuzu is'u:zu
martini mart'i:ni
naspers nasp&rs
peugeot pW:Z@U
(pick n pay) p,ik||@n||p'eI
porsche pOrS@
port pOrt $1
prestik prEstik
rover _^_EN
sesotho s@s'u:tu
sorbonne _^_FR
sotho su:tu
toyota $2
venda vEnda
vicks viks
volvo vOlvu
wimpy wImpi
@@ -868,6 +909,7 @@ algaande $2
alge alx2@
algehele alx2@h,e@l@
allegro al'Egru
allergene $3
almiskie $3
alom al_'Om
alreeds $2
@@ -882,6 +924,7 @@ aspris $2
asseblief as@bl'if
assessore $3
attraksie $2
aversie av'&rsi
babelaas bab@lA:s
barrikade $3
@@ -898,11 +941,13 @@ bewe be@v@
bewend be@v@nt
bewering b@ve@rIN
bomaat bo@mA:t
bordegoed bO:rd@x2ut
boskaas $2
bostaande b'o@stA:nd@
bourgeois _^_FR
bourgeoisie _^_FR
briewemes briv@mEs
bêretyd b&:r@teIt
cabernet kab@rn'eI
camembert kam@mb'&:r
@@ -912,27 +957,36 @@ casino kas'i:n@U
cedille s@dIl@
charisma kar'Isma
cliché kliS'eI:
clivia klIvija
cognac kOn^ak
confetti $2
crescendo kr@SEndu
crimpelene kr@mp@li:n
dadelik dA:d@lIk
dagorde dax2_Ord@
daisy deIzi
darem dar@m
dekade dEk'A:d@
dekreling dEkre@l@N
deurentyd dy@r@nteIt
deurgaans $1
deurkruis $2
deurry dY@rreI
deurstaan $2
deurstraalde $2
dikwels dIkv@ls
diplomasie d@plo@mas'i
disleksie $2
doktore $2
doyen dO:j'En
dubbelken dWb@lkEn
dusver dWsf&r
edelagbare $3
eenkeer $1
efesiër if'e@si@r
effata Ef'A:ta
effense Ef@ns@
eks Eks
ekself %&ks'&lf
@@ -948,9 +1002,11 @@ ergering &rg@r@N
espeak i:;spi:k
(et cetera) Ets'Et@ra
euro Y@ru
ewentwil e@v@ntv@l
exodus Eks'o@dWs
fakture $2
fetakaas fEtakA:s
figuur f@x2yr
filippense f@l@pEns@
finalis $3
@@ -965,10 +1021,12 @@ gebrokener x2@bro@k@n@r
gee x2e@
geen x2e@n
geldelike x2&ld@l@k@
gelerendheid x2@le@r@ntheIt
genade $2
genesis x2e@n@s@s
//gesamentlik x2@sA:m@ntl@k
gentleman _^_EN
germolene dZI:m@l'i:n
gewellys x2e@v@lleIs
gladiator x2ladi'A:tOr
globale x2lo@b'A:l@
@@ -1017,6 +1075,7 @@ intens @nt'Ens
intensiteit $4
ironieë irun'i:@
jantwak jantw'ak
jawoord jA:vo@rt
jupiter jupit@r
@@ -1024,12 +1083,16 @@ kafee kaf'e@
kameraderie kam@rA:d@r'i
katswink katsv@nk
kaviaar kavi'A:r
kennisvaardig $1
klaasvakie $2
klimeid klImeIt
knapsekêrel knaps@k&:r@l
kolossense kOl@s'e~ns@
komaan kOmA:n
konfyttertjie kOnf'eIt&:rci
konkawe kOnk'A:v@
konte $1
kopaar kOp_A:r
kopiereg kup'ir&x2
korswel kOrsv@l
kotiljons kOt@lj'o~ns
@@ -1047,6 +1110,7 @@ luidop lYyt_Op
lykwaak leIkvA:k
macaroni makar'o@ni
macho matS@U
madame mad'A:m
madamoiselle _^_FR
maskering mask'e@r@N $only
@@ -1054,7 +1118,6 @@ massaal $2
massale $2
meegee me@x2e@
memorabilia mEmOrab'ilija
memoriam mEm'o@riam
mercedes $2
meregebied me@r@x2@bit
merlot m&rl'o@
@@ -1093,6 +1156,7 @@ nimmermeer $1
nirvana n@rvA:na
nogeens nOx2_e@ns
normale nOrm'A:l@
nousedae n@Us@dA:
numeri nWm@ri
oeuvre W:vr@
@@ -1142,6 +1206,7 @@ oorleef $2
oorsee $2
oorsese $2
oorval $2 $verb
oranjepers o@r'anj@p&:rs
oudsher @Utsh&r
pandemonium pand@m'o@niWm
@@ -1157,17 +1222,21 @@ penorent pEno@rEnt
per p@r $only
persent p@rsEnt
petite p@tit
pikanienie pikan'ini
pinotage pinut'A:Z
pirouette p@ru:'Et
plaasjaap plA:sjA:p
plasenta plas'Enta
poinsettia pOIns'Etia
potpourri pOtpur'i
primate $2
profetes prOf@t'Es
(pro forma) pro@||f'Orma
rebelleer r@b@le@r
rededele re@d@de@l@
regie r@Zi:
rekent re@k@nt
renaissance rEn@s'A~ns
retoriek r@tur'ik
rimpeling rImp@l@N
@@ -1180,6 +1249,7 @@ rukkerig rWk@r@x2
ruspes rWsp@s
rymelary reIm@lar'eI
saint sInt $u
salami sal'A:mi
salute sal'yt@
samelewing sA:m@l,e@v@N
@@ -1210,9 +1280,11 @@ sover so@f&r
staccato $2
sterwens st&rv@ns
stilswye $1
strydros streIt_rOs
subiet sWb'it
suburbia sWb'Wrbija
swangerswaar swaN@rswA:r
swetterjoel $3
tanga taNga
tango taNx2u
@@ -1221,12 +1293,16 @@ tequila t@ki:la
terdeë $2
terug t@-rWx2
tesaam t@sA:m
tesourus t@s@UrWs
tevrede t@fre@d@
thula tu:la
toegee tux2e@
toereken ture@k@n
tornado $2
totale tut'A:l@
totsiens $2
tragiek trax2'ik
tsoenami tsun'A:mi
uitdaging YydA:x2@N
uiteraard Yyt@r_'A:rt
@@ -1245,10 +1321,13 @@ verafgeleë f&rafx2@le@@
verby f@rbeI
verdere f&rd@r@
ver f'&:r
verderaan f&:rd@r_A:n
vereduifie fe@r@dYyfi
verg f&rx2
vergeleë f&:rx2@l,e@@
vergete f@rx2e@t@
verkeerdom f@rke@rt_Om
verlangste f@rlaNst@
vermy $2
verre f&:r@
verregaande f&r@x2'A:nd@
@@ -1259,7 +1338,10 @@ verste f&rst@
verte f&rt@
verweg f&:rv&x2
via via
voelentheid ful@ntheIt
volheid $1
volpunte $1
volspoed $1
volswanger $1
volte $1
voluit fOl_Yyt
@@ -1284,5 +1366,6 @@ weerklink $2
weggewens v&x2@v'E:ns
welaf v&l_af
weleer v&l_'e@r
wentaktiek $1
wysgere veIsx2e@r@
+125 -16
View File
@@ -1,5 +1,5 @@
//maintainer: Willem van der Walt
// email: wvdwalt@csir.co.za
// email: wvdwalt@csir.co.za
// tel: +27 12 8413996
// Meraka Institute, CSIR
//With contributions by Christo de Klerk
@@ -53,11 +53,13 @@
ad (vies %at // move default stress: advies/-brief/-komitee and many similar
af (gunstig %af // move default stress: afgunstig/-e
aga (pant %ag%a // fix g sound and stress: agapant/-e and compounds
C) agie A:x2i
a (gitA %a // fix a sound: agitasie/(ge)agiteer
agte (losig %ax2t@ // move default stress: agtelosig/-e/-heid
agter (dogt %ax2t@r // move default stress: agterdogtig and derivatives
agtereen (volg %ax2t@r_%e@n // move default stress: agtereenvolgend/-e/-ens
agter (losig %ax2t@r // move default stress: agterlosig/-e/-heid
agter (oor %ax2t@r_ // move default stress: agteroor/-buig/-druk/-val, etc.
&) agtig 'ax2t@x2 // this string almost always carries stress on a
a (gurkie %a // fix stress and a sound: agurkie/-s and compounds
@@ -82,7 +84,7 @@
@form) asie A:si // restore default stress to compounds ending in -formasie: graniet-/grond-/rotsformasie, etc.
gl) asie A:si // restore default stress: wyn-/sjampanjeglasie, etc.
pl) asie A:s%i // restore default stress: gemeenplasies/gemeenskapsplasies and similar
Csp) asie A:s%i // restore default stress: vloer/kantoorspasie, etc.
@sp) asie A:s%i // restore default stress: vloer/kantoorspasie/weggooispasie, etc.
Cst) asie A:si // restore default stress: brandweer/spoorwegstasie and similar
AAst) asie A:si // default stress: polisie/radio/televisie/uitsaaistasie, etc.
aspek %aspEk // fix stress and e sound: aspek/-te/-tief and compounds
@@ -133,9 +135,11 @@
alge (ryn %alx2@ // move default stress: Algeryn/-e/-s
alia A:l%i%a // fix stress and a sound: alias/-se/(inter )alia
_) ali (krA al%i // fix vowel sounds: alikreukel/alikruik/alikruk
al (jander %al // move default stress: aljander and compounds
alkohol alk%u%Ol // fix o sounds and drop h: alkohol/-is/-iste/-isme
alkohol (ieK %alk%uho@l // fix stress and 2nd o sound: alkoholies/-e
_) alle (C al@ // alledaags/e/allerhande
alle (mint %al@ // move default stress: allemintig/-e
_) a (llooi %a // move default stress: allooi(metaal/-silwer, etc.)
alma (nak %alm%a // move default stress: almanak/-ke and compounds
alogie alux2'i // genealogie/mineralogie and similar
@@ -197,6 +201,7 @@
C) afel (@ A:f@l // compounds starting with tafel/ontrafeling/uitrafeling
_) a (ffA %a // move default stress: affêre and compounds/affekteer
a (fflik %a // move default stress: affliksie/-s
affo (dil %af%u // fix stress and o sound: affodil/-le
affro (nt %afr%O // fix stress: affronteer/-tasie
afgee (+ 'afx2e@ // see rule: _) afge (@P4 afx2@
_) afge (@P4 'afx2@ // stress on 1st slb
@@ -272,6 +277,7 @@
arre (stA %ar@ // arrestasie/arresteer
arro (g %ar%u // arrogant/-e/arrogansie
ar (seen %ar
arse (na %ars@ // move default stress: arsenaal/arsenale and compounds
arte (fak %art@ // move default stress: artefak/-te
ar (tikel %ar // stress: artikel and compounds
artiku %art%ik%y // stress and vowel sounds: artikulasie/artikuleer
@@ -344,6 +350,7 @@
aan (stAAC %A:n // stress on 2nd slb.: aanstootlik/aansteeklik
aan (stAAC_N A:n // stress on 1st slb.: aanstoot/aansteek
aan (tasb %A:n // stress: (on)aantasbaar/-bare
_) aantel A:nt&l // fix e sound: aantel/-lery
aantreklik %A:ntr&kl@k // move default stress: aantreklik/-heid
aan (trek_N A:n // restore default stress: aantrek
aan (vaar %A:n // aanvaar/de/baar
@@ -452,6 +459,7 @@
bla (tant bl%a // shorten 1st a and move default stress: blatant/-e/-heid
_) blik (A blIk_ // fix i sound: blikaspaai/blikemmer/-s/blikoopmaker/-s/blikoor/blikore
bloe (ddors@ bl%u // bloeddorstig and derivatives, but bloeddors
bloed (skendig bl%ut // move default stress: bloedskendig/-e
bloed (stol bl%ut // move default stress: bloedstollend/-e
_) blo (kka bl%O // move default stress: blokkade/-s and compounds
_) blo (kkeer bl%O // move default stress: (ge)blokkeer/-der, etc.
@@ -468,9 +476,11 @@
bo (he b%u // fix stress: boheems/boheme
bok (ooi bOk_ // bokooi/e/ribbokooi/boerbokooi
_) bongo bONgu // fix g and o sounds: bongo and compounds: bongotromme
bonsmara b%OnsmA:r%a // move default stress: bonsmarabees/-bul/-koei
bosch (_ bOs // Rondebosch/Stellenbosch
bo (tanie b%o@ // stress on 2nd slb.: botanies/-e
bota (nie_N b%o@t%a // stress on 3rd slb.: botanie
_) bota (niCA bo@t''A: // fix stress: botanikus/botanici
boulevard bul@vard // boulevard/-s
_) bowe b''o@v@ // fix e sound in compounds: boweaards/bowemaans/bowetoon
_) breda br@dA: // move default stress: (van )Breda/Bredasdorp
@@ -533,7 +543,9 @@
baba bA:ba
baba (tjie bA:baI // fix 2nd a sound: babatjie/-s
_) bad (A bat_ // shorten a sound, pause: bad-/afloop/artikel/olie/oord/uitloop
baklei b@kl'eI // baklei/er
bad (r bat // fix d sound: (swem)badrand/badroom
bahama b%ahA:m%a // fix 1st a sound and stress: Bahama/-s and compounds
baklei b@kleI // baklei/er
_) bak (o bak_ // fix a sound and stress: bakoor/bakore
balaklava b%al%aklA:v%a // fix stress, a and v sounds: balaklava and compounds
balaklawa b%al%aklA:v%a // fix stress and a sounds: balaklawa and compounds
@@ -627,6 +639,7 @@
@) bewys b@veIs // "be" in rybewys/lisensiebewys/geboortebewys
bee (+ be@
@) beer (_ b'e@r // absorbeer/inhibeer, etc.
%Ca) beer be@r // restore default stress: pappa-/mammabeer
teddie) beer be@r // restore default stress
ys) beer be@r // restore default stress
bede (Cf b@d& // bederf/bedelf
@@ -655,6 +668,8 @@
beter b'e@t@r
beties be@tis // fix e sounds: diabeties/-e
betlehe (m bEtl%i%E // fix stress and vowel sounds: Betlehem/-mer
bewe (knie be@v@ // fix 1st e sound and stress: beweknie/-ë
bewe (lip be@v@ // fix 1st e sound and stress: bewelip/-pe
bewe (rasie be@v@ // fix e sounds: bewerasie/-siekte
@@ -676,6 +691,7 @@
chemika (li x2%e@m%ikA: // for compounds of chemikalieë
cholera ko@l@ra_ // fix e sound: cholera/-epidemie and similarcompounds
cholesterol k%OlEst@-r%Ol // cholesterol and many compounds
chore (ogra k%Or%i // fix stress and vowel sounds: choreografie and derivatives
ch (l k // chloor and compounds
ch (ro k
chat _^_EN
@@ -915,6 +931,7 @@
CAC) e (CC @ // fix e sound: nalatenskap/wapenstilstand
CAC) e (C% E // beesfilette/nougesette/onderbesette/voortgesette
blind) e (C@ @ // fix e sound in compounds like: blindekol/-mol/-wese
pous) e (C @ // fix e sound: pousebrood/-klok/-tyd, etc.
vreugd) e (C @ // fix e sound: vreugdefees/-klokkies/-lied/-tyd...
vriend) e (C @ // fix e sound: vriendepaar/-woorde
juwel) e (C @ // fix e sound: juwelekissie and similar compounds
@@ -937,6 +954,7 @@
lat) eres @r@s //lateres
fp) ers (_ &rs // fix e sound: dof-/gif-/olyf-/tydskrifpers, etc.
bloup) ers &:rs // fix e sound: bloupers
iew) ers (ter @rs // fix e sound: (l)iewerster
treil) e (rC @ // fix e sound: (vis)treilerkaptein/-wrak and similar compounds
dehands) e (C@ @ // fix e sound: tweedehandsemotorhandelaar/-winkel, etc.
goeder) e (@ @ // fix e sound: goederekapitaal/-kantoor/-loods/-mark/-omset/-reg
@@ -1230,7 +1248,7 @@
&) etjie (+ ici
Cn) etjies Eicis // kraaknetjies/hipernetjies
nn) etjies icis // kannetjies/mannetjies/pennetjies, etc.
&) elikheid (_S8 @l@keIt // vriendelikheid/duidelikheid
&) elikheid @l@keIt // vriendelikheid/duidelikheid/gemoedelikheid
epi (deC %Ep%i // epidemie/-s/-e/epidermies/epidermis
&K) erig @rIx2
@@ -1254,8 +1272,12 @@
&) ere (_ @r@
@l) ere (_ e@r@ // fix e sound: staanlere/toonlere
sw) ere (_ e@:r@ // fix e sound: pitswere and similar compounds
@C) erp (_ &rp // fix e sound: wol-/syserp and similar
@C) erpe (_ &rp@ // fix e sound: wol-/syserpe and similar
@C) erpie (_ &rpi // fix e sound: wol-/syserpie/-s
@) ery (_+ @reI // oorlopery, etc.
@) ery (e_ @reI // fix 2nd e sound: delwerye and similar
_) es (karp %Es // move default stress: eskarp/-e and compounds
eti (ket %Et%i // shorten e sound and move stress: etiket/-te
etikette (rA %Et%ik%Ete@ // fix e sound: etiketterend/-ering
C) e (waar @ // fix e sound: bate-/portefeulje-/toegevoegdewaarde/benedewaarts
@@ -1358,6 +1380,7 @@
ik) eer 'e@r // abdikeer/kommunikeer, etc.
AAl) eer e@r // restore default stress: evange-/evolusie-/seekoeilieleer, etc.
Aol) eer 'e@r // fix stress: rioleer/gelanseoleer/-de/gepetioleer
@Cl) eer e@r // restore default stress in compounds like windpompleer
oriënt) eer e@r // default stress: beroepsgeoriënteerd and similar
Cm) eer e@r // words containing meer preceded by consonant take default stress: bergmeer/strandmeer, etc.
rm) eer 'e@r // but not words like: alarmeer/gereformeerd/transformeer
@@ -1458,7 +1481,7 @@
@) enswaar (dig @nsv'A:r // noemenswaardige/bejammerenswaardig
@C) ent (K 'Ent // orent/student/presidentsrede
@C) ent (e_ 'Ent // plurals of some of the above
en) ent (_ Ent // restore default stress: koppenent/voetenent
en) ent (++ Ent // restore default stress: koppenent/-e/voetenent/-e
pr) ent (++ Ent // default stress for compounds of prent/-e
pr) entjie E:iNk%i //fix prentjie
@s) ent (rA Ent // winkelsentrum/studentesentrum, etc.
@@ -1482,6 +1505,7 @@
fa (nati f%a // fix stress and a sound: fanaties/-e
fan (fare f%an // move default stress: fanfare/-s
fanta (sA f%ant%a // fantaseer/fantasie
_) fan (to f%an // move default stress: fantoom/fantome
fari (seër f%ar%i // fix stress and a sound: Fariseër/-s
farma (seut f%arm%a // move default stress: farmaseut/-e/-ies/-ika
fasade f%asA:d@ // fix stress and 1st a sound: fasade/-s and compounds
@@ -1540,11 +1564,14 @@
foto fo@tu
fotoge (nie f%o@t%ux2e@ // fix stress and e sound: fotogenies/-e
fo (togra fo@ // move default stress: fotograaf and similar
foto (sta f%o@t%u // move default stress: fotostaat/fotostate and derivatives
fra (giel fr%a // fix stress and a sound: fragiel/-e
fran (Cina fr%an
_) fran (CisCA fr%an // fix stress and a sound: Fransiskus/Franciscus/Francisca
frangi (pani fr%aN%i // fix stress: frangipani and compounds
fre (kwen fr%i // fix stress and 1st e sound: frekwensie/-s and compounds
freud frOId // Freud/Freudiaans/-e
frikkade (l fr@k@d& // fix stress, a and e sounds: frikkadel/-le
front (A@ fr%Ont // fix stress and e sound: konfronterend/-e/konfrontering
fru (str fr%W // move default stress: frustrerend/-e
fung (e f%WNx2 // fungeer/fungerende/fungering
@@ -1565,6 +1592,8 @@
gal (joen x2%al // move default stress: galjoen/-e and compounds
gamie (_ x2am'i // bi-/mono-/poligamie, etc.
gamies x2'A:mis // bi-/mono-/poligamies/-e
@) gans x2A~ns // nasalise a: berggans/kolgans/-e
gans (C x2A~ns // nasalise a: gansveer/-vere and similar compounds
ga (riep x2%a // fix stress and a sound: Gariep(dam)
gar (n x2%ar // move default stress: garnaal/garnale/garneer/garnering and compounds
garni (soen x2%arn%i // fix stress: garnisoen and compounds
@@ -1603,6 +1632,7 @@
_) goewer x2%uv@r // move default stress: goewerneur and compounds
A) gogie (_ x2ux2'i // demagogie/pedagogie
A) gogies x2'o@x2is // demagogies/-e/pedagogies/-e
gomag (tig x2Om_%ax2 // fix o sound and stress, pause: gomagtig/-e/-heid
A) goog (_ x2'o@x2 // demagoog/pedagoog
gor (dyn x2%Or // move default stress: gordyn and compounds
go (rilla g%u // fix g and o sounds: gorilla and compounds
@@ -1640,6 +1670,7 @@
grotere x2ro@t@r@ // fix vowel sounds and stress: grotere/-s
guerrilla g@r'Ila
guillotine g%il%utin // guillotine and compounds
gus (ooi x2Ws_ // fix u sound, pause: gusooi/-e
guttu (ra x2%Wt%W // move default stress: gutturaal/gutturale
gésel x2e@s@l // fix stress and e sounds: (ge)gésel/-ing
@@ -1674,6 +1705,7 @@
ge (kg x2& // fix stress and e sound: gekgeskeer
ge (kk x2&
ge (kh x2&
geklede x2@kle@d@ // fix e sound: wit-/swart-/groengeklede
ge (kt x2& // fix e sound: gektalery
gekw (ord x2&kv // fix stress, e and w sounds: gekwordens/gekwording
genade x2@nA:d@ // correct 2nd e in compounds: genadedood, etc.
@@ -1722,12 +1754,14 @@
gesels x2@s&ls
A) ge (tjie x2i // fix e sound: (graad)negetjie/-s
geves (_ x2@fEs // prevent Eng. translation: hout-/staalgeves, etc.
geweer x2@ve@r // restore default stress: geweerhout/-sport/-staander
@C) gewens x2@ve~ns
.group h
h h
h (h
@A) h (_ // drop final h after vowel: (Su)Sarah and similar
_) half (geP4 h'alf // fix e sound in halfgetem(de), etc.
half (kro@ h%alf // move default stress: halfkroon/halfkrone
half (een h%alf_ // move default stress in this and following time expressions: halfeen/-vergadering
@@ -1786,6 +1820,7 @@
hiëro (glie h%i@r%u // fix stress and vowel sounds: hiëroglief/-gliewe
A) hle (_ =LE // Nguni words and names ending in -hle: Enhlalakahle/Hlalanikahle/malahle/Phahle
_) hobo ho@bu // fix o sound in compounds: hobokonsert/-musiek/-solo/-sonata/-speler
hoender hun@r // drop d: hoender and many compounds
hoeve (r h%uf& // fix stress and e sounds: hoever(re)
hoeveelh (e h%ufe@lh // move default stress: hoeveelheid/-hede
hof (A hOf_ // fix o, pause: hofaansoek/-amptenaar/-etiket/-interdik/-ordonnans/-uitspraak/-ure...
@@ -1809,6 +1844,7 @@
heet (hoofdi h%e@t // move default stress: heethoofdig/-e/-heid
heide (C heId@ // heidene/heidense/heidendom/heidekind/Heidelberg
hekse (C hEks@ // fix 2nd e sound in compounds starting with hekse: heksebrousel, etc.
_) hek (ta h%Ek // move default stress: hektaar/hektare
held (haft h%&lt // move default stress: heldhaftig/-e/-heid
hel (din h%&l // move default stress: heldin/-ne/-netjie
_) hele (K he@l@ // hele/helend/heler
@@ -1862,6 +1898,7 @@
i i
i (C I
i (CA i
ô) i (K %i // i unstressed: ou-/jongnôi
tax) i (@ %i // fix i sound: taxidrywer/-staanplek/-staking/minibustaxistelsel
iaal (_K i'A:l // aal normally stressed in words like bilabiaal/koloniaal, etc.
iale (_ i'A:l@ // al normally stressed in words like bilabiale/koloniale, etc.
@@ -2103,6 +2140,7 @@
_) ja (CobA j%a // fix stress and a sound: Jacoba/Jacobus/Jakobus
jacaranda j%ak%ar'anda //jacaranda and compounds
jakaranda j%ak%ar'anda //jakaranda and compounds
jakob (regop j%A:k%Op // move default stress: jakobregop/-pies and similar
jakopewer j%ak%Ope@v@r_ // fix stress and vowel sounds: jakopewer/-oë
jaloe (sie j%al%u // stress: jaloesie/beroepsjaloesie
_) jan (C@ j%an // fix stress and n sound: janfiskaal/janfrederik/jangroentjie/janrap/jansalie
@@ -2147,6 +2185,7 @@
kelende (_ k@l@nd@
kkelend (_ k@l@nt
kkelende (_ k@l@nd@
kelkie (wyn k%&lk%i // move default stress: kelkiewyn/-e
kelner k&ln@r // fix 2nd e sound in compounds like kelnerbaadjie, etc.
kelner (in k%&ln@r // move default stress: kelnerin/-ne/-netjie
ke (nnAK kE // fix e sound: boek-/markkenner/-kennis
@@ -2160,6 +2199,7 @@
flik) kerkers k@rk&:rs // fix e sounds: flikkerkers/-e
weder) ker (A k'e@r // wederkerend/wederkerig
bottel) kers k&:rs // fix e sound: bottelkers/-e
@) ker (sie_ k&r // fix e sound: koekkersies and similar compounds
kete (l ke@t@ // fix e sounds: stookketel/ketelmaker and many similar compounds
_) keuse k''Y@s@ // fix connecting e sound in compounds starting with keuse
kiaat k%i;A:t // move default stress: kiaat and compounds
@@ -2186,6 +2226,7 @@
klawerses kl%A:v@rsEs // fix stress and last e sound: klawerses
klawer (t kl%A:v@r // move default stress: klawertwee/-tien
klawer (v kl%A:v@r // move default stress: klawervier/-vyf/-vrou
klawer (veld klA:v@r // restore default stress: klawerveld/-e
kleinse (rig kl%eInse@ // fix stress and e sound: kleinserig/-e/-heid
klein (sieli kl%eIn // move default stress: kleinsielig/-e/-heid
_) kamele kam'e@l@ // kamele teenoor skamele
@@ -2319,13 +2360,16 @@
kartets k%artEts // fix stress and e sound: kartets/-e and compounds
kar (ton k%ar // move default stress: karton and compounds
_) kar (ve k%ar // move default stress: karveel/karvele
kar (ven kar // restore default stress: karvenster and compounds
kar (ver kar // restore default stress: karverkoper/-verhuurder, etc.
kar (wats k%ar // move default stress: karwats and compounds
kar (wei k%ar // move default stress: karwei and derivatives
kar (wy k%ar // move default stress: karwysaad 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
kaske (nade k%ask@ // fix stress and e sound: kaskenade/-s and compounds
_) ka (sta k%a // move default stress: kastaiing and compounds
kasta (njet k%ast%a // move default stress: kastanjet/-te and compounds
_) ka (ste@ k%a // move default stress: kasteel/kastele and compounds
ka (sty k%a // move default stress: kasty/-der/-ding
kasse (t k%asE // fix stress and e sound: kasset/-te and compounds
@@ -2357,6 +2401,7 @@
ko (kon k%u // fix 1st o sound and move default stress: kokon and compounds
kol (jan k%Ol // move default stress: koljander and compounds
ko (lom k%u // fix stress and 1st o sound: kolom/-me and compounds
kol (wyn k%Ol // move default stress: kolwyntjie and compounds
komati (K k%umA:t%i // fix stress and vowel sounds: Komati(poort and other compounds)
kombers k%Omb&:rs // fix stress and e sound: kombers/-e/dons-/lappieskombers, etc.
ko (mete k%u // fix stress and 1st o sound: komete and compounds
@@ -2366,6 +2411,7 @@
kommissie k%umis%i //kommissie alone and in compounds
_) ko (pie@ k%u // kopiereg/kopieë
koe (rA k%u // koerier/koerasie/koerant and compounds
koe (rend ku // restore default stress: koerend/-e
ko (ra k%u // fix stress and o sound: koraal/korale and compounds
korrek k%urEk //korrek and derivatives
korrektiewe k%Or%Ektiv@ // fix stress and vowel sounds: korrektiewe(toesig, etc.)
@@ -2470,6 +2516,7 @@
lang (werp l%aN // move default stress: langwerpig/-e/-heid
lank (moe l%aNk // move default stress: lankmoedig/-e/-heid
_) lan (sA l%an // move default stress: lanset/-te/lanseer/-ering/lansier
_) lapa (K lA:pa // fix words like lapakombuis
lapar (otomi l%ap%ar // fix stress and a sounds: laparotomie
_) lapel l%ap'&l //lapelwapen etc.
lapel (_ l%ap'&l //baadjielapel etc.
@@ -2523,6 +2570,7 @@
likke (wa l@k@ // move default stress: likkewaan/likkewane
&) likste (_S6 l@kst@
li (kwid l%i // fix 1st i sound: (ge)likwideer/likwidasie/likwiditeit
lini (aal l@n%i // fix stress and 1st i sound: liniaal(tjie) and compounds
litera (t l@t@r%a // literatuur/literature/literatore, but literbottel
liter (A l@t@r // fix i sound: literêr/-e/alliterasie
_) li (mi l@ // fix stress and 1st i sound: limiet/-e/limitasie/limiteer
@@ -2623,6 +2671,7 @@
mani (ak m%A:n%i // fix stress and 1st a sound: maniak/-ke and compounds
manier m@ni:r //manier and compounds
manifes manifEs // fix vowel sounds: manifes and compounds/manifestasie/manifesteer
mani (ku m%an%i // fix stress and a sound: manikuur and compounds
manipu m%an%ip%y // fix stress and a sound: manipuleer/manipulering/manipulasie
manji (fie m%anj@ // fix stress and i sound: manjifiek/-e
man (moe m%an // move default stress: manmoedig/-e/-heid
@@ -2689,12 +2738,13 @@
melank m%El%aNk // stress and 1st e sound: melankolies/melankoliek/-e/melankolikus/-ci
mem (bra m%Em // move default stress: membraan/membrane
memo (rA m%Em%u // fix stress and vowel sounds: memorandum/memoranda and compounds/memoriseer/-sering
memo (riA m%Emo@ // fix stress and o sound: memorie(boek)/in memoriam
meneer m@n'e@r // meneer/meneertjie
menere m@n'e@r@ // menere/beroepsmenere
meng (sel mEN // fix e sound: sitronellamengsel and similar compounds
mening m'e@n@N
mening (itis mEn@Nx2 // see rule: mening m'e@n@N
menstru m%Enstr%y // 1st e not nasalised, fix stress: menstruasie/menstrueer
mentee (C mEnt'e@ // argumenteer/dokumenteer/fragmenteer stress related
mentele (K mEnt'e@l@ // stress always on penultimate slb of words ending in ntele/-r
men (tasie m%En // fix stress: argumentasie/dokumentasie and similar
@@ -2708,15 +2758,18 @@
memora (bili m%Em%Or%a // fix vowel sounds and stress: (sport)memorabilia and similar
_) metel me@t@l // vermetel/-e/-es/-heid...
ment m'Ent
mental (iteit m,Ental // fix stress: mentaliteit/sentimentaliteit and compounds
mentali (teit m%Ent%al%i // fix stress: mentaliteit/sentimentaliteit and compounds/slagoffermentaliteit
mentjie m'EiNci // monumentjie/dokumentjies
menue (t m%En%y:;E // fix stress and vowel sounds: menuet/-te
@C) mere (_ me@:r@ // fix penultimate e sound: sout(water)-/strandmere
me (riete m@ // move default stress: meriete and compounds
merino m@rin%u // fix stress and vowel sounds: merino/-skaap/-ram, etc.
te) merk m&rk // fix e sound: hoogte-/geboortemerk/-e/-ie
me (rrie mE // fix e sound: merrie/-s/perdemerrie and similar compounds
AAs) mes (_ mEs // fix last e sound in compounds like kombuismes
Cs) mes (_ mEs // fix last e sound in compounds like slagtersmes
hef) mes (_ mEs // fix e sound: hout-/rooihefmes and similar
sny) mes (_ mEs // fix final e sound in compounds like brood-/voorsnymes
tafel) mes (_ mEs // fix final e sound: tafelmes
_) mes (aan mEs_ // fix e sound, pause: mesaanval/-ler
metaa (C m@tA: // fix stress and e sound: metaal/metaan and compounds
@@ -2745,6 +2798,7 @@
mi (miek m@ // fix stress and i sound: mimiek and compounds
mi (mosa m@ // fix stress and i sound: mimosa/-s
minag m'Inax2 // minag/geminag/minagting/minagtend
minare (t m@n%arE // fix stress and vowel sounds: minaret/-te
minder (jar m@n@r // move default stress: minderjarig and derivatives
miner (A m@n@r // mineraal and many compounds
mi (neur m%i // move default stress: mineur and compounds
@@ -2804,6 +2858,7 @@
monit (e m%On%it // fix vowel sounds and stress: moniteer/-tering and compounds
monitor (K mOnitOr // fix o sound: monitor/-skerm, etc.
monnike mOn@k@ // fix i and e sounds: monnikedom/-klooster/-koor/-werk and many similar
mono (ga m%o@n%o@ // move default stress: monogaam/-game
monopo (li m%o@n%o@p%u // fix stress and o sound: monopolie/-ë/-monopolisties/-e
mon (teur m%On // move default stress: monteur/-s and compounds
monu (ment m%On%y // monument/e/vrouemonument/monumenteel
@@ -2819,6 +2874,7 @@
motie (C m%o@ti // handle stress: winsmotief/-tiewe and similar compounds
motor mo@t@r // motorfiets/motorkar/vragmotor
motor (ie m%uto@r // fix stress and o sounds: motories/-e
mozzarella m%Ots%ar&l%a // fix stress and zz sound: Mozzarella(kaas)
.group n
@@ -2843,6 +2899,7 @@
spi) n (ge n // split n/g: spingehalte/-geluid, etc.
ng (eeR Nx2 // diftongeer/gedistingeerde/rangeer and compounds
ngees nx2e@s // split n/g: leuen-/span-/sportman-/wengees
e) n (goeC n // split ng: lakengoed/-goeters and similar
n (_g N
ng (ent Nx2 // kontingent/tangent and derivatives
CA) nger N@r // compounds of vinger/slinger; hangertjie/hongersnood/langeraad/swangerskap/tengerste
@@ -2853,6 +2910,7 @@
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
nag (adder nax2_ // fix a sound, pause: nagadder/-s/nagaddergif, etc.
na (ï n%a_ // naïef/naïewe/naïwiteit
@) na (lis n%a // shorten a sound: joernalis/-te/-tiek
nami (bi n%amI // Namibië/Namibiese
@@ -3094,6 +3152,7 @@
omkeer Omke@r // restore default stress: omkeer/handomkeer and similar
_) omker (A Omke@r // omkering/omkerende
_) om (klem %Om // move default stress: omklem/-ming
_) om (kringP2 Om // move default stress: omkring/-de/-ing
_) om (laag %Om // move default stress: omlaag and compounds
_) omli (gg %OmlI // move default stress: omliggend/-e
om (ly %Om // move default stress: omlyn/-ing
@@ -3127,6 +3186,7 @@
ort (ometr %Ort // fix 2nd o sound and stress: ortometrie/-metries/-e
ort (osko %Ort // fix 2nd o sound and stress: ortoskopies/-e
ose (a %o@S%i // fix stress and s and e sounds: oseaan/oseane and compounds
o (soon %O // fix stress and 1st o sound: osoon(laag) and similar
@) oties 'o@tis // antibioties/eksoties/eroties/neuroties
@) otomie (_N %o@t%um'i // fix o sounds and stress of medical terms: laparotomie, etc.
@) otomie (ë %o@t%um'i: // fix o sounds and stress of plurals of medical terms: leukotomieë/nefrotomieë, etc.
@@ -3250,6 +3310,7 @@
onder (werping %On@r // move default stress: onderwerping/-sklousule
onder (worp %On@r // move default stress: onderworpene/onderworpenheid, etc.
onder (wysC@ ''On@r // force default stress: onderwysdepartement and similar
onderwyser (a On@rv'eIs@r_ // fix stress, e sound, pause: ouer-onderwyseraand/-e and similar
_) onderge (@P7 'On@rx2@
_) on (kant On // stress on 1st slb.: onkant and compounds
on (langs On // stress on 1st slb.: onlangs/-e
@@ -3337,9 +3398,11 @@
K) opeen _%Op_e@n
_) ope (K o@p@ //opehart opestelling etc./ope
ope (l o@p@ // dopeling/hopelik/opelug/opelyf
_) ope (rig o@p@ // fix stress: operig/-e
opgee (+ 'Opx2e@ // see rule: _) opge (@P4 Opx2@
_) opge (@P4 'Opx2@ // stress on 1st slb
&C) op (ig 'o@p // wanhopig/voorlopige
op (lett %Op // move default stress: oplettend/-e/-heid
opper Op@r // oppergesag/wese/vlak/man
opper (vlakki %Op@r // move default stress: oppervlakkig/-e/-heid/-ste
opsetlik %OpsEtl@k // move default stress: opsetlik/-e/-heid
@@ -3427,6 +3490,7 @@
pori (eus p%o@r%i // fix stress: porieus/-e
porse (lein p%Ors@ // fix stress and e sound: porselein and compounds
por (sie pOr // restore default stress: porsie/-s/-tjie
por (stok pOr // restore default stress: porstok/-ke
portu (ge p%Ort%y // fix stress: Portugees/Portugese
_) pos (a pOs //posadres/posadministrasie
posisie p%uzis%i
@@ -3435,6 +3499,7 @@
_) poten (C p%utEn // fix stress and vowel sounds: potent/-e/potensie
poten (sia p%o@t%En // fix e sound: potensiaal/potensiale and compounds
pot (sier p%Ot // move default stress: potsierlik/-e/-heid
pot (yster pOt_ // fix o sound, insert pause: potyster/-tafel and similar compounds
poësie p%u:@zi // bieg/natuurpoësie/poëversameling, etc.
poë (tA p%u:e@ // poëties/-e/poëte
ra) pporte (rA p%Orte@ // fix stress and e sound: rapportering/rapporterende
@@ -3458,6 +3523,7 @@
pajama p@dZ'A:ma //pajama and compounds
pak (A pak? // pakesel/pakos/verpakafdeling
pakistan p%ak%istan //first a and stress
_) pa (kka p%a // move default stress: pakkaas/pakkase
pakke (t p%akE // pakket/-te and compounds
pale (stA p%al@ // fix stress and a sound: Palestina/Palestyn and derivatives
pale (t p%alE // fix stress and a sound: palet/-te and compounds
@@ -3501,6 +3567,7 @@
para (C ,para //paralel, paragraaf etc.
parade (K p@rA:d@ // parade and compounds
_) par (CA p%ar // (ge)parkeer/parkeerplek/party(keer/maal...)/parfuum/parmantig
parka (baadj park%a // restore default stress: parkabaadjie/-s and compounds
parke (raad park@ // fix stress and e sound: Parkeraad(slid, etc.)
_) pas (AA pas // pasaangeër/pasoortreding
pas (op p%as // pasop/pasoppens
@@ -3519,6 +3586,7 @@
.group pe
_) pe (dA p@ //pedaal pedanties etc.
@C) pe (da p@ // fix e sound: voet-/petrolpedaal/-pedale
_) peda (g p%Ed%a //pedagogie etc.
_) pedi p%Ed%i //pediater etc.
_) ped (of p%Ed //pedofiel pedofilie, etc.
@@ -3583,12 +3651,15 @@
prakti (syn pr%akt%i // move default stress: praktisien and compounds and plural
_) prak (tyk pr%ak // stress: praktyk and compounds
prefek prifEk // fix vowel sounds: prefek/-te/-tuur and compounds
preg (nanC pr%Ex2 // move default stress: pregnant/pregnansie
pre (histo pre@ // fix pre sound: prehistories/-e
pre (lud pr@ // fix stress and e sound: prelude/-s/(ge)preludeer
pre (mier pr@ // move default stress and fix e sound: premier and compounds
pre (nata pr,e@ // fix e sound: prenataal/-tale
presbiteri (a pr%Esb@t%e@r%i
@) present pr@sEnt // restore default stress when present 2nd part of compound: krismispresent, etc.
preste (rend pr@ste@ // fix stress and vowel sounds: presterend/-e
prestige pr%Esti:Z // prestige and compounds
pretori pr%it%o@r%i //pretorianer,pretoriaan, fix e and o sounds a
pretoria (_ pr%it'o@ria //ending in pretoria
pretoria (C prit'o@ria //pretoriase, pretoriahuis etc.
@@ -3627,6 +3698,7 @@
promenade pr%Om@nA:d@ // fix stress and vowel sounds: promenade/-dek/-konsert, etc.
promisku pr%Om@sky // fix stress and o sound: promisku/-e/-íteit
promulg (e pr%Om%Wlx2 // fix stress and vowel sounds: promulgeer/-gering
pronker (tji prONk_&r // insert pause, fix e sound: pronkertjie/-s and compounds
proposi pr%Op@zi // stress, o and s sounds: (besigheids)proposisie/-si, etc.
prosa pro@s%a //prosa and compounds
prosa (ïe pr%o@sA: // fix stress and vowel sounds: prosaïes/-e
@@ -3647,6 +3719,7 @@
proto (C pro@tu // protokol/prototipe
prot (on+ pro@t // fix o sounds: proton/-e and compounds
provi (and pr%o@v%i // fix stress and v sound: proviand/-meester, etc.
provita pr%uvit%a // fix v sound: provita/-s and compounds
.group q
@@ -3684,7 +3757,7 @@
ra (pier r%a // move default stress: rapier/-e and compounds
_) ra (pport r%a // fix stress: rapport/skoolrapport/rapportryer
rasse ras@ // e sound of compounds starting with rasse
ribbe (tj r'Ibi
ribbe (tj rIb%i // skaapribbetjie
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
@@ -3692,6 +3765,7 @@
ris (kant r@s // move default stress: riskant/-e
ritme rItm@ // fix e sound in ritmes/ritmespeler
ritu (A r@t%y // ritueel/rituele/ritualisties
rl(_ _^_EN // words ending in -rl are English: girl/whirl/pearl, etc.
roersel rurs@l // fix stress and e sound: roersele and compounds of roersel
_) rol (A rOl? // oprolaksie/roloorvleueling
roeme (nië r%umi: // fix stress and e sound: Roemenië(r)
@@ -3753,6 +3827,7 @@
regi (sseuC r@x2@ // fix stress and e sound: (film-/kuns-/mede-/musiek-/oorklankings-)regisseur/-sseuse
reg (ist r@x2 // registrasie/-nommer/register/bevolkingsregister
regle (ment r@x2l@ // fix stress and e sounds: reglement/-e and compounds
re (gulA r%E // fix e sound: regulasie/reguleer/regulering
regverdig r&x2f'&rd@x2 // regverdig/onregverdige/regverdigheid - verwyder uit af_list
rekla (mA r@kla // fix e sound: reklamatories/-e/reklamasie
reklame r@klA:m@ // fix stress and e sounds: reklame and many compounds
@@ -3824,7 +3899,7 @@
@) s (_S1q s // to correctly handle plurals of propernames in af_list: Jouberts, etc.
@@@) s (_S1 s // to correctly handle plural s
i) s (_ s // exceptions to rule: @@@) s (_S1 s
sahara sah'A:ra // fix stress and a sound: Sahara/-woestyn and similar compounds
sangere (K s%aN@rE //sangeres and compounds: opera-/popsangeres
o) s (_ s // exceptions to rule: @@@) s (_S1 s
u) s (_ s // exceptions to rule: @@@) s (_S1 s
@@ -3842,7 +3917,7 @@
@) s (jas s // fix s/j sounds: asjas/huisjas/nertsjas/pelsjas
sjerrie SEri // fix e sound: sjerrie and compounds
sjimpan (see S@mp%an // move default stress: sjimpansee/-s and compounds
sjokolade SOk@l'A:d@ // sjokolade and compounds
sjokolade S%Ok@lA:d@ // sjokolade and compounds: warmsjokolade
s (jaap s // stads-/dorpsjaap
@) sj (aar sj // diensjaar/lewensjaar/begrotingsjaar
@) sj (aCA sj // apartheidsjare/oesjare/beroepsjaloesie
@@ -3930,6 +4005,7 @@
skerpi (oen sk%&rp%i // move default stress: skerpioen/-e and compounds
skilder (y sk@ld@r // move stress to y: skildery and compounds like skilderymuseum
skisofr (e sk%is%ufr // fix stress and o sound: skisofreen/skisofrene
skle (rose skl@ // fix stress and e sound: sklerose and compounds
_) skok (AP4 sk''Ok_ // fix o sound and stress: skokaankondiging/-effek/-insluiting/-onthulling...
skole sko@l@ // fix e sound in compounds: skolebeheerliggaam/-koor/-rugby/-wedstryd/-wet
sko (lier sk%o@ // move default stress: skolier/-e
@@ -3986,7 +4062,7 @@
spi (na@ sp%i // move default stress: spinaal/spinale
_) spi (ra sp%i // move default stress: spiraal and compounds/spirale/spirakel/spirant, etc.
spits (von sp@ts // move default stress: spitsvondig/-e/-heid
spoed (@ sput // spoedaflewering/spoedeisend/spoedorder
_) spoed (@ sput // spoedaflewering/spoedeisend/spoedorder
spoed (ig spud // spoedig/-lik/-er/-ste
_) spon (ta sp%On // move default stress: spontaan/spontane
_) sport (@@@ sp''Ort_ // force stress on 1st slb.: sportadministrasie/-konfederasie
@@ -4044,6 +4120,7 @@
subli (mA s%Wbl%i // move default stress: sublimaat/-ate/sublimering
sublimi (na s%Wbl%im%i // move default stress: subliminaal/-ale
sub (sidA s%Wb // move default stress: subsidie/-s and compounds
sub (skrip s%Wb // move default stress: subskripsie and compounds
sub (stansie s%Wp // move default stress and fix b sound: substansie/-s/substansieel/-siële
substi (tu s%Wbst@ // move default stress: subsistuut/-tute
sub (ti s%Wp // stress and b sound: subtiel/-ste/subtiliteit
@@ -4080,6 +4157,7 @@
se (_ s@ //the word se and some ending in se
__) se (_ s@ //Se at start of sentence.
_) sebra se@bra // fix vowel sounds: sebra/-strepe; variant of zebra
_) se (doos s@ // fix stress and e sound: sedoos(wind)
se (ggA s& // fix e sound: niksseggend/-e
@) seko (no@ s_%Ek%u // fix e sound; default stress; insert short pause: bedryfs-landsekonomie/-s/-ekonoom
@) seks (_ sEks // fix final e sound: kinder-/kuber-/oumens-/selfoon-/tienerseks
@@ -4089,6 +4167,7 @@
sending (_ sEnd@N //fix sending at word end
sen (sorie s%En // move default stress: sensories/-e
senter sEnt@r // fix e sound: binne-/buite-/Springboksenter
senti (ment s%Ent%i // fix stress: sentimentaliteit
@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.)
@@ -4123,6 +4202,7 @@
@) sel (wig s'&l // stress: (ver)eenselwig and derivatives
polisie) se (lK s& // fix e sound: polisiesel/-le
_) seme (Ct s@mE // sementtafel/blad/vierkant/semester/-s
semel (@ se@m@l // fix stress and e sound: semeltjie/semeluitslag
_) semi (_ sEmi // fix e sound: semi/semi-formeel, etc.
semi (na s%Em%i // seminaar/seminare/seminarium
_) semi (C sEmi // fix vowel sounds: semistaatsinstellings and similar
@@ -4159,10 +4239,12 @@
staties st'A:tis
sta (tutA st%a // fix stress and a sound: statute/statutêr
êr) ste (_S3 st@ // preserve stress: elementêrste/primêrste, etc.
_) ste (faan st@ // fix stress and e sound: Stefaan/-s/-sie
%Cel) ste (r st& // fix e sound: dubbelster/-re
Cet) ste (rK st& // fix e sound: ballet-/kabaret-/krieketster/-re
dwaal) ste (r st& // fix e sound: dwaalster/-re
dwerg) ste (r st& // fix e sound: dwergster/-re
film) ste (r st& // fix e sound: filmster and compounds
nd) ste (r st& // fix e sound: aandster/oggendster
pool) ste (r st& // fix e sound: poolster
prent) ste (r st& // fix e sound: rolprentster/-re
@@ -4173,6 +4255,8 @@
_) ste (ri st%E // fix stress and e sound: steriel/-e/steriliteit
ster (-hotel st&r // fix e sound: een-/twee-/drie-/vier-/vyfster-hotel
ster (hotel st&r // fix e sound: een-/twee-/drie-/vier-/vyfsterhotel
skaap) ster (tjie st&:r // fix e sound: skaapstertjie/-s
vark) ster (tjie st&:r // fix e sound: varkstertjie/-s
stimu (lA st@m%y // move default stress and fix i sound: stimuleer/stimulering/stimulasie
stede (C ste@d@ // fix e sounds of many compounds and derivatives containing stede
steding ste@d@N // besteding and compounds
@@ -4198,6 +4282,7 @@
stede (_ ste@d@ //voorstede, hoofstede etc.
stele (_ ste@l@ //kastele lepelstele etc.
stene (_ ste@n@ //skoorstene, bakstene etc.
sten (sil stEn // fix e sound in compounds like wolbaalstensil
chri) stene (_ st@n@ //fix christene and compounds
@) stel (o st@l //bewusteloos/lustelose/rusteloosheid/kosteloos
mAre) ste (r st& // fix e sound: more/môrester/-re
@@ -4221,7 +4306,7 @@
@) stemperame s_tEmp@-r%amE // fix vowel sounds and stress: dobbelaars-/kunstenaarstemperament, etc.
stewel ste@v@l // sokkerstewels/stewelmaker and other compounds
stie (beu st%i // move default stress: stiebeuel and compounds
@) stiek st'ik // statistiek/akoestiek/artistiek and many similar
@V) stiek st'ik // statistiek/akoestiek/artistiek and many similar
@) sties =st%is // statisties/akoesties/artisties and many similar
sti (let st%i // move default stress: stilet/-te/stiletto
stil (swy st@l // move default stress: stilswy(g)end/-e
@@ -4264,7 +4349,7 @@
talen (tjie t%alEiN // fix -entjie: (kuns-/musiek)talentjie
@) talig t'A:l@x2 // Anderstalig/tweetalig
@) ta (lis t%a // shorten a sound: hospitalisasie/kapitalisme/katalisator and similar
_) ta (ma t%a // tamatie and compounds
tama (tie t%amA: // tamatie and compounds/kersietamaties, etc.
_) ta (mb t%a // tamboer and compounds/tambotie and compounds
tamboe (ryn t%amb%u // move default stress: tamboeryn/-e and compounds
tamele (tj t%am@lEi // fix stress and vowel sounds: tameletjie/-s
@@ -4297,6 +4382,7 @@
ti (perA t%i // move default stress: tipering/tiperend/-e
ti (ra t%i // move default stress tiran tirade
tira (nnie t%ir%a // move default stress: tirannie
tissue tiS%u // English word often used in Afrikaans text: manstissue, etc.
titel tit@l // fix e sound: (on)getiteld/titelblad/-geveg and many similar
tj tS
@) tj (a tj // separate tj: agtjarig/blatjang/bontjas/olifantjag/ouditjaar/tweegatjakkals
@@ -4341,6 +4427,7 @@
toi (let t%OI // move default stress: toilet and compounds
tokke (lo t%Ok@ // move default stress: tokkelos/-sie/tokkelok and compounds
tok (tokk t%Ok // move default stress: toktokkie/-s/-spelery, etc.
tombola t%Ombo@l%a // move default stress: tombola and compounds
_) to (na t%o@ // fix stress and o sound: tonaal/tonale
_) top (A t''Op_ // fix o sound: topaandeel/-offisier/-universiteit, etc.
_) top (aas t%up // fix stress and o sound: topaas and compounds
@@ -4348,16 +4435,20 @@
_) top (ogra t%o@p // fix stress and o sound: topografies and derivatives
_) top (olo t%o@p // fix stress and o sound: topologies and derivatives
@) toris (_ t'o@r@s // fix stress: pectoris/klitoris
_) tor (nyn t%Or // move default stress: tornyn/-e and compounds
_) tos (ka t%Os // move default stress: Toskaanse/Toskane
ttel t@l // many compounds of bottel/skottelgoed
tuberkulose t%yb@rk%ylo@s@ // fix stress; e sound in compounds: tuberkulose/-behandeling
tug (A tWx2_ // fix u sound: (on)tugondersoek/-oortreding/-ordonnansie
tuiglik t'Yyx2l@k // stress: werktuiglik/sintuiglik/-e/-heid
tuin (ier t%Yyn // move default stress: tuinier and compounds
turlington tW:l%iNt@n // Turlington/-reuk/-smaak
tussen tWs@n // tussenin/tussenbeide/tussenganger
tuur t'yr
parti) tuur ty:r // compounds ending with partituur take default stress: musiekpartituur
s) tuur ty:r // "uur" in stuur takes default stress: weggestuur
tweed (K twi:d // english pronunciation: tweedbaadjie/-pak, etc.
tweed (ra twe@d // but: tweedrag/tweedraadwol, etc.
twis (A twIs_ // fix i sound, pause: twisappel/-s
twyfe (l tweIf@ // fix e sound: twyfelloos/twyfellose
@) ty (dig t'eI // gelyktydig/vroegtydig
@@ -4486,7 +4577,7 @@
@) tele (_ t'e@l@
tenis t@nIs
tennis t'En@s // tennisafrigter/tennisarm
tennis tEn@s // tennisafrigter/tennisarm/tafeltennis
tera (pA t%Er%a // terapie/terapeut/terapeuties/arbeids-/groepsterapie
o) tera (pA t%Er%a' // stress: chemoterapie/fisioterapeut/psigoterapie...
_) tereg t@r&x2 // teregwysing/teregstelling/tereghelp/tereg
@@ -4516,6 +4607,7 @@
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
transpa (rant tr%ansp@ // fix stress and a sound: transparant/-e and compounds
transport tr%anspOrt // fix stress: transport and compounds
trap (orr trap_ // shorten a sound: traporrel/-tjie/-s and compounds
trap (soe tr%ap // move default stress: trapsoetjies/-e
@@ -4531,6 +4623,7 @@
tre (k tr&
trekker tr&k@r // voortrekkerleier/Voortrekkerstraat/salaristrekkersvergadering
tril (joen tr@l // move default stress: triljoen/-e
trio (_ tri:u // fix o sound: (fluit-/harp/-kitaar...)trio
triomf (ant tr%i%Omf // move default stress: triomfantlik/-e
tri (omf tr%i // move default stress: triomf/-boog/-lied/-tog, etc.
@@ -4542,7 +4635,9 @@
_) trom (pet tr%Om // move default stress: trompet/-tte/-tter and compounds
tro (tseer tr%O // stress: trotseer/getrotseer
tro (tsering tr%O // move default stress
trousseau tr''u:s@U // trousseau/-kis and similar
truk (aats tryk // default stress: trukaatser/-s
tru (projek try
tru (spieë try // fix u sound: truspieël/-tjie/-s
tru (stee tr%W // move default stress: trustee and compounds
@@ -4598,6 +4693,7 @@
uit (sluiten %Yyt // move default stress: uitsluitend/-e
uitsluitlik %YytslYytl@k // move default stress: uitsluitlik/-e
uitsonderli (k %YytsOn@rl@ // move default stress: uitsonderlik/-e vs. uitsonder
uitspatlik %Yytspatl@k // move default stress: uitspatlik/-e/-heid
uitspreekl %Yytspre@kl // fix stress and avoid -lik suffix: onuitspreeklik/-e
uitstaan (C %YytstA:n // move default stress: uitstaande/onuitstaanbaar/-bare
uit (steken %Yyt // move default stress
@@ -4702,6 +4798,8 @@
ve (l f& // maagvel, stress on 1st slb
@) vel (A fe@l // aanbeveling/aanbevelingsbrief
veld (C f&lt // fix d sound: veldreuk/-radio/-rantsoen, etc.
veld (eks f&lt_ // fix d sound, pause: veldekskursie/-ekspedisie/-s
veld (o f&lt_ // fix d sound, pause: veldorgideë/-opsigter/-oppervlakte/-opname, etc.
vele f'e@l@
ven (detta v%En // fix stress and v sound: vendatta and compounds
ven (dusie f@n // fix stress and e sound: vendusie and compounds
@@ -4711,6 +4809,7 @@
ven (yn f@n // venyn/venynig
ver f@r
veranda v@randa // fix stress and e sound: veranda and compounds
verbena v@rbe@n%a // fix v sound: verbena/-s and compounds
verby f@rbeI // fix stress: verbykomkans/verbykomslag, etc.
vere (sto fe@r@ // avoid ver prefix: verestoffer/-s and compounds
verversing f@rf'&rs@N //verversing and compounds
@@ -4732,6 +4831,7 @@
ver (baal v%&r // fix v and e sounds and stress: (nie)verbaal
ver (balA v%&r // fix v and e sounds and stress: (nie)verbale/verbaliseer
vere (b fe@r@ // ver- not prefix: verebed/-bedryf/-bedekking
vere (do fe@r@ // ver not prefix: veredons/veredos
vere (h fe@r@ // ver- not prefix: verehoed/-e/-ens
vere (k fe@r@ // ver- not prefix: verekombers/-kuif/-kussing
vere (m fe@r@ // ver- not prefix: verematras/-se/-sie
@@ -4772,6 +4872,7 @@
C) verse (_ f&rs@
KA) verse (_ v'&rs@
versifi (C v%&rs%if%i // fix stress and v and e sounds: (di)versifiseer/-sering/-kasie and compounds
vers (kalC f&:rs // fix stress and e sound: verskalf/verskalwers/verskalfie
vers (r f&rs // fix stress and e sound: versreël/-rym/-ritme
_) veronge (@P7 f@r'O:Nx2@
verbete f@rb'e@t@ // verbete/verbetenheid
@@ -4831,8 +4932,10 @@
voor (sie f%o@r // move default stress: voorsien/-ing
voorskrifteli (k f%o@rskrIft@l@ // move default stress: voorskriftelik/-e/-heid
voorspe (lK fo@rsp'& // voorspel/voorspelling/voorspelbaar/onvoorspelbaar
voor (spoedi f%o@r // move default stress: voorspoedig/-e
voor (sk fo@r // voorskiet/voorskot/voorskrif/voorskryf
voorstedeli (k f%o@rste@d@l@ // move default stress: voorstedelik/-e vs voorstede
voor (trap fo@r // restore default stress: voortrap/-pe/-pies
voort (duren f%o@r_ // fix stress and drop t: voortdurend/-e
voor (trek fo@r // voortrek/voortrekker and compounds
voort (v@@ f%o@rt // voortvarend/voortvlugtige
@@ -4925,13 +5028,15 @@
C) wag (K vax2 // fix w sound: bokwagter/skildwag and compounds/veldwagter
k) wagga wax2a // fix w sound: kwagga/bergkwagga, etc.
wal (kure v%al // move default stress: Walkure/-s
@k) w (alm v // fix w sound: drank-/tabakwalm/-s
wange (drag vanx2@ // (jeug)wangedrag and similar
wankel (moed v%aNk@l // move default stress: wankelmoedig/-e/-heid
wanordeli (k v%an_Ord@l@ // move default stress: wanordelik/-e/-heid
wan (stalt v%an // move default stress: wanstaltig/-e/-heid
wan (trouig v%an // move default stress: wantrouig/-e
wapen vA:p@n // fix problems with compounds and derivatives of wapen: ontwapening/wapengeweld
//wapenopleiding
t) ware (K vA:r@ // fix w sound: toilet-/genot-/gietware
wasag (tig vas_,ax2 // fix a sound, stress, pause: wasagtig/-e/-heid
@k) ware vA:r@ // breekware/blikware/lakware
@s) ware vA:r@ // kruideniersware/bronsware/glasware/kombuisware
bes) ware wA:r@ // geloofsbesware/gewetensbesware
@@ -4944,6 +5049,7 @@
wa (vrag vA: // long a sound: (bok-/krui)wavrag/-te
_) wa (wy vA: // fix stress and a sound: // wawyd/wawydwakker, etc.
AC) w (aaier v // fix w sound: blaas-/bamboes-/dakwaaier and similar
k) waar vA:r // fix w sound: eerlikwaar/waarlikwaar/werklikwaar
waardeer vard'e@r // waardeer/waardeerder
waarder (@ vard'e@r // waarderend/e/waardering
&) waardig v'A:rd@x2 // stress on -waardig: merkwaardig/besienswaardigheid, etc.
@@ -4958,6 +5064,7 @@
_) wig vIx2 // fix stress: gewig/-tig/-e
wiking vikiN // fix i sounds
wilhel (mi v@lh%&l // move default stress: Wilhelmina/-straat
wille (mi v@l@ // move default stress: Willemien/-tjie/Willemina
_) wind (a vInt_ // fix d sound, insert pause: windaf(dryfmiddel)/as
_) wind (o vInt_ // fix d sound, insert pause: windop/windorrel, etc.
wispel (tu v@sp@l // move default stress: wispelturig/-e/-heid
@@ -4974,7 +5081,7 @@
@) w (_N _^_EN
@) werste (_ vIrst@
k) w (oA v // fix w sound: dankwoord/werkwoord/skoonmaakwoede/spreekwoord
@C) w (oCC v // fix w sound: kubiekwortel/steekwond/onafhanklikwording/republiekwording/varkwors
@C) w (oCK v // fix w sound: kubiekwortel/steekwond/onafhanklikwording/republiekwording/varkwors
@C) woning vo@n@N // fix w sound in many compounds ending in -woning
woe (styn v%u // move default stress: woestyn and compounds
wolke vOlk@ // nimbuswolke/wolkekrabber
@@ -4984,6 +5091,7 @@
@t) w (y v // fix w sound: granaatwyn/kieswetwysiging/krotwyk/straatwys(ie)
@C) w (yd v // fix w sound: kerkwyding/landswyd/reikwydte/republiekwyd/wêreldwyd
@t) wyfel weIf@l // fix w sound: gewetenstwyfel and similar
&s) wyk veIk // fix w sound: diakenswyk/dorpswyk/koshuiswyk/-e and similar compounds
wynkel (der veInk&l // split n/k, fix e sound: (brande)wynkelder/-s
w (ys v //padwyser and many others with wyser in compounds
wysge (rig v%eIsx2e@ // fix stress and e sound: wysgerig/-e
@@ -5014,6 +5122,7 @@
wel (spreken v%&l // move default stress: welsprekend/-e
@) wendig v'End@x2 // inwendig/noodwendig/uitwendig
&) wene (_ v@n@ // fix penultimate e sound: afgestorwene/-s/ingeskrewene/verdorwene/verhewene
fees) wens ve~ns // fix w and e sounds: kersfeeswens/-e
A) wer (AA v@r // fix e sound: beyweraar/keweruitroeiing/nyweraar/oewereienaar
ge) were ve@r@ // fix e sound in compounds ending in gewere
werk (stelli v%&rk // fix stress: bewerkstellig and derivatives
+17 -8
View File
@@ -1,4 +1,4 @@
// This file is UTF8 encoded
// Spelling-to-phoneme words for Danish
@@ -27,7 +27,7 @@ _ac2 dV@lakj'u:t
_brv br'i:v
_ced s@d'ila
_cir s'3:kVmfl,Eks
_dia 'umlaut
_dia 'omlyd
_dot wiDd'0tabVv
_grv aks'aN gr'a:v
_hac h'atS,Ek
@@ -58,9 +58,9 @@ _#32 blank
@ sn,&:bel'&:
/ sgRVsdrai $max3
\ 'Vmvendsgr,VsdRai $max3
_, koma:
_, k'oma:
_; se:mi:ko:lVn
_: ko:lVn
_: k'o:lVn
_. puNtum
_? spWrgsmVlstajn
_! udRVbstejn
@@ -73,9 +73,16 @@ __ b'Onsdrai
÷ divid'eReD meD
= l'imeD
# n'OmV
§ paragR'af
§ paragr'af
× g'aNe
ª feminin Wdin'al
º m'askulin Wdin'al
® registr'eret varemerke
¼ en kvart
¢ s'ents
¥ j'en:
µ my
' apostr'of
// numbers
_0 'nOl
@@ -235,6 +242,7 @@ z sEt
// exceptions
Alene al'en@ // alone
egen a:j@n
eget a:j@D
egne a:in@
@@ -248,8 +256,9 @@ havde h'aD@ // had
idet id'e // in so far as
sagde sa@ // said
sig sAi // oneself
//slags sl+ags // sort, type
slags sl'ags // sort, type
tre tr'e // the number 3
+21 -4
View File
@@ -1,4 +1,4 @@
// This file is UTF8 encoded
// Spelling-to-phoneme rules for Danish
@@ -29,6 +29,8 @@
ch) au (f o
nive) au o
an (cienn aN
restaur) ant aN
rest) au (r o
aw (K aw
ay (K aj
aa O:
@@ -90,6 +92,7 @@
d) d d
e) d (t
i) d (e d
i) d (ræt d
i) d (t
o) d (a d
o) d (i d
@@ -180,6 +183,7 @@
æn) d (ri d
æn) d (re d
æn) d (re d
bol) d d
kla) dd (e D
kry) dd (er D
dd (et D
@@ -196,6 +200,7 @@
plu) d (se
ral) d (e
sag) d (e
sed) d (el D
sku) d (t
smu) d (s
snu) d (e D
@@ -570,13 +575,17 @@ foreta) g (e
o) ld l
æ) ld (r ld
bo) ld ld
bo) ld (A ld
fo) ld l
he) ld l
he) ld (ig ld
ki) ld (A l
me) ld (el l
me) ld (ing l
no) ld l
so) ld (aC d
so) ld (at ld
@@ -585,7 +594,9 @@ foreta) g (e
mm m
m (A m
gour) met m'e
kompli) ment maN
kompli) ment (e ment
regle) ment (e ment
.group n
@@ -604,6 +615,10 @@ foreta) g (e
sa) n (kt
eku) nd nd
pag) n (e nj
ballo) n N
ræso) n N
sæso) n N
talo) n N
gleme) n (t N
@@ -634,6 +649,7 @@ foreta) g (e
sa) ng (e N
se) ng (e N
ti) ng (e N
ti) ng (ent Ng
træ) ng (e N
arra) ng NS
@@ -694,8 +710,8 @@ foreta) g (e
.group r
r r
r (A R
r R
r (K r // not followed by a vowel
ø) r V:
Ae) r V
&) rd (e_ r
@@ -893,3 +909,4 @@ proven) u y
+3 -2
View File
@@ -90,8 +90,8 @@ x Iks
// Numbers
//========
_0 'nUl
_1 _'aIn
_1a _'aIns
_1 _'aIns
_1a _'aIn
_2 'tsvaI
_3 'd@-*aI
_4 'fi:*
@@ -672,6 +672,7 @@ schult Su:lt
selbst zElpst
serie se:*I;@
service sE*vIs
soeben zo:_'e:b@n
sofort $2
sogar $2
soweit $2
+10 -3
View File
@@ -361,6 +361,7 @@
@@) erisch @*IS
&) erung (_ =@*UN
echo ECo:
_) e (ff %E
l) e (g_ 'e:
eih (_ aI
@@ -673,6 +674,7 @@
// @) keit (_S4 kaIt
// @) keiten (_S6 kaIt@n
ko (e@ ko:
kolleg k%Ole:g
_) komme (C@ k%OmE
_) ko (mp k%O
@@ -791,6 +793,8 @@
_) ob (jek %Op
_) obst (reP4 'o:pst
oe (_ o:@
@) oen (_S1 n
_n) o (e o:
@) o (g_ 'o:
t) ogen (_ o:g'e:n
@) o (gin_ 'o:
@@ -823,10 +827,12 @@
_) periphe p,e:*i:fe:
_) personen (@P8 pE*s'o:n@n
philie f'i:li:
_) photo f,o:to:
_) pro (@ %p@-*o:
_) po (e p%o:
_) poe (sc pY:
po (em p%o:
po (et p%o:
poesie po:e:z'i:
_) poly (@P4 p,o:ly:
partei p%a*taI
_) perfe (k p%E*fE
@@ -975,6 +981,7 @@
t (chen_ t
_) teen _^_EN
_) tele (@ t,e:le:
_) thermo tE*mo:
tuerei (_ tu:@*'aI
thrill _^_EN
_pa) th t
@@ -993,7 +1000,7 @@
u u:
uh (+ u:
uell u:'El
ue y:
u (e u:
r) ue (_ u:@
t) ue (_ u:@
ue (_ 'y:
+49 -32
View File
@@ -11,8 +11,8 @@ Yy
- : ; ? b c d dZ
f g h j k l L m
n N p r s S t T
tS v w x x2 z Z
n N n^ p r s S t
T tS v w x x2 z Z
Dictionary ne_dict
@@ -143,6 +143,17 @@ N n^ p Q R R2 s t
T tS v v# w x z
Dictionary hu_dict
A a: E e: i i: o o:
u u: Y y y: Y:
- : b c d dZ dz f
g h j J k l m n
n^ p r R R2 s S s2
t tS ts v z Z
Dictionary fi_dict
& &i &y a a2 ai au e
@@ -164,8 +175,8 @@ W~ y Y
: b d dZ f g h j
k l m n N n2 n^ p
p2 r R r2 s S t t2
t3 tS v w z Z z2 z3
p2 r r2 s S t t2 t3
tS v w z Z z2 z3
Dictionary grc_dict
@@ -206,15 +217,12 @@ r. s S s. t T t. th
th. v w x z
Dictionary hu_dict
Dictionary am_dict
A a: E e: i i: o o:
u u: Y y y: Y:
@ a e i o u y
- : b c d dZ f g
h j J k l m n N
n^ p r R R2 s S s2
t tS ts v z Z
b d h l m q R s
S t tS
Dictionary hy_dict
@@ -233,10 +241,10 @@ Dictionary id_dict
@ a aI aU e E E2 i
o O u
* : ? b d dZ f g
h j k l m n N n^
p r R R2 s S t tS
v w x z
: ? b d dZ f g h
j k l m n N n^ p
r R R2 s S t tS v
w x z
Dictionary is_dict
@@ -273,6 +281,21 @@ k l m n N p R s
S t tS v w x z Z
Dictionary ro_dict
@ @- @I @U a aI aU e
ea eI eo eU i i/ I^ iI
iU o O Oa oI oU u uI
y Y yI yU
* *; b b; c C d d;
dZ f f; g h j k l
l; m m; n N n; p p;
r s S S; t t; tS ts
ts; v v; w w2 x z Z
z; Z;
Dictionary ku_dict
8 a e E E# eI eU i
@@ -333,6 +356,15 @@ S; t t. th th. tS v w
z z.
Dictionary nci_dict
a e i o O
: ? b c d f g j
k l m n p R s S
t tS v w x
Dictionary nl_dict
8 @ @- A a: E e: EI
@@ -417,21 +449,6 @@ S s# s; t T tS ts v
w x z Z
Dictionary ro_dict
@ @- @I @U a aI aU e
ea eI eo eU i i/ I^ iI
iU o O Oa oI oU u uI
y Y yI yU
* *; b b; c C d d;
dZ f f; g h j k l
l; m m; n N n; p p;
r s S S; t t; tS ts
ts; v v; w w2 x z Z
z; Z;
Dictionary ru_dict
8 @- a A e E E# E2
@@ -512,8 +529,8 @@ I i: o o: U u u: V
: ; b C d d. dZ f
g h H j k l l. m
n N n. n^ p Q r R
s S s. t t. th tS v
w z z.
s S s. t T t. th tS
v w z z.
Dictionary tr_dict
+11 -5
View File
@@ -305,10 +305,10 @@ _0M3 b'Ili@n
_dpt pOInt
_roman roUm@n_
_0st st
_0nd @nd
_0rd d
_0th T
_#st st
_#nd @nd
_#rd d
_#th T
_ord T // default ending
_1o f'3:
_2o s'Ek
@@ -599,6 +599,7 @@ archive A@kaIv
archway $1
arena a2ri:n@
argue A@gju:
aries e@ri:z
arithmetic a2rITm@tIk
arise a2raIz
arisen a2rIz@n
@@ -1306,7 +1307,6 @@ ingenuity IndZI2n'ju:I2tI
inherit Inh'ErIt // inherited
innard In3d
inner In3
inning InI2N
innovative In@veItIv
insect $1
insert Ins3:t $onlys
@@ -1710,6 +1710,7 @@ pipette pIp'Et
piquant pi:k@nt
piracy paI@r@sI
pirate paIr@t
pisces paIsi:z
piteous pIti@s
pituitary $2
plaguing pleIgIN
@@ -2419,6 +2420,8 @@ Damascus da2mask@s
Danish deInIS
Delhi dElI
Djibouti dZIb'u:tI
Donegal d0nI2g'O:l
Durham dVr@m
Egyptian IdZ'IpS@n
Eire e@r@
Geneva dZ@ni:v@
@@ -2580,6 +2583,7 @@ Baez baI'Ez
Bambi bambi:
Barack ba2rA:k
Barbara bA@b@r@
Betsy bEtsI
Boris b0rIs
Brien braI@n
Candace kandIs
@@ -2630,6 +2634,7 @@ Graeme greI@m
Graham greI@m
Hadrian heIdri:@n
Harriet hari@t
Heidi haIdI
Huw hju:
Iain i:@n
Ian i:@n
@@ -3204,6 +3209,7 @@ like laIk $strend2
?3 amen ,eIm'En
?3 anti antaI
?3 banana ba2nan@
?3 beta beIt@
?3 caffeine $2
?3 comrade k0mrad
?3 commentary k0m@ntErI
+3 -2
View File
@@ -2815,7 +2815,6 @@
ies (_S2i z
spec) ies (_ i:z
ser) ies (_ i:z
_ar) ies (_ i:z
iesc I2Es
&) iest (_S3i @st
pr) ie (st i:
@@ -2940,6 +2939,7 @@
_) in (k IN
_) in (l In
_) in (m In
_) inn (K In
_) inno (ce In@
_) inno (v In@
_) inn (um %In
@@ -4839,6 +4839,7 @@
?3 n) ucle u:klI
?3 n) uclear u:kli@3
@) u (da_ 'ju:
b) u (ddh U
u (guC V
f) u (gal 'ju:
ug (er_ u:g
@@ -5410,7 +5411,7 @@
ž Z
þ T
ð D
ñ n^
ñ _^_ES
'
+8 -8
View File
@@ -30,14 +30,14 @@ _0M4 duili'ono
_dpt _komo_
// ordinal numbers
_0a a
_0aj aI
_0an an
_0ajn aIn
_0-a a
_0-aj aI
_0-an an
_0-ajn aIn
_#a a
_#aj aI
_#an an
_#ajn aIn
_#-a a
_#-aj aI
_#-an an
_#-ajn aIn
// accent names
_lig ligat'uRa
+1
View File
@@ -37,6 +37,7 @@
_) d d
m) d d
n) d d
r) d d
.group e
+10 -11
View File
@@ -24,7 +24,7 @@
// 2006-11-18 Gilles Casse <gcasse@oralux.org>
//
// Updated 2009-10-26 Michel Such <michel.such@free.fr>
// Updated 2010-02-07 Michel Such <michel.such@free.fr>
//
// * Numbers, a few abbreviations and exceptions.
//
@@ -305,7 +305,7 @@ qq quelque $text
qqs quelques $text
ratp $abbrev
riaa $abbrev
riscos RiskoEs
riscos riskoEs
sap $abbrev
scsi $abbrev
sos $abbrev
@@ -362,7 +362,7 @@ néanmoins $u+
toutefois $u+
afin afE~ $u+ $brk
avant $u+
après $u+
après aprEz2 $u+
(temps en temps) tA~zA~tA~
ainsi $u+
alors alOr $u+
@@ -476,7 +476,7 @@ parmi $u+
pour $u+
autant $u+
tandis $u+
dès $u
dès dEz2 $u
entre $u+
entre $verb
contre $u+
@@ -573,7 +573,7 @@ tel $u+
telle $u+
telles $u+
tout t'ut2
rien Ri-'E~n2
rien ri-'E~n2
// Letters which can be words
//===========================
@@ -593,8 +593,8 @@ dessous d@su
hareng _!arA~
pastis pastis
poing pwE~
ressent R@s'A~t2
riz Ri
ressent r@s'A~t2
riz ri
sphincter sfE~ktEr
sous $u+
sur $u+
@@ -687,7 +687,7 @@ queries kueri
quit _^_en
recorder ricordeur $text
requiem rekw^ijEm
revolver RevOlvEr
revolver revOlvEr
scan skan
scanner skaner2 $verb
scanner skanWr $noun
@@ -723,7 +723,7 @@ cut kWt
mazout mazut
michael mikaEl
out aut
rut Ryt
rut ryt
scorbut scorbutt $text
scout skut
stout staut
@@ -826,7 +826,7 @@ outlook autlu:k
paint _^_en
paper _^_en
people _^_en
redhat REdat
redhat rEdat
same _^_en
sametime _^_en
schubert SubEr
@@ -897,4 +897,3 @@ venezuela venezyela
wallis wAlis
futuna futuna
zimbabwe zimbabwe
+3 -3
View File
@@ -23,7 +23,7 @@
// 2006-11-18 Gilles Casse <gcasse@oralux.org>
//
// Updated: 2009-11-20 Michel Such <michel.such@free.fr>
// Updated: 2010-02-07 Michel Such <michel.such@free.fr>
//
// Letter classes:
@@ -590,6 +590,7 @@ _m) e (ga e
Z) ème i-Em
è E
ès E
Ar) ès (_ Es
m) ès (_ Es
n) ès (_ Es
@@ -1072,14 +1073,13 @@ C) oing (_ _^_en // going
.group r
_) r (A R
_su) rr rr // surréaliste
cou) rr rr // courrai
mou) rr rr // mourrai
cou) rr (i r // courrier
r r // rien
rr r
_) radio (@P5 Radio
_) radio (@P5 radio
// group r: English section
_) real _^_en
+188 -109
View File
@@ -6,6 +6,7 @@
_0 nullA
_1 EJ
_2 kEt:Y:
_2a ke:t // for 200, 2000
_3 ha:R2om
_4 ne:J
_5 Yt
@@ -25,6 +26,7 @@ _7X hEtvEn
_8X n^oltsvAn
_9X kilEntsvEn
_0C sa:z
_0M1 EzER2
_1M1 EzER2
_2M1 ke:tEzER2
@@ -35,12 +37,21 @@ _0M3 millia:R2d
_1M3 EJmillia:R2d
_2M3 ke:tmillia:R2d
_0M4 billio:
_1M4 billio:
_2M4 ke:tbillio:
_dpt ||Ege:s //Not need the pause before this word
// variants used when followed by hyphen and suffix starting with 'e' or 'a'
_1e EJ:
_2e kEt:
_3e ha:R2m
_7e hEt
_0M1e EzR2
_1M1e EzR2
_2M1e ke:tEzR2
// used after decimal point
_0Z1 tizEd // tenths
_0Z2 sa:zAd // hundredths
_0Z3 EzR2Ed
@@ -76,34 +87,61 @@ _0M1o EzR2Edik
_1M1o EzR2Edik
_2M1o ke:tEzR2Edik
// ordinal numbers with -a or -e suffix, which is spoken but not written (eg. "december 2. óta")
// Use this pronunciation when a number (with a dot) is between a $alt word and a $alt3 word.
// Set $alt3 flag for: óta, és. közt, között
_1qx ElSEjE
_2qx ma:SodikA
_1q EJ:EdikE
_2q kEt:EdikE
_3q hAR2_mAdikA
_4q nEJEdikE
_5q YtYdikE
_6q hAtodikA
_7q hEtEdikE
_8q n^oltsAdikA
_9q kilEntsEdikE
_10q tizEdikE
_20q husAdikA
_30q hAR2_mintsAdikA
// $alt2 means these rules only apply if the previous word
// has $alt1 (language specific). $text implies $only (for this group only)
_0-a A $alt2
_0-i Ei $alt2
_0-e E $alt2
_0-án a:n $alt2
_0-ára a:R2A $alt2
_0-ére e:R2E $alt2
_0-ra a:R2A $alt2
_0-re e:R2E $alt2
_0-én e:n $alt2
_0-ai Ai $alt2
_0-ei Ei $alt2
_0-től e:tY:l $alt2
_0-tól a:to:l $alt2
_0-ig e:ig $alt2 //special date ordinal numbers for example elsejéig, negyedikéig etc.
_0-éről e:R2Y:l $alt2
_0-áról a:R2o:l $alt2
_0-ára a:R2A $alt2
_0-ától a:to:l $alt2
_0-ről e:R2Y:l $alt2
_0-ról a:R2o:l $alt2
_0-ével e:vEl $alt2
_0-ával a:vAl $alt2
_0-éig e:ig $alt2
_0-áig a:ig $alt2
_#-a A $alt2
_#-i Ei $alt2
_#-e E $alt2
_#-án a:n //Need remove the $alt2 tag with this line, because some
//time with the book the sentences beginning with this form, and need
//spokening ordinal number alwais. For example: In 20th, the rain is raining.
_#-ára a:R2A //need remove the $alt2 tag, because with a books lot of
//string using following form: január 19-ről 20-ára. With this situation,
//need spokening huszadikára, not húsz-ára string.
_#-ére e:R2E //Same as prewious doed fix.
_#-ra a:R2A $alt2 //But this line for example need the $alt2 tag.
_#-re e:R2E $alt2
_#-én e:n //need remove the $alt2 attribute with this line
_#-ai Ai $alt2
_#-ei Ei $alt2
_#-től e:tY:l $alt2
_#-tól a:to:l $alt2
_#-ig e:ig $alt2 //special date ordinal numbers for example elsejéig, negyedikéig etc.
_#-éről e:R2Y:l
_#-áról a:R2o:l $alt2
_#-ától a:to:l $alt2
_#-ről e:R2Y:l $alt2
_#-ról a:R2o:l $alt2
_#-ével e:vEl $alt2
_#-ával a:vAl $alt2
_#-éig e:ig $alt2
_#-áig a:ig $alt2
_#-étől e:tY:l $alt2
_#-ét e:t $alt2
_#-át a:t $alt2
(1-e) elseje $text $alt2
(1-én) elsején $text $alt2
(1-jén) elsején $text $alt2
@@ -117,6 +155,14 @@ _0-áig a:ig $alt2
(1-ről) elsejéről $text $alt2
(1-ével) elsejével $text $alt2
(1-éig) elsejéig $text $alt2
(1-étől) elsejétől $text $alt2
(1-ét) elsejét $text $alt2
(1-je) elseje $text $alt2
(1-jei) elsejei $text $alt2
(1-jével) elsejével $text $alt2
(1-jére) elsejére $text $alt2
(1-jétől) elsejétől $text $alt2
(1-jéig) elsejéig $text $alt2
(2-i) másodikai $text $alt2
(2-ig) másodikáig $text $alt2
(3-i) hAR2_mAdikAi $alt2
@@ -137,8 +183,6 @@ _0-áig a:ig $alt2
(30-i) harmincadikai $text $alt2
// these exceptions only for 0, not for other numbers ending in '0'
(0-ás) nul:a:S
(0-t) nul:a:t
@@ -147,50 +191,23 @@ _0-áig a:ig $alt2
(0-nál) nul:a:na:l
(0-hoz) nul:a:hoz
(0-s) nul:a:S
(0-ára) nul:a:R2A //But if the 0-ára string have the text (only 0 number before the suffix, need spokening this exception.
(0-án) nul:a:n //same as prewious exception.
(0-ig) nul:a:ig
(00-ig) nul:Anul:a:ig //special exception
(0-ban) nul:a:bAn
(0-ba) nul:a:bA
(1-gyet) EJ:Et
(1-gyes) EJ:ES
(2-őt) kEt:Y:t
// entries with a single digit such as (2-i) also apply to 22, 32, etc, unless $only
// with these suffixes, use [J:] not [J]
(1-es) EJ:ES
(1-et) EJ:Et
(1-est) EJ:ESt
(1-esét) EJ:ESe:t
(1-esével) EJ:ESe:vEl
(1-essel) EJ:ES:El
(1-eseik) EJ:ESEik
(1-eseikkel) EJ:ESEik:El
(1-eseiket) EJ:ESEikEt
(1-esekkel) EJ:ESEk:El
(1-esek) EJ:ESEk
(1-el) EJ:El
(2-es) kEt:ES
(2-est) kEt:ESt
(2-essel) kEt:ES:El
(2-őt) kEt:Y:t
(2-esen) kEt:ESEn
(2-esével) kEt:ESe:vEl
(2-n) kEt:Y:n
(2-esekkel) kEt:ESEk:El
(2-eseket) kEt:ESEkEt
(2-eseik) kEt:ESEik
(2-esük) kEt:ESyk
(3-as) ha:R2mAS
(3-asának) ha:R2mASa:nAk
(3-ason) ha:R2mASon
(3-assal) ha:R2mAS:Al
(3-asával) ha:R2mASa:vAl
(3-ast) ha:R2mASt
(3-astól) ha:R2mASto:l
(3-ashoz) ha:R2mAShoz
(3-at) ha:R2mAt
(3-al) ha:R2om:Al
(3-asok) ha:R2mASok
(3-asoknak) ha:R2mASoknAk
(30-cal) hAR2mints:Al
//4 number suffixes
(4-el) ne:J:El //Nneed J: phoneme, not J phoneme contains one suffix)
(4-gyel) ne:J:El //Need J: phoneme, not J phoneme
(4-t) ne:JEt //special number suffix exception
(5-tel) Yt:El
(5-el) Yt:El
(5-től) Yt:Y:l
@@ -199,36 +216,17 @@ _0-áig a:ig $alt2
(6-tal) hAt:Al
(6-tól) hAt:o:l
(6-tól) h'Atodika:to:l $alt2
(7-es) hEtES
(7-est) hEtESt
(7-esek) hEtESEk
(7-eseket) hEtESEkEt
(7-esekkel) hEtESEk:El
(7-esbe) hEtESbE
(7-esben) hEtESbEn
(7-esük) hEtESyk
(7-tel) he:t:El
(7-el) he:t:El
(7-től) he:t:Y:l
(7-től) hEtEdike:tY:l $alt2
(7-essel) hEtES:El
(7-esen) hEtESEN
(7-eseknek) hEtESEknEk
(7-et) hEtEt
(7-em) hEtEm
(10-es) tizES // use [i] not [i:]
(10-est) tizESt
(10-essel) tizES:El
(10-esével) tizESe:vEl
(10-en) tizEn
(10-et) tizEt
(7-tel) he:t:El
(8-cal) n^olts:Al
_10e tiz
_20e hus
(10-szer) ti:s:ER2
(10-szeres) ti:s:ER2ES
(20-as) husAS // use [u] not [u:]
(20-ast) husASt
(20-assal) husAS:Al
(20-asával) husASa:vAl
(20-at) husAt
//special number exceptions
@@ -242,6 +240,7 @@ _0-áig a:ig $alt2
(80-al) n^oltsvAn:Al
(90-el) kilEntsvEn:El
// These words mean that a dot after number, immediately preceding, does not mean an ordinal number
január $alt
február $alt
@@ -281,6 +280,20 @@ péntek $alt
szombat $alt
vasárnap $alt
//Following four seasons and suffixes not need spokening ordinal number
tavasz $alt
nyár $alt
ősz $alt
tél $alt
tavaszán $alt
nyarán $alt
őszén $alt
telén $alt
tavaszi $alt
nyári $alt
őszi $alt
téli $alt
// accent names
_lig ligAtu:R2A
_acu e:lES
@@ -300,7 +313,6 @@ _tld tildE
// characters
_#9 tAb
_#13 vAlAmi
_#32 so:kYz
_cap n'AJ_|
_?? kAR2AktEr||ko:d // unknown characters (change this)
@@ -310,8 +322,9 @@ _?? kAR2AktEr||ko:d // unknown characters (change this)
ADSL a:de:ESEl $allcaps //Internet connection type, we pronouns this with ádéesel
ÁNTSZ a:Ente:Es $allcaps
ATM a:te:Em $allcaps //The ATM stands. We pronouns this abbreviation with átéem word. Default, Espeak pronouns this abbreviation with atéem word.
cm tsEntime:tER2
km kilo:me:tER2
GYSEV JESEv $allcaps
GYESEV JESEv $allcaps
HÉV he:v $allcaps
@@ -319,6 +332,7 @@ IPTV $abbrev $allcaps
GDP dZi:di:pi: $allcaps
?2 GDP $abbrev $allcaps
HSDPA $abbrev $allcaps
kb kYR2ylbElyl $hasdot
ORTT $abbrev $allcaps
ORFK oEREfka: $abbrev $allcaps
MÁV ma:v $allcaps
@@ -326,7 +340,13 @@ MTI $abbrev $allcaps
mm milime:tER2
RAM R2Am $allcaps //Espeak normaly spokening this abbreviation with erraem, but this is not good
Psszt ps:t $capital // similar word with quiet word. Espeak default spokening this abbrew quiet word with letter by letter by default.
Pszt ps:t $capital //same as prewious abbrewiation
VDSZSZ ve:de:EsEs $allcaps
WC ve:tse: $allcaps
LST ElESte: $allcaps
BAR bAR2 $allcaps
SS EsEs $allcaps
a.m An^n^i||m'int $dot
ún u:JnEvEzEt: $hasdot
dr doktoR2 $dot
@@ -354,7 +374,22 @@ vö v'EZd||_'Yss2E
// Articles
a $u $strend2 // the
az $u $strend2
az $u $strend2 //Need remove the $alt3 attribute this article, because
//following context result bad spokening output if $alt3 attribute is used:
//az 5. és 6. hadsereg.
//This text means in english: the 1th and 2th solders
//Espeak spokening following phoneme if $alt3 attribute is used:
//Az YtYdikE és hAtodik hAdSER2Eg
//This is wrong this context, the right phoneme is:
//Az YtYdik és hAtodik hAdSER2Eg
//But for example the following sentence part need the $alt3 attribute with
//az article word, but now impossible doing this right:
//Június 6. az a nap
//If I removed the $alt3 attribute with az word, Espeak sending this phoneme:
//ju:niuS hAtodik Az A nAp
//The right phoneme is:
//ju:niuS hAtodikA Az A nAp
//aki $u+ // that
ez $unstressend // this
@@ -375,12 +410,12 @@ maguk $unstressend
// Conjunctions
és $u $strend2 // and
és $u $strend2 $alt3 // and
de $u+ $pause // but
vagy $u+ $pause // or
mert $u $pause // because
miatt $u // because
miatt $unstressend // because
bár $u $pause // although
habár $u $pause // although
ha $u $pause // if
@@ -405,14 +440,15 @@ is $u // also
elöl $unstressend // in front of
elől $unstressend
elé $unstressend
előtt $unstressend
előtt $alt3 $unstressend
este $alt3
estéjén $alt3
mögül $unstressend // behind
mögött $unstressend
mögé $unstressend
kívül $unstressend
után $unstressend // after
után $unstressend $alt3 // after
alól $unstressend
alá $unstressend
@@ -437,15 +473,15 @@ neki $unstressend
nekem $unstressend
közül $unstressend
közé $unstressend
között $u
között $u $alt3
an $u // so many persons
as $u
ba $unstressend // into
ban $unstressend // in
ban $u // in
be $unstressend
ben $unstressend
ból $unstressend // from inside
ből $unstressend
ben $u
ból $u // from inside
ből $u
e $u // in query, his/her
ei $u // his her multiole
en $u
@@ -489,7 +525,14 @@ vel $unstressend
ellen $unstressend // against
//elé $u // before
//óta $u // since
óta $alt3 // since
hétfőig $alt3
keddig $alt3
szerdáig $alt3
csütörtökig $alt3
péntekig $alt3
szombatig $alt3
vasárnapig $alt3
sok $unstressend // many
kevés $unstressend // few
@@ -535,7 +578,6 @@ tartják $unstressend
erős $unstressend
lenni $unstressend
lennie $unstressend
közt $u+
levegőjére $unstressend
ad $unstressend
kapják $unstressend
@@ -833,7 +875,7 @@ velem $unstressend
velünk $unstressend
veletek $unstressend
velük $unstressend
közt $unstressend
közt $unstressend $alt3
hiszik $unstressend
hiszitek $unstressend
önt $unstressend
@@ -866,6 +908,17 @@ vélem $unstressend
véled $unstressend
véli $unstressend
vélitek $unstressend
szól $unstressend
tank $unstressend
adta $unstressend
kellett $unstressend
főt $unstressend
nőtt $unstressend
vitt $unstressend
rést $unstressend
brit $unstressend
természetes $u $1
// word pairs
@@ -885,7 +938,7 @@ vannak $unstressend
voltam $u // to be, past
voltál $u
volt $u
volt $u $alt3
voltunk $u
voltatok $u
voltak $u
@@ -1013,7 +1066,7 @@ _¤ pe:nznEmjEl
® bEjEJzEt:
™ ve:djEJ
_` tompA
_  SokYz
_  so:kYz
_« bElSY:|bAl|ide:zY:jEl
_» bElSY:|jobb|ide:zY:jEl
_­ la:JkYtY:jEl
@@ -1057,10 +1110,12 @@ nato na:to:
(end-of line) u:jS,oR2
$textmode
MSZP emeszpé
SZDSZ eszdéesz
egyezség eggyesség
@@ -1074,6 +1129,30 @@ egyezség eggyesség
(CD-d) cédéd
(db-os) darabos
(db-ot) darabot
(LST-k) elesték
(LST-n) elestén
(PC-k) pécék
(://) (kettőspontperper) $pause //Hungarian Nwda users ask me put this entry
//again, because Nwda unfortunately does'nt spokening colondashdash
//characters for example with a http or an ftp url.
//The parenthese with second part is required, because if I using this form,
//Orca speech driver does'nt pronouns wrong the url's if I navigating word
//after word and don't disturb Orca working.
(PC-n) pécén
(USB-n) úesbén
(USA-ból) usából
(USA-nak) usának
(DVD-k) dévédék
(dvd-k) dévédék
(DVD-n) dévédén
(dvd-n) dévédén
(dvd-d) dévédéd
(DVD-d) dévédéd
+118 -24
View File
@@ -33,6 +33,10 @@
biz (A biz, // bizalmas etc.
biedermeier bi:dER2ma:jER2
_) batthiány bAc:a:n^i
tö) bb (ször b
tö) bb (ség b
tö) bb (nyire b
tö) bb (nek b
.group c
c ts
@@ -64,8 +68,8 @@
kilen) c (csatorn ts
ner) c (stóla ts
kavi) cs (zátony tS
?!2 cherbourg SER2buR2g
har) c (cselek ts
@@ -80,7 +84,7 @@ hierar) ch (i h
mün) ch (en h
maso) ch (istA h
monar) ch (i h
_pe) ch h
_pe) ch h:
szé) ch tS
_zi) ch (y tS
_szé) che (ny tSe:
@@ -93,6 +97,8 @@ hierar) ch (i h
ar) ch (ivál h
?!2 _) church (il tSYR2tS
?!2 bu) ch (enwald h
?!2 da) ch (au h
.group d
d d
@@ -146,11 +152,18 @@ hierar) ch (i h
föl) d (sáv d
dühtől dytY:l
rövi) d (zárlat d
sarja) d (zik d
nyála) d (z d
ren) dsz (erint d|s
szaba) d (szájú d
menetren) dsz (erű d|s
hazár) d (játék d
főha) d (segéd d
csalá) d (szerető d
föl) d (szoros d
min) d (jobban d
bri) ddzs (el dZ:
rekor) d (sebesség
hol) d (sü d
árpá) d (sáv d
.group dz
fogó) dz (kod ts
@@ -166,32 +179,37 @@ szedelő) dz z
tapogató) dz z
ó) dz (kod ts
villó) dz z
e) dz (ő dz
e) dz (és dz
e) dz (ő dz:
e) dz (és dz:
kére) dz ts
mentegető) dz z
dz dz
A) dz (A dz
dz dz:
A) dz (A dz:
dzs dZ
A) dzs dZ:
dz dz
dz dz:
C) dzs dZ
A) dzs (A dZ:
borsó) dz z
beszé) dz (avar dz
beszé) dz (avar d|z
dobáló) dz z
kérő) dz z
követelő) dz z
rángató) dz z
titkoló) dz z
ringató) dz z
.group e
e E
000_-) el (_ REl // double R for 1000-el
000000_-) el (_ El // ... but not 1000000-el
_) ehhez EhEz
_) egyezség EJ:ESSe:g
.group é
é e:
éi (é e::i:
@@ -242,7 +260,8 @@ régisé) g (gyűjt g
ritkasá) g (gyűjt g
üve) g (gy g
vilá) g (gyűlöl g
gk k:
é) gh (ajla kh
.group gy
gy J
@@ -262,7 +281,7 @@ ritkasá) g (gyűjt g
e) gyj (elentésű Jj
lá) gy (sá J
gyön) gy (sor J
_minde) gy (ik J:
_minde) gy (ik J
na) gysz (a Js
na) gy (sokára J
@@ -272,7 +291,7 @@ _minde) gy (ik J:
ho) gy (se J
na) gy (ság J
he) gy (ség J
e) gy (ség J
e) gys (ég J|S
e) gy (sarkú J
e) gy (sejtű J
e) gy (sínű J
@@ -281,6 +300,29 @@ _minde) gy (ik J:
e) gy (es-egyedül J //need one J phoneme with this word, not J: phoneme
ú) gy (sem J
né) gy (sarok J
na) gy (stíl J
fa) gy (sérül J
_e) gy (ezmény J:
_mege) gy (ez J:
e) gy (-egy J:
na) gy (stratégia J
e) gy (értelmű J:
e) gy (ezked J:
e) gy (eztet J:
e) gy (etért J:
e) gy (irányú J:
kie) gy (ez J:
belee) gy (ez J:
_e) gy (ez J:
e) gy (általán J:
e) gy (ensúly J:
tizene) gy (edszer J:
tizene) gy (es J:
ú) gy (sincs J
e) gy (ért J:
a) gy (sérül J
.group h
h h
@@ -301,6 +343,10 @@ _minde) gy (ik J:
t) í (zen i
t) í (zet i
v) í (zen i
sz) í (vatás i
v) í (zére i
.group j
j j
@@ -325,6 +371,7 @@ _minde) gy (ik J:
kossuth koSu:t
kossutht koSu:t:
készségg ke:SSe:g:
_a) kk (reditál k
.group l
l l
@@ -367,6 +414,8 @@ keresztü) l (j l
fe) l (javít l
fe) l (jogosít l
ökö) l (jog l:
ha) ll (gatom l
me) ll (kas l
.group m
@@ -375,11 +424,14 @@ keresztü) l (j l
mauser mAuzER2
mosquito moskito:
mosquitó moskito:
messerschmitt mEs:ER2Smit:
?!2 hi) mm (ler m
.group n
n n
n (g N
n (k N
n (g n
n (k n
n (p m
ny n^
nny n^n^
@@ -415,7 +467,6 @@ negyve) n (yard n
ö) n (járó n
tulajdo) n (jog n
ko) nn (ektor n //connector word, we spokening one n letter, not two n letter
me) nj (_S2 n^
be) nn (szülött n
éle) n (jár n
magá) n (jelleg n
@@ -426,6 +477,9 @@ tulajdo) n (jog n
elle) n (jegy n
fe) nn (tartás n
fe) nn (sík n
egye) n (jogú n
beto) n (járda n
.group o
o o
@@ -467,7 +521,7 @@ tulajdo) n (jog n
_) richá (rd R2iCa:
reichsmarschall R2EjsmAR2SAl:
?!2 _) roose (velt R2u:z
?!2 _) reichs R2Ejs
.group s
s S
@@ -494,13 +548,15 @@ juventu) s s //a radio station name
óriá) s S
látá) s (zavar S
hallá) s (zavar S
?!2 _) sherman SER2mAn
?!2 siegfried sigfR2i:d
gyalogo) s (zászló S
.group ss
ssz ss2
ssz (ínű Ss
mu) ss (olini ss2
mu) ss (olin ss2
_má) ssz (ó Ss
mennydörgé) ssz (erű Ss
robbaná) ss S:
@@ -656,6 +712,11 @@ motoro) ssz (emüveg Ss
kavará) ssz (erű Ss
_sa) ssz (eg Ss
ké) ssz (úrás Ss
gyalogo) ssz Ss
puská) ssz Ss
mozgá) ssz Ss
_ke) ss (elring s:
rádió) ssz (ob Ss
.group sz
sz s
@@ -684,7 +745,7 @@ kenyere) szs (ák SZ
li) sztsz (erű st|s
tava) sz (ára s
rongyo) szs (ák SZ
para) sztsz (ek st|s
.group t
@@ -755,7 +816,7 @@ vörösmar) ty ti
á) t (sza t
á) tj (ár t|j
á) t (szö t
á) t (sző t
á) tsz (ő t|s
á) t (szú t
á) t (szű t
á) t (jut t
@@ -816,7 +877,7 @@ passzá) t (szél t
épüle) t (sarok t
mene) t (sor t
skó) t (sapka t
lé) t (jogosultsága t
lé) t (jogosultság t
bérle) t (jegy t
csapa) t (játék t
ese) t (jog t
@@ -838,6 +899,21 @@ négyze) t (centi t
á) tj (ön t|j
á) t (süvít t
bará) tj (ára c:
kísérle) t (sorozat t
á) t (sült t
á) t (süt t
épüle) t (sarok t
terüle) ts (áv t|S
terüle) t (cél t
hé) t (jegyű t
természetes tER2me:sEtES
ha) t (sáv t
szen) t (szobrok t
tesz) t (cél t
dró) t (sövény t
dró) t (sövénny t
a) th (én t
.group ts
ts (_S2 tS //general rule with word end of ts letters
@@ -888,6 +964,7 @@ négyze) t (centi t
tehe) ts (ég tS:
lá) tsz ts:
lá) tssz (on ts:
lá) tssz (anak ts:
te) tsz ts:
fize) ts (ég tS:
segí) ts tS:
@@ -909,6 +986,12 @@ indula) tsz (ó t|s
skó) tsz (okny t|s
söté) tsz (őke t|s
á) ts (é t|S
halla) tssz (on ts:
me) tsz (ik ts:
me) tsz (e ts:
hű) ts tS:
.group u
u u
@@ -916,6 +999,8 @@ indula) tsz (ó t|s
.group ú
ú u:
h) ú (szan u
h) ú (szas u
h) ú (szat u
.group ü
ü y
@@ -927,6 +1012,7 @@ indula) tsz (ó t|s
ű y:
t) ű (zijáték y
_t) ű (nés y //If this word is a single word, need y phoneme, not y: phoneme. For example the tűnés word, but not need this rule with eltűnés word.
_t) ű (njön y
.group v
v v
@@ -1030,9 +1116,17 @@ tájéko) z (tat s
tájéko) z (tass s
bi) z (tat s
rá) z (kód s
ré) z (síp z
gará) zs (tároló S
dará) zs (fészek S
ri) zs (t S
tű) zsz (erész s:
tű) zsz (eréssz s:
búcsú) z (ko s
nyújtó) z (ko s
.group
$ dolla:R2
ä E
æ E
+11 -11
View File
@@ -58,7 +58,7 @@ _7X t'udZuhpuluh
_8X d@l'apanpuluh
_9X s@mb'ilanpuluh
_0C R'atus_|
_1C s@*'atus_|
_1C s@R2'atus_|
_0M1 R'ibu_
_1M1 s@r'ibu_
_0M2 dZ'uta_
@@ -90,34 +90,34 @@ _tld t'ild@
// punctuation
_! t,anda||s'ER2u
_" t,andak'utip
£ ponst'E*RliN
% p@*Rs'En
£ ponst'ER2liN
% p@R2s'En $max3
^ t,andat'opi
& t,andad'an
_* b'intaN
* b'intaN $max3
+ t'ambah $max3
= s,ama||d'ENan $max3
~ t'ilde
# p'agaR $max3
@ a||k'EOng
/ g,aR2is||m'iR2iN $max3
\ 'bEkslES
_( k,uR2uN||b'uka
_) k,uR2uN||t'utup
__ g,aR2is||b'awah
_- t,andah'ubuN
+ t'ambah
= s,ama||d'ENan
_{ k,uR2uN||kuR2'awal
_} k,uR2uN||kuR2,awal||t'utup
_[ k,uR2uN||s'iku
_] k,uR2uN||s,iku||t'utup
_: t,iti?||d'ua
_; t,iti?||k'oma
@ a||k'EOng
_' k,utip||t'uNgal
~ t'ilde
# p'agaR
_< k,uR2aN||d'aR2i
_> l,Ebih||d'aR2i
_, k'oma
_. t'iti?
_? t,anda||t'an^a
/ g,aR2is||m'iR2iN
_\ 'bEkslES
// unstressed words
+8 -6
View File
@@ -12,8 +12,8 @@
.group b
b b
_) be (@@ b@
be (n b@
.group c
@@ -27,7 +27,7 @@
e E
e) e _|E
A_) e _|E
e (_ e
e (_ E
.group f
f f
@@ -49,10 +49,10 @@
.group k
k k
k (_ ?
k (_ k
kh x
_) ke (@@ k@
ke (n k@
.group l
@@ -92,7 +92,7 @@
.group r
r R2
r (K R
e) r (K *R
e) r (K R
.group s
@@ -107,8 +107,9 @@
.group t
t t
tj tS // Dutch
_) tel t@l
_) ter (@@ t@R
_) ter (@@ t@*R
.group u
@@ -143,3 +144,4 @@
**
**) * (_ _::
+6 -2
View File
@@ -19,7 +19,7 @@ h ho:
j je:
k ko:
l El
m e:m
m Em
n En
p pe:
q ku-:
@@ -34,7 +34,7 @@ z sEt
// numeric
//********
_0 n'Ul
_0 n'u-l
_1 'e:n
_2 t'u:
_3 tR'e:
@@ -147,6 +147,7 @@ _tld t'Ild@2
// abbreviations
//**************
ooxml $abbrev
// articles
@@ -305,4 +306,7 @@ der dE:R
her hE:R
kom kOm
loe lu: $capital
noe nU:@2
noen nU:@n // no+en
office Offi:s
system syst'e:m
+308 -63
View File
File diff suppressed because it is too large Load Diff
+318 -301
View File
@@ -1,9 +1,10 @@
// translation rules for Romanian
// This file is UTF-8 encoded
// replace s-comma, t-comma by s-cedilla, t-cedilla
// replace s-comma, t-comma by s-cedilla, t-cedilla
.replace
ș ş
ț ţ
@@ -11,113 +12,123 @@
Ț ţ
.group a
a a
ai aI
ai (a aj
ai (_ 'aI
au aU // ?? only at end of word ??
c) au (t au
au (_ 'aU
a (AAA a
&) a (_S1q a
a a
ai aI
ai (a aj
ai (_ 'aI
n) ai ((v ai
au aU // ?? only at end of word ??
c) au (t au
au (d au
au (z au
au (r au
au (st au
_l) au (d 'au
au (_ 'aU
a (AAA a
&) a (_S1q a
gi) a (_S1q a
V@) a (N_ 'a
ăi) a (_ 'a
@) abil (_ 'abil
gi) a (_S1q a
V@) a (N_ 'a
ăi) a (_ 'a
@) abil (_ 'abil
_) anti (@P4 anti
@) ale (_ 'ale
@ion) a (_ 'a
@) ale (_ 'ale
@ion) a (_ 'a
.group ă
ă @
ăi (_ @I
ău @U // ?? only at end of word ??
c) ău (t @u
ău (_ '@U
@) ăte (_S3t @te
@) ătă (_S3t @t@
ă @
ăi (_ @I
ău @U // ?? only at end of word ??
c) ău (t @u
_b) ău (t @u
_l) ău (d @u
_d) ău (n @u
ău (_ '@U
@) ăte (_S3t @te
@) ătă (_S3t @t@
@) ătul (_S4t @tul
@) ătele (_S5t @tele
@) ătului (_S6t @tuluI
@) ătelor (_S6t @telor
&) ă (_S1 @
&ec) ă (_ @
@ăC) ă (_ @
@er) ă (_ @
@iţ) ă (_ @
@) ă (Că_ =@
ări (A_ @*'i
ării (_ @*'iI
ări (AA_ @*'i
@) ăie (_ =@Ie
&) ă (_S1q @
&ec) ă (_ @
@ăC) ă (_ @
@er) ă (_ @
@iţ) ă (_ @
@) ă (Că_ =@
ări (A_ @*'i
ării (_ @*'iI
ări (AA_ @*'i
@) ăie (_ =@Ie
.group â
â y
âi yI
âu yU
@) âie (_ =yIe
â y
âi yI
âu yU
@) âie (_ =yIe
.group b
b b
bb b
b b
bb b
@) b (i_ b;
@) b (il_ =b
@) b (ila_ =b
@) b (ili_ =b
@) b (ilii_ =b
@) b (i_ b;
@) b (il_ =b
@) b (ila_ =b
@) b (ili_ =b
@) b (ilii_ =b
@) b (ilului_ =b
@) b (ililor_ =b
@) b (ilile_ =b
mo) bil (_ b'il
@) b (ilile_ =b
mo) bil (_ b'il
.group c
c k
c (e tS
c (i tS
ci (o tS
cii tSiI
ch k
@@) col (_ =kol
@@) coli (_S1t =I^
@@) cole (_S1t e
@) cni (_ kn'i
@) cnea (_ kne'a
c k
c (e tS
c (i tS
ci (o tS
cii tSiI
ch k
@@) col (_ =kol
@@) coli (_S1t =I^
@@) cole (_S1t e
@) cni (_ kn'i
@) cnea (_ kne'a
.group d
d d
dd d
@) d (i_ d;
d d
dd d
@) d (i_ d;
.group e
e e
_) ei eI
ei (_ eI
e e
_) ei eI
ei (_ eI
// eu eU // only at end of word ??
// eu e[u // ??
@) eu (l_ 'eu
@) eu (_ eu
@) eu (_N 'eU
ea ea
&) ea (_S2q ea
&) eSi eaj
eau eaw
eo eo
e (AAA e
@) eş (_ =eS
@) eu (l_ 'eu
@) eu (_ eu
@) eu (_N 'eU
ea ea
&) ea (_S2q ea
&) eSi eaj
eau eaw
eo eo
d) eo (seb e|o
e (AAA e
@) eş (_ =eS
@) eşul (_ =eSul
@) eşi (_ =eSI^
@) eşului (_ =eSuluI
@) eşilor (_ =eSilor
@) eşul (_ =eSul
@) eşi (_ =eSI^
@) eşului (_ =eSuluI
@) eşilor (_ =eSilor
//@) ec (a_ =ek
//@) ec (ă_ =ek
@@ -126,355 +137,361 @@
//@) ec (ilor_ =etS
//@At) ec (i@_ etS
//@At) ec (A_ ek
@At) ec (ii_ etS
@At) ec (ii_ etS
// &) es (_S1q e
&C) e (re_ %e
_ac) ee (a eI
&C) e (re_ %e
_ac) ee (a eI
r) ei (er_ 'eI
@) e (re_ =e
@) e (ri_ =e
@) e (rea_ =e
@) e (rii_ =e
@) e (rei_ =e
i) e (re_ e
i) e (ri_ e
i) e (rii_ e
i) e (rea_ e
@) e (ra_ =e
@) e (ră_ =e
@f) e (ra_ e
@f) e (ra_ e
i) e (ră_ e
i) e (ra_ e
eoa eO'a
r) ei (er_ 'eI
@) e (re_ =e
@) e (ri_ =e
@) e (rea_ =e
@) e (rii_ =e
@) e (rei_ =e
i) e (re_ e
i) e (ri_ e
i) e (rii_ e
i) e (rea_ e
@) e (ra_ =e
@) e (ră_ =e
@f) e (ra_ e
@f) e (ra_ e
i) e (ră_ e
i) e (ra_ e
eoa eo'a
.group f
f f
ff f
@) f (i_ f;
f f
ff f
@) f (i_ f;
.group g
g g
g (e dZ
g (i dZ
gii dZiI
gh g
&) gii (_ dZ'iI
&) gi (A_ dZi
g g
g (e dZ
g (i dZ
gii dZiI
gh g
&) gii (_ dZ'iI
&) gi (A_ dZi
.group h
h h
@) h (i_ C
h h
@) h (i_ C
.group i
i i
i (A j
i i
i (A j
@) i (e_ j
&C) i (_NS1q i/
&) i (_NS1q i
&) i (-NS1q i // don't reduce to [I^] if a hyphen follows
ţ) i (-Că i
ţ) i (-Ci i
ţ) i (-l i
ţ) i (-ne i
&') i (_ i
ţi-) i (_ _ // combined with previous word as [iI]
Cr) i (_+++ i
V&) i (N_ 'i // verb
ăC) ia (_ 'ia
âC) ia (_ 'ia
ăC) ie (_ 'ie
âC) ie (_ 'ie
@) i (e_ j
&C) i (_NS1q i/
&) i (_NS1q i
&) i (-NS1q i // don't reduce to [I^] if a hyphen follows
ţ) i (-Că i
ţ) i (-Ci i
ţ) i (-l i
ţ) i (-ne i
&') i (_ i
ţi-) i (_ _ // combined with previous word as [iI]
Cr) i (_ i
V&) i (N_ 'i // verb
ăC) ia (_ 'ia
âC) ia (_ 'ia
ăC) ie (_ 'ie
âC) ie (_ 'ie
g) i (ne_ =i
g) i (nea_ =i
g) i (ne_ =i
g) i (nea_ =i
c) i (uC
cţ) ie (_ =ie
cţ) iei (_ =ieI
cţ) ia (_ =ja
graf) ie (_ 'ie
graf) ia (_ 'ia
graf) iei (_ 'ieI
graf) ii (_ 'iI
scop) ie (_ 'ie
scop) ia (_ 'ia
scop) iei (_ ieI
scop) ii (_ 'iI
er) ia (_ 'ia
er) iei (_ 'ieI
on) ie (_ 'ie
on) ia (_ 'ia
on) iei (_ 'ieI
uş) ie (_ 'ie
uş) ia (_ 'ia
uş) iei (_ 'ieI
cţ) ie (_ =ie
cţ) iei (_ =ieI
cţ) ia (_ =ja
graf) ie (_ 'ie
graf) ia (_ 'ia
graf) iei (_ 'ieI
graf) ii (_ 'iI
nom) ie (_ 'ie
nom) ia (_ 'ia
nom) iei (_ 'ei
scop) ie (_ 'ie
scop) ia (_ 'ia
scop) iei (_ ieI
scop) ii (_ 'iI
fil) ie (_ 'ie
fil) ia (_ 'ia
fil) iei (_ 'ei
er) ia (_ 'ia
er) iei (_ 'ieI
on) ie (_ 'ie
on) ia (_ 'ia
on) iei (_ 'ieI
uş) ie (_ 'ie
uş) ia (_ 'ia
uş) iei (_ 'ieI
// @) ie (_S1q ie
iei (_ 'ieI
ii iI
&) ii (_S2q iI
iii iji
iu (_ iU
iu ju
iei (_ 'ieI
ii iI
&) ii (_S2q iI
iii iji
iu (_ iU
iu ju
&) ic (_ =ik
&) ica (_ =ika
&) ice (_ =itSe
&) icile (_ =itSile
&) icilor (_ =itSilor
@) icii (_ =itSiI
@) icei (_ =itSeI
&) ic (_ =ik
&) ica (_ =ika
&) ice (_ =itSe
&) icile (_ =itSile
&) icilor (_ =itSilor
@) icii (_ =itSiI
@) icei (_ =itSeI
scr) i (e 'i
&) ing (_ %iNg // foreign words
scr) i (e 'i
&) ing (_ %iNg // foreign words
i (t_ 'i
ioa jO'a
i (t_ 'i
ioa iO'a
@) işte (_ =iSte
@) iştea (_ =iStea
@) işte (_ =iSte
@) iştea (_ =iStea
@) i (ţă_++++++++ =i
@) i (ţe_ =i
@) i (ţei_ =i
@) i (ţelor_ =i
-) i (_ j
@) i (ţele_ =i
@) i (ţe_ =i
@) i (ţei_ =i
@) i (ţelor_ =i
-) i (_ j
@) i (ţele_ =i
.group î
î y
@) î (_ 'y
î y
@) î (_ 'y
.group j
j Z
@) j (i_ Z;
j Z
@) j (i_ Z;
.group k
k k
k k
.group l
l l
ll l
@) l (i_ l;
_) l (_ le
-) l (_ l // -l
l l
ll l
@) l (i_ l;
_) l (_ le
-) l (_ l // -l
iu) l (_S1t l
&) le (_S2t le
&) lor (_S3t lor
&) lui (_S3t luI
iu) l (_S1t l
&) le (_S2t le
&) lor (_S3t lor
&) lui (_S3t luI
.group m
_) m (_ me
m m
mm m
@) m (i_ m;
_) m (-a m
_) m (_ me
m m
mm m
@) m (i_ m;
_) m (-a m
-) mi (_ mi/
-) mi (_ mi/
.group n
_) n (_ ne
n n
@) n (i_ n;
n (g N
n (k N
@) n (tic_ =n
@) n (ic_ =n
_) n (-a n
-) n (_ n
_) n (_ ne
n n
@) n (i_ n;
n (g N
n (k N
@) n (tic_ =n
@) n (ic_ =n
_) n (-a n
-) n (_ n
@itudi) ne (_S2t ne
@itudi) nea (_S3t nea
@itudi) nii (_S3t niI
@itudi) ni (_S2t ni
@itudi) ne (_S2t ne
@itudi) nea (_S3t nea
@itudi) nii (_S3t niI
@itudi) ni (_S2t ni
@itudi) nile (_S4t nile
@itudi) nilor (_S5t nilor
.group o
o o
oa Oa
oai Oaj
_) oi oI
oi (_ 'oI
ou oU
ou (_N 'oU
ou (_ ou
o (AAA o
o o
oa Oa
oai Oaj
_) oi oj
oi (_ 'oj
ou oU
ou (_N 'oU
ou (_ ou
o (AAA o
.group p
p p
pp p
@) p (i_ p;
p p
pp p
@) p (i_ p;
ph f
.group q
q k
qu kw
q k
qu kw
.group r
r r
rr r
A) r (A *
C) r (A @-*
rr *r
A) r (i_ *;
_) re (@P2T re
_) re (gul re
r r
rr r
A) r (A *
C) r (A @-*
rr *r
A) r (i_ *;
r (ă_ *
_) re (@P2T re
_) re (gul re
@u) ri (_NS2t rI^
C) ri (_ @-*i
@u) rii (_S3t riI
C) ri (_ @-*i
@u) rii (_S3t riI
@u) rile (_S4t rile
@u) rilor (_S5t rilor
@) răm (_S1t m
@) răm (_S1t m
@) răţi (_S4t *@tsI^
@u) re (_S2t *e
@u) re (_S2t *e
.group s
_) s (_ se
_) s (-a s
s s
-) s (_ s
sh S
ss s
_) s (_ se
_) s (-a s
s s
-) s (_ s
sh S
ss s
&) sprezece (_S8t sp@-*ez,etSe
@) sem (_S1t m
@) seră (_S2t *@
@) sem (_S1t m
@) seră (_S2t *@
@) serăm (_S3t *@m
@) serăţi (_S4t *@tsI^
@) seşi (_S2t SI^
@) sni (_ sn'i
@) seşi (_S2t SI^
@) sni (_ sn'i
.group ş
ş S
@) ş (i_ S;
ş S
@) ş (i_ S;
@) şni (_ Sn'i
-) şi (_ SI^
@) şni (_ Sn'i
-) şi (_ SI^
.group t
t t
tt (_ t
@) t (i_ t;
t t
tt (_ t
@) t (i_ t;
ts ts
tz ts
tt t
ts ts
tz ts
tt t
.group ţ
ţ ts
@) ţ (i_ ts;
ţ ts
@) ţ (i_ ts;
// @) ţi (-mă ts;'i
// @) ţi (-vă ts;'i
// @) ţi (-le ts;'i
// @) ţi (-i ts;'iI
// @) ţi (-l ts;'i
-) ţi (_ ts;i/
-) ţi (_ ts;i/
.group u
u u
u (A w
_) ui uI
ui (_ 'uI
r) ui (n ui
ui (e wi
V&) ui (_N u'i
u u
u (A w
uia (_ uj'a
_) ui uI
ui (_ 'uI
r) ui (n ui
ui (e wi
V&) ui (_N u'i
dest) ul ul
&) ul (_S2t ul
@ic) ul (_S2t ul
@ic) ule (_S3t ule
dest) ul ul
&) ul (_S2t ul
@ic) ul (_S2t ul
@ic) ule (_S3t ule
@ic) ului (_S4t uluI
@ic) uri (_S3 urI^
@ic) uri (_S3 urI^
@ic) urile (_S5 urile
&) ului (_S4t uluI
@) us (_S2t us
@) us (_S2t us
@) usul (_S4t usul
@) usuri (_S5t usuri
@) usului (_S6t usuluI
@) usurile (_SS´7t usurile
@) usurilor (_S8t usurilor
@ăC) u (N_ 'u
@) um (_S2t um
@ăC) u (N_ 'u
@) um (_S2q um
@) umul (_S4t umul
@) umului (_S6t umuluI
@) umuri (_S5t umuri
@) umurile (_S7t umurile
@) umurilor (_S8t umurilor
c) um (_ um
@) uie (_ =wie
c) um (_ um
@) uie (_ =wie
.group v
v v
@) v (i_ v;
v v
@) v (i_ v;
.group w
w w
w w
.group x
x ks
e) x (a gz
e) x (e gz
e) x (i gz
me) x (ic ks
e) x (iA_ ks
e) x (iu ks
e) x (Ag ks
le) x ks
x ks
e) x (a gz
e) x (e gz
e) x (i gz
) x (e_ ks
_ale) x ks
me) x (ic ks
e) x (iA_ ks
e) x (iu ks
e) x (Ag ks
le) x (+ ks
.group y
y i
y (A j
y i
y (A j
.group z
z z
zz z
@) z (i_ z;
z z
zz z
@) z (i_ z;
.group
ö Y
D_) % la_sut@
% p@-*otSent
$ dolar
ö Y
D_) % la_sut@
% p@-*otSent
$ dolar
, (D v'irgul@
, (D v'irgul@
__) - (_D m'inus
A_) - (_D _
C_) - (_D _
__) - (_D m'inus
A_) - (_D _
C_) - (_D _
+73 -8
View File
@@ -196,7 +196,6 @@ tamil தமிழ் $text
பாகவதம் $alt
பகவத் $alt
பங்கம் $alt
பீடி $alt
பீதி $alt
பேகம் $alt
பார்லி $alt
@@ -210,6 +209,29 @@ tamil தமிழ் $text
பாக்கி $alt
பலி $alt
போதி $alt
பலத்த $alt
புத்தி $alt
படா $alt
பால $alt
பாம்ப் $alt
பீராமண $alt
பிரதர் $alt
பால்ய $alt
பலு $alt
பில் $alt
பந்த் $alt
பில்லி $alt
பம்பளிமாஸ் $alt
பட்டர் $alt
பட்டரால் $alt
பைக்கை $alt
பெட்டின் $alt
பெட்டில் $alt
படவா $alt
பாக்கிப் $alt
பாக்கித் $alt
பாக்கிச் $alt
(பி . ஏ) bije:
// initial த as [d]
@@ -220,8 +242,6 @@ tamil தமிழ் $text
தயாநிதி $alt
தயாளு $alt
துந்துவி $alt
தயவு $alt
தடால் $alt
திக் $alt
தடக் $alt
தீக்ஷை $alt
@@ -234,16 +254,32 @@ tamil தமிழ் $text
திக்கற்ற $alt
தானு $alt
திட $alt
தேவ $alt
தோ $alt
தினசரி $alt
தரும $alt
தொப் $alt
தொப்பென்று $alt
தொப்னு $alt
திக்கெட்டும் $alt
தேவா $alt
// initial ட
டார்ச் t.a:rtS
// initial ச as [tS]
சீ tSi:
சே tSe:
சீ $alt
சே $alt
சீசீ tSi:tSi:
சீச்சீ $alt
சிட்டாய் $alt
சேச்சே $alt
கக $alt // initial க as [g]
கனம் $alt
கணம் $alt
கிலி $alt
கில்லி $alt
காந்தி $alt
@@ -251,8 +287,6 @@ tamil தமிழ் $text
கோமதி $alt
கயா $alt
காயத்ரி $alt
கங்கை $alt
கங்கா $alt
கட $alt
கோ $alt
கதி $alt
@@ -260,7 +294,38 @@ tamil தமிழ் $text
கச்சாமி $alt
குரு $alt
கோர $alt
கும் $alt
கும்மென்று $alt
கும்முனு $alt
குருவுக்கு $alt
குருன்னு $alt
குருவே $alt
கண்டம் $alt
கோலி $alt
குப் $alt
கம்னு $alt
கம்மென்று $alt
// p as [f]
போன் fo:n
போனில் fo:nil
பைல் faIl
பைலை faIlaI
பாதர் fa:dVr
பாதரிடம் fa:dVrid.Vm
பாதருடன் fa:dVrUd.Vn
பாதரில்லாமல் fa:dVrilla:mVl
காபி ka:fi
பேனில் fe:nil
பேன்ல fe:nlV
போன்ல fo:nlV
பப pVpV
தீப் di:p
டிரேயின் t.re:jn
பைக் baIk
பைக்கில் baIkkIl
தாங்ஸ் Ta:Nks // thanks
டிபுடி d.EpjUt.i // deputy
+243 -26
View File
@@ -26,6 +26,9 @@
// க is k when preceded by these
.L01 ஷ் ஸ் ட்
// ப is p when preceded by these
.L02 ட் ற் ல் ஷ் ஸ்
// consonants
@@ -38,7 +41,7 @@
_) க kV
_) க (B k
_) க (T gV // if word has $alt attribute in ta_list
_) க (BT g // $alt
_) க (BT+ g // $alt
க்க kkV
க்க (B kk
ற்) க _kV
@@ -47,6 +50,7 @@
L01) க (B k
க (ிரு k
க (ூட k
ங்) க (ொ k
க (ீத g
க (ஜ gV
@@ -63,7 +67,6 @@
_) க (ாண்டாமிருக g
_) க (ோந்து g
_) க (ாந்த g
_) க (ுண்ட g
_) க (ோபுர g
_) க (ுகன g
_) க (ணபதி gV
@@ -71,7 +74,6 @@
_) க (ோதுமை g
_) க (ுகை g
_) க (ோஷ g
_) க (ுண g
_) க (தியில் gV
_) க (டிகார gV
வி) க்ட (ோரியா kt. // victoria
@@ -110,6 +112,39 @@
_) க (ாண்டீப g
_) க (ர்வ gV
_) க (ுருவா g
_) க (னம gV
_) க (னத் gV
_) க (ுண்டு g
_) க (ுண்டன g
_) க (ுண்டர g
_) க (ுண்டடி g
_) க (ுண்டாக g
_) க (ுண்டாய g
_) க (ுணம g
_) க (ுணங் g
_) க (ுணத் g
_) க (ண்டங் gV
_) க (ுண்டம்மா g
_) க (டப்பாரை gV
_) க (ோலிக g
_) க (ோலிய g
_) க (ானம g
_) க (ானங் g
_) க (ானத்த g
_) க (திகலங் gV
_) க (ுப்பென்ற g
_) க (ுபீர g
_) க (ும்பல g
_) க (ும்மிருட்ட g
_) க (ப்பென்ர gV
_) க (ங்கை gV
_) க (ங்கா gV
_) க (ுபுக் g
_) க (லாட்டா gV
_) குண்டாந்த (டி gun.d.a:ntV
_) க (லீர gV
_) க (ோல்மால g
_) க (வாஸ்கர gV
_கல்) க (ி k
_கல்) க (ண்ட kV
@@ -117,8 +152,20 @@
கொல்) க (த்தா kV
கோயில்) க (ாளை k
_) குல்க (ந்த gulkV
_ராஜ) க (ும k
_ராஜ) க (ுல k
க (வி kV
க (ுல k
க (ுமார k
தின) க (ர kV
பிரபா) க (ர kV
சுதா) க (ர்_ kV
சுதா) க (ரிட kV
சுதா) க (ரின kV
மது) க (ர kV
திவா) க (ர kV
_) கி (ராம g
_) கி (ரகண g
நற்) க (ுண g
.group ங
@@ -131,6 +178,8 @@
ச (B s
_) ச sV
_) ச (B s
_) ச (T tSV
_) ச (BT tS
ச்ச tS:V
ச்ச (B tS:
ட்) ச tSV
@@ -139,14 +188,19 @@
ற்) ச (B tS
ஞ்) ச dZV
ஞ்) ச (B dZ
ச் (_ tS
ச் (_N tS
ச்_) ச tSV // previous word ends in ச்
ச்_) ச (B tS
_) ச (ெண்ட tS
_) சாம்ப (ியன tSa:mp
_) ச (ிட் tS
_) ச (ின் tS
_) ச (ிட்டு tS
_) ச (ிட்டாட்ட tS
_) ச (ிட்டி tS
_) ச (ிட்ல tS
_) ச (ேரி tS
_) ச (ெஸ் tS
_) ச (ப்பாத்தி tSV
_) ச (ெட்டியார tS
@@ -160,14 +214,21 @@
_) ச (ித்ரா tS
_) ச (ெல்லம tS
_) ச (துர் tSV
ச (ந்திர tSV
வி) ச (ித்திர tS
சு) சித (்ரா tSit
_) ச (ிட்டாக tS
_) சிரு (ஷ்டி sri
சீ (னிவாச sri:
ச (ாந்தி s.
ச (ண்மு s.V
சங்க (ர s.VNkV
ச (ண்பக s.V
ச (ெண்பக s.
சு (வாரஸ்ய s
சு (வாமி s
சி (ரம s
.group ஜ
@@ -193,6 +254,17 @@
ிங்) ட (ன் t.V // -ington
_) ட (ாக்க t. // talkies
_) டிராக்ட (ர t.ira:gt.V
_) ட (யர t.V
_) ட (ைம்_ t.
டெலிப (ோன t.elif
_) ட (ம்ப்ளர t.V
_) ட (ிக்க t.
_) ட (ிராம t.
_) ட (வுன t.V
_) டென்டுல்க (ர t.ent.UlkV
_) டிரேயின (ை t.re:jn
.group ண
ண n.V
@@ -205,13 +277,15 @@
_) த tV
_) த (B t
_) த (T dV // if word has $alt attribute in ta_list
_) த (BT d // if word has $alt
_) த (BT+ d // if word has $alt
த்த ttV
த்த (B tt
க்) த tV
க்) த (B t
ஸ்) த tV
ஸ்) த (B t
ப்) த tV
ப்) த (B t
// exceptions, த as [d]
_) த (ர்ம dV
@@ -220,8 +294,10 @@
_) த (ெய்வ d
_) த (ுஷ் d
_) த (க்ஷிணா dV
_) த (ண்ட dV
_) த (ண்டவாள tV
_) த (ண்டன dV
_) த (ண்டம dV
_) த (ண்டத் dV
_) த (ண்டக் dV
_) த (ருமி dV
_) த (ர்பை dV
_) த (ாவா d
@@ -243,6 +319,7 @@
_) த (ிரவிய d
_) த (ூப d
_) த (ீப d
_) த (ீப்ப t
_) த (ைரிய d
_) த (ிடீர d
_) த (ிடப d
@@ -251,9 +328,11 @@
_) த (ிரவ d
_) த (ிடீ d
_) த (ிவச d
_) த (ியான d
_) தி (யான dj
_) த (ானிய d
_) த (ுக்க d
_) த (ுக்கிரி t
_) த (ுக்கடா t
_) த (ிகில d
_) த (ூம d
_) த (ாவணி d
@@ -275,6 +354,7 @@
_) த (டியர dV
_) த (ிக்கு d
_) த (ிக்கு_வாய t
_) த (ிக்கு_முக்க t
_) த (ிக்கில d
_) த (னபால dV
_) த (னசேகரன dV
@@ -292,7 +372,9 @@
_) த (ட்சிண dV
_) த (ன்ராஜ dV
_) த (ாராபுர d
_) த (டி_மாட dV
_) த (டிJ_மாட dV
_) த (டிJ_புத்தக dV
_) த (டிJ_பயல dV
_) த (ேவன d
_) த (ேவி d
_) த (ேவர்க d
@@ -314,8 +396,36 @@
_) த (ேவேந் d
_) த (ரிசி dV
_) த (ுரை d
_) த (ேவ d
_) த (ூசி d
_) த (ம்பதி dV
_) த (ிவான d
_) த (ினேஷ d
_) த (ாராள d
_) து (வேச d // dv
_) து (வேஷ d // dv
_) த (ருமன dV
_) த (ருமர dV
_) த (ண்டபாணி dV
_) த (ண்டாயுதபாணி dV
_) த (ண்டித் dV
_) த (ரிசனங் dV
_) த (ேவகி d
_) த (கி dV
_) த (ாயாதி d
_) த (ுட்ட d
_) த (ொம் d
_) த (டபுடல dV
_) த (டால dV
_) த (ம்பிடி dV
_) த (ிக்கை d
_) த (ிக்கே d
_) த (ேவாமிருத d
_) த (ுச்சம d
_) த (ொபுக் d
_) த (ினந் d
_) த (யவ dV
_) த (ிவாகர d
யு) த்த ddV
யு) த்த(B dd
@@ -323,6 +433,7 @@
பு) த்த (ியி dd
பு) த்த (ர ddV
பு) த்த (ன ddV
சமு) த்த (ிர dd
_சாந்) த (ி t
_சும) த (ி t
@@ -339,6 +450,9 @@
பிரபாவ) த (ி t
_கோம) த (ி t
_பிர) த (ீ t
பவி) த (்ரா t
நி) த (்ய t
சி) த (்ரா t
_) திரு (ஷ்டி dri
_) திரு (திரா dri
@@ -364,14 +478,13 @@ _கோம) த (ி t
ப (B b
_) ப pV
_) ப (B p
_) ப (T bV // if word has $alt attribute in ta_list
_) ப (BT b // if word has $alt
_) ப (T+ bV // if word has $alt attribute in ta_list
_) ப (BT+ b // if word has $alt
ப்ப ppV
ப்ப (B pp
ட்) ப pV
ட்) ப (B p
ற்) ப pV
ற்) ப (B p
L02) ப pV
L02) ப (B p
குஷ்) ப (ு b
று) ப _pV
று) ப(B _p
@@ -383,22 +496,21 @@ _கோம) த (ி t
த) ப (B b
@) பத (ி pVt
ன்) பத (ி bVd
ப (ுர p
ப (ால p
ப (ாள p
ம்) ப (ா b
ப (ூர p
// _) ப (ால b
_) ப (ால் p
_) ப (ாலின் p
_) ப (ாலை p
// _) ப (ாலில் p
_) ப (ாலுடன் p
// _) ப (ாலினுடைய p
_) ப (ாலாபிஷேக p
_) ப (ாலு b
_) ப (ாலும்_ p
_) ப (ானு b
_) ப (ீம b
_) ப (காசுர bV
@@ -414,7 +526,6 @@ _கோம) த (ி t
_) பக் (த bVk
_) ப (லம bV
_) ப (லவான bV
_) ப (ிராமண b
_) ப (ிரம்ம b
_) ப (ம்பர bV
_) ப (லூன bV
@@ -493,7 +604,50 @@ _கோம) த (ி t
_) ப (லிய bV
_) ப (ோதித் b
_) ப (ோதன b
_) ப (ூட்ஸ b
_) ப (ுத்திய b
_) ப (ுத்திக் b
_) ப (ுத்திசாலி b
_) ப (ேஜார b
_) ப (ேதி b
_) ப (த்திரமா bV
_) ப (ேலன்ஸ b
_) ப (ந்தோபஸ்த bV
_) ப (ெல் b
_) ப (ாதகம b
_) ப (ீராமணர b
_) ப (ிரித்தானி b
_) ப (ாதிப்ப b
_) ப (ாதிக்க b
_) ப (லகீன bV
_) ப (லஹீன bV
_) ப (ட்சண bV
_) ப (ீடி b
_) ப (ீடிகை p
_) ப (ீடித்த p
_) ப (ெட்ரூம b
_) ப (ாத்ரூம b
_) ப (ாபுவ b
_) ப (யபக்தி bV
_) ப (ாவனை b
_) ப (ேஷ b
_) ப (ாத்யதை b
_) ப (ில்டிங் b
_) ப (ால்ய b
_) ப (ாவனா b
_) ப (லங் bV
_) ப (ட்டரி bV
_) ப (ட்டரு bV
_) ப (ட்டன bV
_) ப (லப்படு bV
_) ப (ாரத்த b
_) ப (ந்துக்கள bV
_) ப (ந்துவ bV
_) பலாத்க (ார bVla:dk
_) ப (லராம bV
_) ப (ங்கார bV
_) ப (லசாலி bV
_) ப (ூதாகார b
கோ) ப (ி p
முரன்) ப (ாட p
@@ -501,6 +655,27 @@ _கோம) த (ி t
முன்) ப (கல pV
நன்) ப (கல pV
பின்) ப (கல pV
கல்) ப (னா pV
ப (ாதை p
ப (டி pV
ம்) ப (ுரா b
இன்ஸ்) ப (ெக்டர p
எதிர்) ப (ார p
ப (ோது p
ப (ோதிலும் p
ப (ோதும் p
எழும்) ப (ூர b
நாலா) ப (ுற p
ப (ோதும்_+ p
ப (ோதே_+ p
ப (ோல்_ p
// If ப+ appearing in the middle of a word is followed by ட+
// and not preceded by ம், then ப should sound as 'pa'.
ப (ட pV
ப (Bட p
ம்) ப (ட bV
ம்) ப (Bட b
_) பி (ரம்மன b
_) பி (ராமணன b
@@ -539,7 +714,32 @@ _கோம) த (ி t
_) பி (ரதேச p
_) பி (ரசித்தி p
_) பி (ரம்ம b
_) பி (ரமிப்ப b
_) பீ (ராமண b
_) பி (ரித்தானி b
_) பி (ரதர்_ b
_) பி (ராப் p
_) பி (ரத p
_) பி (ரவேசி p
_) பி (ரசவ p
_) பி (ரசங் p
_) பி (ரளய p
_) பி (ராமண b
_) பி (ரார்தி p
_) பி (ரோகிதர p
_) பி (ரஸ்தா p
_) பி (ரஜ p
_) பி (ரமை b
_) பி (ரமுகர p
_) பி (ரயோசன p
_) பி (ரவாக p
_) பி (ரமித் b
_) பிரச (்னை prVtS
_) பி (ரியர p
_) பி (ரவேச p
_) பி (ரயோக p
_) பி (ரக்ஞை p
_) பி (ரயத்தன p
// musical notes
சா) ப (ா p
@@ -574,8 +774,21 @@ _கோம) த (ி t
_த) ப (ால b
_க) ப (ால b
_கா) ப (ந்து bV
சு) ப்ப bbV
சு) ப்ப(B bb
_) ப (ோனை f
_) ப (ோட்டோ f
_) ப (ைல்கள f
_) ப (ோனிலும் f
_சோ) ப (ா f // sofa
_ஆ) ப (ீஸ f // office
_ஆ) ப (ீச f // office
_ஆ) ப (ிஸ f // office
_ஆ) ப (ிச f // office
கிராம) ப (ோன f // gramaphone
_கா) ப (ியை f
.group ம
ம mV
@@ -617,6 +830,7 @@ _கோம) த (ி t
.group வ
வ vV
வ (B v
_) வி (யாபார v
.group ஶ
@@ -660,6 +874,9 @@ _கோம) த (ி t
இ i
_) இ (ரா // silent before 'raa'
_) இ (ராக i
_) இ (ரான i
_) இ (லட்சிய // silent
ஈ i:
+35 -19
View File
@@ -1,4 +1,4 @@
58 phoneme tables
59 phoneme tables
new total
base 99 99
consonants 9 107
@@ -15,12 +15,13 @@ consonants 9 107
de 32 126
eo 13 111
jbo 2 111
nci 3 120
fi 40 130
fr 56 138
fr 55 138
fr_ca 11 138
hi 58 145
ta 20 148
hu 23 115
hu 24 116
lv 29 122
nl 24 119
pl 20 113
@@ -45,7 +46,7 @@ consonants 9 107
ru 39 130
vi 41 136
zhy 41 133
zh 62 150
zh 64 150
sw 12 108
tr 18 123
ku 18 124
@@ -81,6 +82,7 @@ d/d [d] base
[d] base2
[d] fi
[d] fr
[d] hu
[d] pl
[d;] pl
[d] hr
@@ -91,6 +93,7 @@ d/d_ [d] base
[d] fi
[d] fr
[d.] hi
[d] hu
[d] pl
[d;] pl
[d] hr
@@ -103,6 +106,7 @@ d/dr [*] base
[d] fr
[d.] hi
[dh.] hi
[d] hu
[d] pl
[d;] pl
[d] hr
@@ -122,6 +126,7 @@ d/xd [d] base
[d.] hi
[dh] hi
[dh.] hi
[d] hu
[d] pl
[d] hr
[d] sr
@@ -238,23 +243,32 @@ j2/j2o [;] base
j2/j2u [;] base
j2/xj2 [;] base
j/_j [j] base
[j] zh
j/j_ [j] base
[j] de
[j] zh
j/j@ [j] base
[j] de
[j] zh
j/ja [j] base
[j] de
[j] zh
j/je [j] base
[j] de
[j] zh
j/ji [j] base
[j] de
[j] zh
j/jo [j] base
[j] de
[j] zh
j/_j_short [j] de
j/ju [j] base
[j] de
[j] zh
j/xj [j] base
[j] de
[j] zh
klatt/b [b] base
klatt/bh [B] base
klatt/dz_pzd [J] base
@@ -299,6 +313,7 @@ l/_l [l] base
[l] fr
[l/] fr
[l] hu
[l] zh
l/l_ [l/] base
[l/3] base
[l/] fr
@@ -306,7 +321,7 @@ l/l_@ [l/3] base
[W] fr
[Y] fr
[l/] fr
l/l@ [] base
l/l@ [] base
[L] base
[W] fr
[Y] fr
@@ -333,14 +348,14 @@ l/L2_oL [l/2] base
l/L2_uL [l/2] base
l/l_3 [l/] de
l/l_4 [ll] sq
l/la [] base
l/la [] base
[L] base
[a] fr
[l] fr
l/l_a [l/3] base
[l/] fr
[wA] fr
l/le [] base
l/le [] base
[L] base
[l] fr
l/l_e [l/3] base
@@ -349,22 +364,23 @@ l/L_eL_af [&] af
[&:] af
l/l_front [L] sq
l/l_front_ [l/4] sq
l/li [] base
l/li [] base
[L] base
[l] fr
[l] zh
l/l_i [l/3] base
[l/] fr
[i] sq
l/l_long [l] base
[l] fr
l/lo [] base
l/lo [] base
[L] base
[l] fr
l/l_o [l/3] base
[l/] fr
[o2] fr
l^/l_rfx [l.] base
l/lu [] base
l/lu [] base
[L] base
[l] fr
[w^i] fr
@@ -495,12 +511,12 @@ r3/r_trill.wav [R2] base
[r*] sr
[x] pt
r3/r_uvl [r"] base
[r] fr
[r/2] fr
r3/r_uvl.wav [r"] base
r3/rx [*] base
[r/] base
[r/] af
[r] fr
[r/2] fr
[R] fr_ca
[x] pt_pt
[*;] ro
@@ -1407,6 +1423,7 @@ vowel/e_mid2 [E] af
[E2] de
[E:] de
[e] jbo
[e] nci
[e] fi
[E] nl
[e] sk
@@ -1486,7 +1503,8 @@ vowel/i_en [i:] en
vowel/i_fnt [i:] en_wi
[i:] hi
[i] pa
vowel/ii [I] en_n
vowel/ii [I] en
[I] en_n
[I2] en_n
[I] en_rp
[I2] en_rp
@@ -1855,24 +1873,21 @@ vwl_fr/r@ [r] fr
vwl_fr/@R [x] pt_pt
vwl_fr/_r2 [r] fr
vwl_fr/@R2 [R] fr_ca
vwl_fr/ra [r] fr
vwl_fr/ra [a] fr
vwl_fr/r_a [r/2] fr
vwl_fr/r_a~ [A~] fr
vwl_fr/rA~ [A~] fr
vwl_fr/re [r] fr
vwl_fr/r_e [r/2] fr
vwl_fr/ri [i] fr
[r] fr
vwl_fr/ri [r] fr
vwl_fr/r_i [r/2] fr
vwl_fr/ro [r] fr
vwl_fr/r_o [o] fr
[o2] fr
[r/2] fr
vwl_fr/ru [r] fr
[u] fr
vwl_fr/r_u [r/2] fr
vwl_fr/ry [y] fr
[w^i] fr
vwl_fr/ry [w^i] fr
vwl_fr/r_y [y] fr
vwl_fr/tr [r] fr
vwl_fr/w_a [wA] fr
@@ -1984,6 +1999,7 @@ x/d_ [d] base
x/d_dnt [d[] base
[d] base2
[d] fi
[d] hu
[d] pl
x/d_pzd [d;] pl
x/dzh [J] base
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
+2 -2
View File
@@ -17,12 +17,13 @@ volume 32
0 l- NULL 0 l
0 w/ NULL 0 w
0 j/ NULL 0 j
0 a/ NULL 0 V
2 ; i 0 NULL
0 ; NULL 0 NULL
0 - NULL 0 NULL
0 g- NULL 0 NULL
0 @- NULL 0 NULL
0 * NULL 0 r
0 * NULL 0 NULL
0 R2 NULL 0 r
0 R NULL 0 r
@@ -40,4 +41,3 @@ volume 32
0 R NULL 0 r
0 x NULL 0 h
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
+3
View File
@@ -164,6 +164,9 @@ phoneme I
vowel starttype #i endtype #i
length 130
IfNextVowelAppend(;)
IF nextPhW(isVel) THEN
FMT(vowel/ii)
ENDIF
FMT(vowel/ii_2)
endphoneme
+15 -31
View File
@@ -1,7 +1,7 @@
//====================================================
// French
//====================================================
// Updated 2009-10-13 Michel Such <michel.such@free.fr>
// Updated 2010-02-09 Michel Such <michel.such@free.fr>
phoneme #l virtual
// Used for l and l/
@@ -31,7 +31,7 @@ phoneme r
NextVowelStarts
VowelStart(vwl_fr/r@)
VowelStart(vwl_fr/ra)
VowelStart(NULL)
VowelStart(vwl_fr/re)
VowelStart(vwl_fr/ri)
VowelStart(vwl_fr/ro)
@@ -43,23 +43,17 @@ phoneme r
ELIF prevPhW(p) OR prevPhW(k) THEN
FMT(vwl_fr/tr)
ELIF prevPhW(t) THEN
FMT(vwl_fr/tr) addWav(r3/r_uvl,30)
FMT(vwl_fr/tr) addWav(r3/rx,30)
ENDIF
IF thisPh(isWordStart) THEN
IF prevPh(isVowel) OR prevPh(isPause) OR prevPh(#l) OR prevPh(r/2) THEN
FMT(vwl_fr/_r)
ENDIF
FMT(vwl_fr/_r2) addWav(r3/r_uvl, 25)
FMT(vwl_fr/_r2) addWav(r3/rx, 15)
ENDIF
FMT(vwl_fr/r) addWav(r3/r_uvl,25)
endphoneme
phoneme R // First letter of a word
import_phoneme fr/r
lengthmod 0
FMT(vwl_fr/r) addWav(r3/rx,25)
endphoneme
@@ -94,7 +88,7 @@ phoneme r/2 // variant of [r] when not preceding a vowel
EndSwitch
IF prevPh(isVowel) THEN
FMT(vwl_fr/r_) addWav(r3/r_uvl, 30)
FMT(vwl_fr/r_) addWav(r3/rx, 30)
ELIF prevPh(m) OR prevPh(n) THEN
FMT(r3/r_n)
ENDIF
@@ -193,6 +187,9 @@ phoneme a
VowelStart(l/la, -15)
ENDIF
IF prevPh(#r) THEN
VowelStart(vwl_fr/ra)
ENDIF
FMT(vowel/a_6)
endphoneme
@@ -231,10 +228,6 @@ phoneme i
IfNextVowelAppend(;)
IF prevPh(#r) THEN
VowelStart(vwl_fr/ri, -30)
ENDIF
FMT(vowel/i_2)
endphoneme
@@ -318,11 +311,7 @@ phoneme u
length 170
IF nextPh(i) THEN
Length 50
ENDIF
IF prevPh(R) THEN
VowelStart(vwl_fr/ru, -10)
Length 50
ENDIF
FMT(vowel/u_bck2)
@@ -340,10 +329,6 @@ phoneme y
vowel starttype #u endtype #u
length 170
IF prevPh(#r) THEN
VowelStart(vwl_fr/ry)
ENDIF
IF nextPh(l/) THEN
VowelEnding(l/l_y, -30)
ENDIF
@@ -425,13 +410,12 @@ endphoneme
phoneme A~
vowel starttype #a endtype #a
length 190
IF prevPh(#r) THEN
VowelStart(vwl_fr/rA~)
ENDIF
IF nextPh(r/2) THEN
VowelEnding(vwl_fr/r_a~)
ENDIF
IF prevPh(#r) THEN
VowelStart(vwl_fr/rA~)
ENDIF
FMT(vnasal/aa_n4)
endphoneme
@@ -553,7 +537,7 @@ phoneme g
FMT(g/g_) addWav(x/g_)
ENDIF
FMT(g/g) addWav(x/g, 20)
FMT(g/g) addWav(x/g, 20)
endphoneme
@@ -721,7 +705,7 @@ phoneme z
vcd alv frc sibilant
voicingswitch s
lengthmod 6
Vowelout f1=0 f2=1700 -300 300 f3=-100 60 len=50
Vowelout f1=0 f2=1700 -300 300 f3=-100 60 len=50
IF nextPh(isPause2) THEN
FMT(voc/z_) addWav(ufric/s_, 45)
+25 -2
View File
@@ -104,6 +104,12 @@ phoneme ts
endphoneme
phoneme dz
import_phoneme consonants/dz
voicingswitch ts
endphoneme
phoneme t // dental variant of /t/
vls dnt stop
lengthmod 2
@@ -117,12 +123,29 @@ phoneme t // dental variant of /t/
endphoneme
phoneme d // dental variant of /d/
import_phoneme base/d[
phoneme d
vcd dnt stop
voicingswitch t
lengthmod 5
Vowelin f1=2 f2=1500 -300 300 f3=-150 80
Vowelout f1=2 f2=1500 -300 300 f3=-150 80
IF PreVoicing THEN
FMT(d/xd)
ENDIF
IF nextPh(isPause2) THEN
FMT(d/d_) addWav(x/d_dnt)
ELIF nextPh(r) THEN
FMT(d/dr) addWav(x/d_dnt, 110)
ENDIF
FMT(d/d) addWav(x/d_dnt, 110)
endphoneme
phoneme c
import_phoneme consonants/c2
voicingswitch J
+1 -1
View File
@@ -1,6 +1,6 @@
//====================================================
// Romanian - based on Italian
// Romanian
//====================================================
// Vowels
+8 -2
View File
@@ -71,7 +71,10 @@ endphoneme
phoneme u
vowel starttype #u endtype #u
length 110
ChangeIfNotStressed(U)
IF prevPhW(isVel) THEN
ELSE
ChangeIfNotStressed(U)
ENDIF
FMT(vowel/u_6)
endphoneme
@@ -84,7 +87,10 @@ endphoneme
phoneme u:
vowel starttype #u endtype #u
length 260
ChangeIfNotStressed(U:)
IF prevPhW(isVel) THEN
ELSE
ChangeIfNotStressed(U:)
ENDIF
FMT(vowel/u_6)
endphoneme
+40 -1
View File
@@ -1,4 +1,4 @@
//based on "phonemes"
//====================================================
// Tone Numbers
//====================================================
@@ -101,6 +101,45 @@ phoneme N
endphoneme
phoneme l
liquid
lengthmod 2
CALL vowelstart_l
IF nextPhW(#i) THEN
VowelStart(l/li)
ENDIF
FMT(l/_l)
endphoneme
phoneme j
liquid palatal
lengthmod 1
IF nextPh(isVowel) THEN
NextVowelStarts
VowelStart(j/j@)
VowelStart(j/ja)
VowelStart(j/je)
VowelStart(j/ji)
VowelStart(j/jo)
VowelStart(j/ju)
EndSwitch
VowelEnding(j/xj, -30)
FMT(j/_j)
ELSE
// no vowel follows
Vowelout len=70
FMT(j/j_)
ENDIF
endphoneme
phoneme p
vls blb stop
+12 -4
View File
@@ -567,7 +567,7 @@ phoneme m
VowelStart(m/mu)
EndSwitch
IF thisPh(isNotVowel) AND nextPhW(isLiquid) THEN
IF prevPh(isNotVowel) AND nextPhW(isLiquid) THEN
FMT(m/mj)
ELIF prevPh(isPause) THEN
FMT(m/_m)
@@ -596,7 +596,7 @@ phoneme n
VowelStart(n/nu)
EndSwitch
IF thisPh(isNotVowel) AND nextPhW(isLiquid) THEN
IF prevPh(isNotVowel) AND nextPhW(isLiquid) THEN
FMT(n/nj)
ELIF prevPh(isPause) OR prevPh(n) THEN
FMT(n/_n)
@@ -626,7 +626,7 @@ phoneme n.
VowelStart(n/nu)
EndSwitch
IF thisPh(isNotVowel) AND nextPhW(isLiquid) THEN
IF prevPh(isNotVowel) AND nextPhW(isLiquid) THEN
FMT(n/nj)
ELIF prevPh(isPause) OR prevPh(n.) THEN
FMT(n/_nr)
@@ -658,6 +658,11 @@ phoneme n^
IF prevPh(isPause) THEN
FMT(n^/_n^)
ELIF nextPh(isNotVowel) THEN
IF nextPhW(n^) THEN
Length 75
ELIF prevPhW(n^) THEN
Length 100
ENDIF
FMT(n^/n^_)
ENDIF
endphoneme
@@ -686,7 +691,7 @@ phoneme N
VowelEnding(nn/inn, -40)
ENDIF
IF thisPh(isNotVowel) AND nextPhW(isLiquid) THEN
IF prevPh(isNotVowel) AND nextPhW(isLiquid) THEN
FMT(nn/nnj)
ELIF prevPh(isPause) THEN
FMT(nn/_nn)
@@ -1521,6 +1526,9 @@ include ph_esperanto
phonemetable jbo eo
include ph_lojban
phonemetable nci base2
include ph_nahuatl
phonemetable fi base
include ph_finnish
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+1 -1
View File
@@ -14,7 +14,7 @@ The 'phondata-manifest' file is produced by espeakedit when it compiles
the phoneme data. If it is not present here, find it in the espeak-data directory.
NOTE:
The format of espeak-data/phondata changed in eSpeak version 1.41. The utility
The format of espeak-data/phondata changed in eSpeak version 1.43. The utility
has been modified for this. [jonsd]
---
+45 -42
View File
@@ -1,3 +1,12 @@
// 13.02.10 JSD: Changed for eSpeak version 1.43
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
@@ -33,26 +42,21 @@
#define N_PHONEME_TAB_NAME 32
// This is a new format for eSpeak 1.43
typedef struct {
unsigned int mnemonic;
unsigned int phflags;
unsigned short std_length;
unsigned short spect;
unsigned short before;
unsigned short after;
unsigned char code;
unsigned char type;
unsigned char start_type;
unsigned char end_type;
unsigned char length_mod;
unsigned char reduce_to;
unsigned char alternative_ph;
unsigned char link_out;
unsigned int mnemonic; // 1st char is in the l.s.byte
unsigned int phflags; // bits 16-19 place of articulation
unsigned short program;
unsigned char code; // the phoneme number
unsigned char type; // phVOWEL, phPAUSE, phSTOP etc
unsigned char start_type;
unsigned char end_type;
unsigned char std_length; // for vowels, in mS/2; for phSTRESS, the stress/tone type
unsigned char length_mod; // a length_mod group number, used to access length_mod_tab
} PHONEME_TAB;
// This is a new format for eSpeak 1.41
typedef struct { // 44 bytes
short frflags;
@@ -102,15 +106,13 @@ void usage (const char *program_name);
int
main (int argc, char *argv[])
{
int main (int argc, char *argv[])
{//==============================
const char *indir = "/usr/share/espeak-data";
const char *outdir = ".";
const char *manifest = "phondata-manifest";
char *f1, *f2;
if (argc > 4)
usage (argv[0]);
@@ -175,12 +177,12 @@ main (int argc, char *argv[])
printf ("Done.\n");
return 0;
}
} // end of main
void
swap_phondata (const char *infile, const char *outfile,
void swap_phondata (const char *infile, const char *outfile,
const char *manifest)
{
{//==========================================================
FILE *in, *mfest, *out;
char line[1024];
unsigned char buf_4[4];
@@ -282,12 +284,13 @@ swap_phondata (const char *infile, const char *outfile,
fclose (in);
fclose (out);
fclose (mfest);
}
} // end of swap_phondata
void
swap_phonindex (const char *infile, const char *outfile)
{
void swap_phonindex (const char *infile, const char *outfile)
{//==========================================================
FILE *in, *out;
char buf_4[4];
unsigned int val;
in = fopen (infile, "rb");
@@ -302,24 +305,27 @@ swap_phonindex (const char *infile, const char *outfile)
exit (1);
}
fread (buf_4, 4, 1, in); // skip first 4 bytes
fwrite(buf_4, 4, 1, out);
while (! feof (in)) {
size_t n;
n = fread (&val, 4, 1, in);
n = fread (&val, 2, 1, in);
if (n != 1)
break;
val = SWAP_UINT (val);
fwrite (&val, 4, 1, out);
val = SWAP_USHORT (val);
fwrite (&val, 2, 1, out);
}
fclose (in);
fclose (out);
}
} // end of swap_phonindex
void
swap_phontab (const char *infile, const char *outfile)
{
void swap_phontab (const char *infile, const char *outfile)
{//========================================================
FILE *in, *out;
char buf_4[4];
int i, n_phoneme_tables;
@@ -359,11 +365,7 @@ swap_phontab (const char *infile, const char *outfile)
table.mnemonic = SWAP_UINT (table.mnemonic);
table.phflags = SWAP_UINT (table.phflags);
table.std_length = SWAP_USHORT (table.std_length);
table.spect = SWAP_USHORT (table.spect);
table.before = SWAP_USHORT (table.before);
table.after = SWAP_USHORT (table.after);
table.program = SWAP_USHORT (table.program);
fwrite (&table, sizeof (PHONEME_TAB), 1, out);
}
@@ -371,7 +373,8 @@ swap_phontab (const char *infile, const char *outfile)
fclose (in);
fclose (out);
}
} // end of swap_phontab
void
usage (const char *program_name)
+9 -3
View File
@@ -1,5 +1,5 @@
/***************************************************************************
* Copyright (C) 2005 to 2009 by Jonathan Duddington *
* Copyright (C) 2005 to 2010 by Jonathan Duddington *
* email: jonsd@users.sourceforge.net *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -102,6 +102,10 @@ static keywtab_t k_conditions[] = {
{NULL, 0, 0}
};
// place of articulation
#define i_isVel 0x28
static keywtab_t k_properties[] = {
{"isPause", 0, phPAUSE},
{"isVowel", 0, phVOWEL},
@@ -112,6 +116,8 @@ static keywtab_t k_properties[] = {
{"isPalatal", 0, i_isPalatal},
{"isRhotic", 0, i_isRhotic},
{"isVel", 0, i_isVel},
{"isDiminished", 0, i_isDiminished},
{"isUnstressed", 0, i_isUnstressed},
{"isNotStressed",0, i_isNotStressed},
@@ -269,7 +275,7 @@ static keywtab_t keywords[] = {
{"vcd", tPHONEME_FLAG, phVOICED},
{"vls", tPHONEME_FLAG, phFORTIS},
// place of articulation
// place of articulation, set bits 16-19 of phflags
{"blb", tPLACE, 1},
{"lbd", tPLACE, 2},
{"dnt", tPLACE, 3},
@@ -347,7 +353,7 @@ static void DecompilePhoneme(FILE *f_out, PHONEME_TAB *ph, int compile_phoneme)
int any;
const char *name;
static char *INV = "Invalid";
static const char *INV = "Invalid";
static const char *instn_category_string[16] = {
"", "", "IF", "IF OR",
+2 -1
View File
@@ -1,5 +1,5 @@
/***************************************************************************
* Copyright (C) 2005 to 2007 by Jonathan Duddington *
* Copyright (C) 2005 to 2010 by Jonathan Duddington *
* email: jonsd@users.sourceforge.net *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -91,6 +91,7 @@ MNEM_TAB mnem_flags[] = {
{"$alt", 20}, // use alternative pronunciation
{"$alt2", 21},
{"$combine", 22}, // Combine with the next word
{"$alt3", 23},
{"$dot", 24}, // ignore '.' after this word (abbreviation)
{"$hasdot", 25}, // use this pronunciation if there is a dot after the word
+29 -21
View File
@@ -1,5 +1,5 @@
/***************************************************************************
* Copyright (C) 2005 to 2007 by Jonathan Duddington *
* Copyright (C) 2005 to 2010 by Jonathan Duddington *
* email: jonsd@users.sourceforge.net *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -3499,38 +3499,46 @@ int RemoveEnding(Translator *tr, char *word, int end_type, char *word_copy)
if(end_type & SUFX_E)
{
// add 'e' to end of stem
if(IsLetter(tr, word_end[-1],LETTERGP_VOWEL2) && IsLetter(tr, word_end[0],1))
if(tr->translator_name == L('e','n'))
{
// vowel(incl.'y') + hard.consonant
for(i=0; (p = add_e_exceptions[i]) != NULL; i++)
// add 'e' to end of stem
if(IsLetter(tr, word_end[-1],LETTERGP_VOWEL2) && IsLetter(tr, word_end[0],1))
{
len = strlen(p);
if(memcmp(p,&word_end[1-len],len)==0)
// vowel(incl.'y') + hard.consonant
for(i=0; (p = add_e_exceptions[i]) != NULL; i++)
{
break;
len = strlen(p);
if(memcmp(p,&word_end[1-len],len)==0)
{
break;
}
}
if(p == NULL)
end_flags |= FLAG_SUFX_E_ADDED; // no exception found
}
else
{
for(i=0; (p = add_e_additions[i]) != NULL; i++)
{
len = strlen(p);
if(memcmp(p,&word_end[1-len],len)==0)
{
end_flags |= FLAG_SUFX_E_ADDED;
break;
}
}
}
if(p == NULL)
end_flags |= FLAG_SUFX_E_ADDED; // no exception found
}
else
if(tr->langopts.suffix_add_e != 0)
{
for(i=0; (p = add_e_additions[i]) != NULL; i++)
{
len = strlen(p);
if(memcmp(p,&word_end[1-len],len)==0)
{
end_flags |= FLAG_SUFX_E_ADDED;
break;
}
}
end_flags |= FLAG_SUFX_E_ADDED;
}
if(end_flags & FLAG_SUFX_E_ADDED)
{
word_end[1] = 'e';
utf8_out(tr->langopts.suffix_add_e, &word_end[1]);
#ifdef LOG_TRANSLATE
if(option_phonemes == 2)
{
+109 -25
View File
@@ -1,5 +1,5 @@
/***************************************************************************
* Copyright (C) 2005 to 2007 by Jonathan Duddington *
* Copyright (C) 2005 to 2010 by Jonathan Duddington *
* email: jonsd@users.sourceforge.net *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -68,6 +68,7 @@
static int n_digit_lookup;
static char *digit_lookup;
static int speak_missing_thousands;
static int number_control;
typedef struct {
@@ -762,16 +763,18 @@ static int CheckDotOrdinal(Translator *tr, char *word, WORD_TAB *wtab, int roman
int ordinal = 0;
int c2;
int nextflags;
if((tr->langopts.numbers & NUM_ORDINAL_DOT) && ((word[0] == '.') || (wtab[0].flags & FLAG_HAS_DOT)) && !(wtab[1].flags & FLAG_NOSPACE))
{
if(roman || !(wtab[1].flags & FLAG_FIRST_UPPER))
{
utf8_in(&c2, &word[2]);
if((word[1] != 0) && IsAlpha(c2))
if((word[1] != 0) && ((c2 == 0) || (wtab[0].flags & FLAG_COMMA_AFTER) || IsAlpha(c2)))
{
// ordinal number is indicated by dot after the number
// but not if the next word starts with an upper-case letter
// (c2 == 0) is for cases such as, "2.,"
ordinal = 2;
if(word[0] == '.')
word[0] = ' ';
@@ -779,8 +782,19 @@ static int CheckDotOrdinal(Translator *tr, char *word, WORD_TAB *wtab, int roman
if((roman==0) && (tr->translator_name == L('h','u')))
{
// lang=hu don't treat dot as ordinal indicator if the next word is a month name ($alt). It may have a suffix.
if(TranslateWord(tr, &word[2], 0, NULL) & FLAG_ALT_TRANS)
nextflags = 0;
if(IsAlpha(c2))
{
nextflags = TranslateWord(tr, &word[2], 0, NULL);
}
if((tr->prev_dict_flags & FLAG_ALT_TRANS) && ((c2 == 0) || (wtab[0].flags & FLAG_COMMA_AFTER) || iswdigit(c2)))
ordinal = 0; // TEST 09.02.10
if(nextflags & FLAG_ALT_TRANS)
ordinal = 0;
if((tr->prev_dict_flags & (FLAG_ALT_TRANS | FLAG_ALT3_TRANS)) && (nextflags & FLAG_ALT3_TRANS))
ordinal = 0x22;
}
}
}
@@ -941,6 +955,12 @@ static int LookupThousands(Translator *tr, int value, int thousandplex, int thou
sprintf(string,"_%dM%do",value,thousandplex);
found_value = Lookup(tr, string, ph_thousands);
}
if(!found_value & (number_control & 1))
{
// look for the 'e' variant
sprintf(string,"_%dM%de",value,thousandplex);
found_value = Lookup(tr, string, ph_thousands);
}
if(!found_value)
{
// is there a different pronunciation if there are no hundreds,tens,or units ? (LANG=ta)
@@ -970,6 +990,12 @@ static int LookupThousands(Translator *tr, int value, int thousandplex, int thou
sprintf(string,"_%s%do",M_Variant(value), thousandplex);
found = Lookup(tr, string, ph_thousands);
}
if(!found && (number_control & 1))
{
// look for the 'e' variant
sprintf(string,"_%s%de",M_Variant(value), thousandplex);
found = Lookup(tr, string, ph_thousands);
}
if(!found)
{
// is there a different pronunciation if there are no hundreds,tens,or units ?
@@ -1013,10 +1039,11 @@ static int LookupNum2(Translator *tr, int value, int control, char *ph_out)
{//========================================================================
// Lookup a 2 digit number
// control bit 0: ordinal number
// control bit 1: tens and units (use special form of '1', LANG=de "eins")
// control bit 1: final tens and units (not number of thousands) (use special form of '1', LANG=de "eins")
// control bit 2: tens and units only, no higher digits
// control bit 3: use feminine form of '2' (for thousands
// control bit 4: speak zero tens
// control bit 5: variant of ordinal number (lang=hu)
int found;
int ix;
@@ -1025,6 +1052,7 @@ static int LookupNum2(Translator *tr, int value, int control, char *ph_out)
int used_and=0;
int found_ordinal = 0;
int next_phtype;
int ord_type = 'o';
char string[12]; // for looking up entries in *_list
char ph_ordinal[20];
char ph_tens[50];
@@ -1040,6 +1068,11 @@ static int LookupNum2(Translator *tr, int value, int control, char *ph_out)
ph_digits[0] = 0;
ph_and[0] = 0;
if(control & 0x20)
{
ord_type = 'q';
}
if((control & 2) && (n_digit_lookup == 2))
{
// pronunciation of the final 2 digits has already been found
@@ -1062,12 +1095,12 @@ static int LookupNum2(Translator *tr, int value, int control, char *ph_out)
if(control & 4)
{
sprintf(string,"_%dox",value); // LANG=hu, special word for 1. 2. when there are no higher digits
sprintf(string,"_%d%cx",value,ord_type); // LANG=hu, special word for 1. 2. when there are no higher digits
found = Lookup(tr, string, ph_digits);
}
if(found == 0)
{
sprintf(string,"_%do",value);
sprintf(string,"_%d%c",value,ord_type);
found = Lookup(tr, string, ph_digits);
}
found_ordinal = found;
@@ -1075,13 +1108,28 @@ static int LookupNum2(Translator *tr, int value, int control, char *ph_out)
if(found == 0)
{
if((value == 1) && (control & 2))
if(control & 2)
{
if(Lookup(tr, "_1a", ph_out) != 0) // LANG=de, "eins"
return(0);
// the final tens and units of a number
if(number_control & 1)
{
// look for 'e' variant
sprintf(string,"_%de",value);
found = Lookup(tr, string, ph_digits);
}
}
else
{
// followed by hundreds or thousands etc
sprintf(string,"_%da",value);
found = Lookup(tr, string, ph_digits);
}
if(!found)
{
sprintf(string,"_%d",value);
found = Lookup(tr, string, ph_digits);
}
sprintf(string,"_%d",value);
found = Lookup(tr, string, ph_digits);
}
}
@@ -1103,7 +1151,7 @@ static int LookupNum2(Translator *tr, int value, int control, char *ph_out)
if((control & 1) && ((units == 0) || (tr->langopts.numbers & NUM_SWAP_TENS)))
{
sprintf(string,"_%dXo", tens);
sprintf(string,"_%dX%c", tens, ord_type);
if(Lookup(tr, string, ph_tens) != 0)
{
found_ordinal = 1;
@@ -1146,13 +1194,29 @@ static int LookupNum2(Translator *tr, int value, int control, char *ph_out)
if((control & 1) && ((tr->langopts.numbers & NUM_SWAP_TENS) == 0))
{
// ordinal
sprintf(string,"_%do",units);
sprintf(string,"_%d%c",units,ord_type);
if((found = Lookup(tr, string, ph_digits)) != 0)
{
found_ordinal = 1;
}
}
if(found == 0)
{
if((number_control & 1) && (control & 2))
{
// look for 'e' variant
sprintf(string,"_%de",units);
found = Lookup(tr, string, ph_digits);
}
else
if(((control & 2) == 0) || ((tr->langopts.numbers & NUM_SWAP_TENS) != 0))
{
// followed by hundreds or thousands (or tens)
sprintf(string,"_%da",units);
found = Lookup(tr, string, ph_digits);
}
}
if(found == 0)
{
sprintf(string,"_%d",units);
Lookup(tr, string, ph_digits);
@@ -1221,6 +1285,7 @@ static int LookupNum3(Translator *tr, int value, char *ph_out, int suppress_null
// Translate a 3 digit number
// control bit 0, previous thousands
// bit 1, ordinal number
// bit 5 variant form of ordinal number
int found;
int hundreds;
int tensunits;
@@ -1237,7 +1302,7 @@ static int LookupNum3(Translator *tr, int value, char *ph_out, int suppress_null
char ph_hundred_and[12];
char ph_thousand_and[12];
ordinal = control & 2;
ordinal = control & 0x22;
hundreds = value / 100;
tensunits = value % 100;
buf1[0] = 0;
@@ -1281,9 +1346,9 @@ static int LookupNum3(Translator *tr, int value, char *ph_out, int suppress_null
}
if(tr->langopts.numbers2 & 0x200)
sprintf(ph_thousands,"%s%s%c",ph_10T,ph_digits,phonPAUSE_NOLINK); // say "thousands" before its number, not after
sprintf(ph_thousands,"%s%s",ph_10T,ph_digits); // say "thousands" before its number, not after
else
sprintf(ph_thousands,"%s%s%c",ph_digits,ph_10T,phonPAUSE_NOLINK);
sprintf(ph_thousands,"%s%s",ph_digits,ph_10T);
hundreds %= 10;
if(hundreds == 0)
@@ -1362,6 +1427,8 @@ static int LookupNum3(Translator *tr, int value, char *ph_out, int suppress_null
x = 3; // ordinal number
if((value < 100) && !(control & 1))
x |= 4; // tens and units only, no higher digits
if(ordinal & 0x20)
x |= 0x20; // variant form of ordinal number
}
else
{
@@ -1391,6 +1458,7 @@ static int TranslateNumber_1(Translator *tr, char *word, char *ph_out, unsigned
int n_digits;
int value;
int ix;
int digix;
unsigned char c;
int suppress_null = 0;
int decimal_point = 0;
@@ -1404,6 +1472,7 @@ static int TranslateNumber_1(Translator *tr, char *word, char *ph_out, unsigned
int max_decimal_count;
int decimal_mode;
int hyphen;
int suffix_ix;
char *p;
char string[20]; // for looking up entries in **_list
char buf1[100];
@@ -1420,6 +1489,7 @@ static int TranslateNumber_1(Translator *tr, char *word, char *ph_out, unsigned
n_digit_lookup = 0;
buf_digit_lookup[0] = 0;
digit_lookup = buf_digit_lookup;
number_control = 0;
for(ix=0; isdigit(word[ix]); ix++) ;
n_digits = ix;
@@ -1444,7 +1514,6 @@ static int TranslateNumber_1(Translator *tr, char *word, char *ph_out, unsigned
speak_missing_thousands = 0;
}
ph_ordinal2[0] = 0;
ph_zeros[0] = 0;
@@ -1478,9 +1547,9 @@ static int TranslateNumber_1(Translator *tr, char *word, char *ph_out, unsigned
}
*p = 0;
if(suffix[0] != 0)
if((suffix[0] != 0) && (!isdigit(suffix[0]))) // not _#9 (tab)
{
sprintf(string,"_0%s",suffix);
sprintf(string,"_#%s",suffix);
if(Lookup(tr, string, ph_ordinal2))
{
// this is an ordinal suffix
@@ -1526,20 +1595,26 @@ static int TranslateNumber_1(Translator *tr, char *word, char *ph_out, unsigned
if(word[n_digits] == tr->langopts.thousands_sep)
thousands_inc = 2;
suffix_ix = n_digits+2;
if(thousands_inc > 0)
{
// if the following "words" are three-digit groups, count them and add
// a "thousand"/"million" suffix to this one
digix = n_digits + thousands_inc;
ix = n_digits + thousands_inc;
while(isdigit(word[ix]) && isdigit(word[ix+1]) && isdigit(word[ix+2]))
while(((wtab[thousandplex+1].flags & FLAG_MULTIPLE_SPACES) == 0) &&
isdigit(word[digix]) && isdigit(word[digix+1]) && isdigit(word[digix+2]) && !isdigit(word[digix+3]) && !isdigit(word[digix-1]))
{
if((word[ix] != '0') || (word[ix+1] != '0') || (word[ix+2] != '0'))
if((word[digix] != '0') || (word[digix+1] != '0') || (word[digix+2] != '0'))
thousands_exact = 0;
thousandplex++;
if(word[ix+3] == tr->langopts.thousands_sep)
ix += (3 + thousands_inc);
digix += 3;
if((word[digix] == tr->langopts.thousands_sep) || ((tr->langopts.numbers & NUM_ALLOW_SPACE) && (word[digix] == ' ')))
{
suffix_ix = digix+2;
digix += thousands_inc;
}
else
break;
}
@@ -1550,6 +1625,15 @@ static int TranslateNumber_1(Translator *tr, char *word, char *ph_out, unsigned
suppress_null = 1;
}
if(tr->translator_name == L('h','u'))
{
// variant form of numbers when followed by hyphen and a suffix starting with 'a' or 'e'
if((wtab[thousandplex].flags & FLAG_HYPHEN_AFTER) && (thousands_exact==1) && ((word[suffix_ix] == 'a') || (word[suffix_ix] == 'e')))
{
number_control |= 1; // use _1e variant of number
}
}
if((word[n_digits] == tr->langopts.decimal_sep) && isdigit(word[n_digits+1]))
{
// this "word" ends with a decimal point
@@ -1713,7 +1797,7 @@ static int TranslateNumber_1(Translator *tr, char *word, char *ph_out, unsigned
if((tr->langopts.numbers & NUM_NOPAUSE) && (next_char == ' '))
utf8_in(&next_char,p);
if(!iswalpha(next_char) && !(wtab[0].flags & FLAG_HYPHEN_AFTER))
if(!iswalpha(next_char) && !((wtab[thousandplex].flags & FLAG_HYPHEN_AFTER) && (thousands_exact != 0)))
strcat(ph_out,str_pause); // don't add pause for 100s, 6th, etc.
}
+1 -1
View File
@@ -1,5 +1,5 @@
/***************************************************************************
* Copyright (C) 2005 to 2007 by Jonathan Duddington *
* Copyright (C) 2005 to 2010 by Jonathan Duddington *
* email: jonsd@users.sourceforge.net *
* *
* This program is free software; you can redistribute it and/or modify *
+26 -10
View File
@@ -1,5 +1,5 @@
/***************************************************************************
* Copyright (C) 2005 to 2007 by Jonathan Duddington *
* Copyright (C) 2005 to 2010 by Jonathan Duddington *
* email: jonsd@users.sourceforge.net *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -1543,12 +1543,12 @@ static int ReplaceKeyName(char *outbuf, int index, int &outix)
int letter;
char *p;
p = &outbuf[index+1];
p = &outbuf[index];
if((letter = LookupMnem(keynames, p)) != 0)
{
ix = utf8_out(letter, p);
outix = index + ix + 1;
outix = index + ix;
return(letter);
}
return(0);
@@ -1636,16 +1636,26 @@ static int ProcessSsmlTag(wchar_t *xml_buf, char *outbuf, int &outix, int n_outb
if(tag_name[0] == '/')
{
tag_type = LookupMnem(ssmltags,&tag_name[1]) + SSML_CLOSE; // closing tag
// closing tag
if((tag_type = LookupMnem(ssmltags,&tag_name[1])) != 0)
{
outbuf[outix++] = ' ';
}
tag_type += SSML_CLOSE;
}
else
{
tag_type = LookupMnem(ssmltags,tag_name);
if((tag_type = LookupMnem(ssmltags,tag_name)) != 0)
{
// separate SSML tags from the previous word (but not unknown HMTL tags such as <b> <font> which can occur inside a word)
outbuf[outix++] = ' ';
}
if(self_closing && ignore_if_self_closing[tag_type])
return(0);
}
voice_change_flag = 0;
terminator = CLAUSE_NONE;
ssml_sp = &ssml_stack[n_ssml_stack-1];
@@ -2178,9 +2188,7 @@ f_input = f_in; // for GetC etc
}
xml_buf[n_xml_buf] = 0;
c2 = ' ';
buf[ix++] = ' ';
self_closing = 0;
if(xml_buf[n_xml_buf-1] == '/')
{
@@ -2211,6 +2219,7 @@ f_input = f_in; // for GetC etc
}
return(terminator);
}
c2 = GetC();
continue;
}
}
@@ -2510,6 +2519,13 @@ if(option_ssml) parag=1;
if(nl_count==0)
{
if((c1 == ',') && (cprev == '.') && (tr->translator_name == L('h','u')) && iswdigit(cprev2) && (iswdigit(c_next) || (iswlower(c_next))))
{
// lang=hu, fix for ordinal numbers, eg: "december 2., szerda", ignore ',' after ordinal number
c1 = CHAR_COMMA_BREAK;
is_end_clause = 0;
}
if(c1 == '.')
{
if((tr->langopts.numbers & NUM_ORDINAL_DOT) &&
@@ -2522,7 +2538,7 @@ if(option_ssml) parag=1;
}
else
{
if (iswlower(c_next))
if (iswlower(c_next) || (c_next=='-')) // hyphen is needed for lang-hu (eg. 2.-kal)
is_end_clause = 0; // only if followed by lower-case, (or if there is a XML tag)
}
}
@@ -2565,7 +2581,7 @@ if(option_ssml) parag=1;
buf[ix] = ' ';
buf[ix+1] = 0;
if(!IsAlpha(c_next))
if(iswdigit(cprev) && !IsAlpha(c_next)) // ????
{
punct_data &= ~CLAUSE_DOT;
}
+2 -2
View File
@@ -1,5 +1,5 @@
/***************************************************************************
* Copyright (C) 2005 to 2007 by Jonathan Duddington *
* Copyright (C) 2005 to 2010 by Jonathan Duddington *
* email: jonsd@users.sourceforge.net *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -174,7 +174,7 @@ static int create_events(short* outbuf, int length, espeak_EVENT* event, uint32_
}
int sync_espeak_terminated_msg( uint unique_identifier, void* user_data)
int sync_espeak_terminated_msg( uint32_t unique_identifier, void* user_data)
{//=====================================================================
ENTER("sync_espeak_terminated_msg");
+2 -1
View File
@@ -1,7 +1,7 @@
#ifndef SPEAK_LIB_H
#define SPEAK_LIB_H
/***************************************************************************
* Copyright (C) 2005 to 2007 by Jonathan Duddington *
* Copyright (C) 2005 to 2010 by Jonathan Duddington *
* email: jonsd@users.sourceforge.net *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -26,6 +26,7 @@
/*************************************************************/
#include <stdio.h>
#include <stddef.h>
#define ESPEAK_API_REVISION 5
/*
+4 -3
View File
@@ -1,5 +1,5 @@
/***************************************************************************
* Copyright (C) 2005 to 2007 by Jonathan Duddington *
* Copyright (C) 2005 to 2010 by Jonathan Duddington *
* email: jonsd@users.sourceforge.net *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -35,7 +35,7 @@
#include "translate.h"
#include "wave.h"
const char *version_string = "1.42.21 19.Dec.09";
const char *version_string = "1.42.42 12.Feb.10";
const int version_phdata = 0x014220;
int option_device_number = -1;
@@ -942,13 +942,14 @@ void InterpretPhoneme(Translator *tr, int control, PHONEME_LIST *plist, PHONEME_
case 9:
data = ((instn & 0xf) << 16) + prog[1];
prog++;
switch(instn2)
{
case 1:
// call a procedure or another phoneme
if(n_return < N_RETURN)
{
return_addr[n_return++] = prog+1;
return_addr[n_return++] = prog;
prog = &phoneme_index[data] - 1;
}
break;
+2 -2
View File
@@ -1,5 +1,5 @@
/***************************************************************************
* Copyright (C) 2005 to 2007 by Jonathan Duddington *
* Copyright (C) 2005 to 2010 by Jonathan Duddington *
* email: jonsd@users.sourceforge.net *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -1458,7 +1458,7 @@ int Generate(PHONEME_LIST *phoneme_list, int *n_ph, int resume)
}
}
if((next->type==phVOWEL) || ((next->type==phLIQUID)) && (next->newword==0)) // ?? test 14.Aug.2007
if((next->type==phVOWEL) || ((next->type==phLIQUID) && (next->newword==0))) // ?? test 14.Aug.2007
{
StartSyllable();
}
+4 -2
View File
@@ -1,5 +1,5 @@
/***************************************************************************
* Copyright (C) 2005 to 2007 by Jonathan Duddington *
* Copyright (C) 2005 to 2010 by Jonathan Duddington *
* email: jonsd@users.sourceforge.net *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -235,6 +235,7 @@ void SetIndicLetters(Translator *tr)
SetLetterBitsRange(tr,LETTERGP_Y,0x3e,0x4c); // + vowel signs
tr->langopts.param[LOPT_UNPRONOUNCABLE] = 1; // disable check for unpronouncable words
tr->langopts.suffix_add_e = tr->letter_bits_offset + 0x4d; //virama
}
void SetupTranslator(Translator *tr, const short *lengths, const unsigned char *amps)
@@ -361,6 +362,7 @@ Translator *SelectTranslator(const char *name)
tr->langopts.stress_rule = STRESSPOSN_1L;
tr->langopts.numbers = NUM_HUNDRED_AND | NUM_ROMAN | NUM_1900;
tr->langopts.param[LOPT_COMBINE_WORDS] = 2; // allow "mc" to cmbine with the following word
tr->langopts.suffix_add_e = 'e';
}
break;
@@ -793,7 +795,7 @@ SetLengthMods(tr,3); // all equal
case L('n','o'): // Norwegian
{
static const short stress_lengths_no[8] = {160,140, 200,200, 0,0, 220,210};
static const short stress_lengths_no[8] = {160,140, 200,200, 0,0, 220,230};
SetupTranslator(tr,stress_lengths_no,NULL);
tr->langopts.stress_rule = STRESSPOSN_1L;
+44 -12
View File
@@ -1,5 +1,5 @@
/***************************************************************************
* Copyright (C) 2005 to 2007 by Jonathan Duddington *
* Copyright (C) 2005 to 2010 by Jonathan Duddington *
* email: jonsd@users.sourceforge.net *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -1763,6 +1763,12 @@ static int TranslateWord2(Translator *tr, char *word, WORD_TAB *wtab, int pre_pa
first_phoneme = 0;
}
}
if(word_flags & FLAG_COMMA_AFTER)
{
SetPlist2(&ph_list2[n_ph_list2++],phonPAUSE_CLAUSE);
}
// don't set new-word if there is a hyphen before it
if((word_flags & FLAG_HYPHEN) == 0)
{
@@ -2018,6 +2024,7 @@ void *TranslateClause(Translator *tr, FILE *f_text, const void *vp_input, int *t
int prev_out=' ';
int prev_out2;
int prev_in2=0;
int prev_in_save=0;
int next_in;
int next_in_nbytes;
int char_inserted=0;
@@ -2166,14 +2173,15 @@ void *TranslateClause(Translator *tr, FILE *f_text, const void *vp_input, int *t
prev_out = 'a';
}
if(prev_in2 != 0)
if(prev_in_save != 0)
{
prev_in = prev_in2;
prev_in2 = 0;
prev_in = prev_in_save;
prev_in_save = 0;
}
else
if(source_index > 0)
{
prev_in2 = prev_in;
utf8_in2(&prev_in,&source[source_index-1],1); // prev_in = source[source_index-1];
}
@@ -2199,13 +2207,13 @@ void *TranslateClause(Translator *tr, FILE *f_text, const void *vp_input, int *t
if(prev_in != ' ')
{
c = ' ';
prev_in2 = c;
prev_in_save = c;
source_index--;
}
else
{
embedded_count += EmbeddedCommand(source_index);
prev_in2 = prev_in;
prev_in_save = prev_in;
// replace the embedded command by spaces
memset(&source[srcix],' ',source_index-srcix);
source_index = srcix;
@@ -2285,6 +2293,12 @@ if((c == '/') && (tr->langopts.testing & 2) && IsDigit09(next_in) && IsAlpha(pre
word_flags |= FLAG_FOCUS;
}
if(c == CHAR_COMMA_BREAK)
{
c = ' ';
word_flags |= FLAG_COMMA_AFTER;
}
c = TranslateChar(tr, &source[source_index], prev_in,c, next_in, &char_inserted); // optional language specific function
if(c == 8)
continue; // ignore this character
@@ -2311,7 +2325,7 @@ if((c == '/') && (tr->langopts.testing & 2) && IsDigit09(next_in) && IsAlpha(pre
if(iswdigit(prev_out))
{
if(!iswdigit(c) && (c != '.') && (c != ','))
if(!iswdigit(c) && (c != '.') && (c != ',') && (c != ' '))
{
c = ' '; // terminate digit string with a space
space_inserted = 1;
@@ -2350,7 +2364,11 @@ if((c == '/') && (tr->langopts.testing & 2) && IsDigit09(next_in) && IsAlpha(pre
// start of word, insert space if not one there already
c = ' ';
space_inserted = 1;
next_word_flags |= FLAG_NOSPACE;
if(!IsBracket(prev_out)) // ?? perhaps only set FLAG_NOSPACE for . - / (hyphenated words, URLs, etc)
{
next_word_flags |= FLAG_NOSPACE;
}
}
else
{
@@ -2388,7 +2406,7 @@ if((c == '/') && (tr->langopts.testing & 2) && IsDigit09(next_in) && IsAlpha(pre
{
c = ' '; // lower case followed by upper case, treat as new word
space_inserted = 1;
prev_in2 = c;
prev_in_save = c;
}
else
if((c != ' ') && iswupper(prev_in) && iswlower(next_in))
@@ -2400,7 +2418,7 @@ if((c == '/') && (tr->langopts.testing & 2) && IsDigit09(next_in) && IsAlpha(pre
// changing from upper to lower case, start new word at the last uppercase, if 3 or more letters
c = ' ';
space_inserted = 1;
prev_in2 = c;
prev_in_save = c;
next_word_flags |= FLAG_NOSPACE;
}
}
@@ -2563,9 +2581,15 @@ if((c == '/') && (tr->langopts.testing & 2) && IsDigit09(next_in) && IsAlpha(pre
{
if(prev_out == ' ')
{
word_flags |= FLAG_MULTIPLE_SPACES;
continue; // multiple spaces
}
if((cc == 0x09) || (cc == 0x0a))
{
next_word_flags |= FLAG_MULTIPLE_SPACES; // tab or newline, not a simple space
}
if(space_inserted)
{
words[word_count].length = source_index - words[word_count].sourceix;
@@ -2653,6 +2677,7 @@ if((c == '/') && (tr->langopts.testing & 2) && IsDigit09(next_in) && IsAlpha(pre
if(word_count > 0)
{
words[word_count-1].flags |= FLAG_LAST_WORD;
// FLAG_NOSPACE check to avoid recognizing .mr -mr
if((terminator & CLAUSE_DOT) && !(words[word_count-1].flags & FLAG_NOSPACE))
words[word_count-1].flags |= FLAG_HAS_DOT;
}
@@ -2665,7 +2690,9 @@ if((c == '/') && (tr->langopts.testing & 2) && IsDigit09(next_in) && IsAlpha(pre
int c_temp;
char *pn;
char *pw;
char number_buf[80];
int nw;
char number_buf[60];
WORD_TAB num_wtab[15]; // copy of 'words', when splitting numbers into parts
// start speaking at a specified word position in the text?
count_words++;
@@ -2718,6 +2745,7 @@ if((c == '/') && (tr->langopts.testing & 2) && IsDigit09(next_in) && IsAlpha(pre
number_buf[0] = ' ';
pn = &number_buf[1];
nx = n_digits;
nw = 0;
while(pn < &number_buf[sizeof(number_buf)-3])
{
@@ -2727,6 +2755,8 @@ if((c == '/') && (tr->langopts.testing & 2) && IsDigit09(next_in) && IsAlpha(pre
*pn++ = c;
if((--nx > 0) && (tr->langopts.break_numbers & (1 << nx)))
{
memcpy(&num_wtab[nw++], &words[ix], sizeof(WORD_TAB)); // copy the 'words' entry for each word of numbers
if(tr->langopts.thousands_sep != ' ')
{
*pn++ = tr->langopts.thousands_sep;
@@ -2746,15 +2776,17 @@ if((c == '/') && (tr->langopts.testing & 2) && IsDigit09(next_in) && IsAlpha(pre
}
}
pw--;
memcpy(&num_wtab[nw], &words[ix], sizeof(WORD_TAB)*2); // the original number word, and the word after it
// include the next few characters, in case there are an ordinal indicator or other suffix
memcpy(pn, pw, 16);
pn[16] = 0;
nw = 0;
for(pw = &number_buf[1]; pw < pn;)
{
// keep wflags for each part, for FLAG_HYPHEN_AFTER
dict_flags = TranslateWord2(tr, pw, &words[ix], words[ix].pre_pause,0 );
dict_flags = TranslateWord2(tr, pw, &num_wtab[nw++], words[ix].pre_pause,0 );
while(*pw++ != ' ');
words[ix].pre_pause = 0;
}
+6 -1
View File
@@ -1,5 +1,5 @@
/***************************************************************************
* Copyright (C) 2005 to 2007 by Jonathan Duddington *
* Copyright (C) 2005 to 2010 by Jonathan Duddington *
* email: jonsd@users.sourceforge.net *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -55,6 +55,7 @@
#define FLAG_ALT_TRANS 0x100000 // language specific
#define FLAG_ALT2_TRANS 0x200000 // language specific
#define FLAG_COMBINE 0x400000 // combine with the next word
#define FLAG_ALT3_TRANS 0x800000 // language specific
#define FLAG_ALLOW_DOT 0x01000000 // ignore '.' after word (abbreviation)
#define FLAG_NEEDS_DOT 0x02000000 // only if the word is followed by a dot
@@ -103,6 +104,8 @@
#define FLAG_HYPHEN_AFTER 0x4000
#define FLAG_ORDINAL 0x8000 // passed to TranslateNumber() to indicate an ordinal number
#define FLAG_HAS_DOT 0x10000 // dot after this word
#define FLAG_COMMA_AFTER 0x20000 // comma after this word
#define FLAG_MULTIPLE_SPACES 0x40000 // word is preceded by multiple spaces, newline, or tab
#define FLAG_NO_TRACE 0x10000000 // passed to TranslateRules() to suppress dictionary lookup printout
#define FLAG_NO_PREFIX 0x20000000
@@ -203,6 +206,7 @@
#define SAYAS_DIGITS1 0xc1
#define CHAR_EMPHASIS 0x0530 // this is an unused character code
#define CHAR_COMMA_BREAK 0x0557 // unused character code
// Rule:
// [4] [match] [1 pre] [2 post] [3 phonemes] 0
@@ -437,6 +441,7 @@ typedef struct {
const unsigned int *replace_chars; // characters to be substitutes
const char *ascii_language; // switch to this language for Latin characters
int max_lengthmod;
int suffix_add_e; // replace a suffix (which has the SUFX_E flag) with this character
} LANGUAGE_OPTIONS;
+1 -1
View File
@@ -1,5 +1,5 @@
/***************************************************************************
* Copyright (C) 2005 to 2007 by Jonathan Duddington *
* Copyright (C) 2005 to 2010 by Jonathan Duddington *
* email: jonsd@users.sourceforge.net *
* *
* This program is free software; you can redistribute it and/or modify *