mirror of
https://github.com/rhasspy/espeak-ng.git
synced 2026-10-31 05:35:35 +00:00
[1.41.32]
lang=hu, ordinal number fixes --punct, changes to intonation of punctuation names. Add language option: don't stress second part of hyphenated words. git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@230 d46cf337-b52f-0410-862d-fd96e6ae7743
This commit is contained in:
+65
-24
@@ -301,6 +301,7 @@ moorreesburg mur'e@sbWrx2
|
||||
(thaba nchu) tab'A:||ntSu
|
||||
europa Y@r'o@pa
|
||||
nigel _^_EN
|
||||
nineve nIn@fi
|
||||
outeniekwa @Ut@n'ikwa
|
||||
oxford _^_EN
|
||||
pelindaba p&l@nd'A:ba
|
||||
@@ -352,9 +353,12 @@ annalet anal'Et
|
||||
André 'andreI
|
||||
annette an'Et
|
||||
antoinette antun'Et
|
||||
aristoteles arist'o@t@lEs
|
||||
badenhorst bA:d@nhOrst
|
||||
barbara bA:b@ra
|
||||
basson $2
|
||||
bea bi:ja
|
||||
belcher _^_EN
|
||||
benade b@nA:di
|
||||
benjamin bEndZ@m@n
|
||||
bennett bEn@t
|
||||
@@ -364,6 +368,7 @@ betsie bEtsi
|
||||
beyers beI@rs
|
||||
blignault blIx2n@Ut
|
||||
blomerus blum'e@rWs
|
||||
blum blum
|
||||
botha bo@ta
|
||||
bouwer b@U@r
|
||||
brian _^_EN
|
||||
@@ -371,6 +376,7 @@ bredenkamp bre@d@nkamp
|
||||
bruwer bruw'&:r
|
||||
caesar siz@r
|
||||
carl kA:r@L
|
||||
carol _^_EN
|
||||
casanova kasan'o@va
|
||||
cecil sEs@l
|
||||
cecile s@si:l
|
||||
@@ -380,6 +386,7 @@ charles _^_EN
|
||||
charlie tSA:li
|
||||
charmaine SA:m'eI:n
|
||||
chopin S%OpA~
|
||||
clark _^_EN
|
||||
conradie $2
|
||||
chris krIs
|
||||
christo krIstu
|
||||
@@ -392,11 +399,11 @@ christine kr@st'i:n
|
||||
cindy sIndi
|
||||
coetzee kuts'e@
|
||||
cronjé krOnj'e@
|
||||
cussons kas@ns
|
||||
cynthia _^_EN
|
||||
dalene dal'e@n
|
||||
daniël d'A:ni:@l
|
||||
#zzz
|
||||
darwin _^_EN
|
||||
daniël d'A:ni:@l
|
||||
david _^_EN
|
||||
(da vinci) da||v'intSi
|
||||
debora d@bo@ra
|
||||
@@ -423,17 +430,20 @@ elmien $2
|
||||
elsabe &ls@bi
|
||||
elsabé &ls@bi
|
||||
emmarentia Emar'e~nSja
|
||||
engelbrecht EN@lbr&x2t
|
||||
erasmus $2
|
||||
ernest _^_EN
|
||||
esegiël is'e@x2i:@l
|
||||
esegiël is'e@x2i: @l
|
||||
estelle %ist&l
|
||||
etienne Eti@n
|
||||
eugene judZ'i:n
|
||||
eugène yZ'En
|
||||
farao fA:ro@
|
||||
ferreira f@r&:r@
|
||||
filemon f'il@mOn
|
||||
filemon f'il@mOn
|
||||
fischer fiS@r
|
||||
floris $1
|
||||
fouché fuS'e@
|
||||
fourie fur'i
|
||||
francina $2
|
||||
francois franSwa
|
||||
@@ -445,6 +455,7 @@ georgina dZO:dZ'ina
|
||||
gerhard x2&rart
|
||||
gerhardus $2
|
||||
gertruida $2
|
||||
gilbert _^_EN
|
||||
gloria glO:ria
|
||||
grange x2rA:nsi
|
||||
grové x2ruv'e@
|
||||
@@ -466,7 +477,6 @@ ingrid iNgr@d
|
||||
isabel is@b&l
|
||||
iskariot isk'ariOt
|
||||
jaco jaku
|
||||
jacques ZA:k
|
||||
james _^_EN
|
||||
jane _^_EN
|
||||
Jean ZA~n $capital
|
||||
@@ -474,11 +484,15 @@ jesebel je@s@b&l
|
||||
jimmy _^_EN
|
||||
joan _^_EN
|
||||
joey dZ@Ui
|
||||
johl jo@l
|
||||
jones _^_EN
|
||||
jordaan $2
|
||||
joris $1
|
||||
josef jo@s@f
|
||||
josephina jo@s@f'ina
|
||||
juanita juan'ita
|
||||
julia _^_EN
|
||||
khayyam kaj'am
|
||||
kelvin _^_EN
|
||||
kim _^_EN $capital
|
||||
krige krix2@
|
||||
@@ -496,10 +510,10 @@ levi le@fi
|
||||
liesbet lisbEt
|
||||
louis luI
|
||||
louise luw'i:z
|
||||
lukas l'ukas
|
||||
mackintosh _^_EN
|
||||
madelene mad@l'e@n
|
||||
mbeki mbE:ki
|
||||
madelene mad@l'e@n
|
||||
magdalena $3
|
||||
malan mal'an
|
||||
malherbe mal'&rb@
|
||||
@@ -544,6 +558,7 @@ naudé nOd'e@
|
||||
neil _^_EN
|
||||
nelson _^_EN
|
||||
niklaas niklA:s
|
||||
olga Olga
|
||||
ontong OntON
|
||||
phillips fIl@ps
|
||||
pierre p'e@r
|
||||
@@ -551,9 +566,13 @@ petronella pe@trun'&la
|
||||
petrus pe@trWs
|
||||
phoebe fi:bi
|
||||
picasso pik'asu
|
||||
piketberg pik'Etb&rx2
|
||||
pinokkio pin'Oki;u
|
||||
pretorius pr@to@riWs
|
||||
quixote kix2'OtE
|
||||
rachmaninoff rax2m'aninOf
|
||||
rademeyer rA:d@meI@r
|
||||
rall rA:l
|
||||
rebekka r@bEka
|
||||
reinette r@nEt
|
||||
renette r@nEt
|
||||
@@ -561,6 +580,7 @@ renée r@neI
|
||||
retha re@ta
|
||||
retief r@tif
|
||||
rhodes _^_EN
|
||||
riekert rik@rt
|
||||
robert _^_EN
|
||||
ronel run'&l
|
||||
rossouw r@s@U
|
||||
@@ -570,6 +590,7 @@ rupert rup@rt
|
||||
salomo sA:l@mo@
|
||||
samuel sA:my@l
|
||||
sandra sandra
|
||||
sappho sapfu
|
||||
schalk sk'alk
|
||||
scheepers ske@p@rs
|
||||
schmidt Smit
|
||||
@@ -580,12 +601,14 @@ schutte skWt@
|
||||
sebastian s@bastian
|
||||
servaas s@rfA:s
|
||||
shakespeare _^_EN
|
||||
sheila Si:la
|
||||
sigmund sigmunt
|
||||
sophia suf'i:ja
|
||||
sophie _^_EN
|
||||
stephan ste@fan
|
||||
stephanus st@fA:nWs
|
||||
strauss straUs
|
||||
stockenström stOk@nstro@m
|
||||
suzanne suz'A:n
|
||||
suzette suz'Et
|
||||
tania tanja
|
||||
@@ -593,8 +616,9 @@ telemann te@l@man
|
||||
terblanche t@rblA:nS
|
||||
theo tiu
|
||||
theron tr'On
|
||||
timotheus t@m'o@tiWs
|
||||
thessalonicense tEsalo@nis'E:ns@
|
||||
thys teIs
|
||||
timotheus t@m'o@tiWs
|
||||
toerien $2
|
||||
totius to@SiWs
|
||||
trudie trudi
|
||||
@@ -607,6 +631,7 @@ vincent _^_EN
|
||||
violet _^_EN $capital
|
||||
visagie fis'A:x2i
|
||||
william _^_EN
|
||||
wilson _^_EN
|
||||
yolande jul'and@
|
||||
yvonne iv'On
|
||||
zyl seIl
|
||||
@@ -640,28 +665,29 @@ martini mart'i:ni
|
||||
naspers nasp&rs
|
||||
peugeot pW:Z@U
|
||||
(pick n pay) p,ik||@n||p'eI
|
||||
porsche pOrS@
|
||||
port pOrt $1
|
||||
rover _^_EN
|
||||
sotho su:tu
|
||||
thessalonicense tEsalo@nis'Ens@
|
||||
toyota $2
|
||||
venda vEnda
|
||||
volvo vOlvu
|
||||
wimpy wImpi
|
||||
// some Bible names
|
||||
levitikus $2
|
||||
deuteronomium dY@t@ro@n'o@miWm
|
||||
josua j'o@Sia
|
||||
jesaja $2
|
||||
jeremia j%e@r@m'ia
|
||||
hosea hus'i:a
|
||||
amos 'A:mOs
|
||||
obadja o@b'atja
|
||||
miga m'ix2a
|
||||
habakuk h'abakWk
|
||||
sefanja s@f'anja
|
||||
sagaria sax2ar'ia
|
||||
maleagi $3
|
||||
|
||||
// Some Bible names
|
||||
amos 'A:mOs
|
||||
deuteronomium dY@t@ro@n'o@miWm
|
||||
habakuk h'abakWk
|
||||
hosea hus'i:a
|
||||
jeremia j%e@r@m'ia
|
||||
jesaja $2
|
||||
josua j'o@Sia
|
||||
levitikus $2
|
||||
maleagi $3
|
||||
miga m'ix2a
|
||||
obadja o@b'atja
|
||||
sagaria sax2ar'ia
|
||||
sefanja s@f'anja
|
||||
|
||||
// article
|
||||
|
||||
@@ -813,7 +839,7 @@ allegro al'Egru
|
||||
almiskie $3
|
||||
alom al_'Om
|
||||
alreeds $2
|
||||
alternatiewe $4
|
||||
altemit $3
|
||||
amelee am@le@
|
||||
amen A:mEn
|
||||
anale an'A:l@
|
||||
@@ -853,11 +879,11 @@ capita kapita
|
||||
casino kas'i:n@U
|
||||
cedille s@dIl@
|
||||
charisma kar'Isma
|
||||
clichés kliS'eI:s
|
||||
cliché kliS'eI:
|
||||
crescendo kr@SEndu
|
||||
|
||||
dadelik dA:d@lIk
|
||||
dagorde dax2_Ord@
|
||||
darem dar@m
|
||||
dekade dEk'A:d@
|
||||
dekreling dEkre@l@N
|
||||
@@ -901,12 +927,14 @@ forte fOrt@
|
||||
g'n x2In
|
||||
gaandeweg x2A:nd@v&x2
|
||||
garages g@rA:dZ@s
|
||||
gebrokener x2@bro@k@n@r
|
||||
gee x2e@
|
||||
geen x2e@n
|
||||
geldelike x2&ld@l@k@
|
||||
genade $2
|
||||
genesis x2e@n@s@s
|
||||
//gesamentlik x2@sA:m@ntl@k
|
||||
gewellys x2e@v@lleIs
|
||||
gladiator x2ladi'A:tOr
|
||||
globale x2lo@b'A:l@
|
||||
gooi x2OI
|
||||
@@ -920,6 +948,7 @@ handtertjie hant&:rci
|
||||
hanou hA:n@U
|
||||
hardop hart?Op
|
||||
heeltemal he@lt@mal
|
||||
heimat haImat
|
||||
hek h&k
|
||||
hekke h&k@
|
||||
helaas he@l'A:s
|
||||
@@ -978,6 +1007,7 @@ libido l@bidu
|
||||
lokaas lOk_A:s
|
||||
londense lOnd@ns@
|
||||
lord _^_EN
|
||||
luidop lYyt_Op
|
||||
|
||||
macaroni makar'o@ni
|
||||
madame mad'A:m
|
||||
@@ -1017,12 +1047,14 @@ nalatigheid nA:l'A:t@x2eIt
|
||||
namate $2
|
||||
negeer n@x2e@r
|
||||
negering n@x2e@r@N
|
||||
negester ne@x2@st&r
|
||||
netjies nE:icis
|
||||
netjiese nEicis@
|
||||
netsowel nEtso@v&l
|
||||
nikswerd nIksv&:rt
|
||||
nimmermeer $1
|
||||
nirvana n@rvA:na
|
||||
nogeens nOx2_e@ns
|
||||
normale nOrm'A:l@
|
||||
numeri nWm@ri
|
||||
|
||||
@@ -1049,6 +1081,7 @@ ongeloof $1
|
||||
ongelyk $1
|
||||
ongemak $1
|
||||
ongerief $1
|
||||
ongeriefie $1
|
||||
ongewens $1
|
||||
ongewensde $3
|
||||
ongewoons $1
|
||||
@@ -1081,13 +1114,16 @@ parkie $1
|
||||
parte $1
|
||||
patos pA:tOs
|
||||
patriotisme patri|ut'Ism@
|
||||
pedaledemping p@dA:l@dEmp@N
|
||||
penorent pEno@rEnt
|
||||
per p@r $only
|
||||
persent p@rsEnt
|
||||
petite p@tit
|
||||
pinotage pinut'A:Z
|
||||
pirouette p@ru:'Et
|
||||
plaasjaap plA:sjA:p
|
||||
plasenta plas'Enta
|
||||
poinsettia pOIns'Etia
|
||||
primate $2
|
||||
(pro forma) pro@||f'Orma
|
||||
|
||||
@@ -1098,6 +1134,7 @@ renaissance rEn@s'A~ns
|
||||
retoriek r@tur'ik
|
||||
rimpeling rImp@l@N
|
||||
rinkink $2
|
||||
rondeel $2
|
||||
rooipers roIp&:rs
|
||||
roterende rut'e@r@nd@
|
||||
rottenes rOt@nEs
|
||||
@@ -1132,8 +1169,11 @@ sonop sOn_Op
|
||||
sonore sun'o@r@
|
||||
sover so@f&r
|
||||
staccato $2
|
||||
sterwens st&rv@ns
|
||||
stilswye $1
|
||||
subiet sWb'it
|
||||
suburbia sWb'Wrbija
|
||||
swangerswaar swaN@rswA:r
|
||||
|
||||
tanga taNga
|
||||
tango taNx2u
|
||||
@@ -1167,6 +1207,7 @@ verby f@rbeI
|
||||
verdere f&rd@r@
|
||||
vererger f@r&rg@r
|
||||
ver f'&:r
|
||||
vereduifie fe@r@dYyfi
|
||||
verg f&rx2
|
||||
vergeleë f&:rx2@l,e@@
|
||||
vergete f@rx2e@t@
|
||||
|
||||
+84
-16
@@ -52,9 +52,10 @@
|
||||
adole (ssen %ad%o@l@ // fix stress and vowel sounds: adolessent/-e/-adolessensie
|
||||
ad (vies %at // move default stress: advies/-brief/-komitee and many similar
|
||||
|
||||
af (gunstig %af // move default stress: afgunstig/-e
|
||||
C) agie A:x2i
|
||||
a (gitA %a // fix a sound: agitasie/(ge)agiteer
|
||||
agte (los %ax2t@ // move default stress: agtelosig/-e/-heid
|
||||
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 (oor %ax2t@r_ // move default stress: agteroor/-buig/-druk/-val, etc.
|
||||
@@ -69,6 +70,7 @@
|
||||
@@@smokkel) ary %ar%eI // default stress: diamant-/drank-/dwelm-/goud-/kokaïensmokkelary, etc.
|
||||
amarula %am%arul%a // fix stress and a sounds: amarula and compounds
|
||||
a (ment %a // shorten a sound: perkament/testament and compounds
|
||||
arends A:r@nts_ // fix e sound: arendsoog/-kloue/-nes
|
||||
argen (tA %arx2@n // move default stress: Argentinië/Argentyns/-e
|
||||
a (riA 'A: // akwarium/barium/estuarium/herbarium/seminaria
|
||||
a (ristokr %a // shorten 1st a: aristokrasie/-kraat/-krate/-kraties
|
||||
@@ -78,6 +80,7 @@
|
||||
C%C) asie A:si // restore default stress: bok-/dikmelkkasie and similar
|
||||
oub) asie A:si // restore default stress: oubasie/-s
|
||||
@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.
|
||||
Cst) asie A:si // restore default stress: brandweer/spoorwegstasie and similar
|
||||
@@ -145,6 +148,7 @@
|
||||
_k) a (nA %a //kanon and others
|
||||
|
||||
apart %apart // fix stress: (bus-/klein)apartheid
|
||||
aphro (dit %afr%u // fix stress and ph and o sounds: Aphrodite/-dities
|
||||
_) a (po %a // apollo/apostel
|
||||
apo (krieC %ap%u // fix stress and vowel sounds: apokrief/-iewe
|
||||
a (politi %A: // lengthen a sound: apolitiek/apolities/-e
|
||||
@@ -169,6 +173,7 @@
|
||||
ar (gaï %ar // move default stress: argaïes/-e
|
||||
arge (tip %arx2@ // move default stress: argetipe/argetipies/-e
|
||||
ar (moedig %ar // move default stress: armoedig/-e/-heid
|
||||
arm (salig %ar@-m // move default stress: armsalig/-e/-heid/-ste
|
||||
_) arte (ri %arte@ // fix stress and e sound: arterie/-ë/-s
|
||||
_) asbes %asbEs // fix stress and e sound: asbes and many compounds
|
||||
a (siel %a // shorten a sound and move default stress: asiel and compounds
|
||||
@@ -194,10 +199,12 @@
|
||||
_) afge (@P4 'afx2@ // stress on 1st slb
|
||||
afgryslik %afx2reIsl@k // move default stress: afgryslik and derivatives vs. afgrys/-e
|
||||
af (hank %af // move default stress: afhanklik/-e/-heid, etc.
|
||||
_) af (kerig %af // move stress: afkerig/-e/-heid
|
||||
_) af (komstig %af // move default stress: afkomstig
|
||||
afrik (aan %afr%ik // exception to af prefix and move stress to end
|
||||
afrikane (K %afr%ikA:n@ // move stress to end: Afrikaner and compounds
|
||||
afrika A:frika //Stress and 1st a sound: Afrika and compounds: Afrikatale/-state...
|
||||
afro (dit %afr%u // alternate spelling: Afrodite/-dities
|
||||
af (sigte %af // move default stress: afsigtelik/-e/-heid
|
||||
af (skuw %af // move default stress: afskuwelik and derivatives vs afsku
|
||||
afsonderl %afsOn@rl // stress, avoid af_ prefix and -lik suffix: afsonderlik/-e/-heid
|
||||
@@ -207,6 +214,7 @@
|
||||
afwesig %afve@s@x2 // to steer clear of pre- and suffixes
|
||||
af (wagten %af // move default stress: afwagtend/-e
|
||||
agenda %ax2End%a // fix stress and 1st a sound: agenda/-s/-punt, etc.
|
||||
age (rend %ax2e@ // fix stress and vowel sounds: agerend/-e
|
||||
a (gonie %a // fix 1st a sound and move default stress: agonies/-e
|
||||
agonie (_N %ax2%uni // move stress to end: agonie
|
||||
agter (bak %ax2t@r // fix stress: agterbaks/-e/-heid
|
||||
@@ -314,6 +322,7 @@
|
||||
aan (grensen %A:n // move default stress: aangrensend/-e
|
||||
aan (grypend %A:n // fix stress: aangrypend/-e
|
||||
aan (hangig %A:n // move default stress: aanhangig vs. aanhang
|
||||
aan (hank %A:n // move default stress: aanhanklik/-e/-heid
|
||||
aan (houden %A:n // move default stress: aanhoudend/-e
|
||||
aan (lok %A:n // move default stress: aanloklik/-heid
|
||||
aan (lok_N A:n // restore default stress: aanlok
|
||||
@@ -501,6 +510,7 @@
|
||||
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.
|
||||
blom (akker blOm_ // fix O sound, pause: blomakker/-s and compounds
|
||||
blon (dine bl%On // move default stress: blondine/-s
|
||||
bly (moed bl%eI // move default stress: blymoedig/-e/-heid
|
||||
bo (botie b%u // fix stress and 1st o sound: bobotie and compounds
|
||||
@@ -715,6 +725,7 @@
|
||||
_) deli (ka d%El%i // delikaat/delikate
|
||||
delika (tess d%El%ik%a // move default stress: delikatesse/-s
|
||||
deli (rium d@lI // fix stress and vowel sounds: delirium and compounds
|
||||
delphinium d%&lfini;Wm // fix stress and ph sound: delphinium and compounds
|
||||
|
||||
@) dend (er d@nd // beduidender/behoudender
|
||||
_) den (dri d%En // dendriet/-e/dendrities/-e
|
||||
@@ -736,6 +747,7 @@
|
||||
@C) derm (K d&r@-m // fix e sound of derm in compounds: nersdermklier/slukdermsiekte, etc.
|
||||
@) dderd (_ d@rt // ontredderd, se rule: dd d
|
||||
_) derge d&rx2@ // dergelik/-e
|
||||
@) de (rosie t_%e@ // fix e sound, pause: winderosie/tyderosie and similar
|
||||
desibel dEsib&l // fix vowel sounds: desibel/-s
|
||||
de (skun d%E //deskundig/e in compounds
|
||||
_) des (po d%Es // move default stress: despoot/despote
|
||||
@@ -772,6 +784,7 @@
|
||||
digi (ta d%ix2%i // move default stress: digitaal/digitale
|
||||
di (gK dI // force default stress: GEDIG/-TE/digbundel/digvorm, etc.
|
||||
digtere (K d@x2t@rE // move default stress: digteres/-se
|
||||
dik (vell d@k // move default stress: dikvellig/-e/-heid
|
||||
dilemma d@lEma // dilemma and compounds
|
||||
dimen (si d@mEn // fix stress and 1st i sound: (ontwikkelings)dimensie, etc./-dimensioneel/-ele
|
||||
di (namie d%i // move default stress: dinamies/-e
|
||||
@@ -790,12 +803,13 @@
|
||||
dis (koers d@s // move default stress: diskoers/-e
|
||||
diskre (s d@skrE // fix stress and e sound: diskresie/diskresionêre
|
||||
_) dis (kre d@s // move default stress: diskreet/-heid/-ste/diskrete
|
||||
_) dis (kussA d@s // move default stress: diskussie/-s/diskusseer
|
||||
dis (loja d@s // move default stress: dislojaal/-lojale/-lojaliteit
|
||||
_) dis (oP3 d@s // disorganisasie/disoriënteer
|
||||
dis (pu d@s // move default stress: dispuut/dispute
|
||||
distro (fie d@str%u // fix stress and o sound: (spier)distrofie, etc.
|
||||
divide (nd d@v@dE //dividende etc.
|
||||
d (_N t //
|
||||
d (_ t //
|
||||
dj c // palatal stop
|
||||
_) dj dZ // regional: djy/djou/djulle, etc.
|
||||
|
||||
@@ -871,9 +885,11 @@
|
||||
@) d (roos t // fix d sound: draadrooster/maand-/strand-/veldroos
|
||||
@) d (rose_ t // fix d sound: maand-/strand-/veldrose
|
||||
@) d (rosie t // fix d sound: maand-/strand-/veldrosie/-s
|
||||
_) drukke (ry dr%Wk@ // move default stress: drukkery and compounds
|
||||
@) d (t // drop d: breedte/handtekening/rondte/rondtrek...
|
||||
du (et d%u:w // fix stress and -ue-sound: (klavier)duet/-te, etc.
|
||||
@n) d (uit t_ // fix d sound and insert short break: enduit/handuit and similar
|
||||
verby) dw dw // fix d sound: verbydwarrel/-dwaal/-dwing
|
||||
dwelm (_ dw&l@-m // fix d and e sounds in compounds like wonderdwelm
|
||||
dw (erg dw // fix d sound: tuindwerg/-e/-ie
|
||||
@) dwes tv'Es // noordwes/te/lik/e suidwes/te/lik/e
|
||||
@@ -890,6 +906,8 @@
|
||||
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
|
||||
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
|
||||
fontein) e (C @_ // fix e sound: Fonteinesirkel/-wisselaar, etc.
|
||||
kening) e (@ @ // fix e sound: rekeningeklerk/-navraag and similar
|
||||
@@ -920,6 +938,7 @@
|
||||
naald) e (C @ // fix e sound: naaldekoker/-kussing/-werk, etc.
|
||||
noord) e (C @ // fix e sound: noordewind and compounds
|
||||
Colw) e (C @ // fix e sound: golweslag/wolwedans
|
||||
bolw) e (rk_ & // exception to above: fix e sound: bolwerk and compounds
|
||||
ros) e (CA @ // fix e sound: rosegeur/roseweg
|
||||
slang) e (C @ // fix e sound: slangebesweerder/-diens/-draer/-gebroedsel/-kuil/-teelt
|
||||
speld) e (C @ // fix e sound: speldekop/-kussing/-punt, etc.
|
||||
@@ -1091,8 +1110,10 @@
|
||||
ss) eer 'e@r // but many words cont. sseer take stress: adresseer, etc.
|
||||
Cv) eer e@r // stress: (hoender/volstruisveer/dryfveer
|
||||
AAv) eer e@r // restore default stress: pouveer/makouveer/horlosieveer/kraaiveer/rooiveer
|
||||
Cev) eer e@r // restore default stress: duiwe-/haneveer
|
||||
w) eer e@r // stress may vary in words containing weer: lugafweer/donderweer
|
||||
u) eer 'e@r // aktueer/konstrueer/salueer, etc.
|
||||
@) eerdheid 'e@rtheIt // fix stress: geraffineerdheid/ongedissiplineerdheid, etc.
|
||||
effek (K %ifEk // move default stress and fix e sound: effek/-te/-tief/rimpeleffek
|
||||
eienaardig %eI@nA:rd@x2 // move default stress: eienaardig/-ste
|
||||
@) ein (dig 'eIn // nimmereindige/nimmereindigend
|
||||
@@ -1120,6 +1141,7 @@
|
||||
C) ema (_ e@ma // words ending in ema: compounds of skema/tema
|
||||
emfi (seem %Emf%i // move default stress: emfiseem and compounds
|
||||
C) enaar @nA:r // eienaar/lessenaar
|
||||
C) enare (_ @nA:r@ // fix e sound: towenare and similar
|
||||
C) enier @n'i:r // kruidenier/spysenier/valkenier/Renier
|
||||
C) enheid @nheIt // opgewondenheid/bedorwenheid and many similar
|
||||
_) enorm e@n'Or@_m // enorm/-s, pronunc. of rm
|
||||
@@ -1152,6 +1174,7 @@
|
||||
e (gK &
|
||||
@C) e (groep @ // fix e sound: beelde-/vriendegroep
|
||||
_) ega (l %e@x2A: // stress: egalig/-e
|
||||
egosentrie %e@x2%usEntri // fix stress and o sound: egosentries/-e
|
||||
_) e (gipt %e@ // move default stress: Egipte/Egiptenaar/Egipties
|
||||
C) ektomie 'Ektumi // histerektomie/vasektomie
|
||||
&) elik (ing @l@k // verduideliking/s/vergoddeliking/verstedeliking
|
||||
@@ -1229,6 +1252,7 @@
|
||||
ff) er (@ @r // keffertjie/koffersleutel/offerande/opoffering
|
||||
stoff) er (A 'e@r // exception to rule: ff) er (@ @
|
||||
C) eres @r'Es // ...onderwyseres
|
||||
@dans) ere (K @rE // fix stress: beroeps-/waaierdanseres/-se/-sie, etc.
|
||||
C) eress @r'Es // onderwyseresse/-sie
|
||||
&) e (m_ @
|
||||
&l) e (m_ E // compounds ending in lem
|
||||
@@ -1266,10 +1290,10 @@
|
||||
_rasp) e (r @ // fix e sound in rasper- compounds: raspertong/-vyl, etc./rasperend
|
||||
werp) e (rsA @ // fix e sound: ontwerpersolie/-sonbril/-uitrusting
|
||||
lew) e (ns @
|
||||
&d) e (r@+ @ // not initial or final syllable
|
||||
&d) e (r@++ @ // not initial or final syllable
|
||||
skuld) erke _&rkE // fix e sound: skulderkentennis/-erkenning
|
||||
@C) e (reë @ // fix e sound: geelperskereën/tropereën, etc.
|
||||
@d) e (rnst+ & // but fix e sound in doodernstig/-e
|
||||
@d) e (rnst++ & // but fix e sound in doodernstig/-e
|
||||
&t) e (r@ @
|
||||
Cit) e (ring e@ // fix final e sound in compounds like begrotingsmonitering
|
||||
iënt) e (r@n e@ // fix e sound: lewensoriëntering/-rende
|
||||
@@ -1314,7 +1338,7 @@
|
||||
_) este (t %Este@ // fix stress and vowel sounds: esteties/-e/estetika
|
||||
hip) e (r @
|
||||
_) er (b &r' // erbarm/ing
|
||||
erke (n %&rkE // fix stress and e sounds: erken/-ning/(self)erkende
|
||||
erke (n+ %&rkE // fix stress and e sounds: erken/-ning/(self)erkende
|
||||
m) erke (nd &rk@ // kenmerkend/-e
|
||||
p) erke (nd &rk@ // beperkend/-e
|
||||
w) erke (nd &rk@ // (mede/terug)werkend/-e
|
||||
@@ -1352,6 +1376,7 @@
|
||||
elaar @lA:r //wandelaar, twyfelaar etc.
|
||||
oord) elaar e@lA:r //beoordelaar and oordelaar/friends
|
||||
C) ewel (A e@v@l // prewelend/wrewelig/newelig/beneweling
|
||||
ewewig (tig %e@v@vIx2 // move default stress: ewewigtig/-e
|
||||
d) e (mons E%
|
||||
r) e (digering E
|
||||
som) e (r @ //someraand and others.
|
||||
@@ -1417,6 +1442,7 @@
|
||||
Ceuw) e (l @ //gesneuwelde heuwelhang etc.
|
||||
v) e (nno@+ @ //vennoot and friends
|
||||
_) euro (pe %Y@r%o@ // stress: Europees/Europese
|
||||
ev (entue %iv // fix e and v sounds: eventueel/-ele
|
||||
_) ewe (red %e@v@ // move default stress: (on)eweredig/-e/-heid
|
||||
ex (+ _^_EN // words containing ex are English
|
||||
al) ex (and %Ekz //alexanderbaai, alexandria etc.
|
||||
@@ -1479,6 +1505,8 @@
|
||||
_) fok (o fOk_ // fix o sound, insert short break: fokop/fokof
|
||||
folio fo@li_u // fix o sounds: folio and compounds
|
||||
fondue f%Ondy // fix stress and ue sound: fondue and compounds
|
||||
fone (tiek f%o@n@ // fix e sound: fonetiek and compounds
|
||||
fone (tie f%une@ // fix stress and o sound: foneties/-e
|
||||
@) fonie fun'i // kakofonie/simfonieorkes/telefonie
|
||||
@) fonies f'o@nis // fix stress: simfoniese/polifonies/telefonies
|
||||
@) fonie (s@@ fun'i // fix stress: simfonieseisoen and similar
|
||||
@@ -1541,6 +1569,7 @@
|
||||
gim (naK x2@m // move default stress: gimnas/-te
|
||||
gimna (siA x2@mnA: // move default stress and lenghthen a sound: gimnasium/gimnasia
|
||||
glans x2lans // glans not nasalised: glans/-ende/-papier, etc.
|
||||
glas (a x2las_ // shorten a sound, short pause: glasafskorting/-albaster/-apparaat...
|
||||
glas (o x2las_ // fix a sound and short break: glasoog/-ogie/-oë/-opaal/-oppervlakte
|
||||
gletser x2l''Ets@r // fix 2nd e sound: gletserbeweging/-meer/-vorming/vergletsering, etc.
|
||||
glise (rien gl@s@ // fix stress and g and vowel sounds: gliserien(-salf/-suur)
|
||||
@@ -1656,7 +1685,7 @@
|
||||
bur) ger g@r
|
||||
gee (+ x2e@
|
||||
geër (_ x2e@@r // oorgeër/pasaangeër
|
||||
gees (drift x2%e@s // move default stress: geesdriftig and derivatives
|
||||
gees (drifti x2%e@s // move default stress: geesdriftig and derivatives
|
||||
@) gegee =x2@x2e@
|
||||
gegewens x2@x2e@v@ns // fix e sounds in many compounds: agtergrond-/fossielgegewens/-versameling
|
||||
gei (+ x2eI // geil and derivatives/geiser/geit/-e
|
||||
@@ -1680,6 +1709,7 @@
|
||||
.group h
|
||||
h h
|
||||
h (h
|
||||
_) 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
|
||||
half (twee h%alf
|
||||
@@ -1710,6 +1740,7 @@
|
||||
hard (ste hart // restore default stress: (ge)hardste/-s
|
||||
harle (kyn h%arl@ // fix stress and e sound: harlekyn/-e and compounds
|
||||
harmo (nie h%arm%u // fix stress and o sound: harmonie/-ë
|
||||
harmonies harm'o@nis // fix stress (dis-/en-/fil-)harmonies/-e
|
||||
har (poen h%ar // move default stress: harpoen/-e and compounds
|
||||
@) hartig h'art@x2 // barmhartig/lighartigheid/lighartig...
|
||||
hart (roer h%art // move default stress: hartroerend/-e/-ste
|
||||
@@ -1767,7 +1798,7 @@
|
||||
&) hede (_ he@d@
|
||||
he (g h&
|
||||
heid (_S4 heIt
|
||||
herinner h&r'In@r // herinner/-ing/-e|s
|
||||
herinner h%&rIn@r // herinner/-ing/-e|s
|
||||
hetero (@@P6 h%Et@-r%u // fix stress and vowel sounds: many compounds: heteroseksueel/-ele/-aliteit, etc.
|
||||
hex (C hEks // prevent English translation: Hex(rivier)vallei
|
||||
hia (sint h%ij%a // fix stress: hiasint/-e and compounds
|
||||
@@ -1815,7 +1846,7 @@
|
||||
iber (i@ %ibe@r // Siberië/Siberiese/Iberiese
|
||||
@) ic (_ _^_EN // Words ending in -ic are English
|
||||
ie i
|
||||
tr) ie (_ 'i //stress on trie at word end
|
||||
tr) ie (_N 'i //stress on trie at word end
|
||||
ieë (K i:@ // knieë/vlieë/spieël/-tjie
|
||||
ie (uu i // split ie/uu, eu not diphthong: drieuur and similar
|
||||
ss) ief (_ 'if // move default stress: aggressief/massief/obsessief/progressief, etc.
|
||||
@@ -2038,6 +2069,7 @@
|
||||
j j
|
||||
j (j
|
||||
ja (broer jA: // fix a sound: jabroer/-s
|
||||
_) jack _^_EN // English: Jack/-ie/-son
|
||||
_) jag (A j''ax2_ // fix stress and a sound: jagavontuur/-ekspedisie/-entoesias/-eskader/-instink...
|
||||
jag (end jA:x2 // but long a in jagend/-e and compounds
|
||||
jag (er jA:x2 // long a in jager and compounds
|
||||
@@ -2147,6 +2179,7 @@
|
||||
klip (A klIp_ // fix i sound: klipalbaster/-altaar/--uil/leiklipolie
|
||||
klou (sule kl%@U // move default stress: klousule/-s
|
||||
kklere =kl'e@r@
|
||||
kners (_ kn&rs // fix e sound: blikners/tande(ge)kners, etc.
|
||||
knip (A knIp? // knipogie/geknipoog/
|
||||
_) krag (A kr''ax2_ // kragaanleg/-eenheid/-installasie/-onderbreking/-opwekker
|
||||
kra (gie krA: // but: kragie/-s
|
||||
@@ -2156,6 +2189,7 @@
|
||||
kreme (tart kr@m@ // fix stress and e sounds: kremetart and compounds
|
||||
_) kre (o kr%i // fix stress and e sound: Kreool/Kreole/Kreoolse
|
||||
_) kre (pe@ kr@ // fix stress and 1ste sound: krepeer/-krepering
|
||||
kriewe (l kriv@ // fix e sound: kriewelend/kriewelkous/-krapper/-siekte...
|
||||
krimi (nA kr@m@' // krimineel/kriminele/diskrimineer
|
||||
kri (oel kr%i // move default stress: krioel and derivatives
|
||||
kri (sant kr@ // move default stress: krisant/-e
|
||||
@@ -2371,7 +2405,7 @@
|
||||
_) kontras k%Ontras // move default stress: kontras/-te/kontrasteer
|
||||
kontrasep k%Ontr%asEp // fix stress and e sound: kontrasepsie and derivatives
|
||||
kontrover (s k%Ontr%uv&r // o and v sounds: kontroversie/kontroversieel
|
||||
_) kop (o kOp? // fix o sound: koponder/koponderstebo/kopomdraai/kopoperasie
|
||||
kop (o kOp? // fix o sound: koponderstebo/kopomdraai/kopoperasie/gryskoponderwyser/poenskopolifant
|
||||
kopu (lA k%Op%y // fix o sound: kopulasie/kopuleer and derivatives
|
||||
_) kor (dA k%Or // kordaat/kordon
|
||||
ko (rint k%u // fix stress and o sound: korint/-e and compounds
|
||||
@@ -2530,6 +2564,7 @@
|
||||
ma (kriel m%a // move default stress: makriel/-e
|
||||
maksi (ma@ m%aks%i // move default stress: maksimaal/-male
|
||||
&) mal (_S3 mal
|
||||
mala (giet m%al%a // fix stress and a sounds: malagiet and compounds
|
||||
malaria mal'A:ria
|
||||
mal (gas m%al // move default stress: Malgas/-se/-sies
|
||||
malles (_ mal@s // fix e sound: (mags)malles and similar
|
||||
@@ -2561,13 +2596,15 @@
|
||||
marmer marm@r_ // fix e sound: marmerbeeld/-blad and many others
|
||||
marmo (set m%arm%u // fix stress and o sound: marmoset/-te
|
||||
mar (sje m%ar // move default stress: marsjeer and derivatives
|
||||
mas (biek m%as // move default stress: masbieker/-s
|
||||
ma s (biek m%as // move default stress: masbieker/-s
|
||||
masjien m@Sin // masjien and many compounds
|
||||
masji (na@ m%aS%i // move default stress: masjinaal/-ale
|
||||
maskara m%askA:r%a // move default stress: maskara and compounds
|
||||
masker mask@r // fix e sound: maskerafdruk/-agtig/ontmaskering
|
||||
masker (ade m%ask@r // move default stress: maskerade/-s
|
||||
maso (chis m%as%u // fix vowel sounds: masochis/-te/-ties/-e/-isme
|
||||
mastekto (m m%astEkt%u // fix stress and vowel sounds: mastektomie and compounds
|
||||
mate (matie m%at@ // fix vowel sounds: matematies/-e
|
||||
matemati (CA m%at@m%at%i // fix stress and vowel sounds: matematikus/-ci
|
||||
materi (A@ m%at%e@r%i // materiaal/materiale/materiële/materieel
|
||||
materie (+ m%ate@r%i // stress and vowel sounds: materie and many compounds
|
||||
@@ -2586,6 +2623,7 @@
|
||||
midde (l mId@ // middellyf/middelpunt/middelste/bemiddelend
|
||||
middel (jari m@d@l // move default stress: middeljarig and derivatives
|
||||
middelli (k mId@l@ // drop one l: (on)middellik/-e
|
||||
milieu m@ljy // fix stress and vowel sounds: milieu and compounds
|
||||
milit m@l@t // militêr/militaris
|
||||
mil (jA m@l // move default stress: miljoen/-e/miljard/-e
|
||||
mille (nniA m@lE // millennium/millennia
|
||||
@@ -2608,6 +2646,7 @@
|
||||
mis (gis m@s // stress on 2nd slb
|
||||
mis (gun m@s // stress on 2nd slb
|
||||
mis (ha m@s // mishandel/mishaag
|
||||
_) mis (inP3 m@s // fix 1st i sound, pause: misinterpretasie/misinterpreteer
|
||||
miske (n m@skE // misken/ning/onmiskenbaar
|
||||
mis (l m@s // misluk/mislei
|
||||
mis (lamp mIs // restore default stress: mislamp/-e
|
||||
@@ -2660,6 +2699,7 @@
|
||||
mosam (biek m%o@s%am // move default stress: Mosambiek/-er/-se
|
||||
mosa (ïek m%o@s%a // move default stress: mosaïek and compounds
|
||||
mo (skee m%O // move default stress: moskee/-s and compounds
|
||||
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
|
||||
@) mpel (A mp@l // bewimpeling/dompelaar/strompeling
|
||||
@@ -2723,6 +2763,7 @@
|
||||
ment m'Ent
|
||||
mental (iteit m,Ental // fix stress: mentaliteit/sentimentaliteit and compounds
|
||||
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.
|
||||
@@ -2877,6 +2918,7 @@
|
||||
oe) n (g n //soengroet, pensioengewend etc.
|
||||
nuanse (K n%yans@ // move default stress: nuanse/-s and compounds
|
||||
nuan (seer n%y%an // fix stress: (ge)nuanseer/-d
|
||||
nuanse (ring n%y%anse@ // fix stress: nuansering and compounds
|
||||
nuus (kierig n%ys // move default stress: nuuskierig/-heid
|
||||
nuwer (wet n%yv@r // move default stress: nuwerwets/-e
|
||||
@Cer) ny (_ n'eI // move default stress: lekkerny/raserny/slawerny
|
||||
@@ -2899,6 +2941,7 @@
|
||||
oase %u_A:s@ // oase/-s and compounds
|
||||
o (terap u // psigo-/fisioterapeut
|
||||
_) ob (s %Op // obskuur/obskure/obskuriteit/obsessie/obseen
|
||||
obser (veer %Ops%&r // fix stress, b sound: (ge)observeer(d/-e)
|
||||
C) o (dium o@ // fix stress and o sound: jodium/podium/rodium and their compounds
|
||||
oefen uf@n// oefenbroekie/oefeningboek/liggaamsoefeninge
|
||||
t) oeke (n uk%E // fix e sound: toeken/-ning/kuns-/watertoekenning
|
||||
@@ -2966,6 +3009,7 @@
|
||||
odjie OIci
|
||||
otjie OIci
|
||||
offi (sier %Of@ // move default stress: offisier and compounds
|
||||
offisi %Of%iS%i;
|
||||
ofiel uf'il // franko-/hemo-/nekro-/pedo-/russofiel, etc.
|
||||
ofilie ufil'i // hemo-/nekro-/pedofilie, etc.
|
||||
ofobie ufo@b'i // antropo/-xenofobie and many other -fobie words
|
||||
@@ -3029,6 +3073,7 @@
|
||||
om (sig %Om // move default stress: omsigtig/-heid
|
||||
omsingel %OmsIN@l // fix stress: omsingel/fix e sound: omsingelde
|
||||
_) om (sirkel %Om // move default stress: omsirkel and derivatives
|
||||
_) omskans %Omskans // fix stress: omskans/-ing/-s
|
||||
_) om (skep %Om // move default stress: omskep and derivatives
|
||||
_) om (skr %Om // move default stress: omskryf/omskrewe
|
||||
_) om (sluier %Om // move default stress: omsluier and derivatives
|
||||
@@ -3116,7 +3161,6 @@
|
||||
ontering %Onte@r@N //ontering in compounds montering etc.
|
||||
_) on (tooCC %On // ontoombaar/-bare/-baarheid/ontoonbaar/-bare/-baarheid/ontoornig/-e/-heid
|
||||
onvoor (s %Onf%o@r //stress: onvoorsiens, onvoorstelbaar etc.
|
||||
onvoor (w %Onf%o@r //stress: onvoorwaardelik etc.
|
||||
onome un'o@m@ // astronome/ekonome/gastronome
|
||||
onomie unum'i // astronomie/ekonomie/gastronomie
|
||||
onomies un'o@mis // astronomies/-e/ekonomies/-e/gastronomies/-e
|
||||
@@ -3139,6 +3183,7 @@
|
||||
_) on (kruid On // restore default stress: onkruid/-doder and similar
|
||||
_) on (lus On // restore default stress: onlus/-te/onlusgebied, etc.
|
||||
_) onnie Oni // onnie/-s; not on- prefix
|
||||
onom (stoot %On%Om // fix stress: onomstootbaar/onomstootlik and their derivatives
|
||||
_) on (paar On // restore default stress: onpaar/-skoene
|
||||
onreg (K Onr&x2 // stress: onreg/te/onregmatig
|
||||
on (regv++ %On // stress: onregverdig/e/heid
|
||||
@@ -3258,6 +3303,7 @@
|
||||
oor (heers %o@r // move default stress
|
||||
_) oor (hoofs %o@r // move default stress: oorhoofs/-e
|
||||
oorkoepel o@rk'up@l // stress and pronunc. of el: oorkoepelend/oorkoepeling
|
||||
oor (koom %o@r // fix stress: (on)oorkoomlik/-e
|
||||
oor (laaid %o@r // move default stress: oorlaaide/-s
|
||||
oor (lams %o@r // move default stress: oorlams/-e/-heid
|
||||
_) oorlede o@rl'e@d@ // stress oorlede/ne/s
|
||||
@@ -3330,6 +3376,7 @@
|
||||
parle (ment p%arl@ // move default stress and fix e sound: parlement and compounds, eg.
|
||||
parme (saan p%arm@ // move default stress: parmesaan(kaas) and compounds
|
||||
paro (di p%ar%u // fix stress and vowel sounds: parodie and compounds
|
||||
parti (sa p%art%i // move default stress: partisaan/-ane
|
||||
parti (tu p%art@ // fix stress and i sound: partituur/partiture and compounds
|
||||
pase (lla p%as& // fix stress and a sound: pasella(tjie) and compounds
|
||||
pa (sifi p%a // shorten a sound: pasifis/-me/-ties/-e
|
||||
@@ -3384,6 +3431,7 @@
|
||||
ry) pere (_ p@r@ // fix penultimate e sound: rypere
|
||||
skam) pere (_ p@r@ ?? shorten 1st e in ending
|
||||
perfek p@rfEk // perfek/-te/-sie/-sionis
|
||||
pergola p%&rx2o@l%a // move default stress: pergola/-s and compounds
|
||||
perife (rA@ p%Er@f@ // fix stress and vowel sounds: periferie/-ë/periferaal/-ale
|
||||
peri (o p%e@r%i // stress: periode/-s and compounds
|
||||
peripa (t pEripa'' // fix stress and vowel sounds: peripateties/-e/peripatetikus/-se/peripatetici
|
||||
@@ -3548,6 +3596,7 @@
|
||||
puntener p%Wnt@ne@r // stress and 2nd e sound: puntenerig and derivatives
|
||||
pu (pil p%y // move default stress: pupil/-le and compounds
|
||||
puri (tein p%yr@ // fix stress and i sound: puritein/-e/-se
|
||||
pêrel p&:r@l // fix e sound: pêrelig/-e
|
||||
|
||||
|
||||
.group q
|
||||
@@ -3608,6 +3657,7 @@
|
||||
|
||||
rivier r@fi:r
|
||||
_) ri (g rI // stress on 1st slb.: rigting/-loos/-vas, etc.
|
||||
robot (A ro@bOt_ // fix 2nd o sound, pause: robotarm/-oog/-oë
|
||||
ron (dawel r%On // move default stress: rondawel/-s/-tjie
|
||||
rond (borst r%Ont // move default stress: rondborstig/-e
|
||||
rond (r rOnt // grondreuk/grondrel/rondreis/-rol/-ry
|
||||
@@ -3626,6 +3676,7 @@
|
||||
.group re
|
||||
rea (ks r%ia // reaksie/s/skokreaksie
|
||||
rea (C r%i%a // reageer/realis/me|ties
|
||||
re (ageren r%i // fix stress and vowel sounds: reagerend/-e
|
||||
re (bel r@ // move stress from 1st slb
|
||||
recce rEki // fix e and c sounds: recce/-s
|
||||
re (dakC r@ // fix stress and e sound: redaksie/redakteur and compounds
|
||||
@@ -3657,6 +3708,7 @@
|
||||
re (kru r@ // move stress from 1st slb
|
||||
_) re (la r@ // relaas/relase/relasie and compounds
|
||||
rele (van r@l@ // relevansie/relevant and derivatives
|
||||
re (liek r@ // fix stress and e sound: reliek/-e and compounds
|
||||
reli (gi r@l@ // fix stress and e sound: religie/-ë/religieus
|
||||
reliëf r%e@l%iEf // fix stress and vowel sounds: reliëf and compounds
|
||||
rem (_ rEm // handrem/kabeltrem/kragrem/noodrem/skyfrem/stadstrem/veiligheidsrem
|
||||
@@ -3949,7 +4001,7 @@
|
||||
_) spon (ta sp%On // move default stress: spontaan/spontane
|
||||
_) sport (@@@ sp''Ort_ // force stress on 1st slb.: sportadministrasie/-konfederasie
|
||||
spreekwoordeli spr%e@kvo@rd@l@ // move default stress: spreekwoordelik/-e, vs. spreekwoord
|
||||
springbok spr''INbOk // fix o sound: Springbokafrigter/-agterspeler; fix stress: Springbokklere
|
||||
springbo (k spr''INbO // fix o sound: Springbokafrigter/-agterspeler; fix stress: Springbokklere
|
||||
sproke spro@k@ // see rule: pro (CA pr%u : aangesprokene/onbesproke, etc.
|
||||
self (_ s'&lf // myself/vanself
|
||||
K) sewe (C s'e@v@ // sewejarige/standerdseweklas
|
||||
@@ -3983,9 +4035,11 @@
|
||||
smelt sm<
|
||||
sodom (iet s,o@dOm // fix stress and 2nd o sound: sodomiet/-e
|
||||
son (g@ sOn // songebakte/-brande/-bruinde/-droogde/songod
|
||||
son (om s''On_ // fix 1st o sound, pause: sonomspoelde/-omgewe
|
||||
sosial (i so@Sial' // sosialis/sosialisme/sosialisties
|
||||
so (v so@ // soveel/sover
|
||||
soverre so@f'&r@ // stress: se rule: so (v s'o@ // soveel/sover
|
||||
spas (mod sp%as // move default stress: spasmodies/-e
|
||||
speku (lA sp%Ek%y // spekulasie/spekuleer/spekulatief
|
||||
@) sper (a sp@r' //desperate/desperaatheid/rasperagtig
|
||||
ek) sper (im spEr // eksperimenteer/eksperimenteel
|
||||
@@ -3994,8 +4048,7 @@
|
||||
spesialis (A spESialis
|
||||
spesialis spESal'Is
|
||||
spesi (f sp%Es%I // spesifiek/spesifiseer
|
||||
stede (C ste@d@ // fix e sounds of many compounds and derivatives containing stede
|
||||
ste (laan st@ // fix e sound: eerste-/ag(t)stelaan
|
||||
spine (t sp%inE // move default stress: spinet/-te and compounds
|
||||
%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
|
||||
@@ -4025,6 +4078,7 @@
|
||||
suid (oos s%Yyt_ // move default stress and insert short break: suidoos/-te/-lik
|
||||
suite swit@ // fix -ui-sound: suite/-s and compounds
|
||||
sukses s%WksEs // sukses/suksesse/suksesvol/reusesukses
|
||||
sultana s%WltA:n%a // fix stress, keep last a short in compounds: sultana/-s
|
||||
_) su (meri s%u // fix stress and u sound: sumeries/-e
|
||||
su (mmier s%W // move default stress: sumier/-e
|
||||
superintendent s,upr@nt%EndEnt // fix stress and vowel sounds: superintendent and compounds
|
||||
@@ -4033,7 +4087,7 @@
|
||||
_) sw sw // fix w sound: words beginning with sw-: swerweling/swetend
|
||||
swaar (lyw sw%A:r // move default stress: swaarlywig/-e/-heid
|
||||
swaar (moed sw%A:r // move default stress: swaarmoedig/-e/-heid
|
||||
swag (K sv'ax2
|
||||
swag (K svax2 // dorps-/volkswag, etc.
|
||||
swa (hili sw%a // fix stress and a sound: swahili/-'s
|
||||
_) swam (A@ swam_ // shorten a sound: swamagtig/-etend/-infeksie
|
||||
swart (gal sw%art // move default stress: swartgallig
|
||||
@@ -4062,11 +4116,15 @@
|
||||
stapel stA:p@l // fix e sound: (op)stapeling/stapelaar
|
||||
staties st'A:tis
|
||||
sta (tutA st%a // fix stress and a sound: statute/statutêr
|
||||
êr) ste (_S3 st@ // preserve stress: elementêrste/primêrste, etc.
|
||||
stede (C ste@d@ // fix e sounds of many compounds and derivatives containing stede
|
||||
steding ste@d@N // besteding and compounds
|
||||
ste (ke_ ste@ // fix e sound: by-/mes-/proefsteke
|
||||
steke (lig ste@k@ // fix 2nd e sound: stekelig/-e/-heid
|
||||
C) steker ste@k@r // e sound: (aan/dop/kwaad/rugsteker/-s/-y, etc.
|
||||
_ne) stel st@l // fix e sound: nestel/-end
|
||||
wor) stel st@l //worstel e sound in compounds
|
||||
ste (laan st@ // fix e sound: eerste-/ag(t)stelaan
|
||||
ste (land st@ // fix e sound: vasteland and several compounds
|
||||
@) stel (iC st@l // eersteling/gunsteling/wellusteling/worsteling/eerstelig and compounds
|
||||
&) stele (fo st&l@ // fix e sound in compounds: huis-/werkstelefoon/-fone
|
||||
@@ -4088,6 +4146,7 @@
|
||||
mAre) ste (r st& // fix e sound: more/môrester/-re
|
||||
stereo (ti st%e@r%i%u // fix stress and vowel sounds: stereotiep/-tipe/-tipeer
|
||||
sterf (K st&rf // fix e sound: uitsterf/weg(ge)sterf/kindersterfte
|
||||
sterk (_ st&rk // fix e sound: duiwel-/kapitaal-/stormsterk, etc.
|
||||
@) sterkt st&rkt // compounds ending in sterkte
|
||||
stero (ïed st%e@r%u; // fix stress and vowel sounds: steroïed/-e
|
||||
bok) ster (t st&:r // fix e sound: bokstert/-e/-tjie/-s
|
||||
@@ -4293,6 +4352,7 @@
|
||||
teater t%iA:t@r // fix stress and e sound: teater and compounds
|
||||
tea (tra t%i%a // fix stress and vowel sounds: teatraal/teatrale
|
||||
teen (argu t''e@n // forse stress on 1st slb.: teenargument/-e/-asie
|
||||
te (dom t@ // fix e sound: idiotedom and similar
|
||||
teen (oorges t%e@n_ // move default stress: teenoorgestel/-d/-e
|
||||
@A) te (geC t@ // fix e sound: Hugenotegemeente/stategebou and similar compounds
|
||||
@C) te (gn t& //tegniek/iese and friends
|
||||
@@ -4526,6 +4586,7 @@
|
||||
|
||||
ve (l f& // maagvel, stress on 1st slb
|
||||
@) vel (A fe@l // aanbeveling/aanbevelingsbrief
|
||||
veld (C f< // fix d sound: veldreuk/-radio/-rantsoen, 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
|
||||
@@ -4579,12 +4640,14 @@
|
||||
ver (reik f&:r // fix stress and e sound: verreikend/-e
|
||||
@) vers (_ f&rs // teksvers/slotvers/kindervers and similar
|
||||
vers (album f&:rs_ // fix e sound: versalbum/-s
|
||||
_) vers (b f&rs // fix e sound: versbundel/-bou/-boek
|
||||
@) vers (e_ f&rs // plurals of words like the above
|
||||
_) versf f''&rsf // fix stress and e sound: versfragment/-e
|
||||
ver (sie_ f&:r //words ending in versie
|
||||
ver (sies_ f&:r //words ending in versies
|
||||
vers (panor f&:rs // fix stress and e sound: verspanorama/-s
|
||||
ver (spring f''&:r // fix stress and e sound: verspring/-er/-kompetisie
|
||||
vers (v f&rs // fix e sound: versvorm/versvoete
|
||||
verf (i f@rf //verfilm and compounds
|
||||
ver (flenC f@r // verflenter and derivatives/verflens; see rule: verf (C f&rf
|
||||
ver (fris f@r // verfris and derivatives; see rule: verf (C f&rf
|
||||
@@ -4692,7 +4755,8 @@
|
||||
voort (v@@ f%o@rt // voortvarend/voortvlugtige
|
||||
_) vooruit fo@r_'Yyt // vooruit/vooruitsig/vooruitbeplanning
|
||||
vooruit (strew fo@rYyt' // change stress
|
||||
voorwaard (_ f%o@rvA:rd // stress: (on)voorwaardelik
|
||||
voorwaarde (_ f%o@rvA:rd@ // stress: (on)voorwaardelik
|
||||
voorwaarde (_N fo@rvA:rd@ // fix stress: voorwaarde/-s
|
||||
vor (_ _^_EN //words ending in vor is English
|
||||
vorm fOr@m
|
||||
vorsti (n fOrst'I // fix stress: vorstin/-ne/-netjie and compounds
|
||||
@@ -4740,8 +4804,10 @@
|
||||
&s) w (eefs v // fix w sound: compounds like -sweefsel/tuisweefstof, etc.
|
||||
@s) w (enn v // fix w sound: beurs-/groeps-/klas-/naas-/pryswenner/-wennende
|
||||
_) web vEb //webadres/se, webarea etc.
|
||||
As) weer (_ ve@r // fix w sound: kusweer/ysweer, etc.
|
||||
AAs) w (enk v // fix w sound: kombuis-/nuus-/sweiswenk/-e
|
||||
plaas) w (erC v // fix w sound: plaaswerf/-werwe
|
||||
s) w (oeling v // fix w sound: koors-/geesteswoelinge
|
||||
s) w (ou v // fix w sound: bamboeswoud/keerkringswoud and similar
|
||||
s) w (r v // fix w sound: skeepswrak/sielswroeging/aardswreedheid
|
||||
wreed (a vre@t_ // fix d sound and insert short pause: wreedaard/-s
|
||||
@@ -4779,6 +4845,7 @@
|
||||
weer (leg w%e@r // move default stress: (on)weerlegbaar
|
||||
weer (strew v%e@r // move default stress: weerstrewig/-e/-heid
|
||||
@) wees (_ ve@s // fix w sound: siekwees/volkwees
|
||||
weet (gierig v%e@t // move default stress: weetgierig/-e/-heid
|
||||
@) weg (_ v&x2 // blindweg/botweg and many similar
|
||||
spoor) weg v&x2 // fix e sound: spoorwegaanleg/-aansluiting/-amptenaar/-eiendom/-inkomste/-ongeluk...
|
||||
_) wegge (C@P5 v'&x2@ // prefix: weggeja and similar
|
||||
@@ -4917,6 +4984,7 @@
|
||||
.group y
|
||||
y eI
|
||||
%C) y (_ _^_EN // English: Betty/Eddy/Harry/Molly/Penny/Tommy
|
||||
skapp) y (_ %eI // compounds like: handels-/versekerings-/verskepingsmaatskappy
|
||||
york j'O:k //new-yorkse and may be others
|
||||
ysterre (lin eIst@re@ // fix e sound: ysterreling/-s
|
||||
|
||||
|
||||
+12
-4
@@ -1,4 +1,4 @@
|
||||
|
||||
|
||||
// This file is UTF8 encoded
|
||||
// Spelling-to-phoneme words for Danish
|
||||
|
||||
@@ -29,7 +29,7 @@ _ced s@d'ila
|
||||
_cir s'3:kVmfl,Eks
|
||||
_dia 'umlaut
|
||||
_dot wiDd'0tabVv
|
||||
_grv gr'a:v
|
||||
_grv aks'aN gr'a:v
|
||||
_hac h'atS,Ek
|
||||
_mcn m'akr,0n
|
||||
_ogo '0g0n,Ek
|
||||
@@ -61,17 +61,22 @@ _#32 blank
|
||||
_, koma:
|
||||
_; se:mi:ko:lVn
|
||||
_: ko:lVn
|
||||
_. pun^tum
|
||||
_. puNtum
|
||||
_? spWrgsmVlstajn
|
||||
_! udRVbstejn
|
||||
_- binnesdrai
|
||||
__ bOndsdrai
|
||||
__ b'Onsdrai
|
||||
& ou
|
||||
£ pun?
|
||||
€ euro
|
||||
© kopyrajt
|
||||
÷ divid'eReD meD
|
||||
= l'imeD
|
||||
# n'OmV
|
||||
§ paragr'af
|
||||
|
||||
|
||||
|
||||
// numbers
|
||||
_0 'nOl
|
||||
_1 'e:n
|
||||
@@ -215,6 +220,7 @@ k kO:
|
||||
l El
|
||||
m Em
|
||||
n En
|
||||
o o
|
||||
p pe:
|
||||
q ku:
|
||||
r Er
|
||||
@@ -233,6 +239,7 @@ egen a:j@n
|
||||
eget a:j@D
|
||||
egne a:in@
|
||||
enter entV
|
||||
ide id'e // idea
|
||||
igen igen
|
||||
Ny ny // new
|
||||
også Vs@ // also
|
||||
@@ -240,3 +247,4 @@ havde h'aD@ // had
|
||||
sagde sa@ // said
|
||||
sig sAi // oneself
|
||||
|
||||
|
||||
|
||||
+701
-572
File diff suppressed because it is too large
Load Diff
+418
-417
@@ -1,100 +1,6 @@
|
||||
Phonemes which are used in the *_rules and *_list files
|
||||
|
||||
|
||||
Dictionary zhy_dict
|
||||
|
||||
a aa aai aan aau ai au e
|
||||
ei eo eoi eu i iu o oe
|
||||
oi ong ou u ui yu
|
||||
|
||||
b c d f g h j k
|
||||
l m n N p r s t
|
||||
tS v w z
|
||||
|
||||
|
||||
Dictionary fr_dict
|
||||
|
||||
@ @- @2 a A~ e E E2
|
||||
E: E~ i i- i: o O o2
|
||||
O2 o3 O~ u u: W w^i wA
|
||||
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
|
||||
|
||||
|
||||
Dictionary nl_dict
|
||||
|
||||
8 @ @- A a: E e: EI
|
||||
eU i I O O: o: u VU
|
||||
Wy y Y: yU
|
||||
|
||||
* : ; b C d f g
|
||||
h j k l m n N n^
|
||||
p Q r s S t tS v
|
||||
v2 w x z
|
||||
|
||||
|
||||
Dictionary jbo_dict
|
||||
|
||||
@ a aI aU e eI i l-
|
||||
o oI r- u
|
||||
|
||||
- b d dZ f g h j
|
||||
k l m n N p R s
|
||||
S t tS v w x z Z
|
||||
|
||||
|
||||
Dictionary hu_dict
|
||||
|
||||
A a: E e: i i: o o:
|
||||
u u: Y y y: Y:
|
||||
|
||||
: b c C d dZ f g
|
||||
h j J k l l^ m n
|
||||
N n^ p R R2 s S s2
|
||||
t tS ts v z Z
|
||||
|
||||
|
||||
Dictionary hy_dict
|
||||
|
||||
@ a aI e eI i i@ o
|
||||
u W y
|
||||
|
||||
** b c d dZ dz f g
|
||||
h j k k# l m n p
|
||||
p# r R r" s S t t#
|
||||
tS ts ts# v X z Z
|
||||
|
||||
|
||||
Dictionary zh_dict
|
||||
|
||||
@ @r a A ai Au E ei
|
||||
i i. i[ iA iE io iou N-
|
||||
o o- ong ou u u@ ua uai
|
||||
uei uo y y& y@ yE yi yu
|
||||
|
||||
; C f h j k kh l
|
||||
L m n N p ph q r
|
||||
R s s. S; t th ts ts.
|
||||
ts. tS; tS; tsh v w x X
|
||||
z.
|
||||
|
||||
|
||||
Dictionary ca_dict
|
||||
|
||||
@ a a# aI e E E2 i
|
||||
o O u U
|
||||
|
||||
* ** : ; b B d D
|
||||
dZ; f g j J J^ k l
|
||||
l^ m n N n^ p Q R
|
||||
R2 s S; t T ts tS; v
|
||||
v# w z Z Z;
|
||||
|
||||
|
||||
Dictionary af_dict
|
||||
|
||||
& &: 3: @ @- @L @U a
|
||||
@@ -109,15 +15,81 @@ n N p r s S t T
|
||||
tS v w x x2 z Z
|
||||
|
||||
|
||||
Dictionary id_dict
|
||||
Dictionary bn_dict
|
||||
|
||||
@ a aI aU e E E2 i
|
||||
o O u
|
||||
& a a: a~ e E e~ i
|
||||
I i: i:~ i~ l- o O o:
|
||||
O~ o~ r- U u u: u:~ u~
|
||||
V
|
||||
|
||||
* : ? 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 B bh c C ch d
|
||||
d. dh dh. g gh h j J
|
||||
Jh k kh l m n N n.
|
||||
n^ p ph Q r r. s S
|
||||
s. t t. th th. tS x z
|
||||
|
||||
|
||||
Dictionary ca_dict
|
||||
|
||||
@ a a# aI e E E2 i
|
||||
o O u U
|
||||
|
||||
* ** : ; b B d D
|
||||
dZ; f g j J J^ k l
|
||||
l^ m n N n^ p Q R
|
||||
R2 s S; t T ts tS; v
|
||||
v# w z Z Z;
|
||||
|
||||
|
||||
Dictionary cs_dict
|
||||
|
||||
@- a a: aU e e: eI eU
|
||||
i i: l- o o: oU r- u
|
||||
u:
|
||||
|
||||
* ; b c d dZ dz f
|
||||
g h j J k l l^ m
|
||||
n N n^ p r R R^ R^/
|
||||
s S t tS ts v x z
|
||||
Z
|
||||
|
||||
|
||||
Dictionary cy_dict
|
||||
|
||||
@ @- @I @Y a A: aI aU
|
||||
AY aY E e: eU I i: Iu
|
||||
O o: OI OY U u: uY V
|
||||
Y y: Yu
|
||||
|
||||
: b C d D dZ f g
|
||||
h j k l L m n N
|
||||
p r s S t T v w
|
||||
x z
|
||||
|
||||
|
||||
Dictionary da_dict
|
||||
|
||||
& 0 3 @ @- a A e
|
||||
E i o O u V W y
|
||||
Y
|
||||
|
||||
* - : ; ? b d D
|
||||
dZ f g h j k l L
|
||||
m n N p r R s S
|
||||
t tS v w
|
||||
|
||||
|
||||
Dictionary de_dict
|
||||
|
||||
3 @ @- a A A: aI aU
|
||||
E E2 E: e: EI I i2 i:
|
||||
O o: OY U u: W y y:
|
||||
Y:
|
||||
|
||||
* : ; b C C2 d D
|
||||
dZ f g h j k l m
|
||||
n N p pF r s S t
|
||||
tS ts v x z Z
|
||||
|
||||
|
||||
Dictionary el_dict
|
||||
@@ -147,114 +119,40 @@ s S t T t2 tS v w
|
||||
x z Z
|
||||
|
||||
|
||||
Dictionary cs_dict
|
||||
Dictionary eo_dict
|
||||
|
||||
@- a a: aU e e: eI eU
|
||||
i i: l- o o: oU r- u
|
||||
u:
|
||||
@- a aI aU e eI eU i
|
||||
o oI u uI
|
||||
|
||||
* ; b c d dZ dz f
|
||||
g h j J k l l^ m
|
||||
n N n^ p r R R^ R^/
|
||||
s S t tS ts v x z
|
||||
Z
|
||||
* - b d dZ f g h
|
||||
j k l m n p r R
|
||||
s S t T tS ts v w
|
||||
x z Z
|
||||
|
||||
|
||||
Dictionary grc_dict
|
||||
Dictionary es_dict
|
||||
|
||||
a aI aU e E EI eU EU
|
||||
i o O oI OI OU u y
|
||||
yI
|
||||
a aI aU e E eI eU i
|
||||
o O oI u
|
||||
|
||||
: b d f g h j k
|
||||
l m n N p R s t
|
||||
T v x z
|
||||
* ** : b B d D f
|
||||
g j J J^ k l m n
|
||||
N n^ p Q R R2 s t
|
||||
T tS v v# w x z
|
||||
|
||||
|
||||
Dictionary cy_dict
|
||||
Dictionary eu_dict
|
||||
|
||||
@ @- @I @Y a A: aI aU
|
||||
AY aY E e: eU I i: Iu
|
||||
O o: OI OY U u: uY V
|
||||
Y y: Yu
|
||||
a aI aU e eI eU i o
|
||||
oI u Y
|
||||
|
||||
: b C d D dZ f g
|
||||
h j k l L m n N
|
||||
p r s S t T v w
|
||||
* ** : ; b B c d
|
||||
D f g h j J k l
|
||||
l^ m n n^ p Q r R
|
||||
s S t tS ts tz v w
|
||||
x z
|
||||
|
||||
|
||||
Dictionary hbs_dict
|
||||
|
||||
& @ @2 a A a: aI aU
|
||||
E e e: i I i: l- O
|
||||
o o: oU r* r- u U u:
|
||||
|
||||
* ; b d dZ dz dZ; f
|
||||
g h j k l l^ m n
|
||||
N n^ p r R R2 s S
|
||||
t tS ts tS; v x z Z
|
||||
|
||||
|
||||
Dictionary it_dict
|
||||
|
||||
@- a a/ aI aU e E eI
|
||||
i I o O u
|
||||
|
||||
* : ; b d dZ f g
|
||||
h j k l l^ m n N
|
||||
n^ p r R s S t tS
|
||||
ts v w w2 z
|
||||
|
||||
|
||||
Dictionary sk_dict
|
||||
|
||||
& @- a a: e e: i i:
|
||||
l- l: o o: oU r- r: u
|
||||
u:
|
||||
|
||||
* ; b d d; dZ dz f
|
||||
g h j k l l^ m n
|
||||
N n^ p r R R^ R^/ s
|
||||
S t t; tS ts v x z
|
||||
Z
|
||||
|
||||
|
||||
Dictionary ku_dict
|
||||
|
||||
8 a e E E# eI eU i
|
||||
I o u U y
|
||||
|
||||
* : b c d dZ f g
|
||||
h j J k l m n p
|
||||
q r R s S t tS v
|
||||
w x z Z
|
||||
|
||||
|
||||
Dictionary sq_dict
|
||||
|
||||
@ @/ a A a/ aI E e
|
||||
eI i I I# O OI u V
|
||||
y yE
|
||||
|
||||
** : ; b c d D dZ
|
||||
dz dZ; f g h j k l
|
||||
L ll m n n^ p r R
|
||||
R2 s S t T tS ts v
|
||||
w z Z
|
||||
|
||||
|
||||
Dictionary sw_dict
|
||||
|
||||
@- a a/ e i m- n- N-
|
||||
o u
|
||||
|
||||
* : b d D f g h
|
||||
j J k l m n N n^
|
||||
p Q R s S t T tS
|
||||
v w x z
|
||||
|
||||
|
||||
Dictionary fi_dict
|
||||
|
||||
& &i &y a a2 ai au e
|
||||
@@ -267,201 +165,40 @@ l m n N p r s S
|
||||
s2 t v w Z
|
||||
|
||||
|
||||
Dictionary pl_dict
|
||||
Dictionary fr_dict
|
||||
|
||||
a E E# E~ i O O~ u
|
||||
y
|
||||
@ @- @2 a A~ e E E2
|
||||
E: E~ i i- i: o O o2
|
||||
O2 o3 O~ u u: W w^i wA
|
||||
W~ y Y
|
||||
|
||||
: ; b c C d d; dZ
|
||||
dz dz; f g h j k l
|
||||
m n N n^ p r R s
|
||||
S s; S; t t; tS ts ts;
|
||||
tS; v w x z Z Z;
|
||||
: 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
|
||||
|
||||
|
||||
Dictionary no_dict
|
||||
Dictionary grc_dict
|
||||
|
||||
@ @2 a A a: A: AI aI
|
||||
aU E E: e: I i: O o:
|
||||
OI U u- u-: u-I u: W y
|
||||
y: Y: Yy
|
||||
a aI aU e E EI eU EU
|
||||
i o O oI OI OU u y
|
||||
yI
|
||||
|
||||
: ; b d f g h j
|
||||
k l m n N p r R
|
||||
s S s; t v w x z
|
||||
: b d f g h j k
|
||||
l m n N p R s t
|
||||
T v x z
|
||||
|
||||
|
||||
Dictionary vi_dict
|
||||
Dictionary hbs_dict
|
||||
|
||||
@ @: @:I @:U @I @U a a:
|
||||
a:I a:U aI aU E e eU EU
|
||||
i i@ iU O o OI oI u
|
||||
u@ uI y y@ yI
|
||||
& @ @2 a A a: aI aU
|
||||
E e e: i I i: l- O
|
||||
o o: oU r* r- u U u:
|
||||
|
||||
b c d D f g h j
|
||||
J k kh l m n N n^
|
||||
p Q r s s. t t[ ts;
|
||||
tS; v w x z 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 lv_dict
|
||||
|
||||
a a: ai au e e: ei i
|
||||
i: ie iu o o: u u: ui
|
||||
uo
|
||||
|
||||
: b c d dZ f g h
|
||||
j J k l l^ m n N
|
||||
n^ p r R R2 s S t
|
||||
tS ts v z Z
|
||||
|
||||
|
||||
Dictionary pt_dict
|
||||
|
||||
& &/ &U~ &~ @ @- a A
|
||||
aI aU e E eI EI eU EU
|
||||
i I i/ iU o O oI OI
|
||||
o~ u U uI u~ y
|
||||
|
||||
* : ; b C d dZ f
|
||||
* ; b d dZ dz dZ; f
|
||||
g h j k l l^ m n
|
||||
N n^ p Q r R r- s
|
||||
S s# s; t T tS ts v
|
||||
w x z Z
|
||||
|
||||
|
||||
Dictionary tr_dict
|
||||
|
||||
a e E i I o O u
|
||||
U u# W y Y
|
||||
|
||||
* : b c d dZ f g
|
||||
h j J k l m n p
|
||||
Q r R s S t tS v
|
||||
w z Z
|
||||
|
||||
|
||||
Dictionary ru_dict
|
||||
|
||||
8 @- A a E e E# E2
|
||||
E3 i I I# I2 I3 I^ ja
|
||||
ju o O u u" u# V V#
|
||||
y Y
|
||||
|
||||
* ; b d d; dZ; f g
|
||||
j k l l^ m m; n n^
|
||||
p r R s S s; S; t
|
||||
t; ts ts; tS; v x z Z
|
||||
z; Z;
|
||||
|
||||
|
||||
Dictionary eo_dict
|
||||
|
||||
@- a aI aU e eI eU i
|
||||
o oI u uI
|
||||
|
||||
* - b d dZ f g h
|
||||
j k l m n p r R
|
||||
s S t T tS ts v w
|
||||
x z Z
|
||||
|
||||
|
||||
Dictionary mk_dict
|
||||
|
||||
& @ @- @2 a A a: E
|
||||
e e: i I i: l- o o:
|
||||
oU r- u u:
|
||||
|
||||
* b d dZ dz dZ; f g
|
||||
h j k k^ l l^ m n
|
||||
N n^ p r R s S t
|
||||
tS ts tS; v x z Z
|
||||
|
||||
|
||||
Dictionary es_dict
|
||||
|
||||
a aI aU e E eI eU i
|
||||
o O oI u
|
||||
|
||||
* ** : b B d D f
|
||||
g j J J^ k l m n
|
||||
N n^ p Q R R2 s t
|
||||
T tS v v# w x z
|
||||
|
||||
|
||||
Dictionary is_dict
|
||||
|
||||
& @- a aI aU e E eI
|
||||
i I o O oU oU2 u W
|
||||
y y# Yy
|
||||
|
||||
* ** : ; b c C d
|
||||
D f g h j J k l
|
||||
l# m m# n N n# N# n^
|
||||
n^# p Q r R r# R2 s
|
||||
s2 t T tl# v x z
|
||||
|
||||
|
||||
Dictionary da_dict
|
||||
|
||||
& 0 3 @ @- a A e
|
||||
E i o O u V W y
|
||||
Y
|
||||
|
||||
* - : ; ? b d D
|
||||
dZ f g h j k l L
|
||||
m n N n^ p r R s
|
||||
S t tS v w
|
||||
|
||||
|
||||
Dictionary de_dict
|
||||
|
||||
3 @ @- a A A: aI aU
|
||||
E E2 E: e: EI I i2 i:
|
||||
O o: OY U u: W y y:
|
||||
Y:
|
||||
|
||||
* : ; b C C2 d D
|
||||
dZ f g h j k l m
|
||||
n N p pF r s S t
|
||||
tS ts v x z Z
|
||||
|
||||
|
||||
Dictionary sv_dict
|
||||
|
||||
8 @ a a2 A: E E- e:
|
||||
E: I i: O o: U u- u:
|
||||
W y y: Y:
|
||||
|
||||
: ; b d f g h j
|
||||
k l m n N p R s
|
||||
S s. S; sx t v w z
|
||||
|
||||
|
||||
Dictionary la_dict
|
||||
|
||||
@- a a: aI aU E e: EU
|
||||
I i: O o: OI U u: y
|
||||
y:
|
||||
|
||||
* : ; <h> ? b d f
|
||||
g h j k l m n N
|
||||
p r R s t w z
|
||||
N n^ p r R R2 s S
|
||||
t tS ts tS; v x z Z
|
||||
|
||||
|
||||
Dictionary hi_dict
|
||||
@@ -479,42 +216,71 @@ r. s S s. t T t. th
|
||||
th. v w x z
|
||||
|
||||
|
||||
Dictionary ta_dict
|
||||
Dictionary hu_dict
|
||||
|
||||
a a: aI aU e E e: i
|
||||
I i: o o: U u u: V
|
||||
A a: E e: i i: o o:
|
||||
u u: Y y y: Y:
|
||||
|
||||
: ; b C d d. dZ f
|
||||
g h j k l l. m n
|
||||
N n. n^ p r R s S
|
||||
s. t t. th tS v w z
|
||||
z.
|
||||
: b c C d dZ f g
|
||||
h j J k l l^ m n
|
||||
N n^ p R R2 s S s2
|
||||
t tS ts v z Z
|
||||
|
||||
|
||||
Dictionary bn_dict
|
||||
Dictionary hy_dict
|
||||
|
||||
& a a: a~ e E e~ i
|
||||
I i: i:~ i~ l- o O o:
|
||||
O~ o~ r- U u u: u:~ u~
|
||||
V
|
||||
@ a aI e eI i i@ o
|
||||
u W y
|
||||
|
||||
* b B bh c C ch d
|
||||
d. dh dh. g gh h j J
|
||||
Jh k kh l m n N n.
|
||||
n^ p ph Q r r. s S
|
||||
s. t t. th th. tS x z
|
||||
** b c d dZ dz f g
|
||||
h j k k# l m n p
|
||||
p# r R r" s S t t#
|
||||
tS ts ts# v X z Z
|
||||
|
||||
|
||||
Dictionary eu_dict
|
||||
Dictionary id_dict
|
||||
|
||||
a aI aU e eI eU i o
|
||||
oI u Y
|
||||
@ a aI aU e E E2 i
|
||||
o O u
|
||||
|
||||
* ** : ; b B c d
|
||||
* : ? 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
|
||||
|
||||
& @- a aI aU e E eI
|
||||
i I o O oU oU2 u W
|
||||
y y# Yy
|
||||
|
||||
* ** : ; b c C d
|
||||
D f g h j J k l
|
||||
l^ m n n^ p Q r R
|
||||
s S t tS ts tz v w
|
||||
x z
|
||||
l# m m# n N n# N# n^
|
||||
n^# p Q r R r# R2 s
|
||||
s2 t T tl# v x z
|
||||
|
||||
|
||||
Dictionary it_dict
|
||||
|
||||
@- a a/ aI aU e E eI
|
||||
i I o O u
|
||||
|
||||
* : ; b d dZ f g
|
||||
h j k l l^ m n N
|
||||
n^ p r R s S t tS
|
||||
ts v w w2 z
|
||||
|
||||
|
||||
Dictionary jbo_dict
|
||||
|
||||
@ a aI aU e eI i l-
|
||||
o oI r- u
|
||||
|
||||
- b d dZ f g h j
|
||||
k l m n N p R s
|
||||
S t tS v w x z Z
|
||||
|
||||
|
||||
Dictionary kn_dict
|
||||
@@ -531,6 +297,52 @@ s. S; t t. th th. tS v
|
||||
w z
|
||||
|
||||
|
||||
Dictionary ku_dict
|
||||
|
||||
8 a e E E# eI eU i
|
||||
I o u U y
|
||||
|
||||
* : b c d dZ f g
|
||||
h j J k l m n p
|
||||
q r R s S t tS v
|
||||
w x z Z
|
||||
|
||||
|
||||
Dictionary la_dict
|
||||
|
||||
@- a a: aI aU E e: EU
|
||||
I i: O o: OI U u: y
|
||||
y:
|
||||
|
||||
* : ; <h> ? b d f
|
||||
g h j k l m n N
|
||||
p r R s t w z
|
||||
|
||||
|
||||
Dictionary lv_dict
|
||||
|
||||
a a: ai au e e: ei i
|
||||
i: ie iu o o: u u: ui
|
||||
uo
|
||||
|
||||
: b c d dZ f g h
|
||||
j J k l l^ m n N
|
||||
n^ p r R R2 s S t
|
||||
tS ts v z Z
|
||||
|
||||
|
||||
Dictionary mk_dict
|
||||
|
||||
& @ @- @2 a A a: E
|
||||
e e: i I i: l- o o:
|
||||
oU r- u u:
|
||||
|
||||
* b d dZ dz dZ; f g
|
||||
h j k k^ l l^ m n
|
||||
N n^ p r R s S t
|
||||
tS ts tS; v x z Z
|
||||
|
||||
|
||||
Dictionary ml_dict
|
||||
|
||||
a a: aI aU e E e: i
|
||||
@@ -570,6 +382,30 @@ s S s. t T t. th v
|
||||
w x z z.
|
||||
|
||||
|
||||
Dictionary nl_dict
|
||||
|
||||
8 @ @- A a: E e: EI
|
||||
eU i I O O: o: u VU
|
||||
Wy y Y: yU
|
||||
|
||||
* : ; b C d f g
|
||||
h j k l m n N n^
|
||||
p Q r s S t tS v
|
||||
v2 w x z
|
||||
|
||||
|
||||
Dictionary no_dict
|
||||
|
||||
@ @2 a A a: A: AI aI
|
||||
aU E E: e: I i: O o:
|
||||
OI U u- u-: u-I u: W y
|
||||
y: Y: Yy
|
||||
|
||||
: ; b d f g h j
|
||||
k l m n N p r R
|
||||
s S s; t v w x z
|
||||
|
||||
|
||||
Dictionary pap_dict
|
||||
|
||||
a a/ aI e E eI i o
|
||||
@@ -581,6 +417,82 @@ R s S t tS v w x
|
||||
z Z
|
||||
|
||||
|
||||
Dictionary pa_dict
|
||||
|
||||
@ a a~ e E e~ E~ i
|
||||
I i~ I~ o O O~ o~ r-
|
||||
U u u~ U~ V V~
|
||||
|
||||
: ; b bh c ch d d.
|
||||
dh dh. f g gh h H j
|
||||
J Jh k kh l l. m n
|
||||
N n. n^ p ph Q R R2
|
||||
s S t t. th th. v x
|
||||
z
|
||||
|
||||
|
||||
Dictionary pl_dict
|
||||
|
||||
a E E# E~ i O O~ u
|
||||
y
|
||||
|
||||
: ; b c C d d; dZ
|
||||
dz dz; f g h j k l
|
||||
m n N n^ p r R s
|
||||
S s; S; t t; tS ts ts;
|
||||
tS; v w x z Z Z;
|
||||
|
||||
|
||||
Dictionary prs_dict
|
||||
|
||||
@ A i o
|
||||
|
||||
b d h l t X
|
||||
|
||||
|
||||
Dictionary pt_dict
|
||||
|
||||
& &/ &U~ &~ @ @- a A
|
||||
aI aU e E eI EI eU EU
|
||||
i I i/ iU o O oI OI
|
||||
o~ u U uI u~ y
|
||||
|
||||
* : ; b C d dZ f
|
||||
g h j k l l^ m n
|
||||
N n^ p Q r R r- s
|
||||
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
|
||||
E3 i I I# I2 I3 I^ ja
|
||||
ju o O u u" u# V V#
|
||||
y Y
|
||||
|
||||
* ; b d d; dZ; f g
|
||||
j k l l^ m m; n n^
|
||||
p r R s S s; S; t
|
||||
t; ts ts; tS; v x z Z
|
||||
z; Z;
|
||||
|
||||
|
||||
Dictionary rw_dict
|
||||
|
||||
a e i o u
|
||||
@@ -591,21 +503,110 @@ N n^ p q R s S S;
|
||||
t tS v w x z
|
||||
|
||||
|
||||
Dictionary pa_dict
|
||||
Dictionary sk_dict
|
||||
|
||||
@ a a~ e E e~ E~ i
|
||||
I i~ I~ o O O~ o~ r-
|
||||
U u u~ U~ V V~
|
||||
& @- a a: e e: i i:
|
||||
l- l: o o: oU r- r: u
|
||||
u:
|
||||
|
||||
: ; b bh c ch d d.
|
||||
dh dh. f g gh H j J
|
||||
Jh k kh l l. m n N
|
||||
n. n^ p ph Q R s S
|
||||
t t. th th. v x z
|
||||
* ; b d d; dZ dz f
|
||||
g h j k l l^ m n
|
||||
N n^ p r R R^ R^/ s
|
||||
S t t; tS ts v x z
|
||||
Z
|
||||
|
||||
|
||||
Dictionary prs_dict
|
||||
Dictionary sq_dict
|
||||
|
||||
@ A i o
|
||||
@ @/ a A a/ aI E e
|
||||
eI i I I# O OI u V
|
||||
y yE
|
||||
|
||||
b d h l t X
|
||||
** : ; b c d D dZ
|
||||
dz dZ; f g h j k l
|
||||
L ll m n n^ p r R
|
||||
R2 s S t T tS ts v
|
||||
w z Z
|
||||
|
||||
|
||||
Dictionary sv_dict
|
||||
|
||||
8 @ a a2 A: E E- e:
|
||||
E: I i: O o: U u- u:
|
||||
W y y: Y:
|
||||
|
||||
: ; b d f g h j
|
||||
k l m n N p R s
|
||||
S s. S; sx t v w z
|
||||
|
||||
|
||||
Dictionary sw_dict
|
||||
|
||||
@- a a/ e i m- n- N-
|
||||
o u
|
||||
|
||||
* : b d D f g h
|
||||
j J k l m n N n^
|
||||
p Q R s S t T tS
|
||||
v w x z
|
||||
|
||||
|
||||
Dictionary ta_dict
|
||||
|
||||
a a: aI aU e E e: i
|
||||
I i: o o: U u u: V
|
||||
|
||||
: ; b C d d. dZ f
|
||||
g h H j k l l. m
|
||||
n N n. n^ p r R s
|
||||
S s. t t. th tS v w
|
||||
z z.
|
||||
|
||||
|
||||
Dictionary tr_dict
|
||||
|
||||
a e E i I o O u
|
||||
U u# W y Y
|
||||
|
||||
* : b c d dZ f g
|
||||
h j J k l m n p
|
||||
Q r R s S t tS v
|
||||
w z Z
|
||||
|
||||
|
||||
Dictionary vi_dict
|
||||
|
||||
@ @: @:I @:U @I @U a a:
|
||||
a:I a:U aI aU E e eU EU
|
||||
i i@ iU O o OI oI u
|
||||
u@ uI y y@ yI
|
||||
|
||||
b c d D f g h j
|
||||
J k kh l m n N n^
|
||||
p Q r s s. t t[ ts;
|
||||
tS; v w x z Z z.
|
||||
|
||||
|
||||
Dictionary zh_dict
|
||||
|
||||
@ @r a A ai Au E ei
|
||||
i i. i[ iA iE io iou N-
|
||||
o o- ong ou u u@ ua uai
|
||||
uei uo y y& y@ yE yi yu
|
||||
|
||||
(u) ; C f h j k kh
|
||||
l L m n N p ph q
|
||||
r s s. S; t th ts ts.
|
||||
ts. tS; tS; tsh v w x X
|
||||
z.
|
||||
|
||||
|
||||
Dictionary zhy_dict
|
||||
|
||||
a aa aai aan aau ai au e
|
||||
ei eo eoi eu i iu o oe
|
||||
oi ong ou u ui yu
|
||||
|
||||
b c d f g h j k
|
||||
l m n N p r s t
|
||||
tS v w z
|
||||
|
||||
+7
-6
@@ -98,6 +98,7 @@ _?A l,Et3
|
||||
_?? sImb@L
|
||||
_#9 tab
|
||||
_#32 speIs
|
||||
… _::d%0td,0t // for elipsis or ... while reading
|
||||
|
||||
_ hA@dspeIs // U+00A0 no-break-space
|
||||
_! Ekskl@m'eIS@n
|
||||
@@ -436,7 +437,7 @@ abstract a2bstr'akt $verb
|
||||
academe a2kad@mI
|
||||
access aksEs $onlys
|
||||
access aksEs $verb
|
||||
accouche a2ku:S
|
||||
accouchement a2ku:SmO~
|
||||
acer eIs3
|
||||
aces eIsI2z
|
||||
acetylene a2sEt@li:n
|
||||
@@ -1519,6 +1520,8 @@ motif moUt'i:f
|
||||
moustache m@st'aaS
|
||||
mouths maUDz $only
|
||||
movies mu:vI2z
|
||||
multitude $1
|
||||
multiplexer $1
|
||||
mundane $2
|
||||
murmur m3:m3
|
||||
?5 murmur mVRm3
|
||||
@@ -1553,7 +1556,7 @@ nobody 'noUb0dI
|
||||
nocturnal $2
|
||||
nomenclature n@mENkl@tS3
|
||||
nonsense n0ns@ns
|
||||
nonetheless n0nD@l'Es
|
||||
nonetheless nVnD@l'Es
|
||||
nosedive noUzdaIv
|
||||
not noUt // for noted, notable, etc
|
||||
nott n0t
|
||||
@@ -1655,6 +1658,7 @@ pasting peIstI2N
|
||||
pastry peIstrI
|
||||
pate pateI
|
||||
pathos peIT0s
|
||||
paypal peIpal
|
||||
pear pe@
|
||||
peculiar pI2kju:lI3
|
||||
pedalo pEd@loU
|
||||
@@ -2609,8 +2613,6 @@ Graeme greI@m
|
||||
Graham greI@m
|
||||
Hadrian heIdri:@n
|
||||
Harriet hari@t
|
||||
Hugh hju:
|
||||
Hughes hju:z
|
||||
Huw hju:
|
||||
Iain i:@n
|
||||
Ian i:@n
|
||||
@@ -3045,7 +3047,7 @@ your jO@ $u $nounf $only
|
||||
their De@ $u $nounf $only
|
||||
theirs De@z
|
||||
|
||||
none n0n
|
||||
none nVn
|
||||
noone noUw0n
|
||||
anyone EnIw0n
|
||||
everyone EvrIw0n
|
||||
@@ -3192,7 +3194,6 @@ like laIk $strend2
|
||||
?3 err e@
|
||||
?3 fortune fO@tS@n
|
||||
?3 garage ga2rA:Z
|
||||
?3 happy hapi:
|
||||
?3 herb 3:b
|
||||
?3 hurricane h3:@keIn
|
||||
?3 investigative Inv,EstI2g'eItIv
|
||||
|
||||
+17
-7
@@ -878,8 +878,9 @@
|
||||
ch) ar (it ar
|
||||
ph) ar (i ar
|
||||
m) ar (i @r
|
||||
m) ar (ig ar
|
||||
m) ar (inaC ar
|
||||
_m) ar (i ar
|
||||
m) ar (in @r
|
||||
_m) ar (inaC ar
|
||||
m) ar (iner ar
|
||||
m) ar (io ar
|
||||
htm) ar e@
|
||||
@@ -892,7 +893,7 @@
|
||||
&) ar (in_ @r
|
||||
v) ar (iA e@r
|
||||
@) ar (ity ar
|
||||
ar (iu 'e@r
|
||||
ar (iu+ 'e@r
|
||||
arom (at a2roUm
|
||||
arre (_ A@
|
||||
arred (_ A@d
|
||||
@@ -1286,6 +1287,7 @@
|
||||
ch (é+ S
|
||||
ch (ef S
|
||||
ch (em k
|
||||
chement (_ =SmO~
|
||||
ch (ev S
|
||||
chez SeI
|
||||
Ca) ch (e S
|
||||
@@ -2016,6 +2018,7 @@
|
||||
en (core 0n
|
||||
&) ency (_ @ns%I
|
||||
ency (cli %EnsI
|
||||
en (dA_ 'En
|
||||
_) en (d En
|
||||
_) en (da %En
|
||||
eg) en (d @n
|
||||
@@ -2786,7 +2789,7 @@
|
||||
p) ie (_ aI
|
||||
pp) ie (_ I
|
||||
ie (f i:
|
||||
iege i:dZ
|
||||
ieg (e# i:dZ
|
||||
ie (go I'eI
|
||||
ieh (C i:
|
||||
iei (_ i:aI
|
||||
@@ -2820,7 +2823,7 @@
|
||||
ie (t aI@
|
||||
@) ie (th i@
|
||||
iesta i:'Est@
|
||||
iette I2'Et
|
||||
ie (tt I2'E
|
||||
@) iety 'aI@t%I
|
||||
l) ieu u:
|
||||
l) ieu (te %Ef
|
||||
@@ -3356,6 +3359,7 @@
|
||||
@) most(_S4 moUst
|
||||
&) mouth (_ m@T
|
||||
_) multi mVltI
|
||||
_) multi (@@P5 m,VltI
|
||||
|
||||
.group mi
|
||||
millen mI2lEn
|
||||
@@ -3483,7 +3487,7 @@
|
||||
oa oU
|
||||
oar (_ o@
|
||||
oar o@
|
||||
o (atia oU
|
||||
cr) o (at oU
|
||||
br) oa (d O:
|
||||
o (ba oU
|
||||
t) o (bacc @
|
||||
@@ -3894,6 +3898,7 @@
|
||||
@) or (ic_ '0r
|
||||
or (ig 0r
|
||||
&) ored (_ @d
|
||||
h) ored (_S1 d
|
||||
_f) ore (C O@
|
||||
f) ore (clo %o@
|
||||
f) ore (st 0rI
|
||||
@@ -4619,6 +4624,7 @@
|
||||
_ca) su Zu:
|
||||
_) sus (A su:z
|
||||
su (al Zu:
|
||||
n) su (al sju:
|
||||
_) su (b sV
|
||||
su (bdue s%V
|
||||
su (bmerg s@
|
||||
@@ -4704,6 +4710,7 @@
|
||||
tsch tS
|
||||
_) two tu:
|
||||
ttu (r t@
|
||||
@) tu (al tSu:
|
||||
@) tu (late =tSU
|
||||
@) tur (A tS@r
|
||||
@) tur (al_ tS=@r
|
||||
@@ -4817,6 +4824,7 @@
|
||||
f) u (gal 'ju:
|
||||
ug (er_ u:g
|
||||
s) ugge (st @dZE
|
||||
h) ugh ju:
|
||||
mp) ug (n ju:
|
||||
uh (C u:
|
||||
u (i ju:
|
||||
@@ -4847,6 +4855,7 @@
|
||||
_f) ully UlI
|
||||
f) ull Ul
|
||||
p) ull Ul
|
||||
_) ultra (@ ,Ultra
|
||||
u (ly u:
|
||||
d) u (ly ju:
|
||||
u (lul V
|
||||
@@ -4859,8 +4868,8 @@
|
||||
uoy OI
|
||||
_) us (_ Vz
|
||||
_) us (A ju:z
|
||||
usu (al ju:Zu:
|
||||
&) us (_ @s
|
||||
usua (l ju:Zu:
|
||||
u (sh V
|
||||
b) u (sh U
|
||||
c) u (sh U
|
||||
@@ -5246,6 +5255,7 @@
|
||||
En (_ @n
|
||||
?8 En (_ En
|
||||
En (atA @n
|
||||
En (dA_ 'En
|
||||
E (ndous E
|
||||
Ener (_ _n@
|
||||
Ening (_ _nI2N
|
||||
|
||||
+8
-9
@@ -24,7 +24,7 @@
|
||||
|
||||
// 2006-11-18 Gilles Casse <gcasse@oralux.org>
|
||||
//
|
||||
// Updated 2009-10-09 Michel Such <michel.such@free.fr>
|
||||
// Updated 2009-10-26 Michel Such <michel.such@free.fr>
|
||||
//
|
||||
// * Numbers, a few abbreviations and exceptions.
|
||||
//
|
||||
@@ -364,10 +364,11 @@ afin afE~ $u+ $brk
|
||||
avant $u+
|
||||
après $u+
|
||||
(temps en temps) tA~zA~tA~
|
||||
alors alOr $u+
|
||||
depuis $u+
|
||||
ainsi $u+
|
||||
alors alOr $u+
|
||||
aussi $u+
|
||||
encore $u+
|
||||
depuis $u+
|
||||
|
||||
|
||||
certes $u+
|
||||
@@ -571,11 +572,8 @@ quelques kElk=@z2 $u+
|
||||
tel $u+
|
||||
telle $u+
|
||||
telles $u+
|
||||
tout t'ut2 $u+
|
||||
toute t'ut $u+
|
||||
toutes t'utz2 $u+
|
||||
tous $u+
|
||||
rien Ri-'E~n2 $u+
|
||||
tout t'ut2
|
||||
rien Ri-'E~n2
|
||||
|
||||
// Letters which can be words
|
||||
//===========================
|
||||
@@ -632,7 +630,7 @@ anis anis
|
||||
arte arte
|
||||
auvent ovA~
|
||||
beta beta
|
||||
bien bi-E~n2 $u+
|
||||
bien bi-E~n2
|
||||
bis bis
|
||||
bissus bisys
|
||||
blues _^_en
|
||||
@@ -899,3 +897,4 @@ venezuela venezyela
|
||||
wallis wAlis
|
||||
futuna futuna
|
||||
zimbabwe zimbabwe
|
||||
|
||||
|
||||
@@ -1477,3 +1477,4 @@ _r) w (an u // Rwanda
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
+413
-138
@@ -77,36 +77,135 @@ _0M1o EzR2Edik
|
||||
_1M1o EzR2Edik
|
||||
_2M1o ke:tEzR2Edik
|
||||
|
||||
_0-a A
|
||||
_0-i Ei
|
||||
_0-e E
|
||||
_0-án a:n
|
||||
_0-ára a:R2A
|
||||
_0-ére e:R2E
|
||||
_0-ra a:R2A
|
||||
_0-re e:R2E
|
||||
_0-én e:n
|
||||
_0-ai Ai
|
||||
_0-ei Ei
|
||||
(1-e) elseje $text
|
||||
(1-én) elsején $text
|
||||
(1-jén) elsején $text
|
||||
(1-i) elsejei $text
|
||||
(1-ei) elsejei $text
|
||||
(1-ére) elsejére $text
|
||||
(1-re) elsejére $text
|
||||
(2-i) másodikai $text
|
||||
(3-i) harmadikai $text
|
||||
(6-i) hatodikai $text
|
||||
(8-i) nyolcadikai $text
|
||||
(13-i) tizenharmadikai $text
|
||||
(16-i) tizenhatodikai $text
|
||||
(18-i) tizennyolcadikai $text
|
||||
(20-i) huszadikai $text
|
||||
(23-i) huszonharmadikai $text
|
||||
(26-i) huszonhatodikai $text
|
||||
(28-i) huszonnyolcadikai $text
|
||||
(30-i) harmincadikai $text
|
||||
|
||||
// $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.
|
||||
|
||||
(1-e) elseje $text $alt2
|
||||
(1-én) elsején $text $alt2
|
||||
(1-jén) elsején $text $alt2
|
||||
(1-i) elsejei $text $alt2
|
||||
(1-ei) elsejei $text $alt2
|
||||
(1-ére) elsejére $text $alt2
|
||||
(1-re) elsejére $text $alt2
|
||||
(1-től) elsejétől $text $alt2
|
||||
(1-ig) elsejéig $text $alt2
|
||||
|
||||
(2-i) másodikai $text $alt2
|
||||
(2-ig) másodikáig $text $alt2
|
||||
(3-i) hAR2_mAdikAi $alt2
|
||||
(3-ig) harmadikáig $text $alt2
|
||||
(6-i) hAtodikAi $alt2
|
||||
(6-ig) hatodikáig $text $alt2
|
||||
(8-i) n^'oltsAdikAi $alt2
|
||||
(8-ig) nyolcadikáig $text $alt2
|
||||
(13-ig) tizenharmadikáig $text $alt2
|
||||
(16-ig) tizenhatodikáig $text $alt2
|
||||
(18-ig) tizennyolcadikáig $text $alt2
|
||||
(20-i) huszadikai $text $alt2
|
||||
|
||||
(20-ig) huszadikáig $text $alt2
|
||||
(23-ig) huszonharmadikáig $text $alt2
|
||||
(26-ig) huszonhatodikáig $text $alt2
|
||||
(28-ig) huszonnyolcadikáig $text $alt2
|
||||
(30-ig) harmincadikáig $text $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
|
||||
(0-val) nul:a:vAl
|
||||
|
||||
// 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
|
||||
|
||||
(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-at) ha:R2mAt
|
||||
(3-al) ha:R2om:Al
|
||||
|
||||
(4-el) ne:J:El //4 number suffixes (now contains one suffix)
|
||||
(5-tel) Yt:El
|
||||
(5-el) Yt:El
|
||||
(6-al) hAt:Al
|
||||
(6-tal) hAt:Al
|
||||
|
||||
(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
|
||||
|
||||
(10-es) tizES // use [i] not [i:]
|
||||
(10-est) tizESt
|
||||
(10-essel) tizES:El
|
||||
(10-esével) tizESe:vEl
|
||||
|
||||
(20-as) husAS // use [u] not [u:]
|
||||
(20-ast) husASt
|
||||
(20-assal) husAS:Al
|
||||
(20-asával) husASa:vAl
|
||||
|
||||
//special number exceptions
|
||||
(10-el) ti:zzEl
|
||||
(20-al) hu:s:Al
|
||||
(30-al) hAR2mints:Al
|
||||
(40-el) nEJvEn:El
|
||||
(50-el) YtvEn:El
|
||||
(60-al) hAtvAn:Al
|
||||
(70-el) hEtvEn:El
|
||||
(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
|
||||
@@ -126,6 +225,7 @@ december $alt
|
||||
//The following 12 row contains shorter hungarian month names
|
||||
jan $alt
|
||||
feb $alt
|
||||
febr $alt
|
||||
márc $alt
|
||||
ápr $alt
|
||||
máj $alt
|
||||
@@ -172,13 +272,30 @@ _cap n'AJ_|
|
||||
// Abbreviations
|
||||
ÁNTSZ a:Ente:Es $allcaps
|
||||
km kilo:me:tER2
|
||||
GYSEV JESEv $allcaps
|
||||
GYESEV JESEv $allcaps
|
||||
HÉV he:v $allcaps
|
||||
City siti $capital
|
||||
GDP dZi:di:pi: $allcaps
|
||||
HSDPA $abbrev $allcaps
|
||||
ORTT $abbrev $allcaps
|
||||
ORFK oEREfka: $abbrev $allcaps
|
||||
MÁV ma:v $allcaps
|
||||
MTI $abbrev $allcaps
|
||||
mm milime:tER2
|
||||
|
||||
VDSZSZ ve:de:EsEs $allcaps
|
||||
a.m An^n^i||m'int $dot
|
||||
ún u:JnEvEzEt: $dot
|
||||
dr doktoR2 $dot
|
||||
mr mistER2 $dot //in hungarian we not use, but lot of books contains this word.
|
||||
mrs misis $dot //In hungarian we not use, but lot of book contains this word.
|
||||
gpu $abbrev
|
||||
GB gigAba:jt $allcaps
|
||||
MB mEgAba:jt $allcaps
|
||||
OK ok $allcaps
|
||||
mvgyosz Emve:Je:oEs
|
||||
OTP $abbrev
|
||||
OTP o:te:pe: $allcaps
|
||||
id idY:SEb: $dot
|
||||
ill illEtvE $dot
|
||||
ifj ifjAb: $dot
|
||||
@@ -193,24 +310,25 @@ vö v'EZd||_'Yss2E
|
||||
|
||||
|
||||
// Articles
|
||||
a $u // the
|
||||
az $u
|
||||
aki $u+ // that
|
||||
a $u $strend2 // the
|
||||
az $u $strend2
|
||||
//aki $u+ // that
|
||||
|
||||
ez $u+ // this
|
||||
ez $unstressend // this
|
||||
|
||||
|
||||
// Pronouns
|
||||
|
||||
// If these are only used for emphasis then then don't need $u
|
||||
// én $u
|
||||
// te $u
|
||||
// ő $u
|
||||
// mi $u
|
||||
// ti $u
|
||||
// ők $u
|
||||
// maga $u
|
||||
// maguk $u
|
||||
én $unstressend
|
||||
te $unstressend
|
||||
|
||||
ők $unstressend $pause
|
||||
mi $unstressend
|
||||
ti $unstressend
|
||||
ők $unstressend
|
||||
maga $unstressend
|
||||
maguk $unstressend
|
||||
|
||||
|
||||
// Conjunctions
|
||||
@@ -222,7 +340,6 @@ mert $u $pause // because
|
||||
miatt $u // because
|
||||
bár $u $pause // although
|
||||
habár $u $pause // although
|
||||
|
||||
ha $u $pause // if
|
||||
noha $u $pause // even thought
|
||||
|
||||
@@ -231,132 +348,280 @@ noha $u $pause // even thought
|
||||
|
||||
|
||||
// Negative
|
||||
nem $u $combine $strend
|
||||
ne $u+
|
||||
nem $unstressend $combine $strend
|
||||
ne $unstressend
|
||||
|
||||
e $u // "-e" question
|
||||
e $atend // stressed at end of sentence
|
||||
|
||||
// Unstressed adverbs prepositions etc.
|
||||
néhány $u+
|
||||
néhány $unstressend
|
||||
is $u // also
|
||||
|
||||
elöl $u // in front of
|
||||
elől $u
|
||||
elé $u
|
||||
előtt $u
|
||||
elöl $unstressend // in front of
|
||||
elől $unstressend
|
||||
elé $unstressend
|
||||
előtt $unstressend
|
||||
|
||||
mögül $u // behind
|
||||
mögött $u
|
||||
mögé $u
|
||||
mögül $unstressend // behind
|
||||
mögött $unstressend
|
||||
mögé $unstressend
|
||||
|
||||
kívül $u
|
||||
után $u // after
|
||||
kívül $unstressend
|
||||
után $unstressend // after
|
||||
|
||||
alól $u
|
||||
alá $u
|
||||
alatt $u // below
|
||||
alól $unstressend
|
||||
alá $unstressend
|
||||
alatt $unstressend // below
|
||||
|
||||
felől $u // above
|
||||
felé $u
|
||||
fölé $u
|
||||
felett $u // above
|
||||
fölött $u
|
||||
|
||||
mellől $u // besides
|
||||
mellé $u
|
||||
mellett $u
|
||||
|
||||
közül $u
|
||||
közé $u
|
||||
között $u
|
||||
felől $unstressend // above
|
||||
felé $unstressend
|
||||
fölé $unstressend
|
||||
felett $unstressend // above
|
||||
fölött $unstressend
|
||||
|
||||
//mellől $u // besides
|
||||
//mellé $u
|
||||
//mellett $u
|
||||
lett $unstressend
|
||||
ott $unstressend
|
||||
itt $unstressend
|
||||
neked $unstressend
|
||||
nektek $unstressend
|
||||
nekik $unstressend
|
||||
neki $unstressend
|
||||
nekem $unstressend
|
||||
//közül $u
|
||||
//közé $u
|
||||
//között $u
|
||||
an $u // so many persons
|
||||
as $u
|
||||
ba $u // into
|
||||
ban $u // in
|
||||
be $u
|
||||
ben $u
|
||||
ból $u // from inside
|
||||
ből $u
|
||||
ba $unstressend // into
|
||||
ban $unstressend // in
|
||||
be $unstressend
|
||||
ben $unstressend
|
||||
ból $unstressend // from inside
|
||||
ből $unstressend
|
||||
e $u // in query, his/her
|
||||
ei $u // his her multiole
|
||||
en $u
|
||||
es $u
|
||||
hez $u
|
||||
hoz $u // to
|
||||
höz $u
|
||||
ig $u // up to
|
||||
ik $u // -th
|
||||
nak $u // of, him/her
|
||||
nek $u
|
||||
nál $u // by
|
||||
nél $u
|
||||
on $u // on
|
||||
en $u // on
|
||||
hez $unstressend
|
||||
hoz $unstressend // to
|
||||
höz $unstressend
|
||||
ig $unstressend // up to
|
||||
ik $unstressend // -th
|
||||
nak $unstressend // of, him/her
|
||||
nek $unstressend
|
||||
nál $unstressend // by
|
||||
nél $unstressend
|
||||
on $unstressend // on
|
||||
en $unstressend // on
|
||||
os $u
|
||||
ra $u // onto
|
||||
re $u
|
||||
ról $u // from top of, about
|
||||
röl $u
|
||||
ről $u
|
||||
ra $unstressend // onto
|
||||
re $unstressend
|
||||
ról $unstressend // from top of, about
|
||||
röl $unstressend
|
||||
ről $unstressend
|
||||
szer $u
|
||||
szor $u // times
|
||||
szó $unstressend
|
||||
szór $u
|
||||
ször $u
|
||||
tól $u // from
|
||||
töl $u
|
||||
től $u
|
||||
val $u // with
|
||||
vel $u
|
||||
tól $unstressend // from
|
||||
töl $unstressend
|
||||
től $unstressend
|
||||
val $unstressend // with
|
||||
vel $unstressend
|
||||
án $u // on that day
|
||||
é $u // his, her
|
||||
éi $u // his, her multiple
|
||||
én $u
|
||||
én $unstressend
|
||||
ón $u
|
||||
ós $u
|
||||
ön $u
|
||||
ön $unstressend
|
||||
ös $u
|
||||
|
||||
ellen $u // against
|
||||
elé $u // before
|
||||
óta $u // since
|
||||
ellen $unstressend // against
|
||||
//elé $u // before
|
||||
//óta $u // since
|
||||
|
||||
sok $u // many
|
||||
kevés $u // few
|
||||
se $u // neither
|
||||
sem $u // nor
|
||||
sok $unstressend // many
|
||||
kevés $unstressend // few
|
||||
se $unstressend // neither
|
||||
sem $unstressend // nor
|
||||
|
||||
|
||||
be $u //into
|
||||
ki $u // out of
|
||||
le $u // down
|
||||
fel $u // up
|
||||
föl $u // up
|
||||
meg $u // finish an action
|
||||
el $u // away
|
||||
át $u //through
|
||||
rá $u //onto
|
||||
ide $u // here
|
||||
oda $u // there
|
||||
szét $u //apart
|
||||
össze $u //connect with
|
||||
vissza $u //back
|
||||
ellen $u //against
|
||||
be $unstressend //into
|
||||
ki $unstressend // out of
|
||||
le $unstressend // down
|
||||
fel $unstressend // up
|
||||
föl $unstressend // up
|
||||
meg $unstressend // finish an action
|
||||
el $unstressend // away
|
||||
át $unstressend //through
|
||||
rá $unstressend //onto
|
||||
|
||||
volna $u // would
|
||||
részén $u //on ... part of
|
||||
ide $unstressend // here
|
||||
oda $unstressend // there
|
||||
szét $unstressend //apart
|
||||
//össze $u //connect with
|
||||
//vissza $u //back
|
||||
volna $unstressend // would
|
||||
//részén $u //on ... part of
|
||||
|
||||
nélkül $u // without
|
||||
folytán $u // because of
|
||||
úgy $u // like that
|
||||
így $u // like this
|
||||
egyaránt $u // alike
|
||||
minden $u // all
|
||||
részben $u // partly
|
||||
nélkül $unstressend // without
|
||||
//folytán $u // because of
|
||||
úgy $unstressend // like that
|
||||
így $unstressend // like this
|
||||
egyaránt $unstressend // alike
|
||||
//minden $strend // all
|
||||
mindent $strend
|
||||
//részben $u // partly
|
||||
|
||||
egyik $u // one of
|
||||
másik $u // the other
|
||||
egyik $unstressend // one of
|
||||
//másik $u // the other
|
||||
lehet $unstressend
|
||||
rossz $unstressend
|
||||
jó $unstressend
|
||||
jót $unstressend
|
||||
kér $unstressend
|
||||
tartják $unstressend
|
||||
erős $unstressend
|
||||
lennie $unstressend
|
||||
közt $u+
|
||||
levegőjére $unstressend
|
||||
ad $unstressend
|
||||
kapják $unstressend
|
||||
kap $unstressend
|
||||
már $unstressend
|
||||
maradt $unstressend
|
||||
jobb $unstressend
|
||||
most $unstressend
|
||||
még $unstressend
|
||||
gép $unstressend
|
||||
részt $unstressend
|
||||
lenne $unstressend
|
||||
őt $unstressend
|
||||
helyes $u+
|
||||
fák $unstressend
|
||||
et $unstressend
|
||||
megvédeni $unstressend
|
||||
sztrájk $unstressend
|
||||
hír $unstressend
|
||||
magukat $unstressend
|
||||
majd $unstressend
|
||||
áll $unstressend
|
||||
állt $unstressend
|
||||
arról $unstressend
|
||||
innen $unstressend
|
||||
érjen $unstressend
|
||||
nap $unstressend
|
||||
név $unstressend
|
||||
lány $unstressend
|
||||
lányt $unstressend
|
||||
vár $unstressend
|
||||
várt $unstressend
|
||||
ért $unstressend
|
||||
ér $unstressend
|
||||
tag $unstressend
|
||||
tesz $unstressend
|
||||
tett $unstressend
|
||||
tette $unstressend
|
||||
baj $unstressend
|
||||
csak $unstressend
|
||||
vált $unstressend
|
||||
jut $unstressend
|
||||
legyen $unstressend
|
||||
azt $unstressend
|
||||
ezt $unstressend
|
||||
út $unstressend
|
||||
tiszt $unstressend
|
||||
vesz $unstressend
|
||||
cég $unstressend
|
||||
járt $unstressend
|
||||
jár $unstressend
|
||||
él $unstressend
|
||||
élsz $unstressend
|
||||
élt $unstressend
|
||||
hát $unstressend
|
||||
fiú $unstressend
|
||||
srác $unstressend
|
||||
ült $unstressend
|
||||
ám $unstressend
|
||||
rám $unstressend
|
||||
tűnik $unstressend
|
||||
nyújt $unstressend
|
||||
nincsen $unstressend
|
||||
mégy $unstressend
|
||||
nő $unstressend
|
||||
nőt $unstressend
|
||||
sas $unstressend
|
||||
sast $unstressend
|
||||
fél $unstressend
|
||||
félt $unstressend
|
||||
félsz $unstressend
|
||||
düh $unstressend
|
||||
más $unstressend
|
||||
mást $unstressend
|
||||
rúd $unstressend
|
||||
mint $unstressend $brk $combine
|
||||
iránt $unstressend
|
||||
légy $unstressend
|
||||
tűnt $unstressend
|
||||
ösét $unstressend
|
||||
új $unstressend
|
||||
nyúlt $unstressend
|
||||
magát $unstressend
|
||||
engem $unstressend
|
||||
téged $unstressend
|
||||
minket $unstressend
|
||||
titeket $unstressend
|
||||
őket $unstressend
|
||||
cikk $unstressend
|
||||
vont $unstressend
|
||||
mond $unstressend
|
||||
jutni $unstressend
|
||||
jött $unstressend
|
||||
szólsz $unstressend
|
||||
lőtt $unstressend
|
||||
sor $unstressend
|
||||
árt $unstressend
|
||||
fest $unstressend
|
||||
fújt $unstressend
|
||||
kért $unstressend
|
||||
tét $unstressend
|
||||
kém $unstressend
|
||||
jön $unstressend
|
||||
bent $unstressend
|
||||
kezd $unstressend
|
||||
ránk $unstressend
|
||||
gondolt $unstressend
|
||||
dönt $unstressend
|
||||
véli $unstressend
|
||||
folyt $unstressend
|
||||
döntött $unstressend
|
||||
fájt $unstressend
|
||||
hozni $unstressend
|
||||
lát $unstressend
|
||||
kép $unstressend
|
||||
nyert $unstressend
|
||||
függ $unstressend
|
||||
hidd $unstressend
|
||||
megy $unstressend
|
||||
hírt $unstressend
|
||||
hely $unstressend
|
||||
jutott $unstressend
|
||||
mit $unstressend
|
||||
forrás $unstressend
|
||||
terv $unstressend
|
||||
mind $unstressend
|
||||
ment $unstressend
|
||||
jól $unstressend
|
||||
napját $unstressend
|
||||
több $unstressend
|
||||
tart $unstressend
|
||||
hág $unstressend
|
||||
|
||||
|
||||
// word pairs
|
||||
@@ -390,7 +655,7 @@ lesztek $u
|
||||
lesznek $u
|
||||
|
||||
|
||||
kell $u+ // should
|
||||
kell $unstressend // should
|
||||
|
||||
szabad $u+ // can (allowed)
|
||||
|
||||
@@ -458,7 +723,9 @@ ny En^
|
||||
ø $accent
|
||||
ß _^_DE
|
||||
|
||||
. pont $max3
|
||||
… _p%ontp%ontp%ont // 3 or more dots are changed to elipsis
|
||||
. p%ont $max3
|
||||
_. pont
|
||||
* tSillAg $max3
|
||||
% sa:zAle:k $max3
|
||||
+ plus $max3
|
||||
@@ -493,7 +760,8 @@ _[ n^'ito:sYglEtES $max3
|
||||
_] z'a:R2o:sYglEtES $max3
|
||||
_{ k'EzdY:kAptSoS $max3
|
||||
_} v'e:gkAptSoS $max3
|
||||
_… pontpontpont $max3
|
||||
_… pontpontpont
|
||||
|
||||
_• di:spont
|
||||
_| fyg:Y:lEgESvonAl
|
||||
_> nAJob
|
||||
@@ -515,5 +783,12 @@ egyezség eggyesség
|
||||
|
||||
|
||||
(Szvsz) eszvéesz
|
||||
(edik szeptember) szeptember
|
||||
(CD-k) cédék
|
||||
(cd-k) cédék
|
||||
(CD-n) cédén
|
||||
(cd-n) cédén
|
||||
(cd-d) cédéd
|
||||
(CD-d) cédéd
|
||||
(db-os) darabos
|
||||
(db-ot) darabot
|
||||
|
||||
|
||||
+118
-37
@@ -1,4 +1,3 @@
|
||||
|
||||
// Hungarian translation rules
|
||||
// This file is UTF-8 encoded
|
||||
|
||||
@@ -9,10 +8,13 @@
|
||||
û ű
|
||||
|
||||
|
||||
|
||||
.group a
|
||||
a A
|
||||
_) a (_ %A
|
||||
_) alattvaló _!'AlAtvAlo:
|
||||
D00_-) al (_ zAl // double z for 100-al
|
||||
000_-) al (_ Al // ... but not 1000-al
|
||||
_) alattvaló AlAtvAlo:
|
||||
|
||||
.group á
|
||||
á a:
|
||||
@@ -26,7 +28,7 @@
|
||||
@) ban (_S3 bAn
|
||||
@) ben (_S3 bEn
|
||||
|
||||
biz (A b'iz, // bizalmas etc.
|
||||
biz (A biz, // bizalmas etc.
|
||||
biedermeier bi:dER2ma:jER2
|
||||
|
||||
.group c
|
||||
@@ -35,8 +37,8 @@
|
||||
cs tS
|
||||
ccs tS:
|
||||
!) cz ts // in names which start with a capital letter
|
||||
ar) csz (e ts
|
||||
harmin) c ts
|
||||
csz ts|s
|
||||
ar) c (cson ts
|
||||
anar) ch (i C
|
||||
balda) ch (in C
|
||||
hierar) ch (i C
|
||||
@@ -51,28 +53,19 @@ hierar) ch (i C
|
||||
szé) ch tS
|
||||
_zi) ch (y tS
|
||||
|
||||
c (szín tS
|
||||
|
||||
dA) c (sz ts
|
||||
kilen) c (sz ts
|
||||
kvar) c (sz ts
|
||||
mala) c (sá ts
|
||||
nyol) c (sz ts
|
||||
har) c (sz ts
|
||||
lán) c (sz ts
|
||||
pá) c (só ts
|
||||
per) c (sz ts
|
||||
pol) c (so ts
|
||||
por) c (sé ts
|
||||
por) c (sz ts
|
||||
rán) c (sz ts
|
||||
tán) c (sz ts
|
||||
|
||||
_szé) che (ny tSe:
|
||||
_szé) ché (ny tSe:
|
||||
_sto) ck (holm k
|
||||
|
||||
har) c (csoport ts
|
||||
_) church tSYR2tS
|
||||
lán) c (cs ts
|
||||
|
||||
.group d
|
||||
d d
|
||||
@@ -85,15 +78,28 @@ hierar) ch (i C
|
||||
beszé) d (szin d
|
||||
cselé) d d
|
||||
fogó) dz (kod ts
|
||||
fogó) dz (ó z
|
||||
fenyegető) dz z
|
||||
föl) d (sánc d
|
||||
ha) dd (_S2 d
|
||||
ha) d (járat d
|
||||
ha) d (sor d
|
||||
hor) d (szék d
|
||||
máso) d (sor d
|
||||
akaró) dz z
|
||||
hallgató) dz z
|
||||
húzó) dz ts
|
||||
harapó) dz z
|
||||
himbáló) dz z
|
||||
lopó) dz z
|
||||
tapogató) dz z
|
||||
villó) dz z
|
||||
e) dz (ő dz
|
||||
e) dz (és dz
|
||||
|
||||
pa) d (sor d
|
||||
ren) d (sza d
|
||||
|
||||
va) d (sző d
|
||||
kére) dz ts
|
||||
mentegető) dz z
|
||||
@@ -107,6 +113,7 @@ mentegető) dz z
|
||||
dsz ts
|
||||
dsz (C ts
|
||||
dsz (a ds
|
||||
dsz (á ds
|
||||
a) dsz (A ts:
|
||||
e) dsz (A ts:
|
||||
o) dsz (A ts:
|
||||
@@ -127,9 +134,10 @@ mentegető) dz z
|
||||
|
||||
.group e
|
||||
e E
|
||||
000_-) el (_ REl // double R for 1000-el
|
||||
000000_-) el (_ El // ... but not 1000000-el
|
||||
|
||||
D_-_) es (_ %ES
|
||||
_) egyezség _!'EJ:ESSe:g
|
||||
_) egyezség EJ:ESSe:g
|
||||
|
||||
.group é
|
||||
é e:
|
||||
@@ -145,6 +153,7 @@ mentegető) dz z
|
||||
f f
|
||||
|
||||
|
||||
|
||||
.group g
|
||||
g g
|
||||
gg g:
|
||||
@@ -165,19 +174,24 @@ mentegető) dz z
|
||||
_e) gy (ik J:
|
||||
_e) gy (üt J:
|
||||
e) gyj (elentésű Jj
|
||||
lá) gy (sá J
|
||||
gyön) gy (sor J
|
||||
_minde) gy (ik J:
|
||||
|
||||
na) gysz (a Js
|
||||
|
||||
na) gy (sokára J
|
||||
na) gy (siet J
|
||||
_) goethe gY:tE
|
||||
_) goethé gY:te:
|
||||
me) g (gy g
|
||||
le) g (gy g
|
||||
orszá) g (gyűlés g
|
||||
ú) gy (se J
|
||||
seho) gy (se J
|
||||
|
||||
.group h
|
||||
h h
|
||||
hertz hER2ts
|
||||
|
||||
.group i
|
||||
i i
|
||||
@@ -190,6 +204,8 @@ _minde) gy (ik J:
|
||||
íts i:tS:
|
||||
fesz) ítsd i:tSd
|
||||
ford) ítsd i:tSd
|
||||
szól) ítsd i:tSd
|
||||
áll) ítsd i:tSd
|
||||
semmis) ítsd i:tSd
|
||||
bizony) ítsd i:tSd
|
||||
|
||||
@@ -216,13 +232,22 @@ bizony) ítsd i:tSd
|
||||
|
||||
.group l
|
||||
l l
|
||||
fe) l (ju l
|
||||
fe) l (jö l
|
||||
fe) l (jegy l
|
||||
fe) l (jelen l
|
||||
|
||||
e) l (jö l
|
||||
|
||||
lj l^j
|
||||
cé) l (já jj
|
||||
|
||||
ly j
|
||||
lly jj
|
||||
|
||||
A) lj (A l^j
|
||||
e) l (jut l
|
||||
e) l (jus l
|
||||
|
||||
á) ll (j j
|
||||
beszé) lj jj
|
||||
bére) lj jj
|
||||
@@ -240,9 +265,10 @@ szamue) ly lli
|
||||
mi) ll (i l
|
||||
|
||||
|
||||
|
||||
|
||||
.group m
|
||||
m m
|
||||
|
||||
ko) mm (uni m
|
||||
|
||||
|
||||
@@ -257,9 +283,17 @@ szamue) ly lli
|
||||
nj n^n^
|
||||
nyj n^n^
|
||||
|
||||
_) nem (- n,Em // has $combine attribute in hu_list, combine with the next word
|
||||
_) nem (- nEm // has $combine attribute in hu_list, combine with the next word
|
||||
me) nny (ország n^
|
||||
me) nny (d n^
|
||||
me) nny (k n^
|
||||
pihe) nj (_S2 n^
|
||||
főbe) n (jár n
|
||||
szí) n (játék n
|
||||
ingye) n n
|
||||
|
||||
|
||||
sze) nny (víz n^
|
||||
ajá) nlj j:
|
||||
|
||||
|
||||
@@ -267,7 +301,7 @@ szamue) ly lli
|
||||
o o
|
||||
|
||||
_r) oose (velt u:z
|
||||
_) otthon othon
|
||||
otthon othon
|
||||
|
||||
.group ó
|
||||
ó o:
|
||||
@@ -307,7 +341,7 @@ szamue) ly lli
|
||||
ssz ss2
|
||||
szts stS:
|
||||
sztsze stsE
|
||||
|
||||
sztsza stsA
|
||||
föld) s (ánc S
|
||||
s (színű S
|
||||
hel) s (inki z
|
||||
@@ -338,7 +372,8 @@ liszte) szs (ák SZ
|
||||
rend) sz (er s:
|
||||
robbaná) s S
|
||||
robbaná) ss S:
|
||||
|
||||
ejtőernyő) ssz S|s
|
||||
krumpli) s (zsák S
|
||||
|
||||
.group t
|
||||
|
||||
@@ -348,10 +383,13 @@ robbaná) ss S:
|
||||
tc ts:
|
||||
tt t:
|
||||
ttk t:k
|
||||
tth t:h
|
||||
@) tól (_S3q to:l
|
||||
@) től (_S3q tY:l
|
||||
tt (C tt
|
||||
ttn t:n
|
||||
ttm t:m
|
||||
ttl t:l
|
||||
ttr t:R2
|
||||
ty c
|
||||
// s) ty c: //
|
||||
@@ -363,6 +401,8 @@ robbaná) ss S:
|
||||
apá) ts (ág tS:
|
||||
becsüle) t t
|
||||
becsüle) tt t:
|
||||
bizo) ts (ág tS:
|
||||
csapa) t (jel t
|
||||
cson) t t
|
||||
cson) tt t:
|
||||
cson) tj c
|
||||
@@ -370,32 +410,55 @@ becsüle) tt t:
|
||||
ezüs) tt t:
|
||||
éle) t t
|
||||
éle) tt t:
|
||||
fron) t (szolgál t
|
||||
gyapo) t t
|
||||
gyapo) tt t:
|
||||
gondola) t (sor t
|
||||
gráni) t t
|
||||
gráni) tt t:
|
||||
já) tsz ts:
|
||||
já) tssz ts:
|
||||
tsz ts:
|
||||
já) tsz (m ts
|
||||
tsz (_S3 ts:
|
||||
tsz (é ts:
|
||||
tsz (o ts:
|
||||
tsz (ő ts:
|
||||
tszó (_S4 ts:o:
|
||||
tsz (a t|s
|
||||
tsz (e t|s
|
||||
tsz (á t|s
|
||||
me) tsz (et ts:
|
||||
ada) t t
|
||||
ada) tt t:
|
||||
ké) t (sarok t
|
||||
ké) t (sor t
|
||||
ké) t (sáv t
|
||||
ké) tsz (er ts:
|
||||
ö) tsz (ör ts:
|
||||
hé) tsz (er ts:
|
||||
kegyele) t t
|
||||
kegyele) tt t:
|
||||
korán) t (se t
|
||||
szorí) ts (a tS:
|
||||
sie) ts tS:
|
||||
üzle) tt t:
|
||||
üzle) tj c:
|
||||
ürí) ts (e tS:
|
||||
mula) ts tS:
|
||||
nemze) ts tS:
|
||||
nemze) t (szo t
|
||||
néme) ts (ég tS:
|
||||
min) t t
|
||||
tse tSE
|
||||
tso tSo
|
||||
ttsá tS:a:
|
||||
tsa tSA
|
||||
tsá tSa:
|
||||
ts (a tS
|
||||
ts (á tS
|
||||
ts (e tS
|
||||
ts (é tS
|
||||
ts (o tS
|
||||
ts (u tS
|
||||
tsd tSd
|
||||
tsé tSe:
|
||||
t (cs t
|
||||
ttsé tS:e:
|
||||
tsu tSu
|
||||
tts (á tS:
|
||||
tts (é tS:
|
||||
tsö tSY
|
||||
j) ts tS
|
||||
C) tj c
|
||||
@@ -429,12 +492,14 @@ folyama) t (jel t
|
||||
kür) t t
|
||||
kür) tj c
|
||||
kür) t (jel t
|
||||
kür) t (szó t
|
||||
küldö) ttj c:
|
||||
neve) ts (ég tS:
|
||||
o) tt t:
|
||||
szen) t (szék t
|
||||
szé) t t
|
||||
szé) tt t:
|
||||
szé) tszé t|se:
|
||||
szöve) ts (ég tS:
|
||||
söté) ts (ég tS:
|
||||
sajá) ts (ág tS:
|
||||
@@ -451,6 +516,7 @@ folyama) t (jel t
|
||||
lehe) ts (ég tS:
|
||||
tehe) ts (ég tS:
|
||||
lá) tsz ts:
|
||||
te) tsz ts:
|
||||
lá) t (sze t
|
||||
fize) ts (ég tS:
|
||||
segí) ts tS:
|
||||
@@ -462,7 +528,14 @@ ismere) ts (ég tS:
|
||||
ha) t (száz t
|
||||
hé) t (száz t
|
||||
vé) ts (ég tS:
|
||||
|
||||
vona) t (jegy t
|
||||
tesz) t (sor t
|
||||
tes) t (sér t
|
||||
fron) t (jár t
|
||||
á) t (söpör t
|
||||
ala) tt (jár t:
|
||||
fri) tz ts:
|
||||
fű) ts tS:
|
||||
|
||||
|
||||
.group u
|
||||
@@ -474,6 +547,8 @@ ismere) ts (ég tS:
|
||||
.group ü
|
||||
ü y
|
||||
ütt yt:
|
||||
ütty yc:
|
||||
|
||||
|
||||
.group ű
|
||||
ű y:
|
||||
@@ -497,6 +572,7 @@ ismere) ts (ég tS:
|
||||
|
||||
.group z
|
||||
z z
|
||||
|
||||
zs Z
|
||||
zzs Z:
|
||||
a) z (t s
|
||||
@@ -519,7 +595,8 @@ lefeje) z (ték s
|
||||
ré) z (sz z
|
||||
tartó) z s
|
||||
gá) z (sz z
|
||||
gé) z (sz z
|
||||
gá) z (cső z
|
||||
gé) z (sz z
|
||||
|
||||
ké) z (sz zz
|
||||
há) z (so z
|
||||
@@ -545,16 +622,20 @@ lefeje) z (ték s
|
||||
_gá) zsz (ámla zs:
|
||||
_gá) zsz (ámlá zs:
|
||||
_ré) zs (ó zS
|
||||
ő) zs (uta zS
|
||||
_vá) zs (or zS
|
||||
_szára) zs (ág SS
|
||||
|
||||
_nehé) zs (ely zS
|
||||
|
||||
_) zürich tsyR2iC
|
||||
vigyá) zz (ba z
|
||||
vigyá) zz (t z
|
||||
|
||||
|
||||
.group
|
||||
_) :-) v'iJoR2
|
||||
|
||||
|
||||
|
||||
$ dolla:R2
|
||||
ä E
|
||||
|
||||
@@ -14,13 +14,15 @@
|
||||
|
||||
.group b
|
||||
b b
|
||||
b (C b_
|
||||
|
||||
.group c
|
||||
c S
|
||||
K) c (C S_!
|
||||
|
||||
.group d
|
||||
d d
|
||||
dj dZ
|
||||
dj dZ // ??
|
||||
|
||||
.group e
|
||||
e e
|
||||
@@ -82,6 +84,7 @@
|
||||
r r- // syllabic
|
||||
A) r R
|
||||
r (A R
|
||||
r (C R_ // ?? do this in phonemes data instead?
|
||||
|
||||
|
||||
.group s
|
||||
|
||||
+7
-42
@@ -84,7 +84,7 @@ _- in.aIppUg // இணைப்புக்
|
||||
! vijVppU // வியப்பு
|
||||
_? ke:l.vi // கேள்வி
|
||||
# en.||kuRi $max3 // எண் குறி
|
||||
= samVnba:d.U $max3 // சமன்பாடு
|
||||
= samVnpa:d.U $max3 // சமன்பாடு
|
||||
+ ku:t.t.Vl $max3 // கூட்டல்
|
||||
* perUkkVl $max3 // பெருக்கல்
|
||||
/ sa:jvU // சாய்வு
|
||||
@@ -195,53 +195,24 @@ _dpt _pul.l.i
|
||||
போண்டா $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
|
||||
பாதுஷா $alt
|
||||
பேகம் $alt
|
||||
|
||||
|
||||
தானம் $alt // initial த as [d]
|
||||
தேகம் $alt
|
||||
திரவியம் $alt
|
||||
தூபம் $alt
|
||||
தீபம் $alt
|
||||
// initial த as [d]
|
||||
தீபாவளி $alt
|
||||
தீரம் $alt
|
||||
தைரியம் $alt
|
||||
திடம் $alt
|
||||
திரவம் $alt
|
||||
திடீர் $alt
|
||||
திவசம் $alt
|
||||
தியானம் $alt
|
||||
தானியம் $alt
|
||||
தண்டனை $alt
|
||||
துவம்சம் $alt
|
||||
திருஷ்டி $alt
|
||||
தயாநிதி $alt
|
||||
தயாளு $alt
|
||||
துக்கம் $alt
|
||||
திகில் $alt
|
||||
துந்துவி $alt
|
||||
தயவு $alt
|
||||
தடால் $alt
|
||||
@@ -249,31 +220,25 @@ _dpt _pul.l.i
|
||||
தடக் $alt
|
||||
தீக்ஷை $alt
|
||||
தடியன் $alt
|
||||
|
||||
தரிசனம் $alt
|
||||
தட்சணை $alt
|
||||
|
||||
|
||||
கக $alt // initial க as [g]
|
||||
கனம் $alt
|
||||
கணம் $alt
|
||||
கணபதி $alt
|
||||
கணீர் $alt
|
||||
கிலி $alt
|
||||
கில்லி $alt
|
||||
கோதுமை $alt
|
||||
கோபுரம் $alt
|
||||
காந்தம் $alt
|
||||
காந்தி $alt
|
||||
குண்டு $alt
|
||||
கோலி $alt
|
||||
குகை $alt
|
||||
கிரி $alt
|
||||
கோமதி $alt
|
||||
கயா $alt
|
||||
காயத்ரி $alt
|
||||
கங்கை $alt
|
||||
கங்கா $alt
|
||||
குரு $alt
|
||||
குகன் $alt
|
||||
கட $alt
|
||||
கோ $alt
|
||||
கதி $alt
|
||||
|
||||
|
||||
பப pVpV
|
||||
|
||||
+114
-11
@@ -66,15 +66,32 @@
|
||||
_) க (BT g // $alt
|
||||
க்க kkV
|
||||
க்க (B kk
|
||||
_) க (ௌ g
|
||||
|
||||
க (ீத g
|
||||
க (ஜ gV
|
||||
|
||||
_) க (ௌ g
|
||||
_) க (ம்பீர gV
|
||||
_) க (ந்தர்வ gV
|
||||
_) க (ோவிந்த g
|
||||
_) க (ணே gV
|
||||
|
||||
_) க (ருட gV
|
||||
_) க (ர்ஜ gV
|
||||
_) க (ாண்டாமிருக g
|
||||
_) க (ோந்து g
|
||||
_) க (ாந்த g
|
||||
_) க (ுண்ட g
|
||||
_) க (ோபுர g
|
||||
_) க (ுரு g
|
||||
_) க (ுகன g
|
||||
_) க (ணபதி gV
|
||||
_) க (ணீர gV
|
||||
_) க (ோதுமை g
|
||||
_) க (ுகை g
|
||||
_) க (ோஷ g
|
||||
_) க (ுண g
|
||||
_) க (தியில் gV
|
||||
_) க (டிகார gV
|
||||
|
||||
|
||||
ங NV
|
||||
@@ -93,10 +110,8 @@
|
||||
ட்) ச (B tS
|
||||
ஞ்) ச dZV
|
||||
ஞ்) ச (B dZ
|
||||
_) ச (ட் tS
|
||||
_) ச (Bட் tS
|
||||
_) ச (ன் tS
|
||||
_) ச (Bன் tS
|
||||
_) ச (ிட் tS
|
||||
_) ச (ின் tS
|
||||
|
||||
|
||||
|
||||
@@ -114,7 +129,8 @@
|
||||
// _) ட (B t.
|
||||
ட்ட t.t.V
|
||||
ட்ட (B t.t.
|
||||
|
||||
ஷ்) ட t.V
|
||||
ஷ்) ட (B t.
|
||||
|
||||
ண n.V
|
||||
ண (B n.
|
||||
@@ -128,8 +144,14 @@
|
||||
_) த (BT d // if word has $alt
|
||||
த்த ttV
|
||||
த்த (B tt
|
||||
க்) த tV
|
||||
க்) த (B t
|
||||
ஸ்) த tV
|
||||
ஸ்) த (B t
|
||||
|
||||
// exceptions, த as [d]
|
||||
|
||||
|
||||
// exceptions, த as [d]
|
||||
_) த (ன dV
|
||||
_) த (ர்ம dV
|
||||
_) த (ுர் d
|
||||
@@ -138,6 +160,46 @@
|
||||
_) த (ுஷ் d
|
||||
_) த (க்ஷிணா dV
|
||||
_) த (ண்ட dV
|
||||
_) த (ருமி dV
|
||||
_) த (ர்பை dV
|
||||
_) த (ாவா d
|
||||
_) த (ாதா d
|
||||
_) த (ரித்திரம dV
|
||||
_) த (ர்பார dV
|
||||
_) த (ீர்க d
|
||||
_) த (ினுச d
|
||||
_) த (ாராவி d
|
||||
_) த (ர்க dV
|
||||
_) த (ான d
|
||||
_) த (ேக d
|
||||
_) த (ேக்கு t
|
||||
_) த (ேக்கிலை t
|
||||
_) த (ேக்கடி t
|
||||
_) த (ிரவிய d
|
||||
_) த (ூப d
|
||||
_) த (ீப d
|
||||
_) த (ீர d
|
||||
_) த (ைரிய d
|
||||
_) த (ிட d
|
||||
_) த (ிரவ d
|
||||
_) த (ிடீ d
|
||||
_) த (ிவச d
|
||||
_) த (ியான d
|
||||
_) த (ானிய d
|
||||
_) த (ுக்க d
|
||||
_) த (ிகில d
|
||||
_) த (ூம d
|
||||
_) த (ாவணி d
|
||||
_) த (ாம்_தூம d
|
||||
_) த (ாடி d
|
||||
_) த (ாச d
|
||||
_) த (சரா dV
|
||||
_) த (ோஷ d
|
||||
_) த (ரணி dV
|
||||
_) த (ாரணி d
|
||||
_) த (ோசை d
|
||||
|
||||
|
||||
|
||||
ந nV
|
||||
ந (B n // dental n
|
||||
@@ -159,18 +221,59 @@
|
||||
ட்) ப (B p
|
||||
ற்) ப pV
|
||||
ற்) ப (B p
|
||||
று) ப pV
|
||||
று) ப(B p
|
||||
ன்) ப pV
|
||||
ன்) ப (B p
|
||||
|
||||
ம்) ப p
|
||||
ம்) ப (ா p
|
||||
ம்) ப (B b
|
||||
த்) ப p
|
||||
த்) ப (ா p
|
||||
த்) ப (B b
|
||||
|
||||
ஃ) ப fV
|
||||
ஃ) ப (B f
|
||||
|
||||
_) ப (ால b
|
||||
_) ப (ால் p
|
||||
_) ப (ாலின் p
|
||||
_) ப (ாலை p
|
||||
_) ப (ாலில் p
|
||||
_) ப (ாலுடன் p
|
||||
_) ப (ாலினுடைய p
|
||||
|
||||
_) ப (ாலாபிஷேக p
|
||||
_) ப (ாலு b
|
||||
_) ப (ானு b
|
||||
_) ப (ீம b
|
||||
_) ப (காசுர bV
|
||||
_) ப (ோஜ b
|
||||
_) ப (தில bV
|
||||
_) ப (க்தி bV
|
||||
_) ப (ஜ bV
|
||||
_) ப (ைரவ b
|
||||
_) ப (யம bV
|
||||
_) ப (ார்கவி b
|
||||
_) ப (ூதேவி b
|
||||
_) ப (ம்பாய bV
|
||||
_) ப (ாதுஷா b
|
||||
_) ப (க்த bV
|
||||
_) ப (லம bV
|
||||
_) ப (லவான bV
|
||||
_) ப (ிராமண b
|
||||
_) ப (ிரம்ம b
|
||||
_) ப (ம்பர bV
|
||||
_) ப (லூன bV
|
||||
_) ப (ூமி b
|
||||
_) ப (ூலோக b
|
||||
_) ப (ூகோல b
|
||||
_) ப (ூத b
|
||||
_) ப (ுதன b
|
||||
_) ப (லி bV
|
||||
_) ப (கவான bV
|
||||
_) ப (ௌதிக b
|
||||
|
||||
|
||||
ம mV
|
||||
ம (B m
|
||||
@@ -217,8 +320,8 @@
|
||||
ஸ (B s
|
||||
|
||||
|
||||
ஹ hV
|
||||
ஹ (B h
|
||||
ஹ HV
|
||||
ஹ (B H
|
||||
|
||||
|
||||
க்ஷ ks.V
|
||||
|
||||
+16
-9
@@ -51,7 +51,7 @@
|
||||
id 15 127
|
||||
sq 35 128
|
||||
hy 24 120
|
||||
da 21 119
|
||||
da 22 122
|
||||
rw 15 132
|
||||
ml 13 154
|
||||
kn 15 154
|
||||
@@ -60,7 +60,7 @@
|
||||
mr 12 152
|
||||
eu 6 126
|
||||
mn 15 115
|
||||
pa 13 153
|
||||
pa 14 154
|
||||
prs 8 111
|
||||
|
||||
Data file Used by
|
||||
@@ -244,6 +244,7 @@ envelope/i_risefall2 [+2] rw
|
||||
envelope/p_214 [5] vi
|
||||
[214] zh
|
||||
envelope/p_512 [6] vi
|
||||
[+] pa
|
||||
envelope/p_fall [2] vi
|
||||
[7] vi
|
||||
[4] zhy
|
||||
@@ -567,6 +568,12 @@ n^/n^o [(o)] base
|
||||
n/no [(o)] base
|
||||
n/_nr [n.] base
|
||||
n/nr_ [n.] base
|
||||
n/nr@ [(@)] base
|
||||
n/nra [(a)] base
|
||||
n/nre [(e)] base
|
||||
n/nri [(i)] base
|
||||
n/nro [(o)] base
|
||||
n/nru [(u)] base
|
||||
n^/n^u [(u)] base
|
||||
n/nu [(u)] base
|
||||
r2/_r2 [r-] base
|
||||
@@ -617,12 +624,12 @@ r3/r_trill.wav [R2] base
|
||||
[x] pt
|
||||
r3/r_u [(u)] base
|
||||
r3/r_uvl [r"] base
|
||||
[R2] da
|
||||
[R4] da
|
||||
r3/r_uvl.wav [r"] base
|
||||
[R] fr
|
||||
[r] fr
|
||||
[r/2] fr
|
||||
[R2] da
|
||||
[R4] da
|
||||
r3/rx [*] base
|
||||
[r/] base
|
||||
[r/] af
|
||||
@@ -638,10 +645,12 @@ r3/@tap [**] base
|
||||
r3/@tap2 [**] base
|
||||
r3/@tap_rfx [r.] base
|
||||
r/a_ [r] da
|
||||
r/aa [R6] da
|
||||
r/r [r] base
|
||||
[r-] base
|
||||
[r] en_sc
|
||||
[r] de
|
||||
[R5] da
|
||||
r/_r [r] base
|
||||
[r] en_sc
|
||||
[r.] bn
|
||||
@@ -779,7 +788,6 @@ ufric/x_sr [h] sr
|
||||
[x] sr
|
||||
ufric/xx [X] base
|
||||
[Q"] base
|
||||
[R] da
|
||||
ustop/c [c] base
|
||||
ustop/k [k] base
|
||||
[k] en
|
||||
@@ -1357,8 +1365,8 @@ vnasal/o_n [o~] hi
|
||||
[o~] bn
|
||||
vnasal/o_n2 [o~] af
|
||||
[O~] fr
|
||||
vnasal/oo_n [O~] en
|
||||
vnasal/oo_n2 [O~] hi
|
||||
vnasal/oo_n2 [O~] en
|
||||
[O~] hi
|
||||
[o] zh
|
||||
[O~] bn
|
||||
vnasal/oo_n3 [O~] pl
|
||||
@@ -1386,7 +1394,6 @@ voc/Q_ [Q] base
|
||||
voc/Q_less [Q] nl
|
||||
[x2] pt
|
||||
voc/Q_ulv [Q"] base
|
||||
[R] da
|
||||
voc/v [v] base
|
||||
[v] fi
|
||||
[v] fr
|
||||
@@ -2222,7 +2229,6 @@ vwl_en/aI@_2 [aI] en_sc
|
||||
[aI@] en_sc
|
||||
vwl_en/aU@ [aU@] en
|
||||
[aU@] en_n
|
||||
[aU@] en_us
|
||||
[aU@] en_sc
|
||||
[aU@] en_wm
|
||||
vwl_en/@L [@L] en
|
||||
@@ -2250,6 +2256,7 @@ vwl_en_us/a [a] en_us
|
||||
vwl_en_us/ai@ [aI@] en_us
|
||||
vwl_en_us/ar [A:] en_us
|
||||
[A@] en_us
|
||||
vwl_en_us/aU@ [aU@] en_us
|
||||
vwl_en_us/ee [E] en_us
|
||||
vwl_en_us/er [e@] en_us
|
||||
vwl_en_us/ir [i@3] en_us
|
||||
|
||||
Binary file not shown.
Binary file not shown.
+17
-8
@@ -134,18 +134,27 @@ phoneme r // used for 'r' after a vowel (to create a diphthong)
|
||||
lengthmod 7
|
||||
endphoneme
|
||||
|
||||
phoneme R2 // uvular trill [r"]
|
||||
vcd uvl frc
|
||||
formants r3/r_uvl+r3/r_uvl.wav%75
|
||||
before _ r3/r_uvl+r3/r_uvl.wav%50
|
||||
lengthmod 6
|
||||
phoneme R6 //
|
||||
liquid
|
||||
formants r/aa
|
||||
lengthmod 7
|
||||
endphoneme
|
||||
|
||||
phoneme R // voiced velar fricative [Q"]
|
||||
phoneme R4 // uvular trill [r"] without WAV
|
||||
vcd uvl frc
|
||||
formants voc/Q_ulv+ufric/xx%80
|
||||
before _ voc/Q_ulv+ufric/xx%60
|
||||
formants r3/r_uvl+r3/r_uvl.wav%1
|
||||
before _ r3/r_uvl+r3/r_uvl.wav%1
|
||||
lengthmod 6
|
||||
endphoneme
|
||||
|
||||
|
||||
phoneme R5 // English r
|
||||
liquid starttype #r endtype #r
|
||||
rhotic
|
||||
length 100
|
||||
lengthmod 7
|
||||
beforenotvowel r/
|
||||
formants r/r
|
||||
endphoneme
|
||||
|
||||
|
||||
|
||||
+3
-3
@@ -223,7 +223,7 @@ endphoneme
|
||||
|
||||
phoneme o@
|
||||
vowel starttype (o) endtype (@)
|
||||
length 240
|
||||
length 250
|
||||
formants vowel/oo_en
|
||||
linkout r-
|
||||
endphoneme
|
||||
@@ -385,8 +385,8 @@ endphoneme
|
||||
|
||||
phoneme O~
|
||||
vowel starttype (o) endtype (o)
|
||||
length 260
|
||||
formants vnasal/oo_n
|
||||
length 240
|
||||
formants vnasal/oo_n2
|
||||
endphoneme
|
||||
|
||||
|
||||
|
||||
@@ -201,7 +201,7 @@ endphoneme
|
||||
|
||||
phoneme u:
|
||||
vowel starttype (u) endtype (u)
|
||||
length 180
|
||||
length 190
|
||||
formants vdiph2/uw
|
||||
endphoneme
|
||||
|
||||
@@ -243,7 +243,7 @@ endphoneme
|
||||
|
||||
phoneme e@
|
||||
vowel starttype (e) endtype (@)
|
||||
length 270
|
||||
length 280
|
||||
formants vwl_en_us/er
|
||||
appendph r
|
||||
endphoneme
|
||||
@@ -251,7 +251,7 @@ endphoneme
|
||||
|
||||
phoneme i@3
|
||||
vowel starttype (i) endtype (@)
|
||||
length 250
|
||||
length 280
|
||||
formants vwl_en_us/ir
|
||||
appendph r
|
||||
endphoneme
|
||||
@@ -259,7 +259,7 @@ endphoneme
|
||||
|
||||
phoneme U@
|
||||
vowel starttype (@) endtype (@)
|
||||
length 240
|
||||
length 250
|
||||
formants vwl_en_us/ur
|
||||
linkout r-
|
||||
endphoneme
|
||||
@@ -275,8 +275,8 @@ endphoneme
|
||||
|
||||
phoneme aU@
|
||||
vowel starttype (a) endtype (@)
|
||||
length 270
|
||||
formants vwl_en/aU@
|
||||
length 300
|
||||
formants vwl_en_us/aU@
|
||||
linkout r-
|
||||
endphoneme
|
||||
|
||||
|
||||
+1
-1
@@ -154,7 +154,7 @@ phoneme dz
|
||||
vowelin f1=1 f2=1700 -300 300 f3=-100 80 len=50
|
||||
vowelout f1=2 f2=1700 -300 300 f3=-100 80
|
||||
formants d/xdz+ustop/ts%140
|
||||
before _ voc/z_+ustop/ts_%70
|
||||
before _ voc/z_+ustop/ts_%60
|
||||
after _ NULL
|
||||
after @ d/xd
|
||||
lengthmod 5
|
||||
|
||||
+2
-2
@@ -25,7 +25,7 @@ endphoneme
|
||||
|
||||
phoneme a:
|
||||
vowel starttype (a) endtype (a)
|
||||
length 270
|
||||
length 300
|
||||
formants vowel/a_5
|
||||
endphoneme
|
||||
|
||||
@@ -53,7 +53,7 @@ endphoneme
|
||||
|
||||
phoneme i:
|
||||
vowel starttype (i) endtype (i)
|
||||
length 270
|
||||
length 300
|
||||
formants vowel/i
|
||||
endphoneme
|
||||
|
||||
|
||||
+6
-1
@@ -220,6 +220,7 @@ phoneme (@) virtual
|
||||
after r- r2/r2@
|
||||
after m m/m@
|
||||
after n n/n@
|
||||
after n. n/nr@
|
||||
after N nn/nn@
|
||||
after n^ n^/n^@
|
||||
before l/ DFT-60+l/L1_@L
|
||||
@@ -243,6 +244,7 @@ phoneme (a) virtual
|
||||
after r- r2/r2a
|
||||
after m m/ma
|
||||
after n n/na
|
||||
after n. n/nra
|
||||
after N nn/nna
|
||||
after n^ n^/n^a
|
||||
before l/ DFT-40+l/L1_aL
|
||||
@@ -266,6 +268,7 @@ phoneme (e) virtual
|
||||
after r- r2/r2e
|
||||
after m m/me
|
||||
after n n/ne
|
||||
after n. n/nre
|
||||
after N nn/nne
|
||||
after n^ n^/n^e
|
||||
before l/ DFT-30+l/L1_eL
|
||||
@@ -289,6 +292,7 @@ phoneme (i) virtual
|
||||
after r- r2/r2i
|
||||
after m m/mi
|
||||
after n n/ni
|
||||
after n. n/nri
|
||||
after N nn/nni
|
||||
after n^ n^/n^i
|
||||
before l/ DFT-30+l/L1_iL
|
||||
@@ -313,6 +317,7 @@ phoneme (o) virtual
|
||||
after r- r2/r2o
|
||||
after m m/mo
|
||||
after n n/no
|
||||
after n. n/nro
|
||||
after N nn/nno
|
||||
after n^ n^/n^o
|
||||
before l/ DFT-40+l/L1_oL
|
||||
@@ -336,6 +341,7 @@ phoneme (u) virtual
|
||||
after r- r2/r2u
|
||||
after m m/mu
|
||||
after n n/nu
|
||||
after n. n/nru
|
||||
after N nn/nnu
|
||||
after n^ n^/n^u
|
||||
before l/ DFT-40+l/L1_uL
|
||||
@@ -571,7 +577,6 @@ endphoneme
|
||||
|
||||
phoneme n.
|
||||
vcd rfx nasal
|
||||
starttype n endtype n
|
||||
vowelin f1=2 f2=1200 -300 250 f3=-500 80 rms=20 colr=2
|
||||
vowelout f1=2 f2=1200 -300 250 f3=-500 80 rms=20 brk colr=2
|
||||
length 100
|
||||
|
||||
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.
Binary file not shown.
@@ -34,6 +34,7 @@
|
||||
#define PATHSEP '\\'
|
||||
#define USE_PORTAUDIO
|
||||
//#define USE_NANOSLEEP
|
||||
#define NO_VARIADIC_MACROS
|
||||
#define __cdecl
|
||||
#define ESPEAK_API
|
||||
#define PATH_ESPEAK_DATA "C:\\Program files\\espeak\\espeak-data"
|
||||
|
||||
@@ -34,6 +34,7 @@
|
||||
#define PATHSEP '\\'
|
||||
#define USE_PORTAUDIO
|
||||
//#define USE_NANOSLEEP
|
||||
#define NO_VARIADIC_MACROS
|
||||
#define __cdecl
|
||||
#define ESPEAK_API
|
||||
#define PATH_ESPEAK_DATA "C:\\Program files\\espeak\\espeak-data"
|
||||
|
||||
@@ -30,6 +30,7 @@
|
||||
|
||||
#define PATHSEP '\\'
|
||||
#define USE_PORTAUDIO
|
||||
#define NO_VARIADIC_MACROS
|
||||
#define ESPEAK_API
|
||||
//#define INCLUDE_KLATT
|
||||
|
||||
|
||||
@@ -27,6 +27,7 @@
|
||||
#define __WIN32__
|
||||
#define NEED_WCSTOF
|
||||
#define NEED_GETOPT
|
||||
#define NO_VARIADIC_MACROS
|
||||
#define USE_MBROLA_LIB
|
||||
#define ESPEAK_API
|
||||
|
||||
|
||||
+1
-3
@@ -568,12 +568,10 @@ step=1; // TEST
|
||||
}
|
||||
else
|
||||
{
|
||||
dict_line[length++] = 80 + multiple_words + multiple_numeric_hyphen; // if numeric, count a hyphen as an extra word
|
||||
dict_line[length++] = 80 + multiple_words;
|
||||
ix = multiple_string_end - multiple_string;
|
||||
if(multiple_numeric_hyphen)
|
||||
{
|
||||
// the first part is numeric, so keep the hyphen to match on
|
||||
dict_line[length++] = '-';
|
||||
dict_line[length++] = ' ';
|
||||
}
|
||||
memcpy(&dict_line[length],multiple_string,ix);
|
||||
|
||||
+1
-1
@@ -13,7 +13,7 @@ extern void debug_time(const char* text);
|
||||
|
||||
#else
|
||||
|
||||
#ifdef PLATFORM_WINDOWS
|
||||
#ifdef NO_VARIADIC_MACROS
|
||||
#define SHOW(format) // VC6 doesn't allow "..."
|
||||
#else
|
||||
#define SHOW(format,...)
|
||||
|
||||
+21
-10
@@ -1030,7 +1030,7 @@ void ChangeWordStress(Translator *tr, char *word, int new_stress)
|
||||
|
||||
|
||||
|
||||
void SetWordStress(Translator *tr, char *output, unsigned int &dictionary_flags, int tonic, int prev_stress)
|
||||
void SetWordStress(Translator *tr, char *output, unsigned int *dictionary_flags, int tonic, int prev_stress)
|
||||
{//=========================================================================================================
|
||||
/* Guess stress pattern of word. This is language specific
|
||||
|
||||
@@ -1099,11 +1099,11 @@ void SetWordStress(Translator *tr, char *output, unsigned int &dictionary_flags,
|
||||
max_output = output + (N_WORD_PHONEMES-3); /* check for overrun */
|
||||
|
||||
// any stress position marked in the xx_list dictionary ?
|
||||
stressed_syllable = dictionary_flags & 0x7;
|
||||
if(dictionary_flags & 0x8)
|
||||
stressed_syllable = dictionary_flags[0] & 0x7;
|
||||
if(dictionary_flags[0] & 0x8)
|
||||
{
|
||||
// this indicates a word without a primary stress
|
||||
stressed_syllable = dictionary_flags & 0x3;
|
||||
stressed_syllable = dictionary_flags[0] & 0x3;
|
||||
unstressed_word = 1;
|
||||
}
|
||||
|
||||
@@ -1113,7 +1113,7 @@ void SetWordStress(Translator *tr, char *output, unsigned int &dictionary_flags,
|
||||
{
|
||||
// option: don't stress monosyllables except at end-of-clause
|
||||
vowel_stress[1] = 1;
|
||||
dictionary_flags |= FLAG_STRESS_END2;
|
||||
dictionary_flags[0] |= FLAG_STRESS_END2;
|
||||
}
|
||||
|
||||
// heavy or light syllables
|
||||
@@ -1350,7 +1350,7 @@ void SetWordStress(Translator *tr, char *output, unsigned int &dictionary_flags,
|
||||
}
|
||||
break;
|
||||
|
||||
case 7: // LANG=tr, the last syllable for any vowel markes explicitly as unstressed
|
||||
case 7: // LANG=tr, the last syllable for any vowel marked explicitly as unstressed
|
||||
if(stressed_syllable == 0)
|
||||
{
|
||||
stressed_syllable = vowel_count - 1;
|
||||
@@ -2575,10 +2575,15 @@ int TranslateRules(Translator *tr, char *p_start, char *phonemes, int ph_size, c
|
||||
#endif
|
||||
|
||||
// is it a bracket ?
|
||||
if(letter == 0xe000+'(')
|
||||
{
|
||||
if(pre_pause < tr->langopts.param2[LOPT_BRACKET_PAUSE])
|
||||
pre_pause = tr->langopts.param2[LOPT_BRACKET_PAUSE]; // a bracket, aleady spoken by AnnouncePunctuation()
|
||||
}
|
||||
if(IsBracket(letter))
|
||||
{
|
||||
if(pre_pause < 4)
|
||||
pre_pause = 4;
|
||||
if(pre_pause < tr->langopts.param[LOPT_BRACKET_PAUSE])
|
||||
pre_pause = tr->langopts.param[LOPT_BRACKET_PAUSE];
|
||||
}
|
||||
|
||||
// no match, try removing the accent and re-translating the word
|
||||
@@ -3162,6 +3167,12 @@ static const char *LookupDict2(Translator *tr, const char *word, const char *wor
|
||||
continue;
|
||||
}
|
||||
}
|
||||
if(dictionary_flags & FLAG_ALT2_TRANS)
|
||||
{
|
||||
// language specific
|
||||
if((tr->translator_name == L('h','u')) && !(tr->prev_dict_flags & FLAG_ALT_TRANS))
|
||||
continue;
|
||||
}
|
||||
|
||||
if(flags != NULL)
|
||||
{
|
||||
@@ -3256,7 +3267,7 @@ int LookupDictList(Translator *tr, char **wordptr, char *ph_out, unsigned int *f
|
||||
// set the skip words flag
|
||||
flags[0] |= FLAG_SKIPWORDS;
|
||||
dictionary_skipwords = length;
|
||||
return(1);
|
||||
return(flags[0]);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3356,7 +3367,7 @@ int LookupDictList(Translator *tr, char **wordptr, char *ph_out, unsigned int *f
|
||||
return(0);
|
||||
}
|
||||
|
||||
return(1);
|
||||
return(flags[0]);
|
||||
}
|
||||
|
||||
ph_out[0] = 0;
|
||||
|
||||
+92
-19
@@ -20,7 +20,9 @@
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#ifndef NEED_GETOPT
|
||||
#include <getopt.h>
|
||||
#endif
|
||||
#include <time.h>
|
||||
#include <sys/stat.h>
|
||||
|
||||
@@ -294,6 +296,21 @@ static int SynthCallback(short *wav, int numsamples, espeak_EVENT *events)
|
||||
}
|
||||
|
||||
|
||||
#ifdef NEED_GETOPT
|
||||
struct option {
|
||||
char *name;
|
||||
int has_arg;
|
||||
int *flag;
|
||||
int val;
|
||||
};
|
||||
int optind;
|
||||
static int optional_argument;
|
||||
static const char *arg_opts = "abfgklpsvw"; // which options have arguments
|
||||
static char *opt_string="";
|
||||
#define no_argument 0
|
||||
#define required_argument 1
|
||||
#define optional_argument 2
|
||||
#endif
|
||||
|
||||
int main (int argc, char **argv)
|
||||
//==============================
|
||||
@@ -330,6 +347,7 @@ int main (int argc, char **argv)
|
||||
int option_index = 0;
|
||||
int c;
|
||||
int ix;
|
||||
char *optarg2;
|
||||
int value;
|
||||
int flag_stdin = 0;
|
||||
int flag_compile = 0;
|
||||
@@ -361,6 +379,59 @@ int main (int argc, char **argv)
|
||||
filename[0] = 0;
|
||||
option_punctlist[0] = 0;
|
||||
|
||||
#ifdef NEED_GETOPT
|
||||
optind = 1;
|
||||
opt_string = "";
|
||||
while(optind < argc)
|
||||
{
|
||||
int len;
|
||||
char *p;
|
||||
|
||||
if((c = *opt_string) == 0)
|
||||
{
|
||||
opt_string = argv[optind];
|
||||
if(opt_string[0] != '-')
|
||||
break;
|
||||
|
||||
optind++;
|
||||
opt_string++;
|
||||
c = *opt_string;
|
||||
}
|
||||
opt_string++;
|
||||
p = optarg2 = opt_string;
|
||||
|
||||
if(c == '-')
|
||||
{
|
||||
opt_string="";
|
||||
for(ix=0; ;ix++)
|
||||
{
|
||||
if(long_options[ix].name == 0)
|
||||
break;
|
||||
len = strlen(long_options[ix].name);
|
||||
if(memcmp(long_options[ix].name,p,len)==0)
|
||||
{
|
||||
c = long_options[ix].val;
|
||||
optarg2 = NULL;
|
||||
|
||||
if((long_options[ix].has_arg != 0) && (p[len]=='='))
|
||||
{
|
||||
optarg2 = &p[len+1];
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
if(strchr(arg_opts,c) != NULL)
|
||||
{
|
||||
opt_string="";
|
||||
if(optarg2[0]==0)
|
||||
{
|
||||
// the option's value is in the next argument
|
||||
optarg2 = argv[optind++];
|
||||
}
|
||||
}
|
||||
#else
|
||||
while(true)
|
||||
{
|
||||
c = getopt_long (argc, argv, "a:b:f:g:hk:l:mp:qs:v:w:xXz",
|
||||
@@ -369,12 +440,14 @@ int main (int argc, char **argv)
|
||||
/* Detect the end of the options. */
|
||||
if (c == -1)
|
||||
break;
|
||||
optarg2 = optarg;
|
||||
#endif
|
||||
|
||||
switch (c)
|
||||
{
|
||||
case 'b':
|
||||
// input character encoding, 8bit, 16bit, UTF8
|
||||
if((sscanf(optarg,"%d",&value) == 1) && (value <= 4))
|
||||
if((sscanf(optarg2,"%d",&value) == 1) && (value <= 4))
|
||||
synth_flags |= value;
|
||||
else
|
||||
synth_flags |= espeakCHARS_8BIT;
|
||||
@@ -387,7 +460,7 @@ int main (int argc, char **argv)
|
||||
break;
|
||||
|
||||
case 'k':
|
||||
option_capitals = atoi(optarg);
|
||||
option_capitals = atoi(optarg2);
|
||||
break;
|
||||
|
||||
case 'x':
|
||||
@@ -403,7 +476,7 @@ int main (int argc, char **argv)
|
||||
break;
|
||||
|
||||
case 'p':
|
||||
pitch = atoi(optarg);
|
||||
pitch = atoi(optarg2);
|
||||
break;
|
||||
|
||||
case 'q':
|
||||
@@ -411,32 +484,32 @@ int main (int argc, char **argv)
|
||||
break;
|
||||
|
||||
case 'f':
|
||||
strncpy0(filename,optarg,sizeof(filename));
|
||||
strncpy0(filename,optarg2,sizeof(filename));
|
||||
break;
|
||||
|
||||
case 'l':
|
||||
option_linelength = atoi(optarg);
|
||||
option_linelength = atoi(optarg2);
|
||||
break;
|
||||
|
||||
case 'a':
|
||||
volume = atoi(optarg);
|
||||
volume = atoi(optarg2);
|
||||
break;
|
||||
|
||||
case 's':
|
||||
speed = atoi(optarg);
|
||||
speed = atoi(optarg2);
|
||||
break;
|
||||
|
||||
case 'g':
|
||||
wordgap = atoi(optarg);
|
||||
wordgap = atoi(optarg2);
|
||||
break;
|
||||
|
||||
case 'v':
|
||||
strncpy0(voicename,optarg,sizeof(voicename));
|
||||
strncpy0(voicename,optarg2,sizeof(voicename));
|
||||
break;
|
||||
|
||||
case 'w':
|
||||
option_waveout = 1;
|
||||
strncpy0(wavefile,optarg,sizeof(filename));
|
||||
strncpy0(wavefile,optarg2,sizeof(filename));
|
||||
break;
|
||||
|
||||
case 'z': // remove pause from the end of a sentence
|
||||
@@ -454,17 +527,17 @@ int main (int argc, char **argv)
|
||||
|
||||
case 0x101: // --compile-debug
|
||||
case 0x102: // --compile
|
||||
strncpy0(voicename,optarg,sizeof(voicename));
|
||||
strncpy0(voicename,optarg2,sizeof(voicename));
|
||||
flag_compile = c;
|
||||
quiet = 1;
|
||||
break;
|
||||
|
||||
case 0x103: // --punct
|
||||
option_punctuation = 1;
|
||||
if(optarg != NULL)
|
||||
if(optarg2 != NULL)
|
||||
{
|
||||
ix = 0;
|
||||
while((ix < N_PUNCTLIST) && ((option_punctlist[ix] = optarg[ix]) != 0)) ix++;
|
||||
while((ix < N_PUNCTLIST) && ((option_punctlist[ix] = optarg2[ix]) != 0)) ix++;
|
||||
option_punctlist[N_PUNCTLIST-1] = 0;
|
||||
option_punctuation = 2;
|
||||
}
|
||||
@@ -472,24 +545,24 @@ int main (int argc, char **argv)
|
||||
|
||||
case 0x104: // --voices
|
||||
espeak_Initialize(AUDIO_OUTPUT_SYNCHRONOUS,0,data_path,0);
|
||||
DisplayVoices(stdout,optarg);
|
||||
DisplayVoices(stdout,optarg2);
|
||||
exit(0);
|
||||
|
||||
case 0x106: // -- split
|
||||
if(optarg == NULL)
|
||||
if(optarg2 == NULL)
|
||||
samples_split = 30; // default 30 minutes
|
||||
else
|
||||
samples_split = atoi(optarg);
|
||||
samples_split = atoi(optarg2);
|
||||
break;
|
||||
|
||||
case 0x107: // --path
|
||||
data_path = optarg;
|
||||
data_path = optarg2;
|
||||
break;
|
||||
|
||||
case 0x108: // --phonout
|
||||
if((f_phonemes_out = fopen(optarg,"w")) == NULL)
|
||||
if((f_phonemes_out = fopen(optarg2,"w")) == NULL)
|
||||
{
|
||||
fprintf(stderr,"Can't write to: %s\n",optarg);
|
||||
fprintf(stderr,"Can't write to: %s\n",optarg2);
|
||||
}
|
||||
break;
|
||||
|
||||
|
||||
@@ -366,31 +366,6 @@ void MyFrame::OnQuit(wxCommandEvent& event)
|
||||
}
|
||||
|
||||
|
||||
#ifdef deleted
|
||||
void MyFrame::OnAbout(wxCommandEvent& event)
|
||||
{//=========================================
|
||||
int result;
|
||||
char buf[300];
|
||||
wxString url_docs;
|
||||
|
||||
switch(event.GetId())
|
||||
{
|
||||
case MENU_ABOUT:
|
||||
sprintf(buf,about_string,espeak_Info(NULL));
|
||||
(void)wxMessageBox(wxString(buf,wxConvLocal), _T("About eSpeak Editor"));
|
||||
break;
|
||||
|
||||
case MENU_DOCS:
|
||||
sprintf(buf,"%s/docs/docindex.html",path_home);
|
||||
url_docs = wxString(buf,wxConvLocal);
|
||||
result = wxLaunchDefaultBrowser(url_docs);
|
||||
if(result == 0)
|
||||
wxLogStatus(_T("Failed to launch browser"));
|
||||
break;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
class HtmlWindow: public wxHtmlWindow
|
||||
{
|
||||
|
||||
+1
-1
@@ -275,7 +275,7 @@ static TONE_HEAD tone_head_table[N_TONE_HEAD_TABLE] = {
|
||||
};
|
||||
|
||||
static TONE_NUCLEUS tone_nucleus_table[N_TONE_NUCLEUS_TABLE] = {
|
||||
{PITCHfall, 30, 5, PITCHfall, 32, 9, NULL, 12, 7, 0}, // 0 statement
|
||||
{PITCHfall, 29, 4, PITCHfall, 32, 9, NULL, 12, 6, 0}, // 0 statement
|
||||
{PITCHfrise, 35, 8, PITCHfrise2, 35,10, NULL, 15, 23, 0}, // 1 comma
|
||||
{PITCHfrise, 39,10, PITCHfrise2, 36,10, NULL, 15, 28, 0}, // 2 question
|
||||
// {PITCHfall, 41, 4, PITCHfall, 41,27, NULL, 16, 4, T_EMPH}, // 3 exclamation
|
||||
|
||||
+185
-119
@@ -65,6 +65,9 @@
|
||||
#define M_MIDDLE_DOT M_DOT_ABOVE // duplicate of M_DOT_ABOVE
|
||||
#define M_IMPLOSIVE M_HOOK
|
||||
|
||||
static int n_digit_lookup;
|
||||
static char *digit_lookup;
|
||||
|
||||
typedef struct {
|
||||
const char *name;
|
||||
int flags;
|
||||
@@ -783,6 +786,8 @@ static int CheckDotOrdinal(Translator *tr, char *word, WORD_TAB *wtab, int lower
|
||||
} // end of CheckDotOrdinal
|
||||
|
||||
|
||||
|
||||
|
||||
int TranslateRoman(Translator *tr, char *word, char *ph_out, WORD_TAB *wtab)
|
||||
{//=========================================================================
|
||||
int c;
|
||||
@@ -995,6 +1000,7 @@ static int LookupNum2(Translator *tr, int value, int control, char *ph_out)
|
||||
int found;
|
||||
int ix;
|
||||
int units;
|
||||
int tens;
|
||||
int used_and=0;
|
||||
int found_ordinal = 0;
|
||||
int next_phtype;
|
||||
@@ -1004,143 +1010,167 @@ static int LookupNum2(Translator *tr, int value, int control, char *ph_out)
|
||||
char ph_digits[50];
|
||||
char ph_and[12];
|
||||
|
||||
// is there a special pronunciation for this 2-digit number
|
||||
units = value % 10;
|
||||
tens = value / 10;
|
||||
|
||||
found = 0;
|
||||
ph_ordinal[0] = 0;
|
||||
|
||||
if(control & 8)
|
||||
if((control & 2) && (n_digit_lookup == 2))
|
||||
{
|
||||
sprintf(string,"_%df",value);
|
||||
found = Lookup(tr, string, ph_digits);
|
||||
}
|
||||
else
|
||||
if(control & 1)
|
||||
{
|
||||
strcpy(ph_ordinal, ph_ordinal2);
|
||||
|
||||
if(control & 4)
|
||||
{
|
||||
sprintf(string,"_%dox",value); // 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);
|
||||
found = Lookup(tr, string, ph_digits);
|
||||
}
|
||||
found_ordinal = found;
|
||||
}
|
||||
|
||||
if(found == 0)
|
||||
{
|
||||
if((value == 1) && (control & 2))
|
||||
{
|
||||
if(Lookup(tr, "_1a", ph_out) != 0) // LANG=de, "eins"
|
||||
return(0);
|
||||
}
|
||||
sprintf(string,"_%d",value);
|
||||
found = Lookup(tr, string, ph_digits);
|
||||
}
|
||||
|
||||
// no, speak as tens+units
|
||||
|
||||
if((control & 0x10) && (value < 10))
|
||||
{
|
||||
// speak leading zero
|
||||
Lookup(tr, "_0", ph_tens);
|
||||
// pronunciation of the final 2 digits has already been found
|
||||
strcpy(ph_out, digit_lookup);
|
||||
}
|
||||
else
|
||||
{
|
||||
if(found)
|
||||
if(digit_lookup[0] == 0)
|
||||
{
|
||||
ph_tens[0] = 0;
|
||||
// is there a special pronunciation for this 2-digit number
|
||||
if(control & 8)
|
||||
{
|
||||
sprintf(string,"_%df",value);
|
||||
found = Lookup(tr, string, ph_digits);
|
||||
}
|
||||
else
|
||||
if(control & 1)
|
||||
{
|
||||
strcpy(ph_ordinal, ph_ordinal2);
|
||||
|
||||
if(control & 4)
|
||||
{
|
||||
sprintf(string,"_%dox",value); // 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);
|
||||
found = Lookup(tr, string, ph_digits);
|
||||
}
|
||||
found_ordinal = found;
|
||||
}
|
||||
|
||||
if(found == 0)
|
||||
{
|
||||
if((value == 1) && (control & 2))
|
||||
{
|
||||
if(Lookup(tr, "_1a", ph_out) != 0) // LANG=de, "eins"
|
||||
return(0);
|
||||
}
|
||||
sprintf(string,"_%d",value);
|
||||
found = Lookup(tr, string, ph_digits);
|
||||
}
|
||||
}
|
||||
|
||||
// no, speak as tens+units
|
||||
|
||||
if((control & 0x10) && (value < 10))
|
||||
{
|
||||
// speak leading zero
|
||||
Lookup(tr, "_0", ph_tens);
|
||||
}
|
||||
else
|
||||
{
|
||||
units = (value % 10);
|
||||
|
||||
if((control & 1) && ((units == 0) || (tr->langopts.numbers & NUM_SWAP_TENS)))
|
||||
if(found)
|
||||
{
|
||||
sprintf(string,"_%dXo",value / 10);
|
||||
if(Lookup(tr, string, ph_tens) != 0)
|
||||
{
|
||||
found_ordinal = 1;
|
||||
}
|
||||
ph_tens[0] = 0;
|
||||
}
|
||||
if(found_ordinal == 0)
|
||||
else
|
||||
{
|
||||
sprintf(string,"_%dX",value / 10);
|
||||
Lookup(tr, string, ph_tens);
|
||||
}
|
||||
|
||||
if((ph_tens[0] == 0) && (tr->langopts.numbers & NUM_VIGESIMAL))
|
||||
{
|
||||
// tens not found, (for example) 73 is 60+13
|
||||
units = (value % 20);
|
||||
sprintf(string,"_%dX",(value / 10) & 0xfe);
|
||||
Lookup(tr, string, ph_tens);
|
||||
}
|
||||
|
||||
ph_digits[0] = 0;
|
||||
if(units > 0)
|
||||
{
|
||||
found = 0;
|
||||
if(control & 8)
|
||||
|
||||
if((control & 1) && ((units == 0) || (tr->langopts.numbers & NUM_SWAP_TENS)))
|
||||
{
|
||||
// is there a variant form of this number?
|
||||
sprintf(string,"_%df",units);
|
||||
found = Lookup(tr, string, ph_digits);
|
||||
}
|
||||
if((control & 1) && ((tr->langopts.numbers & NUM_SWAP_TENS) == 0))
|
||||
{
|
||||
// ordinal
|
||||
sprintf(string,"_%do",units);
|
||||
if((found = Lookup(tr, string, ph_digits)) != 0)
|
||||
sprintf(string,"_%dXo", tens);
|
||||
if(Lookup(tr, string, ph_tens) != 0)
|
||||
{
|
||||
found_ordinal = 1;
|
||||
}
|
||||
}
|
||||
if(found == 0)
|
||||
if(found_ordinal == 0)
|
||||
{
|
||||
sprintf(string,"_%d",units);
|
||||
Lookup(tr, string, ph_digits);
|
||||
sprintf(string,"_%dX", tens);
|
||||
Lookup(tr, string, ph_tens);
|
||||
}
|
||||
|
||||
if((ph_tens[0] == 0) && (tr->langopts.numbers & NUM_VIGESIMAL))
|
||||
{
|
||||
// tens not found, (for example) 73 is 60+13
|
||||
units = (value % 20);
|
||||
sprintf(string,"_%dX", tens & 0xfe);
|
||||
Lookup(tr, string, ph_tens);
|
||||
}
|
||||
|
||||
ph_digits[0] = 0;
|
||||
if(units > 0)
|
||||
{
|
||||
found = 0;
|
||||
|
||||
if((control & 2) && (digit_lookup[0] != 0))
|
||||
{
|
||||
// we have an entry for this digit (possibly together with the next word)
|
||||
strcpy(ph_digits, digit_lookup);
|
||||
found_ordinal = 1;
|
||||
ph_ordinal[0] = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
if(control & 8)
|
||||
{
|
||||
// is there a variant form of this number?
|
||||
sprintf(string,"_%df",units);
|
||||
found = Lookup(tr, string, ph_digits);
|
||||
}
|
||||
if((control & 1) && ((tr->langopts.numbers & NUM_SWAP_TENS) == 0))
|
||||
{
|
||||
// ordinal
|
||||
sprintf(string,"_%do",units);
|
||||
if((found = Lookup(tr, string, ph_digits)) != 0)
|
||||
{
|
||||
found_ordinal = 1;
|
||||
}
|
||||
}
|
||||
if(found == 0)
|
||||
{
|
||||
sprintf(string,"_%d",units);
|
||||
Lookup(tr, string, ph_digits);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if((control & 1) && (found_ordinal == 0) && (ph_ordinal[0] == 0))
|
||||
{
|
||||
if((value >= 20) && (((value % 10) == 0) || (tr->langopts.numbers & NUM_SWAP_TENS)))
|
||||
Lookup(tr, "_ord20", ph_ordinal);
|
||||
if(ph_ordinal[0] == 0)
|
||||
Lookup(tr, "_ord", ph_ordinal);
|
||||
}
|
||||
|
||||
if((tr->langopts.numbers & (NUM_SWAP_TENS | NUM_AND_UNITS)) && (ph_tens[0] != 0) && (ph_digits[0] != 0))
|
||||
{
|
||||
Lookup(tr, "_0and", ph_and);
|
||||
if(tr->langopts.numbers & NUM_SWAP_TENS)
|
||||
sprintf(ph_out,"%s%s%s%s",ph_digits, ph_and, ph_tens, ph_ordinal);
|
||||
else
|
||||
sprintf(ph_out,"%s%s%s%s",ph_tens, ph_and, ph_digits, ph_ordinal);
|
||||
used_and = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
if(tr->langopts.numbers & NUM_SINGLE_VOWEL)
|
||||
{
|
||||
// remove vowel from the end of tens if units starts with a vowel (LANG=Italian)
|
||||
if(((ix = strlen(ph_tens)-1) >= 0) && (ph_digits[0] != 0))
|
||||
{
|
||||
if((next_phtype = phoneme_tab[(unsigned int)(ph_digits[0])]->type) == phSTRESS)
|
||||
next_phtype = phoneme_tab[(unsigned int)(ph_digits[1])]->type;
|
||||
|
||||
if((phoneme_tab[(unsigned int)(ph_tens[ix])]->type == phVOWEL) && (next_phtype == phVOWEL))
|
||||
ph_tens[ix] = 0;
|
||||
}
|
||||
if((control & 1) && (found_ordinal == 0) && (ph_ordinal[0] == 0))
|
||||
{
|
||||
if((value >= 20) && (((value % 10) == 0) || (tr->langopts.numbers & NUM_SWAP_TENS)))
|
||||
Lookup(tr, "_ord20", ph_ordinal);
|
||||
if(ph_ordinal[0] == 0)
|
||||
Lookup(tr, "_ord", ph_ordinal);
|
||||
}
|
||||
|
||||
if((tr->langopts.numbers & (NUM_SWAP_TENS | NUM_AND_UNITS)) && (ph_tens[0] != 0) && (ph_digits[0] != 0))
|
||||
{
|
||||
Lookup(tr, "_0and", ph_and);
|
||||
if(tr->langopts.numbers & NUM_SWAP_TENS)
|
||||
sprintf(ph_out,"%s%s%s%s",ph_digits, ph_and, ph_tens, ph_ordinal);
|
||||
else
|
||||
sprintf(ph_out,"%s%s%s%s",ph_tens, ph_and, ph_digits, ph_ordinal);
|
||||
used_and = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
if(tr->langopts.numbers & NUM_SINGLE_VOWEL)
|
||||
{
|
||||
// remove vowel from the end of tens if units starts with a vowel (LANG=Italian)
|
||||
if(((ix = strlen(ph_tens)-1) >= 0) && (ph_digits[0] != 0))
|
||||
{
|
||||
if((next_phtype = phoneme_tab[(unsigned int)(ph_digits[0])]->type) == phSTRESS)
|
||||
next_phtype = phoneme_tab[(unsigned int)(ph_digits[1])]->type;
|
||||
|
||||
if((phoneme_tab[(unsigned int)(ph_tens[ix])]->type == phVOWEL) && (next_phtype == phVOWEL))
|
||||
ph_tens[ix] = 0;
|
||||
}
|
||||
}
|
||||
sprintf(ph_out,"%s%s%s",ph_tens, ph_digits, ph_ordinal);
|
||||
}
|
||||
sprintf(ph_out,"%s%s%s",ph_tens, ph_digits, ph_ordinal);
|
||||
}
|
||||
|
||||
if(tr->langopts.numbers & NUM_SINGLE_STRESS)
|
||||
@@ -1357,17 +1387,21 @@ static int TranslateNumber_1(Translator *tr, char *word, char *ph_out, unsigned
|
||||
char ph_append[50];
|
||||
char ph_buf[200];
|
||||
char ph_buf2[50];
|
||||
char ph_zeros[50];
|
||||
char suffix[20];
|
||||
char buf_digit_lookup[50];
|
||||
|
||||
static const char str_pause[2] = {phonPAUSE_NOLINK,0};
|
||||
|
||||
*flags = 0;
|
||||
digit_lookup = buf_digit_lookup;
|
||||
|
||||
for(ix=0; isdigit(word[ix]); ix++) ;
|
||||
n_digits = ix;
|
||||
value = this_value = atoi(word);
|
||||
|
||||
ph_ordinal2[0] = 0;
|
||||
ph_zeros[0] = 0;
|
||||
|
||||
ordinal = CheckDotOrdinal(tr, &word[ix], wtab, 1);
|
||||
|
||||
@@ -1377,11 +1411,11 @@ static int TranslateNumber_1(Translator *tr, char *word, char *ph_out, unsigned
|
||||
ix++;
|
||||
hyphen = 0;
|
||||
p = suffix;
|
||||
if(word[ix] == '-')
|
||||
if(wtab[0].flags & FLAG_HYPHEN_AFTER)
|
||||
{
|
||||
*p++ = '-';
|
||||
hyphen = 1;
|
||||
ix += 2;
|
||||
ix++;
|
||||
}
|
||||
while((word[ix] != 0) && (word[ix] != ' ') && (ix < (sizeof(suffix)-1)))
|
||||
{
|
||||
@@ -1397,7 +1431,7 @@ static int TranslateNumber_1(Translator *tr, char *word, char *ph_out, unsigned
|
||||
// this is an ordinal suffix
|
||||
ordinal = 2;
|
||||
flags[0] |= FLAG_SKIPWORDS;
|
||||
dictionary_skipwords = 1 + hyphen;
|
||||
dictionary_skipwords = 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1431,7 +1465,17 @@ static int TranslateNumber_1(Translator *tr, char *word, char *ph_out, unsigned
|
||||
}
|
||||
else
|
||||
{
|
||||
return(0); // number string with leading zero, speak as individual digits
|
||||
if(n_digits > 3)
|
||||
{
|
||||
flags[0] &= ~FLAG_SKIPWORDS;
|
||||
return(0); // long number string with leading zero, speak as individual digits
|
||||
}
|
||||
|
||||
// speak leading zeros
|
||||
for(ix=0; (word[ix] == '0') && (ix < (n_digits-1)); ix++)
|
||||
{
|
||||
Lookup(tr, "_0", &ph_zeros[strlen(ph_zeros)]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1504,11 +1548,33 @@ static int TranslateNumber_1(Translator *tr, char *word, char *ph_out, unsigned
|
||||
Lookup(tr, "_.", ph_append);
|
||||
}
|
||||
|
||||
n_digit_lookup = 0;
|
||||
buf_digit_lookup[0] = 0;
|
||||
if(thousandplex == 0)
|
||||
{
|
||||
char *p2;
|
||||
// look for combinations of the number with the next word
|
||||
p = word;
|
||||
while(isdigit(p[1])) p++; // just use the last digit
|
||||
if(isdigit(p[-1]))
|
||||
{
|
||||
p2 = p - 1;
|
||||
if(LookupDictList(tr, &p2, buf_digit_lookup, flags, FLAG_SUFX, wtab)) // lookup 2 digits
|
||||
n_digit_lookup = 2;
|
||||
}
|
||||
if((buf_digit_lookup[0] == 0) && (*p != '0'))
|
||||
{
|
||||
// not found, lookup only the last digit
|
||||
if(LookupDictList(tr, &p, buf_digit_lookup, flags, FLAG_SUFX, wtab)) // don't match '0', or entries with $only
|
||||
n_digit_lookup = 1;
|
||||
}
|
||||
}
|
||||
|
||||
LookupNum3(tr, value, ph_buf, suppress_null, thousandplex, prev_thousands | ordinal);
|
||||
if((thousandplex > 0) && (tr->langopts.numbers2 & 0x200))
|
||||
sprintf(ph_out,"%s%s%s",ph_append,ph_buf2,ph_buf); // say "thousands" before its number
|
||||
sprintf(ph_out,"%s%s%s%s",ph_zeros,ph_append,ph_buf2,ph_buf); // say "thousands" before its number
|
||||
else
|
||||
sprintf(ph_out,"%s%s%s",ph_buf2,ph_buf,ph_append);
|
||||
sprintf(ph_out,"%s%s%s%s",ph_zeros,ph_buf2,ph_buf,ph_append);
|
||||
|
||||
|
||||
while(decimal_point)
|
||||
@@ -1603,7 +1669,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))
|
||||
if(!iswalpha(next_char) && !(wtab[0].flags & FLAG_HYPHEN_AFTER))
|
||||
strcat(ph_out,str_pause); // don't add pause for 100s, 6th, etc.
|
||||
}
|
||||
|
||||
|
||||
+23
-23
@@ -104,16 +104,16 @@ static int SubstitutePhonemes(Translator *tr, PHONEME_LIST2 *plist_out)
|
||||
if(((pl = &ph_list2[k])->sourceix != 0) && (k > ix))
|
||||
break;
|
||||
|
||||
pl->stress &= 0xf;
|
||||
pl->stresslevel &= 0xf;
|
||||
|
||||
if(phoneme_tab[pl->phcode]->type == phVOWEL)
|
||||
{
|
||||
n_syllables++;
|
||||
|
||||
if(pl->stress > max_stress)
|
||||
if(pl->stresslevel > max_stress)
|
||||
{
|
||||
syllable_stressed = n_syllables;
|
||||
max_stress = pl->stress;
|
||||
max_stress = pl->stresslevel;
|
||||
max_stress_posn = k;
|
||||
}
|
||||
}
|
||||
@@ -137,7 +137,7 @@ static int SubstitutePhonemes(Translator *tr, PHONEME_LIST2 *plist_out)
|
||||
flags |= 8;
|
||||
ch.flags = flags | word_end;
|
||||
|
||||
ch.stress = plist2->stress;
|
||||
ch.stress = plist2->stresslevel;
|
||||
ch.stress_highest = max_stress;
|
||||
ch.n_vowels = n_syllables;
|
||||
ch.vowel_this = syllable;
|
||||
@@ -156,13 +156,13 @@ static int SubstitutePhonemes(Translator *tr, PHONEME_LIST2 *plist_out)
|
||||
if((replace_flags & 1) && (word_end == 0))
|
||||
continue; // this replacement only occurs at the end of a word
|
||||
|
||||
if((replace_flags & 2) && ((plist2->stress & 0x7) > 3))
|
||||
if((replace_flags & 2) && ((plist2->stresslevel & 0x7) > 3))
|
||||
continue; // this replacement doesn't occur in stressed syllables
|
||||
|
||||
// substitute the replacement phoneme
|
||||
plist2->phcode = replace_phonemes[k].new_ph;
|
||||
if((plist2->stress > 1) && (phoneme_tab[plist2->phcode]->phflags & phUNSTRESSED))
|
||||
plist2->stress = 0; // the replacement must be unstressed
|
||||
if((plist2->stresslevel > 1) && (phoneme_tab[plist2->phcode]->phflags & phUNSTRESSED))
|
||||
plist2->stresslevel = 0; // the replacement must be unstressed
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -214,8 +214,8 @@ void MakePhonemeList(Translator *tr, int post_pause, int start_sentence)
|
||||
for(j = n_ph_list2-3; j>=0; j--)
|
||||
{
|
||||
// start with the last phoneme (before the terminating pauses) and move forwards
|
||||
if((plist2[j].stress & 0x7f) > max_stress)
|
||||
max_stress = plist2[j].stress & 0x7f;
|
||||
if((plist2[j].stresslevel & 0x7f) > max_stress)
|
||||
max_stress = plist2[j].stresslevel & 0x7f;
|
||||
if(plist2[j].sourceix != 0)
|
||||
break;
|
||||
}
|
||||
@@ -226,10 +226,10 @@ void MakePhonemeList(Translator *tr, int post_pause, int start_sentence)
|
||||
{
|
||||
if(plist2[j].synthflags & SFLAG_PROMOTE_STRESS) // dictionary flags indicated that this stress can be promoted
|
||||
{
|
||||
plist2[j].stress = 4; // promote to stressed
|
||||
plist2[j].stresslevel = 4; // promote to stressed
|
||||
break;
|
||||
}
|
||||
if(plist2[j].stress >= 4)
|
||||
if(plist2[j].stresslevel >= 4)
|
||||
{
|
||||
// found a stressed syllable, so stop looking
|
||||
break;
|
||||
@@ -344,7 +344,7 @@ void MakePhonemeList(Translator *tr, int post_pause, int start_sentence)
|
||||
if(plist2->phcode == phonSWITCH)
|
||||
{
|
||||
// change phoneme table
|
||||
SelectPhonemeTable(plist2->tone_number);
|
||||
SelectPhonemeTable(plist2->tone_ph);
|
||||
switched_language ^= SFLAG_SWITCHED_LANG;
|
||||
}
|
||||
next = phoneme_tab[(plist2+1)->phcode]; // the phoneme after this one
|
||||
@@ -363,8 +363,8 @@ void MakePhonemeList(Translator *tr, int post_pause, int start_sentence)
|
||||
if(ph_list3[k].sourceix)
|
||||
break; // start of the next word
|
||||
|
||||
if(ph_list3[k].stress > word_stress)
|
||||
word_stress = ph_list3[k].stress;
|
||||
if(ph_list3[k].stresslevel > word_stress)
|
||||
word_stress = ph_list3[k].stresslevel;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -373,7 +373,7 @@ void MakePhonemeList(Translator *tr, int post_pause, int start_sentence)
|
||||
if(ph->type == phVOWEL)
|
||||
{
|
||||
// check for consecutive unstressed syllables
|
||||
if(plist2->stress == 0)
|
||||
if(plist2->stresslevel == 0)
|
||||
{
|
||||
// an unstressed vowel
|
||||
unstress_count++;
|
||||
@@ -388,7 +388,7 @@ void MakePhonemeList(Translator *tr, int post_pause, int start_sentence)
|
||||
}
|
||||
else
|
||||
{
|
||||
plist2->stress = 1; // change stress to 'diminished'
|
||||
plist2->stresslevel = 1; // change stress to 'diminished'
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -455,7 +455,7 @@ void MakePhonemeList(Translator *tr, int post_pause, int start_sentence)
|
||||
{
|
||||
plist2->synthflags |= SFLAG_SYLLABLE;
|
||||
if(ph2->type != phVOWEL)
|
||||
plist2->stress = 0; // change from non-vowel to vowel, make sure it's unstressed
|
||||
plist2->stresslevel = 0; // change from non-vowel to vowel, make sure it's unstressed
|
||||
}
|
||||
else
|
||||
plist2->synthflags &= ~SFLAG_SYLLABLE;
|
||||
@@ -465,7 +465,7 @@ void MakePhonemeList(Translator *tr, int post_pause, int start_sentence)
|
||||
{
|
||||
if((ph->mnemonic == 't') && (plist2->sourceix == 0) && ((prev->type == phVOWEL) || (prev->mnemonic == 'n')))
|
||||
{
|
||||
if(((plist2+1)->sourceix == 0) && ((plist2+1)->stress < 3) && (next->type == phVOWEL))
|
||||
if(((plist2+1)->sourceix == 0) && ((plist2+1)->stresslevel < 3) && (next->type == phVOWEL))
|
||||
{
|
||||
ph = phoneme_tab[phonT_REDUCED];
|
||||
}
|
||||
@@ -483,13 +483,13 @@ void MakePhonemeList(Translator *tr, int post_pause, int start_sentence)
|
||||
|
||||
if(ph->type == phVOWEL)
|
||||
{
|
||||
stress_level = plist2->stress;
|
||||
stress_level = plist2->stresslevel;
|
||||
}
|
||||
else
|
||||
{
|
||||
// consonant, get stress from the following vowel
|
||||
if(next->type == phVOWEL)
|
||||
stress_level = (plist2+1)->stress;
|
||||
stress_level = (plist2+1)->stresslevel;
|
||||
else
|
||||
break;
|
||||
}
|
||||
@@ -562,7 +562,7 @@ void MakePhonemeList(Translator *tr, int post_pause, int start_sentence)
|
||||
insert_ph = phonPAUSE_VSHORT;
|
||||
}
|
||||
|
||||
if(((plist2+1)->stress >= 4) && (tr->langopts.vowel_pause & 0x100))
|
||||
if(((plist2+1)->stresslevel >= 4) && (tr->langopts.vowel_pause & 0x100))
|
||||
{
|
||||
// pause before a words which starts with a stressed vowel
|
||||
insert_ph = phonPAUSE_SHORT;
|
||||
@@ -628,8 +628,8 @@ void MakePhonemeList(Translator *tr, int post_pause, int start_sentence)
|
||||
phlist[ix].type = ph->type;
|
||||
phlist[ix].env = PITCHfall; // default, can be changed in the "intonation" module
|
||||
phlist[ix].synthflags = plist2->synthflags | switched_language;
|
||||
phlist[ix].stresslevel = plist2->stress & 0xf;
|
||||
phlist[ix].tone_ph = plist2->tone_number;
|
||||
phlist[ix].stresslevel = plist2->stresslevel & 0xf;
|
||||
phlist[ix].tone_ph = plist2->tone_ph;
|
||||
phlist[ix].sourceix = 0;
|
||||
|
||||
if(plist2->sourceix != 0)
|
||||
|
||||
+105
-54
@@ -63,9 +63,6 @@ int count_characters = 0;
|
||||
static int sayas_mode;
|
||||
static int ssml_ignore_l_angle = 0;
|
||||
|
||||
static const char *punct_stop = ".:!?"; // pitch fall if followed by space
|
||||
static const char *punct_close = ")]}>;'\""; // always pitch fall unless followed by alnum
|
||||
|
||||
// alter tone for announce punctuation or capitals
|
||||
//static const char *tone_punct_on = "\0016T"; // add reverberation, lower pitch
|
||||
//static const char *tone_punct_off = "\001T\001P";
|
||||
@@ -121,7 +118,7 @@ static const unsigned int punct_attributes [] = { 0,
|
||||
CLAUSE_COMMA, CLAUSE_PERIOD, CLAUSE_QUESTION, CLAUSE_EXCLAMATION, CLAUSE_COLON, CLAUSE_SEMICOLON,
|
||||
CLAUSE_SEMICOLON, // en-dash
|
||||
CLAUSE_SEMICOLON, // em-dash
|
||||
CLAUSE_SEMICOLON, // elipsis
|
||||
CLAUSE_SEMICOLON + PUNCT_SAY_NAME, // elipsis
|
||||
|
||||
CLAUSE_QUESTION, // Greek question mark
|
||||
CLAUSE_SEMICOLON, // Greek semicolon
|
||||
@@ -574,7 +571,7 @@ static const char *LookupSpecial(Translator *tr, const char *string, char* text_
|
||||
|
||||
if(LookupDictList(tr,&string1,phonemes,flags,0,NULL))
|
||||
{
|
||||
SetWordStress(tr, phonemes, flags[0], -1, 0);
|
||||
SetWordStress(tr, phonemes, flags, -1, 0);
|
||||
DecodePhonemes(phonemes,phonemes2);
|
||||
sprintf(text_out,"[[%s]]",phonemes2);
|
||||
option_phoneme_input |= 2;
|
||||
@@ -584,8 +581,8 @@ static const char *LookupSpecial(Translator *tr, const char *string, char* text_
|
||||
}
|
||||
|
||||
|
||||
static const char *LookupCharName(Translator *tr, int c)
|
||||
{//=====================================================
|
||||
static const char *LookupCharName(Translator *tr, int c, int only)
|
||||
{//===============================================================
|
||||
// Find the phoneme string (in ascii) to speak the name of character c
|
||||
// Used for punctuation characters and symbols
|
||||
|
||||
@@ -606,20 +603,28 @@ static const char *LookupCharName(Translator *tr, int c)
|
||||
ix = utf8_out(c,&single_letter[2]);
|
||||
single_letter[2+ix]=0;
|
||||
|
||||
string = &single_letter[1];
|
||||
if(LookupDictList(tr, &string, phonemes, flags, 0, NULL) == 0)
|
||||
if(only)
|
||||
{
|
||||
// try _* then *
|
||||
string = &single_letter[2];
|
||||
LookupDictList(tr, &string, phonemes, flags, 0, NULL);
|
||||
}
|
||||
else
|
||||
{
|
||||
string = &single_letter[1];
|
||||
if(LookupDictList(tr, &string, phonemes, flags, 0, NULL) == 0)
|
||||
{
|
||||
// now try the rules
|
||||
single_letter[1] = ' ';
|
||||
TranslateRules(tr, &single_letter[2], phonemes, sizeof(phonemes), NULL,0,NULL);
|
||||
// try _* then *
|
||||
string = &single_letter[2];
|
||||
if(LookupDictList(tr, &string, phonemes, flags, 0, NULL) == 0)
|
||||
{
|
||||
// now try the rules
|
||||
single_letter[1] = ' ';
|
||||
TranslateRules(tr, &single_letter[2], phonemes, sizeof(phonemes), NULL,0,NULL);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if((phonemes[0] == 0) && (tr->translator_name != L('e','n')))
|
||||
if((only==0) && (phonemes[0] == 0) && (tr->translator_name != L('e','n')))
|
||||
{
|
||||
// not found, try English
|
||||
SetTranslator2("en");
|
||||
@@ -644,20 +649,21 @@ static const char *LookupCharName(Translator *tr, int c)
|
||||
{
|
||||
if(lang_name)
|
||||
{
|
||||
SetWordStress(translator2, phonemes, flags[0], -1, 0);
|
||||
SetWordStress(translator2, phonemes, flags, -1, 0);
|
||||
DecodePhonemes(phonemes,phonemes2);
|
||||
sprintf(buf,"[[_^_%s %s _^_%s]]","en",phonemes2,WordToString2(tr->translator_name));
|
||||
SelectPhonemeTable(voice->phoneme_tab_ix); // revert to original phoneme table
|
||||
}
|
||||
else
|
||||
{
|
||||
SetWordStress(tr, phonemes, flags[0], -1, 0);
|
||||
SetWordStress(tr, phonemes, flags, -1, 0);
|
||||
DecodePhonemes(phonemes,phonemes2);
|
||||
sprintf(buf,"[[%s]] ",phonemes2);
|
||||
}
|
||||
option_phoneme_input |= 2;
|
||||
}
|
||||
else
|
||||
if(only == 0)
|
||||
{
|
||||
strcpy(buf,"[[(X1)(X1)(X1)]]");
|
||||
option_phoneme_input |= 2;
|
||||
@@ -835,6 +841,8 @@ static int AnnouncePunctuation(Translator *tr, int c1, int *c2_ptr, char *output
|
||||
const char *punctname;
|
||||
int found = 0;
|
||||
int soundicon;
|
||||
int attributes;
|
||||
int short_pause;
|
||||
int c2;
|
||||
int len;
|
||||
int bufix1;
|
||||
@@ -852,10 +860,10 @@ static int AnnouncePunctuation(Translator *tr, int c1, int *c2_ptr, char *output
|
||||
found = 1;
|
||||
}
|
||||
else
|
||||
if((punctname = LookupCharName(tr, c1)) != NULL)
|
||||
if((punctname = LookupCharName(tr, c1, 0)) != NULL)
|
||||
{
|
||||
found = 1;
|
||||
if((*bufix==0) || (end_clause==0))
|
||||
if((*bufix==0) || (end_clause ==0) || (tr->langopts.param[LOPT_ANNOUNCE_PUNCT] & 2))
|
||||
{
|
||||
punct_count=1;
|
||||
while(c2 == c1)
|
||||
@@ -919,14 +927,24 @@ static int AnnouncePunctuation(Translator *tr, int c1, int *c2_ptr, char *output
|
||||
|
||||
if(c1 == '-')
|
||||
return(CLAUSE_NONE); // no pause
|
||||
if(bufix1 > 0)
|
||||
return(CLAUSE_SHORTCOMMA);
|
||||
if((strchr_w(punct_close,c1) != NULL) && !iswalnum(c2))
|
||||
return(CLAUSE_SHORTFALL+4);
|
||||
if(iswspace(c2) && strchr_w(punct_stop,c1)!=NULL)
|
||||
return(punct_attributes[lookupwchar(punct_chars,c1)]);
|
||||
|
||||
attributes = punct_attributes[lookupwchar(punct_chars,c1)];
|
||||
|
||||
short_pause = CLAUSE_SHORTFALL;
|
||||
if((attributes & CLAUSE_BITS_INTONATION) == 0x1000)
|
||||
short_pause = CLAUSE_SHORTCOMMA;
|
||||
|
||||
if((bufix1 > 0) && !(tr->langopts.param[LOPT_ANNOUNCE_PUNCT] & 2))
|
||||
{
|
||||
if((attributes & ~0x8000) == CLAUSE_SEMICOLON)
|
||||
return(CLAUSE_SHORTFALL);
|
||||
return(short_pause);
|
||||
}
|
||||
|
||||
if(attributes & CLAUSE_BIT_SENTENCE)
|
||||
return(attributes);
|
||||
|
||||
return(CLAUSE_SHORTCOMMA);
|
||||
return(short_pause);
|
||||
} // end of AnnouncePunctuation
|
||||
|
||||
#define SSML_SPEAK 1
|
||||
@@ -1936,6 +1954,7 @@ int ReadClause(Translator *tr, FILE *f_in, char *buf, short *charix, int *charix
|
||||
int c2; // next character
|
||||
int cprev=' '; // previous character
|
||||
int cprev2=' ';
|
||||
int c_next;
|
||||
int parag;
|
||||
int ix = 0;
|
||||
int j;
|
||||
@@ -1948,7 +1967,7 @@ int ReadClause(Translator *tr, FILE *f_in, char *buf, short *charix, int *charix
|
||||
int found;
|
||||
int any_alnum = 0;
|
||||
int self_closing;
|
||||
int punct_data;
|
||||
int punct_data = 0;
|
||||
int is_end_clause;
|
||||
int announced_punctuation;
|
||||
int stressed_word = 0;
|
||||
@@ -2340,6 +2359,18 @@ if(option_ssml) parag=1;
|
||||
{
|
||||
is_end_clause = 0;
|
||||
|
||||
if((c1 == '.') && (c2 == '.'))
|
||||
{
|
||||
while((c_next = GetC()) == '.')
|
||||
{
|
||||
// 3 or more dots, replace by elipsis
|
||||
c1 = 0x2026;
|
||||
c2 = ' ';
|
||||
}
|
||||
UngetC(c_next);
|
||||
}
|
||||
|
||||
punct_data = 0;
|
||||
if((punct = lookupwchar(punct_chars,c1)) != 0)
|
||||
{
|
||||
punct_data = punct_attributes[punct];
|
||||
@@ -2371,17 +2402,23 @@ if(option_ssml) parag=1;
|
||||
}
|
||||
}
|
||||
|
||||
if((punct_data & PUNCT_SAY_NAME) && (announced_punctuation == 0))
|
||||
{
|
||||
// used for elipsis (and 3 dots) if a pronunciation for elipsis is given in *_list
|
||||
char *p2;
|
||||
|
||||
p2 = &buf[ix];
|
||||
sprintf(p2,"%s",LookupCharName(tr, c1, 1));
|
||||
if(p2[0] != 0)
|
||||
{
|
||||
ix += strlen(p2);
|
||||
announced_punctuation = c1;
|
||||
punct_data = punct_data & ~CLAUSE_BITS_INTONATION; // change intonation type to 0 (full-stop)
|
||||
}
|
||||
}
|
||||
|
||||
if(is_end_clause)
|
||||
{
|
||||
int c_next;
|
||||
|
||||
if((c1 == '.') && (cprev == '.'))
|
||||
{
|
||||
c1 = 0x2026;
|
||||
punct = 9; // elipsis
|
||||
}
|
||||
|
||||
nl_count = 0;
|
||||
c_next = c2;
|
||||
|
||||
@@ -2395,26 +2432,39 @@ if(option_ssml) parag=1;
|
||||
}
|
||||
}
|
||||
|
||||
if((nl_count==0) && (c1 == '.'))
|
||||
if(nl_count==0)
|
||||
{
|
||||
if((tr->langopts.numbers & NUM_ORDINAL_DOT) &&
|
||||
(iswdigit(cprev) || (IsRomanU(cprev) && (IsRomanU(cprev2) || iswspace(cprev2))))) // lang=hu
|
||||
if(c1 == '.')
|
||||
{
|
||||
// dot after a number indicates an ordinal number
|
||||
if(!iswdigit(cprev) || iswlower(c_next) || (c_next == '<'))
|
||||
is_end_clause = 0; // only if followed by lower-case, (or if there is a XML tag)
|
||||
if((tr->langopts.numbers & NUM_ORDINAL_DOT) &&
|
||||
(iswdigit(cprev) || (IsRomanU(cprev) && (IsRomanU(cprev2) || iswspace(cprev2))))) // lang=hu
|
||||
{
|
||||
// dot after a number indicates an ordinal number
|
||||
if(!iswdigit(cprev) || iswlower(c_next) || (c_next == '<'))
|
||||
is_end_clause = 0; // only if followed by lower-case, (or if there is a XML tag)
|
||||
}
|
||||
else
|
||||
if(iswlower(c_next))
|
||||
{
|
||||
// next word has no capital letter, this dot is probably from an abbreviation
|
||||
c1 = ' ';
|
||||
is_end_clause = 0;
|
||||
}
|
||||
if(any_alnum==0)
|
||||
{
|
||||
// no letters or digits yet, so probably not a sentence terminator
|
||||
// Here, dot is followed by space or bracket
|
||||
c1 = ' ';
|
||||
is_end_clause = 0;
|
||||
}
|
||||
}
|
||||
else
|
||||
if(iswlower(c_next))
|
||||
{
|
||||
// next word has no capital letter, this dot is probably from an abbreviation
|
||||
c1 = ' ';
|
||||
is_end_clause = 0;
|
||||
}
|
||||
if(any_alnum==0)
|
||||
{
|
||||
c1 = ' '; // no letters or digits yet, so probably not a sentence terminator
|
||||
is_end_clause = 0;
|
||||
if(any_alnum==0)
|
||||
{
|
||||
// no letters or digits yet, so probably not a sentence terminator
|
||||
is_end_clause = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2424,7 +2474,6 @@ if(option_ssml) parag=1;
|
||||
buf[ix] = ' ';
|
||||
buf[ix+1] = 0;
|
||||
|
||||
punct_data = punct_attributes[punct];
|
||||
if(nl_count > 1)
|
||||
{
|
||||
if((punct_data == CLAUSE_QUESTION) || (punct_data == CLAUSE_EXCLAMATION))
|
||||
@@ -2449,12 +2498,14 @@ if(option_ssml) parag=1;
|
||||
|
||||
if(c1 == announced_punctuation)
|
||||
{
|
||||
// const unsigned short keep_punctuation[] = {
|
||||
// '\'', '-', 0x92, 0xb4, 0x2019, 0x2032, 0 };
|
||||
|
||||
// This character has already been announced, so delete it so that it isn't spoken a second time.
|
||||
// Unless it's a hyphen or apostrophe (which is used by TranslateClause() )
|
||||
if(!IsBracket(c1))
|
||||
if(IsBracket(c1))
|
||||
{
|
||||
c1 = 0xe000 + '('; // Unicode private useage area. So TranslateRules() knows the bracket name has been spoken
|
||||
}
|
||||
else
|
||||
if(c1 != '-')
|
||||
{
|
||||
c1 = ' ';
|
||||
}
|
||||
|
||||
@@ -27,6 +27,12 @@
|
||||
#define ARCH_BIG
|
||||
#endif
|
||||
|
||||
#ifdef __QNX__
|
||||
#define NEED_GETOPT
|
||||
#define NO_VARIADIC_MACROS
|
||||
#endif
|
||||
|
||||
|
||||
#define PLATFORM_POSIX
|
||||
#define PATHSEP '/'
|
||||
// USE_PORTAUDIO or USE_PULSEAUDIO are now defined in the makefile
|
||||
|
||||
+1
-1
@@ -35,7 +35,7 @@
|
||||
#include "translate.h"
|
||||
#include "wave.h"
|
||||
|
||||
const char *version_string = "1.41.18 19.Oct.09";
|
||||
const char *version_string = "1.41.32 09.Nov.09";
|
||||
const int version_phdata = 0x014118;
|
||||
|
||||
int option_device_number = -1;
|
||||
|
||||
@@ -1276,6 +1276,13 @@ int Generate(PHONEME_LIST *phoneme_list, int *n_ph, int resume)
|
||||
else
|
||||
{
|
||||
DoSpect(p->ph,prev->ph,phoneme_tab[phonPAUSE],2,p,0);
|
||||
if((p->newword == 0) && (next2->newword == 0))
|
||||
{
|
||||
if((next->type == phVFRICATIVE) && (p->ph->mnemonic !='d'))
|
||||
DoPause(20,0);
|
||||
if((next->type == phFRICATIVE) || (next->type == phNASAL))
|
||||
DoPause(12,0);
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
|
||||
@@ -154,6 +154,8 @@ static Translator* NewTranslator(void)
|
||||
tr->langopts.param[LOPT_SONORANT_MIN] = 95;
|
||||
tr->langopts.param[LOPT_MAXAMP_EOC] = 19;
|
||||
tr->langopts.param[LOPT_UNPRONOUNCABLE] = 's'; // don't count this character at start of word
|
||||
tr->langopts.param[LOPT_BRACKET_PAUSE] = 4; // pause at bracket
|
||||
tr->langopts.param2[LOPT_BRACKET_PAUSE] = 2; // pauses when announcing bracket names
|
||||
tr->langopts.max_initial_consonants = 3;
|
||||
tr->langopts.replace_chars = NULL;
|
||||
tr->langopts.ascii_language = ""; // Non-Latin alphabet languages, use this language to speak Latin words, default is English
|
||||
@@ -576,10 +578,10 @@ Translator *SelectTranslator(const char *name)
|
||||
|
||||
tr->langopts.vowel_pause = 0x20;
|
||||
tr->langopts.stress_rule = STRESSPOSN_1L;
|
||||
tr->langopts.stress_flags = 0x8036;
|
||||
tr->langopts.stress_flags = 0x8036 | STRS_HYPEN_UNSTRESS;
|
||||
tr->langopts.unstressed_wd1 = 2;
|
||||
// tr->langopts.param[LOPT_REGRESSIVE_VOICING] = 0x4; // don't propagate over word boundaries
|
||||
tr->langopts.param[LOPT_IT_DOUBLING] = 1;
|
||||
tr->langopts.param[LOPT_ANNOUNCE_PUNCT] = 2; // don't break clause before announcing . ? !
|
||||
// tr->langopts.param[LOPT_COMBINE_WORDS] = 9; // combine some prepositions with the following word
|
||||
|
||||
tr->langopts.numbers = NUM_DECIMAL_COMMA | NUM_ALLOW_SPACE | NUM_DFRACTION_5 | NUM_ROMAN | NUM_ROMAN_ORDINAL | NUM_ROMAN_CAPITALS | NUM_ORDINAL_DOT | NUM_OMIT_1_HUNDRED;
|
||||
|
||||
+37
-25
@@ -75,6 +75,7 @@ static int embedded_flag = 0; // there are embedded commands to be applied to
|
||||
|
||||
static int prev_clause_pause=0;
|
||||
static int max_clause_pause = 0;
|
||||
static int any_stressed_words;
|
||||
int pre_pause;
|
||||
|
||||
|
||||
@@ -1100,7 +1101,7 @@ strcpy(phonemes2,phonemes);
|
||||
{
|
||||
char *p;
|
||||
// German, keep a secondary stress on the stem
|
||||
SetWordStress(tr, phonemes, dictionary_flags[0], 3, 0);
|
||||
SetWordStress(tr, phonemes, dictionary_flags, 3, 0);
|
||||
|
||||
// reduce all but the first primary stress
|
||||
ix=0;
|
||||
@@ -1116,22 +1117,22 @@ strcpy(phonemes2,phonemes);
|
||||
}
|
||||
strcpy(word_phonemes,prefix_phonemes);
|
||||
strcat(word_phonemes,phonemes);
|
||||
SetWordStress(tr, word_phonemes, dictionary_flags[0], -1, 0);
|
||||
SetWordStress(tr, word_phonemes, dictionary_flags, -1, 0);
|
||||
}
|
||||
else
|
||||
{
|
||||
// stress position affects the whole word, including prefix
|
||||
strcpy(word_phonemes,prefix_phonemes);
|
||||
strcat(word_phonemes,phonemes);
|
||||
SetWordStress(tr, word_phonemes, dictionary_flags[0], -1, tr->prev_last_stress);
|
||||
SetWordStress(tr, word_phonemes, dictionary_flags, -1, tr->prev_last_stress);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if(prefix_phonemes[0] == 0)
|
||||
SetWordStress(tr, phonemes, dictionary_flags[0], -1, tr->prev_last_stress);
|
||||
SetWordStress(tr, phonemes, dictionary_flags, -1, tr->prev_last_stress);
|
||||
else
|
||||
SetWordStress(tr, phonemes, dictionary_flags[0], -1, 0);
|
||||
SetWordStress(tr, phonemes, dictionary_flags, -1, 0);
|
||||
strcpy(word_phonemes,prefix_phonemes);
|
||||
strcat(word_phonemes,phonemes);
|
||||
}
|
||||
@@ -1149,6 +1150,11 @@ strcpy(phonemes2,phonemes);
|
||||
dictionary_flags[0] &= ~FLAG_PAUSE1;
|
||||
}
|
||||
|
||||
if((wflags & FLAG_HYPHEN) && (tr->langopts.stress_flags & STRS_HYPEN_UNSTRESS))
|
||||
{
|
||||
ChangeWordStress(tr,word_phonemes,3);
|
||||
}
|
||||
else
|
||||
if(wflags & FLAG_EMPHASIZED2)
|
||||
{
|
||||
// A word is indicated in the source text as stressed
|
||||
@@ -1165,7 +1171,7 @@ strcpy(phonemes2,phonemes);
|
||||
if(dictionary_flags[0] & (FLAG_STRESS_END | FLAG_STRESS_END2))
|
||||
ChangeWordStress(tr,word_phonemes,4);
|
||||
else
|
||||
if(dictionary_flags[0] & FLAG_UNSTRESS_END)
|
||||
if((dictionary_flags[0] & FLAG_UNSTRESS_END) && (any_stressed_words))
|
||||
ChangeWordStress(tr,word_phonemes,3);
|
||||
}
|
||||
|
||||
@@ -1227,7 +1233,7 @@ strcpy(phonemes2,phonemes);
|
||||
tr->expect_past--;
|
||||
}
|
||||
|
||||
if((word_length == 1) && iswalpha(first_char) && (first_char != 'i'))
|
||||
if((word_length == 1) && (tr->translator_name == L('e','n')) && iswalpha(first_char) && (first_char != 'i'))
|
||||
{
|
||||
// English Specific !!!!
|
||||
// any single letter before a dot is an abbreviation, except 'I'
|
||||
@@ -1247,8 +1253,8 @@ strcpy(phonemes2,phonemes);
|
||||
static void SetPlist2(PHONEME_LIST2 *p, unsigned char phcode)
|
||||
{//==========================================================
|
||||
p->phcode = phcode;
|
||||
p->stress = 0;
|
||||
p->tone_number = 0;
|
||||
p->stresslevel = 0;
|
||||
p->tone_ph = 0;
|
||||
p->synthflags = embedded_flag;
|
||||
p->sourceix = 0;
|
||||
embedded_flag = 0;
|
||||
@@ -1602,7 +1608,7 @@ static int TranslateWord2(Translator *tr, char *word, WORD_TAB *wtab, int pre_pa
|
||||
{
|
||||
// this word uses a different phoneme table
|
||||
SetPlist2(&ph_list2[n_ph_list2],phonSWITCH);
|
||||
ph_list2[n_ph_list2++].tone_number = switch_phonemes; // temporary phoneme table number
|
||||
ph_list2[n_ph_list2++].tone_ph = switch_phonemes; // temporary phoneme table number
|
||||
}
|
||||
|
||||
// remove initial pause from a word if it follows a hyphen
|
||||
@@ -1622,7 +1628,7 @@ static int TranslateWord2(Translator *tr, char *word, WORD_TAB *wtab, int pre_pa
|
||||
ph_list2[n_ph_list2].phcode = ph_code;
|
||||
ph_list2[n_ph_list2].sourceix = 0;
|
||||
ph_list2[n_ph_list2].synthflags = embedded_flag;
|
||||
ph_list2[n_ph_list2++].tone_number = *p++;
|
||||
ph_list2[n_ph_list2++].tone_ph = *p++;
|
||||
}
|
||||
else
|
||||
if(ph->type == phSTRESS)
|
||||
@@ -1637,7 +1643,7 @@ static int TranslateWord2(Translator *tr, char *word, WORD_TAB *wtab, int pre_pa
|
||||
// for tone languages, the tone number for a syllable follows the vowel
|
||||
if(prev_vowel >= 0)
|
||||
{
|
||||
ph_list2[prev_vowel].tone_number = ph_code;
|
||||
ph_list2[prev_vowel].tone_ph = ph_code;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -1651,7 +1657,7 @@ static int TranslateWord2(Translator *tr, char *word, WORD_TAB *wtab, int pre_pa
|
||||
// mark the previous phoneme as a syllabic consonant
|
||||
prev_vowel = n_ph_list2-1;
|
||||
ph_list2[prev_vowel].synthflags |= SFLAG_SYLLABLE;
|
||||
ph_list2[prev_vowel].stress = next_stress;
|
||||
ph_list2[prev_vowel].stresslevel = next_stress;
|
||||
}
|
||||
else
|
||||
if(ph_code == phonLENGTHEN)
|
||||
@@ -1678,7 +1684,7 @@ static int TranslateWord2(Translator *tr, char *word, WORD_TAB *wtab, int pre_pa
|
||||
else
|
||||
{
|
||||
ph_list2[n_ph_list2].phcode = ph_code;
|
||||
ph_list2[n_ph_list2].tone_number = 0;
|
||||
ph_list2[n_ph_list2].tone_ph = 0;
|
||||
ph_list2[n_ph_list2].synthflags = embedded_flag | found_dict_flag;
|
||||
embedded_flag = 0;
|
||||
ph_list2[n_ph_list2].sourceix = srcix;
|
||||
@@ -1689,8 +1695,13 @@ static int TranslateWord2(Translator *tr, char *word, WORD_TAB *wtab, int pre_pa
|
||||
stress = next_stress;
|
||||
next_stress = 0;
|
||||
|
||||
if(stress >= 4)
|
||||
{
|
||||
any_stressed_words = 1;
|
||||
}
|
||||
|
||||
if((prev_vowel >= 0) && (n_ph_list2-1) != prev_vowel)
|
||||
ph_list2[n_ph_list2-1].stress = stress; // set stress for previous consonant
|
||||
ph_list2[n_ph_list2-1].stresslevel = stress; // set stress for previous consonant
|
||||
|
||||
ph_list2[n_ph_list2].synthflags |= SFLAG_SYLLABLE;
|
||||
prev_vowel = n_ph_list2;
|
||||
@@ -1702,7 +1713,7 @@ static int TranslateWord2(Translator *tr, char *word, WORD_TAB *wtab, int pre_pa
|
||||
}
|
||||
if(next_tone != 0)
|
||||
{
|
||||
ph_list2[n_ph_list2].tone_number = next_tone;
|
||||
ph_list2[n_ph_list2].tone_ph = next_tone;
|
||||
next_tone=0;
|
||||
}
|
||||
}
|
||||
@@ -1720,7 +1731,7 @@ static int TranslateWord2(Translator *tr, char *word, WORD_TAB *wtab, int pre_pa
|
||||
}
|
||||
}
|
||||
|
||||
ph_list2[n_ph_list2].stress = stress;
|
||||
ph_list2[n_ph_list2].stresslevel = stress;
|
||||
n_ph_list2++;
|
||||
first_phoneme = 0;
|
||||
}
|
||||
@@ -1742,7 +1753,7 @@ static int TranslateWord2(Translator *tr, char *word, WORD_TAB *wtab, int pre_pa
|
||||
// this word uses a different phoneme table, now switch back
|
||||
SelectPhonemeTable(voice->phoneme_tab_ix);
|
||||
SetPlist2(&ph_list2[n_ph_list2],phonSWITCH);
|
||||
ph_list2[n_ph_list2++].tone_number = voice->phoneme_tab_ix; // original phoneme table number
|
||||
ph_list2[n_ph_list2++].tone_ph = voice->phoneme_tab_ix; // original phoneme table number
|
||||
}
|
||||
|
||||
|
||||
@@ -2021,6 +2032,7 @@ void *TranslateClause(Translator *tr, FILE *f_text, const void *vp_input, int *t
|
||||
embedded_read = 0;
|
||||
option_phoneme_input &= ~2; // clear bit 1 (temporary indication)
|
||||
pre_pause = 0;
|
||||
any_stressed_words = 0;
|
||||
|
||||
if((clause_start_char = count_characters) < 0)
|
||||
clause_start_char = 0;
|
||||
@@ -2390,7 +2402,7 @@ if((c == '/') && (tr->langopts.testing & 2) && IsDigit09(next_in) && IsAlpha(pre
|
||||
else
|
||||
if(c=='-')
|
||||
{
|
||||
if(IsAlpha(prev_in) && IsAlpha(next_in))
|
||||
if((IsAlpha(prev_in) || iswdigit(prev_in)) && IsAlpha(next_in))
|
||||
{
|
||||
// '-' between two letters is a hyphen, treat as a space
|
||||
word_flags |= FLAG_HYPHEN;
|
||||
@@ -2683,17 +2695,17 @@ if((c == '/') && (tr->langopts.testing & 2) && IsDigit09(next_in) && IsAlpha(pre
|
||||
}
|
||||
word = pw;
|
||||
|
||||
// include the next few characters, in case there are an ordinal indicator
|
||||
// include the next few characters, in case there are an ordinal indicator or other suffix
|
||||
pn[0] = ' ';
|
||||
memcpy(pn+1, pw, 8);
|
||||
pn[8] = 0;
|
||||
memcpy(pn+1, pw, 16);
|
||||
pn[16] = 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 );
|
||||
while(*pw++ != ' ');
|
||||
words[ix].pre_pause = 0;
|
||||
words[ix].flags = 0;
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -2730,7 +2742,7 @@ if((c == '/') && (tr->langopts.testing & 2) && IsDigit09(next_in) && IsAlpha(pre
|
||||
|
||||
if(dict_flags & FLAG_SKIPWORDS)
|
||||
{
|
||||
ix += dictionary_skipwords; // dictionary indicates skip next word(s)
|
||||
ix += dictionary_skipwords; // dictionary indicates skip next word(s)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2740,7 +2752,7 @@ if((c == '/') && (tr->langopts.testing & 2) && IsDigit09(next_in) && IsAlpha(pre
|
||||
PHONEME_LIST2 *p2;
|
||||
p2 = &ph_list2[n_ph_list2 + ix];
|
||||
p2->phcode = phonPAUSE;
|
||||
p2->stress = 0;
|
||||
p2->stresslevel = 0;
|
||||
p2->sourceix = source_index;
|
||||
p2->synthflags = 0;
|
||||
}
|
||||
|
||||
+23
-13
@@ -76,9 +76,9 @@
|
||||
#define FLAG_VERB_EXT 0x100 /* extend the 'verb follows' */
|
||||
#define FLAG_CAPITAL 0x200 /* pronunciation if initial letter is upper case */
|
||||
#define FLAG_ALLCAPS 0x400 // only if the word is all capitals
|
||||
#define BITNUM_FLAG_ALLCAPS 0x2a
|
||||
#define FLAG_ACCENT 0x800 // character name is base-character name + accent name
|
||||
#define FLAG_HYPHENATED 0x1000 // multiple-words, but needs hyphen between parts 1 and 2
|
||||
#define BITNUM_FLAG_ALLCAPS 0x2a
|
||||
#define BITNUM_FLAG_HYPHENATED 0x2c
|
||||
|
||||
|
||||
@@ -164,29 +164,30 @@
|
||||
|
||||
// Punctuation types returned by ReadClause()
|
||||
// bits 0-7 pause x 10mS, bits 12-14 intonation type,
|
||||
// bit 15- don't need space after the punctuation
|
||||
// bit 19=sentence, bit 18=clause, bits 17=voice change
|
||||
// bit 16 used to distinguish otherwise identical types
|
||||
// bit 20= punctuation character can be inside a word (Armenian)
|
||||
// bit 21= speak the name of the punctuation character
|
||||
#define CLAUSE_BIT_SENTENCE 0x80000
|
||||
#define CLAUSE_BIT_CLAUSE 0x40000
|
||||
#define CLAUSE_BIT_VOICE 0x20000
|
||||
#define CLAUSE_BITS_INTONATION 0x7000
|
||||
#define PUNCT_IN_WORD 0x100000
|
||||
#define PUNCT_SAY_NAME 0x200000
|
||||
|
||||
#define CLAUSE_NONE 0 + 0x04000
|
||||
#define CLAUSE_PARAGRAPH 70 + 0x80000
|
||||
#define CLAUSE_EOF 35 + 0x90000
|
||||
#define CLAUSE_EOF 40 + 0x90000
|
||||
#define CLAUSE_VOICE 0 + 0x24000
|
||||
#define CLAUSE_PERIOD 35 + 0x80000
|
||||
#define CLAUSE_PERIOD 40 + 0x80000
|
||||
#define CLAUSE_COMMA 20 + 0x41000
|
||||
#define CLAUSE_SHORTCOMMA 4 + 0x41000
|
||||
#define CLAUSE_SHORTFALL 4 + 0x40000
|
||||
#define CLAUSE_QUESTION 35 + 0x82000
|
||||
#define CLAUSE_EXCLAMATION 40 + 0x83000
|
||||
#define CLAUSE_QUESTION 40 + 0x82000
|
||||
#define CLAUSE_EXCLAMATION 45 + 0x83000
|
||||
#define CLAUSE_COLON 30 + 0x40000
|
||||
#ifdef PLATFORM_RISCOS
|
||||
#define CLAUSE_SEMICOLON 30 + 0x40000
|
||||
#else
|
||||
#define CLAUSE_SEMICOLON 30 + 0x41000
|
||||
#endif
|
||||
|
||||
#define SAYAS_CHARS 0x12
|
||||
#define SAYAS_GLYPHS 0x13
|
||||
@@ -225,8 +226,8 @@ typedef struct{
|
||||
// a clause translated into phoneme codes (first stage)
|
||||
typedef struct {
|
||||
unsigned char phcode;
|
||||
unsigned char stress;
|
||||
unsigned char tone_number;
|
||||
unsigned char stresslevel;
|
||||
unsigned char tone_ph;
|
||||
unsigned char synthflags;
|
||||
unsigned short sourceix;
|
||||
} PHONEME_LIST2;
|
||||
@@ -242,7 +243,7 @@ extern const int param_defaults[N_SPEECH_PARAM];
|
||||
|
||||
|
||||
|
||||
#define N_LOPTS 16
|
||||
#define N_LOPTS 18
|
||||
#define LOPT_DIERESES 1
|
||||
// 1=remove [:] from unstressed syllables, 2= remove from unstressed or non-penultimate syllables
|
||||
// bit 4=0, if stress < 4, bit 4=1, if not the highest stress in the word
|
||||
@@ -296,6 +297,12 @@ extern const int param_defaults[N_SPEECH_PARAM];
|
||||
// Call ApplySpecialAttributes() if $alt or $alt2 is set for a word
|
||||
#define LOPT_ALT 15
|
||||
|
||||
// pause for bracket (default=4), pause when annoucing bracket names (default=2)
|
||||
#define LOPT_BRACKET_PAUSE 16
|
||||
|
||||
// bit 1, don't break clause before annoucning . ? !
|
||||
#define LOPT_ANNOUNCE_PUNCT 17
|
||||
|
||||
|
||||
// stress_rule
|
||||
#define STRESSPOSN_1L 0 // 1st syllable
|
||||
@@ -314,6 +321,7 @@ typedef struct {
|
||||
int vowel_pause;
|
||||
int stress_rule; // 1=first syllable, 2=penultimate, 3=last
|
||||
|
||||
#define STRS_HYPEN_UNSTRESS 0x100000
|
||||
// bit0=don't stress monosyllables, except at end of clause
|
||||
// bit1=don't set diminished stress,
|
||||
// bit2=mark unstressed final syllables as diminished
|
||||
@@ -329,11 +337,13 @@ typedef struct {
|
||||
// bit17= "priority" stress reduces other primary stress to "unstressed" not "secondary"
|
||||
// bit18= don't lengthen short vowels more than long vowels at end-of-clause
|
||||
// bit19=stress on final syllable if it has a long vowel, but previous syllable has a short vowel
|
||||
// bit20= hyphenated words, 2nd part is unstressed
|
||||
|
||||
int stress_flags;
|
||||
int unstressed_wd1; // stress for $u word of 1 syllable
|
||||
int unstressed_wd2; // stress for $u word of >1 syllable
|
||||
int param[N_LOPTS];
|
||||
int param2[N_LOPTS];
|
||||
unsigned char *length_mods;
|
||||
unsigned char *length_mods0;
|
||||
|
||||
@@ -605,7 +615,7 @@ void CalcPitches(Translator *tr, int clause_tone);
|
||||
|
||||
int RemoveEnding(Translator *tr, char *word, int end_type, char *word_copy);
|
||||
int Unpronouncable(Translator *tr, char *word);
|
||||
void SetWordStress(Translator *tr, char *output, unsigned int &dictionary_flags, int tonic, int prev_stress);
|
||||
void SetWordStress(Translator *tr, char *output, unsigned int *dictionary_flags, int tonic, int prev_stress);
|
||||
int TranslateRules(Translator *tr, char *p, char *phonemes, int size, char *end_phonemes, int end_flags, unsigned int *dict_flags);
|
||||
int TranslateWord(Translator *tr, char *word1, int next_pause, WORD_TAB *wtab);
|
||||
void *TranslateClause(Translator *tr, FILE *f_text, const void *vp_input, int *tone, char **voice_change);
|
||||
|
||||
+22
-23
@@ -113,12 +113,12 @@ enum {
|
||||
|
||||
|
||||
|
||||
typedef struct {
|
||||
const char *mnem;
|
||||
int data;
|
||||
} keywtab_t;
|
||||
static MNEM_TAB options_tab[] = {
|
||||
{"reduce_t", LOPT_REDUCE_T},
|
||||
{"bracket", LOPT_BRACKET_PAUSE},
|
||||
{NULL, -1} };
|
||||
|
||||
static keywtab_t keyword_tab[] = {
|
||||
static MNEM_TAB keyword_tab[] = {
|
||||
{"name", V_NAME},
|
||||
{"language", V_LANGUAGE},
|
||||
{"gender", V_GENDER},
|
||||
@@ -373,11 +373,12 @@ void VoiceReset(int tone_only)
|
||||
|
||||
static int breath_widths[N_PEAKS] = {0,200,200,400,400,400,600,600,600};
|
||||
|
||||
// default is: pitch 82,118
|
||||
// voice->pitch_base = 0x49000; // default, 73 << 12;
|
||||
// voice->pitch_range = 0x0f30; // default = 0x1000
|
||||
voice->pitch_base = 0x47000;
|
||||
voice->pitch_range = 3996;
|
||||
// default is: pitch 78,120
|
||||
voice->pitch_base = 0x45000;
|
||||
voice->pitch_range = 4536;
|
||||
// default is: pitch 80,117
|
||||
// voice->pitch_base = 0x47000;
|
||||
// voice->pitch_range = 3996;
|
||||
|
||||
voice->formant_factor = 256;
|
||||
|
||||
@@ -503,12 +504,12 @@ voice_t *LoadVoice(const char *vname, int control)
|
||||
// bit 4 1 = vname = full path
|
||||
|
||||
FILE *f_voice = NULL;
|
||||
keywtab_t *k;
|
||||
char *p;
|
||||
int key;
|
||||
int ix;
|
||||
int n;
|
||||
int value;
|
||||
int value2;
|
||||
int error = 0;
|
||||
int langix = 0;
|
||||
int tone_only = control & 2;
|
||||
@@ -527,6 +528,7 @@ voice_t *LoadVoice(const char *vname, int control)
|
||||
char translator_name[40];
|
||||
char new_dictionary[40];
|
||||
char phonemes_name[40];
|
||||
char option_name[40];
|
||||
const char *language_type;
|
||||
char buf[200];
|
||||
char path_voices[sizeof(path_home)+12];
|
||||
@@ -631,15 +633,7 @@ voice_t *LoadVoice(const char *vname, int control)
|
||||
|
||||
if(buf[0] == 0) continue;
|
||||
|
||||
key = 0;
|
||||
for(k=keyword_tab; k->mnem != NULL; k++)
|
||||
{
|
||||
if(strcmp(buf,k->mnem)==0)
|
||||
{
|
||||
key = k->data;
|
||||
break;
|
||||
}
|
||||
}
|
||||
key = LookupMnem(keyword_tab, buf);
|
||||
|
||||
switch(key)
|
||||
{
|
||||
@@ -804,10 +798,15 @@ voice_t *LoadVoice(const char *vname, int control)
|
||||
break;
|
||||
|
||||
case V_OPTION:
|
||||
if(sscanf(p,"%d %d",&ix,&value) == 2)
|
||||
value2 = 0;
|
||||
if((sscanf(p,"%s %d %d",option_name,&value,&value2) >= 2) && ((ix = LookupMnem(options_tab, option_name)) >= 0))
|
||||
{
|
||||
if((ix >= 0) && (ix < N_LOPTS))
|
||||
langopts->param[ix] = value;
|
||||
langopts->param[ix] = value;
|
||||
langopts->param2[ix] = value2;
|
||||
}
|
||||
else
|
||||
{
|
||||
fprintf(stderr,"Bad voice option: %s %s\n",buf,p);
|
||||
}
|
||||
break;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user