TranslateChar(): Break Korean hangul syllables into individual jamo characters. Remove Translator_Afrikaans class. git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@170 d46cf337-b52f-0410-862d-fd96e6ae7743master
@@ -12,6 +12,7 @@ | |||
// abbreviations | |||
(http ://) hA:te@te@p'e@_ | |||
e.a _:En_'and@r | |||
sabc Es_A:be@s'e@ | |||
// letter names | |||
// any letter which also appear as words should be prefixed by a _ here | |||
@@ -60,6 +61,7 @@ z zEd | |||
û kapi?y | |||
ü de@lte@k@n?y | |||
_cap h'o@flEt@r | |||
_?? s@mb'o@l | |||
_?A l'Et@r | |||
@@ -140,12 +142,15 @@ carolina karul'ina | |||
ceres se@r@s | |||
ceylon s@lOn | |||
china S'ina | |||
duitswes dYytsv'Es | |||
franschhoek frA~nsh'uk | |||
gadara x2@dA:ra | |||
galilea x2al@l'i:a | |||
gariep x2ar'ip | |||
getsémané x2Ets'e@mani | |||
goudini $2 | |||
goodwood _^_EN | |||
gordonsbaai gO:rd@nsb'AI | |||
(graaff reinet) x2rA:f||r@n'Et | |||
griekeland x2rik@lant | |||
hermon $1 | |||
@@ -174,6 +179,7 @@ outeniekwa @Ut@n'ikwa | |||
portugal $1 | |||
potchefstroom pOtSIfstr'o@m | |||
pretoria prit'o@ria | |||
robertson _^_EN | |||
stellenbosch st%&l@mbOs | |||
swellendam $3 | |||
tunisië $2 | |||
@@ -220,7 +226,9 @@ christo krIstu | |||
christoffel kr@stOf@l | |||
christian krIstian | |||
christelle kr@st&l | |||
christina kr@stina | |||
christine kr@st'i:n | |||
cindy sIndi | |||
coetzee kuts'e@ | |||
cronjé krOnj'e@ | |||
debora d@bo@ra | |||
@@ -328,6 +336,7 @@ retief r@tif | |||
ronel run'&l | |||
rousseau r@s@U | |||
roux r'u | |||
ruda ruda | |||
salomo sA:l@mo@ | |||
sandra sandra | |||
schalk sk'alk | |||
@@ -349,6 +358,7 @@ tania tanja | |||
telemann te@l@man | |||
terblanche t@rblA:nS | |||
theron tr'On | |||
thys teIs | |||
toerien $2 | |||
trudie trudi | |||
versfeld f&rsf< | |||
@@ -373,8 +383,9 @@ xhosa kO:za | |||
khumalo kum'A:lu | |||
// Other proper names | |||
checkers tSEk@rs | |||
wimpy wImpi | |||
// article | |||
@@ -524,6 +535,7 @@ bv beIf'o@rbe@lt $dot | |||
aangaande $2 | |||
aanstaande $2 | |||
adagio ad'A:dZi;%@U | |||
africana $3 | |||
afkere afke@r@ | |||
agamemnon ax2am'EmnOn | |||
agterstevoor $4 | |||
@@ -566,6 +578,7 @@ camembert kam@mb'&:r | |||
camouflage kamufl'A:Z | |||
charisma kar'Isma | |||
chemikalieë $3 | |||
crescendo kr@SEndu | |||
dadelik dA:d@lIk | |||
darem dar@m | |||
@@ -659,6 +672,7 @@ klaasvakie $2 | |||
knapsekêrel knaps@k&:r@l | |||
komaan kOmA:n | |||
konkawe kOnk'A:v@ | |||
konte $1 | |||
kopiereg kup'ir&x2 | |||
korswel kOrsv@l | |||
kotiljons kOt@lj'o~ns | |||
@@ -674,6 +688,7 @@ madame mad'A:m | |||
malles mal@s | |||
maskering mask'e@r@N $only | |||
meegee me@x2e@ | |||
memorabilia mEmOrab'ilija | |||
memoriam mEm'o@riam | |||
mercedes $2 | |||
merlot m&rl'o@ | |||
@@ -711,7 +726,6 @@ normale nOrm'A:l@ | |||
numeri nWm@ri | |||
oeuvre W:vr@ | |||
omega $2 | |||
omrede $2 | |||
omtrent Omtr'Ent | |||
onbegrip $1 | |||
@@ -785,6 +799,8 @@ skares skA:r@s | |||
skepsele skEps@l@ | |||
skuldelas skWld@las | |||
s'n s@n $u | |||
slaparm slap_ar@-m | |||
sopas $2 | |||
spaghetti sp%agEt%i | |||
sobere s'o@b@r@ | |||
sombere s'Omb@r@ | |||
@@ -797,6 +813,7 @@ sonore sun'o@r@ | |||
sover so@f&r | |||
stabiel stab'il | |||
staccato $2 | |||
suburbia sWb'Wrbija | |||
terdeë $2 | |||
terug t@-rWx2 |
@@ -11,6 +11,9 @@ | |||
.group a | |||
_C) a (Cie_ 'A: | |||
@) a (Cisasie %a // fix a sound: akklimatisasie/meganisasie/penalisasie/polarisasie and many similar | |||
@) a (Ciseer %a // fix a sound: akklimatiseer and many similar | |||
@) a (Cisering %a // fix a sound: akklimatisering and many similar | |||
a A: | |||
AC) a (_ %a // short final a in words like: Eva/Pieta/(su)sara | |||
%C) a (_ %a // short final a in words like: Bella/Betta/gogga | |||
@@ -78,6 +81,8 @@ | |||
t) abell %ab&l //tabelle fix double l | |||
w) a (tering A: //watering exception to the rest | |||
C) a (tering %a //short unstressed a before tering formatering etc. except watering | |||
@C) a (tief %a // fix a sound: akkumulatief/negatief and many similar | |||
@C) a (tiewe %a // fix a sound: konserwatiewe/putatiewe and many similar | |||
ai aI | |||
adres %adrEs // fix last e sound of adres as last part of compounds | |||
al (baster %al // move default stress: albaster and compounds | |||
@@ -102,7 +107,8 @@ | |||
ane (mo %an@ // fix stress and vowel sounds: anemoon/anemone | |||
apart ap'art | |||
_) a (po %a // apologie/apollo/apostel | |||
_) a (po %a // apollo/apostel | |||
apolog (A %ap%Ol%ux2 // fix stress and vowel sounds: apologie/apologeer/-gering/-geties/-getika/-geet/-gete | |||
aposto (lie %ap@sto@ // fix stress and vowel sounds: apostolies/-e | |||
apoka (l %ap%Ok%a // fix stress and vowel sounds: apokalips/apokalipties/-e | |||
appar (A %ap@r // apparaat/apparate and compounds | |||
@@ -162,6 +168,7 @@ | |||
_) agterge (@P7 'ax2t@rx2@ | |||
agter (midda %ax2t@r // fix stress: agtermiddag/-s/agtermiddae | |||
agterna ax2t@rn'A: // agterna/-kyk/-loop/-sit/-staar | |||
agter (stall %ax2t@r // move default stress: agterstallig/-e/-heid | |||
agter (uit %ax2t@r? // move default stress: agteruit/-boer/-gang/-ry... | |||
agter (volg %ax2t@r // move default stress: agtervolg/-ers/-ing | |||
_) agt (uur ax2t // restore default stress; exception to "tuur" rule: agtuur and compounds | |||
@@ -176,6 +183,7 @@ | |||
// adresseer adrEs'e@r // stress | |||
admini %atm@n@ // administrasie/administratief/administratiewe | |||
agent %ax2Ent | |||
aka (sia %akA: // fix stress and 2nd a sound: akasia/-s and compounds | |||
_) a (ku %a // shorten a sound and move default stress: akute/-r | |||
a (larm %a // shorten 1st a sound and fix stress: alarm and compounds | |||
_) al (ewig %al; // shorten 1st a sound and move default stress: alewig/-e | |||
@@ -439,6 +447,7 @@ | |||
@) be (C b@ | |||
bene (dy b%e@n@ // fix stress and e sounds: gebenedy/-de | |||
beni (g be@n@ // fix stress and e sound: (swaar/twee/vier)benig, etc. | |||
ber (serk b@r // fix stress and 1st e sound: berserk/-er | |||
C) be (rsie b'&: //kombersie etc. | |||
bene (r be@n@ //benerig/e | |||
be (C%+ bE // beffie/bessie/bennie/bettie/blombeddings | |||
@@ -640,7 +649,7 @@ | |||
debi (te d%Eb%i // fix stress and e sound: debiteer/debiteur/debitering | |||
debu (ta d%Eb%y // fix stress and e sound: debutant/-e and compounds | |||
debu (te@ d%Eb%y // fix stress and e sound: debuteer/debutering | |||
debuut d@b'yt // debuut/-bundel/-vertoning | |||
debuut d@byt // debuut/-bundel/-vertoning | |||
dee (moedig d%e@ // move default stress: deemoedig/-e/-er/-ste/-heid/-ing | |||
desember d%e@sEmb@r | |||
digers d@x2@rs | |||
@@ -709,6 +718,7 @@ | |||
aai) e (rC @ // fix e sound: baaierd/waaierstert/compounds starting with baaiers- | |||
bloup) ers &:rs // fix e sound: bloupers | |||
treil) e (rC @ // fix e sound: (vis)treilerkaptein/-wrak and similar compounds | |||
dehands) e (C@ @ // fix e sound: tweedehandsemotorhandelaar/-winkel, etc. | |||
hond) e (@ @_ // fix e sound: hondebloed/-oor/-trou, etc. | |||
kod) e (C @ // fix e sound: kodenommer/kodetaal/kodewoord, etc. | |||
Cond) e (CA @ // blondekop/geskondenes/hondebelasting and many compounds/sondebok/sondelas | |||
@@ -718,6 +728,7 @@ | |||
noord) e (C @ // fix e sound: noordewind and compounds | |||
olw) e (C @ // fix e sound: golweslag/wolwedans | |||
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. | |||
spok) e (C @ // fix e sound: compounds beginning with spoke: spokebeeld/-lywe/-dans | |||
styw) e (C @ // fix e sound: stywepas/stywesiek/-te | |||
@@ -735,6 +746,7 @@ | |||
Cien) e (rC@ @ // fix e sound: opsienersamp/tienerstatus and many similar compounds | |||
@) erts (_ _&rts // fix e sound of many compounds ending in erts | |||
@p) e (rtjie @ // fix e sound: helpertjies/wegkruipertjie | |||
@C) e (male_ @ // fix e sound: enemale/telkemale | |||
C) e (man @ // e sound: briewemandjie/derdemannetjie/dowemansdeur/semantiek/semanties/Weideman | |||
C) e (mm++ E // geelkoperemmer/wateremmer | |||
CAnn) e (CA @ // banneling/sinnebeeld/spinnekop/-rak | |||
@@ -870,12 +882,14 @@ | |||
C) e (kA+ e@ | |||
C) e (ks++ E | |||
C) e (kt@++ E // digbedekte | |||
ekwi (libri %Ekw%i // move default stress: ekwilibrium and derivitives | |||
ekstase Ekst'A:s@ // stress ekstase/s | |||
wink) e (l @ // winkelvensters/-sentrum/-personeel/winkelier/winkelhaak | |||
C) eloos @lo@s // haweloos/hopeloos/hulpeloos/vlekkeloos | |||
C) elose @lo@s@ // hawelose/hopelose/hulpelose/vlekkelose | |||
C) elwers ''&lv@rs // fix e sounds: delwersdorp/-drome/-kamp/-komitee/-lisensie/sigselwers | |||
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) enier @n'i:r // kruidenier/spysenier/valkenier/Renier | |||
C) en (heid @n // opgewondenheid/bedorwenheid and many similar | |||
@@ -917,12 +931,12 @@ | |||
Add) e (le_ @ | |||
ACd) e (le_ e@ | |||
los) e (s @ | |||
@C) ess (_ _^_EN // English words ending in -ess in Afrikaans text | |||
e (lK & | |||
%C) e (C @ // (d)warrelwind/slakkepas | |||
%C) e (tt+ E // fix e sound: (enkelveel)lettergrepige/koppelletter/krulletter/spannette | |||
ll) e (lK & // parallel/-le | |||
@s) e (l@ @ // e sound in words like borselkop/voedselaanvulling and many similar | |||
&s) e (l@ @ // e sound in words like borselkop/voedselaanvulling and many similar | |||
tronks) e (l & // fix e sound: tronksel/-selletjie | |||
@s) e (lfde '& //fix dieselfde | |||
Cs) e (lf & // e sound in words like terselfdertyd/vanselfsprekend | |||
@@ -981,6 +995,7 @@ | |||
&) e (nC_ @ | |||
&) e (nde_ @ // fix penultimate e sound: sinkende/drinkende/klinkende | |||
&) e (ndeC_ @ // fix penultimate e sound: helpendes/sterwendes/blinkender, etc. | |||
sk) e (nd E // fix e sound: lyk/grafskend(er) and similar | |||
endel (_ End@l // fix e sound: deurgrendel/toegrendel, etc. | |||
&) e (ng_ E | |||
@f) e (nis @ //erfenis/kultuurerfenis/verderfenis | |||
@@ -1000,7 +1015,7 @@ | |||
e (r & | |||
Ank) e (r@ @ // ankerpaal/kankerlyer/donkerbril | |||
rp) e (rCC @ // fix e sound: ontwerpersbaadjie/purperkleurig, etc. | |||
_rasp) e (rC@ @ // fix e sound in rasper- compounds: raspertong/-vyl, etc. | |||
_rasp) e (r @ // fix e sound in rasper- compounds: raspertong/-vyl, etc./rasperend | |||
lew) e (ns @ | |||
&d) e (r@ @ // not initial or final syllable | |||
@@ -1010,6 +1025,7 @@ | |||
&b) e (s@ @ | |||
rw) e (s @ // fix e sound: larwes/afsterwes/(van der )Merwes | |||
eskader %EskA:d@r // fix stress and 1st e sound: (lug)eskader)bevelvoerder and similar compounds | |||
eska (pade %Esk@ // fix stress and a sound: eskapade/-s and compounds | |||
essen (si %isEn // fix e sounds: essensie/essensieel/essensiële | |||
komp) e (t@ @ // kompetisie/s/uitklopkompetisie/inkompetensie | |||
een (drag@ %e@n // eendrag has stress on 1st slb, but eendragtig and similar on 2nd | |||
@@ -1027,7 +1043,7 @@ | |||
entjie EiNci | |||
&k) entjie iNci // fix -entjie sound: bakentjie/dekentjie/kuikentjielakentjie/tekentjie, etc. | |||
edjie 'E:ici | |||
&) etjie ici | |||
&) etjie (+ ici | |||
Cn) etjies Eicis // kraaknetjies/hipernetjies | |||
nn) etjies icis // kannetjies/mannetjies/pennetjies, etc. | |||
&) elik (_S4 @l@k | |||
@@ -1111,6 +1127,7 @@ | |||
Ab) e (wa @ //bewaking/bewaring in compounds polisiebewaking | |||
@C) e (waen @ // plurals and diminutives of some of the above | |||
@C) ewerk @v&rk // fix e sounds: aardewerk/dradewerk/klerkewerk/naaldewerk/soldatewerk | |||
weeld) e (wA @ // fix e sound: weeldeware/-wet/-te/groenweeldewasem | |||
w) e (ling @ //weling always v@l@N | |||
wild) e @ //wilde in compounds | |||
@@ -1139,7 +1156,7 @@ | |||
werk) e (rs @ //fix werkers in compounds werkershuis etc. | |||
Ceuw) e (l @ //gesneuwelde heuwelhang etc. | |||
v) e (nno @ //vennoot and friends | |||
v) e (nno@+ @ //vennoot and friends | |||
_) euro (pe %Y@r%o@ // stress: Europees/Europese | |||
_) ewe (red %e@v@ // move default stress: (on)eweredig/-e/-heid | |||
ex (+ _^_EN // words containing ex are English | |||
@@ -1184,6 +1201,7 @@ | |||
flo (re fl%u // move default stress, correct o sound: florerend | |||
flori (ssA fl%o@r@ // move default stress: florissant/-e | |||
flu (we fl%y // move default stress: fluweel/fluwele and compounds | |||
_) fok (o fOk_ // fix o sound, insert short break: fokop/fokof | |||
folio fo@li_u // fix o sounds: folio and compounds | |||
@) fonie fun'i // kakofonie/simfonieorkes/telefonie | |||
@) fonies f'o@nis // fix stress: simfoniese/polifonies/telefonies | |||
@@ -1233,6 +1251,7 @@ | |||
glans x2lans // glans not nasalised: glans/-ende/-papier, etc. | |||
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. | |||
@) gn (_ _^_EN // English words like design/foreign/resign/sign in Afrikaans text | |||
go (din x2%o@ // move default stress: godin/-ne/-netjie, etc. | |||
godde (lo x2%Od@ // move default stress: goddelose/goddeloos | |||
god (salig x2%Ot // move default stress: godsalig/-e/-heid | |||
@@ -1259,13 +1278,18 @@ | |||
griekwa x2rikwa // fix w sound and a sound in compounds: Griekwa/-land, etc. | |||
ouCa) gr (ootjie x2r' // move default stress: ouma/oupagrootjie/-s | |||
_) graad (e x2r%A:t_ // fix stress and d sound: graadeen(tjies)/-elfs | |||
_) graad (nege x2r%A:t // fix stress: graadnege(tjies) | |||
_) graadse (s x2r%A:tsE // fix stress and e sound: graadsesse/-sessies/-sesklas | |||
_) graad (t x2r%A: // fix stress and drop d: graadtweetjies/-tiens/-twaalfs | |||
_) graad (vyf x2r%A:t // move default stress: graadvyfs/graadvyfklas, etc. | |||
gra (niet x2r%a // move default stress and fix a sound: graniet and compounds | |||
gra (sieu x2r%a // fix stress and shorten a sound: grasieus/-e | |||
_) gras (A x2ras_ // fix stress and a sound: graseter/grasoppervlakte/grasuie | |||
_) gra (sie x2rA: // but restore default stress and long a: grasie | |||
_) gri (mA x2r@ // grimas/grimeer/-middel and other compounds/grimering | |||
grondwetlik x2r%OntvEtl@k // move default stress: grondwetlik/-e/-heid | |||
grondwe (tK x2rOntvE // restore default stress: grondwet/-te/-hof, etc. | |||
grondwet (a x2rOntvEt_ // fix e sound and insert short pause: grondwetartikel/-s | |||
grotere x2ro@t@r@ // fix vowel sounds and stress: grotere/-s | |||
guerrilla g@r'Ila | |||
guttu (ra x2%Wt%W // move default stress: gutturaal/gutturale | |||
@@ -1280,6 +1304,7 @@ | |||
gems x2Ems // fix e sound: (baster)gemsbok/-bul/-ooi, etc. | |||
gene (_ x2e@n@ // gene/diegene | |||
gene (rA x2@n@ // generaal/generasie/-s/genereer | |||
genie (_ Z@ni: // genie and compounds ending in -genie | |||
genre Z'A~nr@ //genre and compounds | |||
_) gens (C x2E:ns // fix stress and e sound: gensbok and compounds | |||
_) geo (s x2%i%u // fix stress and -eo- sound: geosentries/geosfeer/geoskoop/geostaties | |||
@@ -1296,6 +1321,7 @@ | |||
ge (kg x2& // fix stress and e sound: gekgeskeer | |||
ge (kk x2& | |||
ge (kh x2& | |||
ge (kt x2& // fix e sound: gektalery | |||
genade x2@nA:d@ // correct 2nd e in compounds: genadedood, etc. | |||
genad (etjie x2@nA:d // correct 2nd e in genadetjie | |||
_) ge (rC x2& // gerf/gerwe/gert/gerber | |||
@@ -1333,6 +1359,7 @@ | |||
ge (olo x2i //geoloog etc. | |||
ge (ome x2i //geometries etc. | |||
gesels x2@s'&ls | |||
A) ge (tjie x2i // fix e sound: (graad)negetjie/-s | |||
@C) gewens x2@ve~ns | |||
@@ -1672,7 +1699,9 @@ | |||
n) kerend (_ k@r@nt //hunkerend and others | |||
n) kerende (_ k@r@nd@ //hunkerende and others | |||
kerker k&rk@r // fix e sounds: gekerkerde/inkerkering/kerkermuur, etc. | |||
flik) kerkers k@rk&:rs // fix e sounds: flikkerkers/-e | |||
weder) ker (A k'e@r // wederkerend/wederkerig | |||
bottel) kers k&:rs // fix e sound: bottelkers/-e | |||
kete (l ke@t@ // fix e sounds: stookketel/ketelmaker and many similar compounds | |||
_) keuse k''Y@s@ // fix connecting e sound in compounds starting with keuse | |||
kiaat k%i;A:t // move default stress: kiaat and compounds | |||
@@ -1841,6 +1870,7 @@ | |||
kombers k%Omb&:rs // fix stress and e sound: kombers/-e/dons-/lappieskombers, etc. | |||
ko (mete k%u // fix stress and 1st o sound: komete and compounds | |||
kommando k%umandu // move stress, fix o sounds: kommando and compounds | |||
kommer (si k%Om%&r // fix e sound: kommersieel/-ële | |||
kommissie k%umis%i //kommissie alone and in compounds | |||
ko (pie@ k%u // kopiereg/kopie | |||
koe (rA k%u // koerier/koerasie/koerant and compounds | |||
@@ -1849,7 +1879,7 @@ | |||
korri (ge k%Or@ // move default stress: korrigeer and derivitives | |||
kort (stond k%Ort // move default stress: kortstondig/-e/-heid | |||
koever (t k%uf&r // koevert/-e/-jie and compounds | |||
kollege k'OlidZ // kollege/onderwyskollege | |||
kollege kOlidZ // kollege/onderwyskollege | |||
kolleges (_ k'OlidZ@s // kolleges/onderwyskolleges | |||
kollek (s k%ulEk // fix stress and vowel sounds: (deur)kolleksie/-s | |||
kolle (kteK k%ulE // fix stress and vowel sounds: (straat)kollekte(-bordjie/blikkie...) | |||
@@ -1944,11 +1974,13 @@ | |||
lening le@n@N // banklening/sorgverlening/hulpverlening... | |||
lepe (ll le@p@ // fix 2nd e sound in compounds: lepellê, etc. | |||
@C) les (K lEs // aanvangsles/geskiedenislesse/musiekles/koffiefles | |||
@) less (_ _^_EN // English words ending in -less in Afrikaans text: harmless/motherless, etc. | |||
@l) le (sC@ l@ // fix e sound: getallestelsel/gevallestudie/novelleskrywer | |||
leuen (tjie lY@iN // leuentjie/witleuentjie | |||
_) lev (i l@f // Levitikus/Leviet | |||
levi (atan l%e@v%i // fix stress and vowel and v sounds: leviatan(sgeslag) | |||
lewe (K le@v@ // belewenis/lewendig/agtergeblewenes/hotellewe/skoollewe/stillewe | |||
lewe (tjie le@vi // fix 2nd e sound: lewetjie/-s | |||
libe (rA l@b@ // liberaal/liberale/liberalis/-me/(ge)libereer | |||
_) libe (ri@ l@be@ // fix stress and vowel sounds: Liberië/Liberies/-e | |||
liefdes lifd@s // liefdesbrief/daad/geskiedenis/verhouding... | |||
@@ -1963,6 +1995,7 @@ | |||
&) like (_S4 l@k@ | |||
&) likes (_S5 l@k@s | |||
&) liker (_S5 l@k@r | |||
li (keur l@ // fix stress and i sound: likeur and compounds | |||
likke (wa l@k@ // move default stress: likkewaan/likkewane | |||
&) likste (_S6 l@kst@ | |||
litera (t l@t@r%a // literatuur/literature/literatore, but literbottel | |||
@@ -2146,7 +2179,7 @@ | |||
melankolie (_N m%El%aNk%o@li // fix stress and 1st e sound: melankolie | |||
melank m%El%aNk // stress and 1st e sound: melankolies/melankoliek/-e/melankolikus/-ci | |||
mem (bra m%Em // move default stress: membraan/membrane | |||
memo (ran m%Em%u // fix stress and vowel sounds: memorandum/memoranda and compounds | |||
memo (rA m%Em%u // fix stress and vowel sounds: memorandum/memoranda and compounds/memoriseer/-sering | |||
meneer m@n'e@r // meneer/meneertjie | |||
menere m@n'e@r@ // menere/beroepsmenere | |||
mening m'e@n@N | |||
@@ -2374,10 +2407,12 @@ | |||
okraat ukr'A:t // burokraat/outokraat and similar | |||
okrasie ukras'i // burokrasie/outokrasie and similar | |||
okrat (A ukr'A:t // burokraties/outokraties/demokrate and similar | |||
okrat (isA %ukr%at // fix stress: demokratisasie/-seer/-sering and similar | |||
ologie ulux2'i // biologie/tegnologie and similar | |||
ologies ul'o@x2is // biologies/tegnologies and similar | |||
oloog ul'o@x2 // bioloog/kardioloog and similar | |||
oloë ul'u@ // bioloë/kardioloë and similar | |||
omega %o@me@x2a // omega/-s | |||
ometrie ume@tr'i // geometrie/psigometrie | |||
ometries um'e@tris // geometries/psigometriese | |||
oskope usk'o@p@ // kaleidoskope/mikroskope | |||
@@ -2473,6 +2508,7 @@ | |||
fr) ons o~ns | |||
g) ons o~ns | |||
on (dier On // restore default stress: ondier/-e | |||
ondjie OINci | |||
ontjie OINci | |||
ontering %Onte@r@N //ontering in compounds montering etc. | |||
@@ -2642,6 +2678,7 @@ | |||
palin (dro p%al@n // fix stress and a sound: palindroom/-drome/-dromies | |||
_) palja (K palj''a // fix stress on -jas: (ge)paljas/paljasse/paljasagtig/-e | |||
pal (miet p%al // move default stress: palmiet and compounds | |||
panado p@nA:d@U: // fix stress and vowel sounds: panado/-'s | |||
_) pan (dem p%an // move default stress: pandemie/-s and compounds | |||
_) pan (do p%an // move default stress: pandoer/-e/Pandora/pandok | |||
panga paNga // fix g sound: panga/-s | |||
@@ -2680,9 +2717,11 @@ | |||
patri (@ p%atr%i // move default stress: patriarg/patriot/-te and derivitives | |||
patriar (ga p%atr%i%ar // move default stress: patriargaal/-gale | |||
paté p%ate@ // fix stress and vowel sounds: (lewer)paté, etc. | |||
pa (Ciljoe p%a% // fix stress: pawiljoen/paviljoen/-e and compounds | |||
pavil (joe p%av@l // fix stress and v sound: paviljoen and compounds | |||
pawil (joe p%av@l // fix stress: pawiljoen and compounds | |||
polio po@li;u // polio and compounds | |||
_) peli (ka p%El%i // move default stress: pelikaan/pelikane | |||
pe (nali p%E // fix e sound: penalisasie/-seer/-sering/-teit | |||
pe (narie p@ // fix e sound: penarie/-s and compounds | |||
pen (dule p%En // move defaul;t stress: pendule/-s | |||
pene (_ p@n@ // geroepenes/ontslapenes/uitgeworpenes | |||
@@ -2700,9 +2739,11 @@ | |||
@) pere (_ pe@r@ // compounds ending in pere indicating the fruit | |||
skam) pere (_ p@r@ ?? shorten 1st e in ending | |||
perfek p@rfEk // perfek/-te/-sie/-sionis | |||
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 | |||
peri (stal p%Er@ // fix stress and vowel sounds: peristalties/-e/peristaltiek | |||
@) perke (_ p&rk@ // fix e sound in some words ending in -perke: menseperke | |||
per (kussie p@r // fix stress and e sound: perkussie and compounds | |||
perle (moe p%&rl@ // move default stress: perlemoen/perlemoer and compounds/reperkussie/-s | |||
pe (rron p@ // move default stress and fix e sound: perron and derivitives | |||
@@ -2892,9 +2933,11 @@ | |||
reden (ACA r@d@n' // redenasie/s | |||
rede (ry r%e@d@ // move default stress: redery/-e and compounds | |||
_) redi (gA r%Ed%i // redigeer/geredigeer/-de/ongeredigeerde | |||
reflek (C r%iflEk // fix 1st e sound: refleksie/reflekteer | |||
refor (m r@f%Or // gereformeerde/reformering/reformasie | |||
re (frein r@ // move default stress: refrein/-e | |||
C) re (gat r@ // fix e sound: fregat/-te and compounds/harregat | |||
reggae rEgeI // reggae(musiek/-sanger..., etc.) | |||
regime (_ r@Zi:m // regime/-s and compounds | |||
regi (ment r@x2@ // fix stress and e and i sounds: regement/-e and compounds | |||
reg (ist r@x2 // registrasie/-nommer/register/bevolkingsregister | |||
@@ -2913,6 +2956,7 @@ | |||
re (produ r%e@ // fix stress and e sound: reproduksie/reproduseer | |||
rep (tiel r%Ep // move default stress: reptiel/-e and compounds | |||
reso (nA r%Es%u // fix stress and e sound: resonant/-e/resonansie/resoneer | |||
re (spon r@ // fix stress and e sound: respons/-e/-ie/respondent, etc. | |||
_) re (spyt r@ // fix stress and e sound: respyt/-dae/-tydperk | |||
_) re (stant r@ // fix stress and e sound: restant/-e | |||
repu (t r%Epy // move stress from 1st slb | |||
@@ -2989,8 +3033,10 @@ | |||
si (viel s@ // move default stress and fix i sound: siviel/-e | |||
s (iën S | |||
_) sebra se@bra // fix vowel sounds: sebra/-strepe; variant of zebra | |||
se (ggA s& // fix e sound: niksseggend/-e | |||
selek (CA s@lEk //seleksie selekteer etc. | |||
sending (_ sEnd@N //fix sending at word end | |||
seroto (ni s%Er@t%u // fix stress and vowel sounds: serotonien(vlakke, etc.) | |||
saamge (P6 s'A:mx2@ // saamgepers/-de/saamgetel/saamgeêet | |||
saamgee sA:mx2e@ // fix ee in saamgee; see rule: saamge (P6 | |||
@@ -3009,6 +3055,7 @@ | |||
samel (C sA:m@l // versamelde: see rule:_) same (@P4 s'A:m@ | |||
samen (+ sA:m@n // gesamentlik/-e | |||
_) san (da s%an // move default stress: sandaal/-tjies/sandale | |||
sand (adder sant_ // fix stress, d sound, insert short pause: sandadder/-s | |||
sara (se s%ar%a // move default stress: saraseen and compounds/sarasene | |||
_) sar (d s%ar // sardien/-blikkie/sardinies/sardyne | |||
sar (kA s%ar // move default stress: sarkasme/sarkasties/sarkoom | |||
@@ -3026,6 +3073,7 @@ | |||
se (ku s@ // sekuriteit/sekuur | |||
seku (l s%Ek%y // sekulër/sekulariseer | |||
sekwe (strA s%Ekw@ // fix e sounds: sekwestrasie/sekwestreer and compounds | |||
heuning) se (lK s& // fix e sound: heuningsel/-le | |||
sela (kant s%e@l@ // fix stress and vowel sounds: selakant/-e | |||
selder (y s%&ld@r // move default stress: seldery and compounds | |||
&) sele (_ s'e@l@ | |||
@@ -3125,8 +3173,8 @@ | |||
spreekwoordeli spr%e@kvo@rd@l@ // move default stress: spreekwoordelik/-e, vs. spreekwoord | |||
sproke spro@k@ // see rule: pro (CA pr%u : aangesprokene/onbesproke, etc. | |||
self (_ s'&lf // myself/vanself | |||
// self s'&lf | |||
K) sewe (C s'e@v@ // sewejarige/standerdseweklas | |||
sewe (tjie se@vi // fix e sound: sewetjie/-s | |||
september s@ptEmb@r | |||
@) sief (_ s'if // massief/aggressief/passief/intensief | |||
@) siewe (_ s'iv@ // massiewe/aggressiewe/passiewe/intensiewe | |||
@@ -3166,7 +3214,7 @@ | |||
spesialis spESal'Is | |||
spesi (f sp%Es%I // spesifiek/spesifiseer | |||
stede (C ste@d@ // fix e sounds of many compounds and derivitives containing stede | |||
dubbel) ste (r st& // fix e sound: dubbelster/-re | |||
%Cel) ste (r st& // fix e sound: dubbelster/-re | |||
dwaal) ste (r st& // fix e sound: dwaalster/-re | |||
dwerg) ste (r st& // fix e sound: dwergster/-re | |||
nd) ste (r st& // fix e sound: aandster/oggendster | |||
@@ -3177,7 +3225,7 @@ | |||
stimu (lA st@m%y // move default stress and fix i sound: stimuleer/stimulering/stimulasie | |||
_) sub (a sWb_ // subagent/subartikel/subatomies, etc. | |||
sub (li s%Wb // move default stress: subliem/-e | |||
subli (mA s%Wbl%i // move default stress: sublimaat/-ate/sublimering | |||
subli (mA s%Wbl%i // move default stress: sublimaat/-ate/sublimering | |||
sublimi (na s%Wbl%im%i // move default stress: subliminaal/-ale | |||
sub (sidA s%Wb // move default stress: subsidie/-s and compounds | |||
sub (stansie s%Wp // move default stress and fix b sound: substansie/-s/substansieel/-siële | |||
@@ -3200,6 +3248,10 @@ | |||
swart (gal sw%art // move default stress: swartgallig | |||
@) swem (_ swEm // fix e sound of compounds ending in swem: uitswem/wegswem... | |||
@) swerk sv&rk | |||
@) swee (_ sve@ // fix w sound: volkswee | |||
sweep swe@p // fix w sound: rubbersweep | |||
swepe swe@p@ // fix w sound: rubberswepe | |||
sw (erm sw // fix e sound: naderswerm | |||
.group st | |||
D_) ste st@ //ste after numbers 22ste etc. | |||
@@ -3322,6 +3374,7 @@ | |||
@) tion (_ _^_EN //words ending in tion is English | |||
@) tions (_ _^_EN //words ending in tions is English | |||
@) tle (_ _^_EN // words like little/bottle, etc. in Afr. text | |||
toegank t%ux2'aNk // toeganklik/heid | |||
toegewen (d t%ux2e@v@n // move default stress: toegewend/-e/-heid | |||
toe (komsti t%u // move default stress: toekomstig/-e | |||
@@ -3355,6 +3408,7 @@ | |||
traw (a trav' // trawant/e/trawal | |||
&) treding tre@d@N // betreding/uittreding | |||
@) treer tr'e@r // this slb always takes stress; many words | |||
@) treer (A tre@r // default stress: aantreery/-e/intreerede | |||
tref (afs trEf_ // fix e sound and insert short pause: trefafstand/-e | |||
trens (_ tre~ns // fix e sound and nasalise: trens/-snytrens and similar | |||
_) tri (bu tr@ // fix stress and i sound: tribuun/tribune/tribuut/tribute | |||
@@ -3362,9 +3416,11 @@ | |||
tre (k tr& | |||
trekker tr&k@r // voortrekkerleier/Voortrekkerstraat/salaristrekkersvergadering | |||
trio (_ tri:u // fix o sound: (fluit-/harp/-kitaar...)trio | |||
triomf (ant tr%i%Omf // move default stress: triomfantlik/-e | |||
tri (omf tr%i // move default stress: triomf/-boog/-lied/-tog, etc. | |||
@) trise (_ tr'is@ // aktrise and similar | |||
trivia trIvij%a // trivia and compounds: musiektrivia, etc. | |||
troglo (die tr%Ox2l%u // fix stress and 2nd o sound: troglodiet/-e and compounds | |||
_) trom (b tr%Om // move default stress: tromboon/trombone/trombose and compounds | |||
_) trom (pet tr%Om // move default stress: trompet/-tte/-tter and compounds | |||
@@ -3400,7 +3456,7 @@ | |||
teleks t&lEks // fix stress and vowel sounds: teleks and compounds | |||
_) teler te@l@r // fix stress and vowel sounds: teler/-s/-y/-svereniging, etc. | |||
@C) te (nk t& ++ //tenk and friends | |||
_) te (no t@ //tenoor, tenore etc. | |||
_) te (no t@ //tenoor, tenore etc. | |||
@C) te (C t@ /// | |||
s) te (king te@ //ontsteking in compounds | |||
te (kkie+ tE // fix e sound: tekkie/-s/staptekkies and similar | |||
@@ -3415,6 +3471,7 @@ | |||
tempel tEmp@l // fix e sounds: afgodtempel/Hindoetempel/kultuurtempel/tempelbewaarder/tempeldienaar | |||
tent (_ tEnt //suurstoftent and others | |||
tente (_ tEnt@ // (suurstof-/wa-)tente and similar | |||
ten (toon t%En // move default stress: tentoonstel/-ling | |||
te (oo t@ // geboorteoorskot/kosteoorweging/siekteoorsaak/terroristeoorlog | |||
_) teraarde t%&r?A:rd@ // move default stress and fix e sounds: teraardebestelling/-s | |||
&) terd (_ t@rt // fix e sound: beteuterd/gelouterd/stouterd | |||
@@ -3551,8 +3608,9 @@ | |||
urienweg %yrinv&x2_ // fix stress and e sound: urienweginfeksie/-ontsteking, etc. | |||
urine %yrin@ // urine and compounds | |||
urineer yrin'e@r // stress to end | |||
_b) u (sA 'W //busongeluk etc. | |||
utjie Yyci | |||
universiteit yniv&rsit'eIt | |||
univers (A@ %yn%iv%&rs // universiteit and compounds/universeel/-ele | |||
C) uwelik yv@l@k // gruwelik/huwelik/afskuwelik | |||
m) u (skiet %W //change stress for muskiet compounds | |||
n) uwe (C yv@ // nuwelinge/nuwemaan | |||
@@ -3578,6 +3636,7 @@ | |||
_) vanklik faNkl@k // (on)ontvanklik/-e/-er/-heid | |||
vanself (spr f%ans%&lf // move default stress: vanselfsprekend/-e/-heid | |||
vari (A v%ar%i // fix v sound and stress: variasie/-s/varieer | |||
vaseline v%as@lin // fix stress, v and vowel sounds: vaseline/-bottel, etc. | |||
vati (kaan f%at%i // fix stress and shorten a sound: vatikaan and derivitives and compounds | |||
@) ve (_ _^_EN //words ending in ve is English | |||
veel (duid f%e@l // move default stress: veelduidig/-e/veelduidend/-e | |||
@@ -3610,14 +3669,18 @@ | |||
@C) ver (_ f&:r // fix e sound in compounds ending in -ver | |||
verant (w f@r%ant // (on)verantwoordelik/-heid/verantwoording | |||
verant (woord_ f@r_ant // fix stress: (on)verantwoord (single word) | |||
verant (woorde_ f@r_ant // fix stress: (on)verantwoorde (single word) | |||
verant (woorde_N f@r_ant // fix stress: (on)verantwoorde (single word) | |||
ver (baal v%&r // fix v and e sounds and stress: (nie)verbaal | |||
ver (balA v%&r // fix v and e sounds and stress: (nie)verbale/verbaliseer | |||
vere (b fe@r@ // ver- not prefix: verebed/-bedryf/-bedekking | |||
vere (h fe@r@ // ver- not prefix: verehoed/-e/-ens | |||
vere (k fe@r@ // ver- not prefix: verekombers/-kuif/-kussing | |||
vere (m fe@r@ // ver- not prefix: verematras/-se/-sie | |||
verende f'e@r@nd@ | |||
verer (ing f@r_e@r // verering and compounds ending with verering, eg. heldeverering | |||
vere (v fe@r@ // fix stress and e sounds: verevlam and similar | |||
ver (gesig f&r // fix stress and 1st e sound: vergesig/-te | |||
verge (strek f&:rx2@ // fix stress and e sound: vergestrek/-te | |||
vergete f@rx2'e@t@ // vergeterig/vergetelheid | |||
_) vergewe f@rx2e@v@ // vergewe/vergewend/-e | |||
vering f'e@r@N //motivering preservering etc. | |||
@@ -3739,6 +3802,7 @@ | |||
.group w | |||
w v | |||
w (w | |||
@) w (C_ _^_EN // words like: awl/crowd/lawn, etc. | |||
d) w w | |||
gh) w w // fix w sound: ghwano and compounds/ghwar/ghwarrie and compounds/ghwel | |||
ad) w v // w sound: badwater/bladwisselend/stadwaarts | |||
@@ -3877,6 +3941,7 @@ | |||
_) wol (A vOl_ // fix o sound, insert short break: wol(onderbaadjie/-broek/-hemp/-klere)/-olie | |||
worth _^_EN | |||
wood _^_EN | |||
woongewes vo@nx2@vEs // fix stress and e sounds: woongewes/-te | |||
@C) w (ooC v // fix w sound: eenmanswoonstel/handelswoorde/openingswoord/privaatwoonstel | |||
@) ws (_N _^_EN | |||
@) w (_N _^_EN | |||
@@ -3902,6 +3967,7 @@ | |||
.group y | |||
y eI | |||
ysterre (lin eIst@re@ // fix e sound: ysterreling/-s | |||
.group z | |||
z z |
@@ -597,6 +597,12 @@ | |||
&n) ien (_ I@n | |||
p) ien (_ 'i:@n | |||
&r) ien (_ =i:@n | |||
ser) ien (_ 'i:@n | |||
tter) ien (_ 'i:@n | |||
eor) ien (_ 'i:@n | |||
gor) ien (_ 'i:@n | |||
etr) ien (_ 'i:@n | |||
dustr) ien (_ 'i:@n | |||
s) ien (_ 'i:@n | |||
t) ien (_ 'i:@n | |||
&) iens (_ =I;@ns |
@@ -113,14 +113,13 @@ S s2 t v Z | |||
Dictionary fr_dict | |||
@ @- a A A~ e E E~ | |||
i i: o O O~ u W w^i | |||
W~ y Y | |||
i i: o O O~ u w W | |||
w^i W~ y Y | |||
* : ; b c d dZ f | |||
g h j k l m n N | |||
n2 n^ p p2 r R s S | |||
t t2 tS v w z Z z2 | |||
z3 | |||
: ; b c d dZ f g | |||
h j k l m n N n2 | |||
n^ p p2 r R s S t | |||
t2 tS v z Z z2 z3 | |||
Dictionary hi_dict | |||
@@ -359,6 +358,16 @@ l m n N p R s S | |||
t tS v w x z Z | |||
Dictionary ko_dict | |||
a E e i o u u- V | |||
Y | |||
b d dZ g h j k k` | |||
l m n N p p` r s | |||
s` t t` tS tS` w | |||
Dictionary hbs_dict | |||
& @ @2 a A a: aI aU | |||
@@ -376,10 +385,10 @@ Dictionary id_dict | |||
@ a aI aU e E i o | |||
O u | |||
* ? b d dZ f g h | |||
j k l m n N n^ p | |||
r R s S t tS v w | |||
x z | |||
* : ? b d dZ f g | |||
h j k l m n N n^ | |||
p r R R2 s S t tS | |||
v w x z | |||
Dictionary tr_dict |
@@ -2240,6 +2240,7 @@ Nepal nEp'O:l | |||
Noumea nu:m'eI@ | |||
Oahu oU'A:hu: | |||
Ohio oUh'aIoU | |||
Omaha oUma2hA: | |||
Oman oUm'an | |||
Oregon 0rIg@n | |||
Pacific pa2sIfIk | |||
@@ -2434,7 +2435,7 @@ Yvonne $2 | |||
Zoe zoUI | |||
Andromeda andr'0mId@ | |||
Buchannan bju:k'an@n | |||
Buchanan bju:k'an@n | |||
Campbell kamb@l | |||
Disney dIznI2 | |||
Patel p@t'El |
@@ -38,8 +38,10 @@ | |||
.group a | |||
_) a (_ a2 | |||
_) a (- 'eI | |||
-) a (- a2 | |||
_) a (-half a2 | |||
_) a (_D ,eI | |||
_) a (_- eI | |||
_) a's (_ eIz | |||
D_) a (_ eI | |||
a a | |||
@@ -278,6 +280,7 @@ | |||
_) ac (i a2s | |||
acious 'eIS@s | |||
_) ack (_ ak | |||
&) ac (le_ @k | |||
_) ac (o ak | |||
ac (on ak | |||
ac (orn eIk | |||
@@ -1288,8 +1291,8 @@ | |||
_ar) chi (@ kI | |||
ar) ch (ive k | |||
or) ch (i k | |||
ch (lor k | |||
chloro kl,O:roU | |||
chlo (r klo@ | |||
chloro kl,o@roU | |||
choir kwaI@ | |||
ch (ol k | |||
choly k@lI2 | |||
@@ -1463,7 +1466,6 @@ | |||
de (ck dE | |||
de (com di: | |||
de (cor dE | |||
deco (ra dEk@ | |||
de (coru dI2 | |||
de (creas di: | |||
de (crem dE | |||
@@ -1883,8 +1885,8 @@ | |||
th) ei (sC i:I | |||
_s) eis (m aIz | |||
f) ei (t_ I | |||
ei (th aI | |||
ei (th_ i: | |||
?!3 ei (ther aI | |||
ei (th i: | |||
ei (v i: | |||
ei (z i: | |||
@@ -3711,6 +3713,7 @@ | |||
or (t O@ | |||
p) or (t o@ | |||
or (A o@r | |||
&) or (ate 3r | |||
@@) or (_$2d 3 // suffix | |||
&) or (_ 3 | |||
?8 @@) or (_$2d o@ // suffix |
@@ -5,7 +5,7 @@ | |||
// 2006-11-18 Gilles Casse <[email protected]> | |||
// | |||
// Updated 2008-03-12 Michel Such <[email protected]> | |||
// Updated 2008-03-19 Michel Such <[email protected]> | |||
// | |||
// * Numbers, a few abbreviations and exceptions. | |||
// | |||
@@ -273,10 +273,10 @@ toutefois $u | |||
comme $u | |||
dont dO~t2 $u | |||
lorsque $u | |||
parce $u | |||
(parce que) parsk@ $u | |||
puisque $u | |||
quand $u | |||
que $u | |||
que $u $verbf | |||
qui $u $verbf | |||
quoique $u | |||
si $u | |||
@@ -285,6 +285,7 @@ si $u | |||
je $u $verbf | |||
tu $u $verbf | |||
elle $u $verbf | |||
y $u $verbf | |||
il $u $verbf | |||
nous $u+ $verbf | |||
vous $u+ $verbf | |||
@@ -347,6 +348,7 @@ sur $u | |||
par $u | |||
pour $u | |||
en $u | |||
en $u $verb $verbextend | |||
(en suspens) A~||sysp'A~ | |||
vers $u | |||
@@ -376,7 +378,7 @@ sont $u+ $verb | |||
étais $u+ $verb | |||
était $u+ $verb | |||
étions $u+ *verb | |||
étions $u+ $verb | |||
étiez $u+ $verb | |||
étaient $u+ $verb | |||
@@ -414,8 +416,6 @@ consent kO~s'A~t2 | |||
scient si | |||
coing kwE~ | |||
convent kO~vA~ | |||
couvent k'uvt2 $verb | |||
(couvent couvent) kuvA~||k'uvt2 | |||
dessous d@su | |||
divers divErz2 | |||
hareng _!arA~ | |||
@@ -434,6 +434,7 @@ monsieur m@sjY | |||
montréal mO~Real | |||
(n'est ce pas) n'Es@-||p'az2 | |||
(qu'est ce que) kEsk@ $u | |||
(quelque chose) kElk@S'oz | |||
(cent un) s'A~||W~ | |||
(cent unième) s'A~||ynj'Em | |||
(cent une) s'A~||yn | |||
@@ -452,6 +453,7 @@ casus kazys | |||
choeur k@r | |||
cocus coky | |||
estomac Estoma | |||
éloquent ElokA~t2 | |||
fils fis | |||
gars ga | |||
iris iris | |||
@@ -485,7 +487,7 @@ l'y li $verbf | |||
qu'y ki $verbf | |||
(sud est) sydEst | |||
(nord est) nOREst | |||
potentiomètre pOtA~sjOmEtR@- | |||
tiomètre pOtA~sjOmEtR@- | |||
processus pROsEsys | |||
@@ -675,3 +677,4 @@ vincent vE~sA~ | |||
@@ -4,7 +4,7 @@ | |||
// 2006-11-18 Gilles Casse <[email protected]> | |||
// | |||
// Updated: 2008-03-12 Michel Such <[email protected]> | |||
// Updated: 2008-03-19 Michel Such <[email protected]> | |||
// | |||
// * The rules are based on Cicero TTS. | |||
// Y | |||
@@ -205,13 +205,15 @@ | |||
_dol) en (t_ A~ // dolent | |||
ol) en (t_ A~ // somnolent, violent | |||
Vol) en (t_ // somnolent, violent | |||
Xol) en (t_ // volent | |||
imCoC) en (t_ A~ // impotent | |||
inCoC) en (t_ A~ // innocent, indolent | |||
XACcid) en (t_ A~ // accident, occident | |||
_ag) en (t_ A~ // agent | |||
_arC) en (t_ A~ // argent, ardent, arpent | |||
_ard) en (t_ A~ // argent, ardent | |||
_arg) en (t_ A~ // argent, argent | |||
_urg) en (t_ A~ // urgent | |||
V_urg) en (t_ // urgent (verbe) | |||
@@ -260,6 +262,7 @@ | |||
Vferm) en (t_ // ferment, referment (verbe) | |||
XArp) en (t_ A~ // arpent, serpent | |||
CArr) en (t_ A~ // conncurrent, torrent | |||
Cerr) en (t_ // ils serrent | |||
_appar) en (t_ A~ // apparent | |||
spar) en (t_ A~ // transparent | |||
_par) en (t_ A~ // parent | |||
@@ -301,11 +304,12 @@ | |||
_souv) en (t_ A~ // souvent | |||
Cud) en (t_ A~ | |||
_couv) en (tS3f A~ // le couvent | |||
V_couv) en (t_ // elles couvent | |||
s_couv) en (t_ // elles couvent | |||
qui_couv) en (t_ | |||
_couv) en (t_ A~ // le couvent | |||
en (t_ t2 // étaient mangent | |||
en (t_ // étaient mangent | |||
Ci) en (_ E~ // viendra | |||
Ci) en (C E~ // viendra | |||
@@ -393,13 +397,11 @@ | |||
_CC) e (_ @- | |||
_qu) e (_ @ // que | |||
CC) e (_C @- | |||
CC) es (_C @-z2 | |||
-j) e (_ @- | |||
gu) e (_C @- | |||
gu) es (_C @-z2 | |||
gu) es (_C @- | |||
qu) e (_C @- | |||
qu) es (_C @-z2 | |||
qu) es (_C @- | |||
e (_ // montre | |||
@@ -670,10 +672,11 @@ _) half _^_en | |||
iev _^_en | |||
ife (_ _^_en | |||
igh _^_en | |||
ing (_ _^_en // parking | |||
ind (_ _^_en // find, mind | |||
_C) ind (er_ _^_en // finder, reminder | |||
_AC) ind (er_ _^_en // finder, reminder | |||
ing (_ _^_en // parking | |||
ink _^_en // link | |||
ize _^_en // realize | |||
@@ -900,7 +903,6 @@ mou) rr RR // mourrai | |||
s s // verser sien | |||
s (_S1 z2 | |||
e) s (_h z2 | |||
_) s' (P2 s // s'amène | |||
sç s // immisça | |||
@@ -985,16 +987,14 @@ e) s (_h z2 | |||
_) t (_ te | |||
-) t (- t | |||
V) t (_ t2 // silent at end of verb unless next word starts with a vowel | |||
n) t (_ // silent at end of verb unless next word starts with a vowel | |||
n) t (- t2 // silent at end of verb unless next word starts with a vowel | |||
t (_ // silent at end of word | |||
t (-S1 t | |||
_) th (onX t // thon | |||
_) th (ymX t // shym | |||
_) th t // thon | |||
ts (_S1 z2 // silent at end of word unless next word starts with a vowel | |||
C) t (_ t // compost watt soft script malttact abrupt | |||
Vn) t (_ t2 // silent at end of verb unless next word starts with a vowel | |||
n) t (_ // silent at end of word | |||
r) t (_ t2 // fort | |||
C) te (_ t@- // patte | |||
aul) t (_ // Renault | |||
@@ -1026,7 +1026,7 @@ C) te (_ t@- // patte | |||
t) t (ion t // combattions | |||
t (iel s // partiel patiemment | |||
t (iem s | |||
t (iAm s | |||
mar) t (ien s // martien vénitienne | |||
i) t (ien s | |||
@@ -1146,9 +1146,7 @@ C) te (_ t@- // patte | |||
_soi) x (A s // soixante | |||
au) x (_ z2 // faux beaux | |||
eu) x (_ z2 // jeux | |||
ou) x (_ z2 // choux genoux | |||
Au) x (_S1 z2 // faux feux choux | |||
_au) x (quel // auxquels | |||
@@ -1229,3 +1227,4 @@ C) te (_ t@- // patte | |||
@@ -65,7 +65,7 @@ _tld tildE | |||
// characters | |||
_#9 tAb | |||
_#32 so:kYz | |||
_cap n'AJ_| | |||
// Abbreviations | |||
km kilo:me:tER2 |
@@ -18,7 +18,7 @@ m Em | |||
n En | |||
o o | |||
p pe | |||
q ke | |||
q ki | |||
r ER | |||
s Es | |||
t te | |||
@@ -33,22 +33,22 @@ _0 n'ol | |||
_1 s'atu | |||
_2 d'ua | |||
_3 t'iga | |||
_4 'Empat | |||
_4 '@mpat | |||
_5 l'ima | |||
_6 'Enam | |||
_6 '@nam | |||
_7 t'udZuh | |||
_8 d@l'apan | |||
_9 s@mb'ilan | |||
_10 s@p'uluh | |||
_11 s@belas | |||
_12 d'uabelas | |||
_13 t'igabelas | |||
_14 'Empatbelas | |||
_15 l'imabelas | |||
_16 'Enambelas | |||
_17 t'udZuhbelas | |||
_18 d@l'apanbelas | |||
_19 s@mb'ilanbelas | |||
_11 s'@b@las | |||
_12 d'uab@las | |||
_13 t'igab@las | |||
_14 '@mpatb@las | |||
_15 l'imab@las | |||
_16 '@namb@las | |||
_17 t'udZuhb@las | |||
_18 d@l'apanb@las | |||
_19 s@mb'ilanb@las | |||
_2X d'uapuluh | |||
_3X t'igapuluh | |||
_4X 'Empatpuluh | |||
@@ -63,3 +63,79 @@ _0M1 R'ibu_ | |||
_1M1 s@r'ibu_ | |||
_0M2 dZ'uta_ | |||
_1M2 s@dZ'uta_ | |||
_0M3 m'iljaR | |||
_1M3 s@m'iljaR | |||
_dpt _k,oma_ | |||
_cap b'EsaR // after the letter | |||
_?? k,odeh'uR2uf | |||
// accented letters | |||
_lig d'aIgRaf | |||
_acu akj'ut | |||
_ac2 dub@lakj'ut | |||
_brv bR2'i:v | |||
_ced s@d'ila | |||
_cir t'opi | |||
_dia 'umlaUt | |||
_dot d'Ot | |||
_grv gR2'av | |||
_hac h'atSEk | |||
_mcn m'akR2On | |||
_ogo 'OgonEk | |||
_rng R2'iNg | |||
_stk stR'ok | |||
_tld t'ild@ | |||
// punctuation | |||
_! t,anda||s'ER2u | |||
_" t,andak'utip | |||
£ ponst'E*RliN | |||
% p@*Rs'En | |||
^ t,andat'opi | |||
& t,andad'an | |||
_* b'intaN | |||
_( k,uR2uN||b'uka | |||
_) k,uR2uN||t'utup | |||
__ g,aR2is||b'awah | |||
_- t,andah'ubuN | |||
+ t'ambah | |||
= s,ama||d'ENan | |||
_{ k,uR2uN||kuR2'awal | |||
_} k,uR2uN||kuR2,awal||t'utup | |||
_[ k,uR2uN||s'iku | |||
_] k,uR2uN||s,iku||t'utup | |||
_: t,iti?||d'ua | |||
_; t,iti?||k'oma | |||
@ a||k'EOng | |||
_' k,utip||t'uNgal | |||
~ t'ilde | |||
# p'agaR | |||
_< k,uR2aN||d'aR2i | |||
_> l,Ebih||d'aR2i | |||
_, k'oma | |||
_. t'iti? | |||
_? t,anda||t'an^a | |||
/ g,aR2is||m'iR2iN | |||
_\ 'bEkslES | |||
// unstressed words | |||
suatu $u | |||
dari $u | |||
pada $u | |||
daripada $u | |||
ke k@ $u | |||
di $u | |||
si $u | |||
sang $u | |||
hang $u | |||
yang $u | |||
dan $u | |||
atau $u | |||
untuk $u | |||
ialah $u | |||
adalah $u | |||
sebagai $u | |||
bahwa $u | |||
per p@r $u |
@@ -13,6 +13,9 @@ | |||
.group b | |||
b b | |||
_) be (@@ b@ | |||
.group c | |||
c tS | |||
@@ -49,6 +52,9 @@ | |||
k (_ ? | |||
kh x | |||
_) ke (@@ k@ | |||
.group l | |||
l l | |||
ll l | |||
@@ -56,6 +62,9 @@ | |||
.group m | |||
m m | |||
_) me (@@ m@ | |||
_) mempe (@ m@mp@ | |||
.group n | |||
n n | |||
ng N | |||
@@ -73,12 +82,18 @@ | |||
p p | |||
pp p | |||
_) pe (@@ p@ | |||
.group q | |||
q k | |||
qu kw | |||
.group r | |||
r R | |||
r R2 | |||
r (K R | |||
e) r (K *R | |||
.group s | |||
s s | |||
@@ -86,10 +101,16 @@ | |||
sy S // perhaps [S;] ?? | |||
sj S | |||
_) se (@@ s@ | |||
.group t | |||
t t | |||
tj tS // Dutch | |||
_) ter (@@ t@*R | |||
.group u | |||
u u | |||
u) u _|u | |||
@@ -112,7 +133,13 @@ | |||
z z | |||
.group | |||
$ dolaR | |||
$ dOlaR | |||
__) - (_D t,andak'uR2aN | |||
* b'intaN | |||
*) * (* | |||
** | |||
**) * (_ _:: | |||
@@ -1,4 +1,4 @@ | |||
47 phoneme tables | |||
48 phoneme tables | |||
new total | |||
base 98 98 | |||
base2 24 117 | |||
@@ -27,7 +27,7 @@ | |||
hr 20 132 | |||
mk 3 133 | |||
sr 14 132 | |||
ru 38 128 | |||
ru 39 129 | |||
it 17 120 | |||
la 21 116 | |||
es 9 118 | |||
@@ -46,7 +46,8 @@ | |||
sw 14 107 | |||
tr 18 122 | |||
ku 17 121 | |||
id 14 119 | |||
id 15 119 | |||
ko 16 112 | |||
Data file Used by | |||
b/b [b] base | |||
@@ -97,6 +98,7 @@ d/d [d] base | |||
[d;] ro | |||
[d] el | |||
[d] sw | |||
[d] id | |||
d/d_ [d] base | |||
[d[] base | |||
[d] base2 | |||
@@ -113,6 +115,7 @@ d/d_ [d] base | |||
[d;] ro | |||
[d] el | |||
[d] sw | |||
[d] id | |||
d/d_dnt [d] sr | |||
d/dr [*] base | |||
[d] base | |||
@@ -131,6 +134,7 @@ d/dr [*] base | |||
[d;] ro | |||
[d] el | |||
[d] sw | |||
[d] id | |||
d/tap [*;] ro | |||
d/tap1 [*] base | |||
d/tap2 [t#] en_us | |||
@@ -151,6 +155,7 @@ d/xd [d] base | |||
[d;] ro | |||
[d] el | |||
[d] sw | |||
[d] id | |||
d/xd_pzd [d;] pl | |||
[d;] ru | |||
d/x_tap [t#] en_us | |||
@@ -461,6 +466,7 @@ r3/r_n [r/] base | |||
[r/] fr | |||
[r/] ru | |||
r3/r_o [(o)] base | |||
r3/r_ru [R4] ru | |||
r3/r_trill [R2] base | |||
[R3] base | |||
[r] af | |||
@@ -471,6 +477,7 @@ r3/r_trill [R2] base | |||
r3/r_trill2 [R] base | |||
[r] cy | |||
[R] hr | |||
[R4] ru | |||
r3/r_trill2.wav [R] base | |||
[r] cy | |||
[R] hr | |||
@@ -494,7 +501,9 @@ r3/rx [*] base | |||
r3/rz_cs [R^] sk | |||
[R^/] sk | |||
r3/@tap [**] base | |||
[r] ko | |||
r3/@tap2 [**] base | |||
[r] ko | |||
r/r [r] base | |||
[r-] base | |||
[r] en_sc | |||
@@ -563,6 +572,7 @@ ufric/s [s] base | |||
[s] fr | |||
[s] es | |||
[s#] pt | |||
[s`] ko | |||
ufric/s_ [s] base | |||
[z] base | |||
[s2] fi | |||
@@ -685,6 +695,7 @@ ustop/k_unasp [k] base | |||
[k] sk | |||
[k] el | |||
[k] zhy | |||
[k`] ko | |||
ustop/k_unasp_ [k] zh | |||
ustop/null [?] base | |||
ustop/p [p] base | |||
@@ -727,6 +738,7 @@ ustop/p_unasp [p] base | |||
[p] la | |||
[p;] ro | |||
[p] zh | |||
[p`] ko | |||
ustop/p_unasp_ [p] base2 | |||
[p] fi | |||
[p] hi | |||
@@ -763,6 +775,7 @@ ustop/t_dnt [t] base | |||
[t;] ro | |||
[t[] vi | |||
[t] sw | |||
[t`] ko | |||
ustop/t_dnt2 [t[] vi | |||
ustop/t_hi [t] hi | |||
[th] hi | |||
@@ -797,6 +810,7 @@ ustop/ts_pzd [tS;] base | |||
[ts;] base | |||
[ch] hi | |||
[tS;] ru | |||
[tS`] ko | |||
ustop/ts_pzd_ [c] hi | |||
[c] hu | |||
ustop/ts_pzd2 [c] hi | |||
@@ -1191,6 +1205,7 @@ vowel/a [a] en_n | |||
[a] it | |||
[a] zh | |||
[a] id | |||
[a] ko | |||
vowel/a# [a/] base2 | |||
[a2] en_sc | |||
[a2] en_wi | |||
@@ -1291,6 +1306,7 @@ vowel/e [e] base2 | |||
[e] grc | |||
[e] vi | |||
[e] id | |||
[E] ko | |||
vowel/e# [I] en_sc | |||
[I2] en_sc | |||
vowel/e_2 [eI] en_sc | |||
@@ -1345,6 +1361,7 @@ vowel/e_mid [E] en_rp | |||
[E] tr | |||
[E] id | |||
[E2] id | |||
[e] ko | |||
vowel/e_mid2 [E] af | |||
[E] de | |||
[E2] de | |||
@@ -1382,6 +1399,7 @@ vowel/i [i] base2 | |||
[i] zhy | |||
[i] zh | |||
[i] sw | |||
[i] ko | |||
vowel/i# [i] en_rp | |||
[y:] cy | |||
vowel/i_2 [i:] en_rp | |||
@@ -1501,6 +1519,7 @@ vowel/oe_4 [W] sv | |||
vowel/o_mid [O] fr | |||
[o] hu | |||
[o] tr | |||
[o] ko | |||
vowel/oo [O:] en_sc | |||
[O] en_wi | |||
[O:] en_wi | |||
@@ -1608,6 +1627,7 @@ vowel/u_bck [u] base2 | |||
[u] is | |||
[u] zhy | |||
[u] zh | |||
[u] ko | |||
vowel/u_bck2 [u:] la | |||
vowel/u_fnt [u:] en_rp | |||
vowel/uu [U] en | |||
@@ -1628,7 +1648,9 @@ vowel/uu_bck [U] en_n | |||
[U] pt | |||
[U] no | |||
[u] zhy | |||
vowel/u_unr [u-] ko | |||
vowel/V [3] en_sc | |||
[V] ko | |||
vowel/V_2 [V] en | |||
[a] af | |||
[V] ru | |||
@@ -1657,6 +1679,7 @@ vowel/y# [Y:] en | |||
[Y] ro | |||
[y] vi | |||
[oe] zhy | |||
[Y] ko | |||
vowel/y## [y#] is | |||
vowel/y_2 [y] fr | |||
[y"] fr | |||
@@ -1812,7 +1835,6 @@ w/w2 [w2] base2 | |||
[w] pt_pt | |||
w/wa [(a)] base | |||
w/we [(e)] base | |||
[w] fr | |||
w/wi [(i)] base | |||
[i] vi | |||
[i] zhy | |||
@@ -1846,6 +1868,7 @@ x/d [d] base | |||
[d] hr | |||
[d] el | |||
[d] is | |||
[d] id | |||
x/d_ [d] base | |||
[d[] base | |||
[d] base2 | |||
@@ -1861,6 +1884,7 @@ x/d_ [d] base | |||
[d] el | |||
[d] is | |||
[d] sw | |||
[d] id | |||
x/d_dnt [d[] base | |||
[d] base2 | |||
[d] fi |
@@ -10,6 +10,7 @@ volume 15 | |||
0 g- NULL 0 NULL | |||
0 @- NULL 0 NULL | |||
0 * NULL 0 R | |||
0 : NULL 0 NULL | |||
0 Y NULL 0 2 | |||
0 W NULL 0 9 | |||
@@ -27,8 +28,11 @@ volume 15 | |||
0 y" NULL 0 y | |||
0 E: NULL 0 E | |||
0 h NULL 0 NULL | |||
0 n2 NULL 0 n | |||
0 p2 NULL 0 p | |||
0 t2 NULL 0 t | |||
0 z2 NULL 0 z | |||
0 z3 NULL 0 z | |||
0 i: NULL 0 i | |||
0 u: NULL 0 u |
@@ -91,13 +91,12 @@ endphoneme | |||
phoneme w | |||
liquid | |||
vowel starttype (o) endtype (o) | |||
unstressed | |||
length 120 | |||
length 100 | |||
beforenotvowel w/ | |||
lengthmod 7 | |||
formants w/w | |||
before (e) w/we | |||
after _ w/_w | |||
endphoneme | |||
@@ -432,3 +431,4 @@ endphoneme | |||
@@ -12,6 +12,7 @@ phoneme a | |||
vowel starttype (a) endtype (a) | |||
length 180 | |||
formants vowel/a | |||
reduceto a/ 1 | |||
endphoneme | |||
@@ -90,3 +91,16 @@ phoneme @U | |||
endphoneme | |||
phoneme d // English [d] | |||
vcd alv stop | |||
vowelin f1=1 f2=1700 -300 300 f3=-100 80 | |||
vowelout f1=2 f2=1700 -300 300 f3=-100 80 | |||
formants d/d+x/d | |||
before _ d/d_+x/d_ | |||
before r d/dr+x/d | |||
after _ NULL | |||
after @ d/xd | |||
lengthmod 5 | |||
switchvoicing t | |||
endphoneme |
@@ -306,3 +306,11 @@ phoneme a# | |||
endphoneme | |||
phoneme R4 | |||
liquid | |||
vowelin f1=0 f2=1500 -300 300 f3=-300 80 | |||
vowelout f1=2 f2=1500 -300 300 f3=-300 80 brk | |||
formants r3/r_trill2+r3/r_ru%50 | |||
lengthmod 6 | |||
endphoneme | |||
@@ -1274,3 +1274,6 @@ include ph_kurdish | |||
phonemetable id base2 | |||
include ph_indonesian | |||
phonemetable ko base | |||
include ph_korean |
@@ -472,7 +472,7 @@ LINK32=link.exe | |||
# PROP Default_Filter "" | |||
# Begin Source File | |||
SOURCE=.\..\..\samples\sample.rc | |||
SOURCE=.\sample.rc | |||
# End Source File | |||
# End Group | |||
# Begin Source File |
@@ -154,7 +154,6 @@ static int ConvertRate(int new_rate) | |||
rate = new_rate + master_rate; | |||
if(rate < -10) rate = -10; | |||
if(rate > 10) rate = 10; | |||
return(rate_table[rate+10]); | |||
} // end of ConvertRate | |||
@@ -96,6 +96,7 @@ class ATL_NO_VTABLE CTTSEngObj : | |||
HRESULT CheckActions( ISpTTSEngineSite* pOutputSite ); | |||
int ProcessFragList(const SPVTEXTFRAG* pTextFragList, wchar_t *pW, ISpTTSEngineSite* pOutputSite, int *n_text); | |||
int WritePhonemes(SPPHONEID *phons, wchar_t *pW_start); | |||
private: | |||
/*--- Non interface methods ---*/ |
@@ -5,8 +5,8 @@ | |||
// | |||
VS_VERSION_INFO VERSIONINFO | |||
FILEVERSION 1,0,30,00 | |||
PRODUCTVERSION 1,0,30,00 | |||
FILEVERSION 1,0,36,00 | |||
PRODUCTVERSION 1,0,36,00 | |||
FILEFLAGSMASK 0x3fL | |||
#ifdef _DEBUG | |||
FILEFLAGS 0x1L | |||
@@ -24,20 +24,20 @@ BEGIN | |||
VALUE "Comments", "\0" | |||
VALUE "CompanyName", "Jonathan Duddington\0" | |||
VALUE "FileDescription", "Text to Speech\0" | |||
VALUE "FileVersion", "1, 0,30,00\0" | |||
VALUE "InternalName", "espeak1.30\0" | |||
VALUE "FileVersion", "1, 0,36,00\0" | |||
VALUE "InternalName", "espeak1.36\0" | |||
VALUE "LegalCopyright", "Copyright (c) Jonathan Duddington\0" | |||
VALUE "LegalTrademarks", "\0" | |||
VALUE "OriginalFilename", "espeak_sapi.dll\0" | |||
VALUE "PrivateBuild", "\0" | |||
VALUE "ProductName", "espeak TTS\0" | |||
VALUE "ProductVersion", "1, 0, 30, 00\0" | |||
VALUE "ProductVersion", "1, 0, 36, 00\0" | |||
VALUE "SpecialBuild", "\0" | |||
END | |||
END | |||
BLOCK "VarFileInfo" | |||
BEGIN | |||
VALUE "Translation", 0x809, 1200 | |||
VALUE "Translation", 0x409, 1200 | |||
END | |||
END | |||
@@ -550,7 +550,7 @@ void Translator::LookupLetter(unsigned int letter, int next_byte, char *ph_buf1) | |||
single_letter[1] = ' '; | |||
if(Lookup(&single_letter[2],ph_buf3) == 0) | |||
{ | |||
TranslateRules(&single_letter[2], ph_buf3, sizeof(ph_buf3), NULL,0,NULL); | |||
TranslateRules(&single_letter[2], ph_buf3, sizeof(ph_buf3), NULL,FLAG_NO_TRACE,NULL); | |||
} | |||
} | |||
@@ -591,6 +591,7 @@ int Translator::TranslateLetter(char *word, char *phonemes, int control, int wor | |||
int n_bytes; | |||
int letter; | |||
int len; | |||
int save_option_phonemes; | |||
char *p2; | |||
char *pbuf; | |||
char capital[20]; | |||
@@ -627,12 +628,15 @@ int Translator::TranslateLetter(char *word, char *phonemes, int control, int wor | |||
} | |||
if((ph_buf[0] == 0) && (translator_name != L('e','n'))) | |||
// if((ph_buf[0] == 0) && (word_length == 1) && (translator_name != L('e','n'))) | |||
{ | |||
// speak as English, check whether there is a translation for this character | |||
SetTranslator2("en"); | |||
save_option_phonemes = option_phonemes; | |||
option_phonemes = 0; | |||
translator2->LookupLetter(letter, word[n_bytes], ph_buf); | |||
SelectPhonemeTable(voice->phoneme_tab_ix); // revert to original phoneme table | |||
option_phonemes = save_option_phonemes; | |||
if(ph_buf[0] != 0) | |||
{ | |||
sprintf(phonemes,"%cen",phonSWITCH); | |||
@@ -664,7 +668,10 @@ int Translator::TranslateLetter(char *word, char *phonemes, int control, int wor | |||
} | |||
len = strlen(phonemes); | |||
sprintf(ph_buf2,"%c%s%s",0xff,capital,ph_buf); // the 0xff marker will be removed or replaced in SetSpellingStress() | |||
if(langopts.accents & 2) | |||
sprintf(ph_buf2,"%c%s%s",0xff,ph_buf,capital); | |||
else | |||
sprintf(ph_buf2,"%c%s%s",0xff,capital,ph_buf); // the 0xff marker will be removed or replaced in SetSpellingStress() | |||
if((len + strlen(ph_buf2)) < N_WORD_PHONEMES) | |||
{ | |||
strcpy(&phonemes[len],ph_buf2); |
@@ -437,6 +437,7 @@ void speak_text_string(char *data, int terminator, int len, int wait, int voice_ | |||
regs.r[1] = (int)module_data; | |||
_kernel_swi(0x5f, ®s, ®s); | |||
option_endpause = 1; | |||
if((voice_num >= 0) && (voice_num != current_voice_num) && (voice_num < N_VOICE_NAMES)) | |||
{ |
@@ -35,7 +35,7 @@ | |||
#include "translate.h" | |||
#include "wave.h" | |||
const char *version_string = "1.36.02 13.Mar.08"; | |||
const char *version_string = "1.36.06 22.Mar.08"; | |||
const int version_phdata = 0x013400; | |||
int option_device_number = -1; |
@@ -108,7 +108,20 @@ Translator *SelectTranslator(const char *name) | |||
switch(name2) | |||
{ | |||
case L('a','f'): | |||
tr = new Translator_Afrikaans(); | |||
{ | |||
static const short stress_lengths_af[8] = {170,140, 220,220, 0, 0, 250,270}; | |||
tr = new Translator(); | |||
SetupTranslator(tr,stress_lengths_af,NULL); | |||
tr->langopts.stress_rule = 0; | |||
tr->langopts.vowel_pause = 0x30; | |||
tr->langopts.param[LOPT_DIERESES] = 1; | |||
tr->langopts.param[LOPT_PREFIXES] = 1; | |||
SetLetterVowel(tr,'y'); // add 'y' to vowels | |||
tr->langopts.numbers = 0x8d1 + NUM_ROMAN; | |||
tr->langopts.accents = 1; | |||
} | |||
break; | |||
case L('c','y'): // Welsh | |||
@@ -375,6 +388,7 @@ SetLengthMods(tr,3); // all equal | |||
tr->langopts.stress_rule = 2; | |||
tr->langopts.numbers = 0x1009 + NUM_ROMAN; | |||
tr->langopts.stress_flags = 0x6 | 0x10; | |||
tr->langopts.accents = 2; // "capital" after letter name | |||
} | |||
break; | |||
@@ -441,6 +455,11 @@ SetLengthMods(tr,3); // all equal | |||
} | |||
break; | |||
case L('k','o'): // Korean, TEST | |||
tr = new Translator(); | |||
tr->langopts.param[LOPT_UNPRONOUNCABLE] = 1; // disable check for unpronouncable words | |||
break; | |||
case L('k','u'): // Kurdish | |||
{ | |||
static const unsigned char stress_amps_ku[8] = {18,18, 20,20, 20,24, 24,22 }; | |||
@@ -1043,41 +1062,3 @@ if(prev->mnemonic == 'j') | |||
} | |||
#endif | |||
//********************************************************************************************************** | |||
Translator_Afrikaans::Translator_Afrikaans() : Translator() | |||
{//========================================= | |||
// Initialise options for this language | |||
static const short stress_lengths2[8] = {170,140, 220,220, 0, 0, 250,270}; | |||
langopts.stress_rule = 0; | |||
langopts.vowel_pause = 0x30; | |||
langopts.param[LOPT_DIERESES] = 1; | |||
langopts.param[LOPT_PREFIXES] = 1; | |||
SetLetterVowel(this,'y'); // add 'y' to vowels | |||
langopts.numbers = 0x8d1 + NUM_ROMAN; | |||
langopts.accents = 1; | |||
memcpy(stress_lengths,stress_lengths2,sizeof(stress_lengths)); | |||
} | |||
int Translator_Afrikaans::TranslateChar(char *ptr, int prev_in, unsigned int c, unsigned int next_in, int *insert) | |||
{//=============================================================================================================== | |||
// look for 'n and replace by a special character (unicode: schwa) | |||
if(!iswalpha(prev_in)) | |||
{ | |||
if((c == '\'') && (next_in == 'n')) | |||
{ | |||
// n preceded by either apostrophe or U2019 "right single quotation mark" | |||
ptr[0] = ' '; // delete the n | |||
return(0x0259); // replace ' by unicode schwa character | |||
} | |||
} | |||
return(c); | |||
} | |||
@@ -43,16 +43,3 @@ private: | |||
class Translator_Afrikaans: public Translator | |||
{//========================================== | |||
public: | |||
Translator_Afrikaans(); | |||
private: | |||
int TranslateChar(char *ptr, int prev_in, unsigned int c, unsigned int next_in, int *insert); | |||
}; // end of class Translator_Afrikaans | |||
@@ -370,6 +370,9 @@ int IsAlpha(unsigned int c) | |||
if((c >= 0x300) && (c <= 0x36f)) | |||
return(1); // combining accents | |||
if((c >= 0x1100) && (c <= 0x11ff)) | |||
return(1); //Korean jamo | |||
return(0); | |||
} | |||
@@ -1908,6 +1911,69 @@ int SubstituteChar(Translator *tr, unsigned int c, unsigned int next_in, int *in | |||
int Translator::TranslateChar(char *ptr, int prev_in, unsigned int c, unsigned int next_in, int *insert) | |||
{//===================================================================================================== | |||
// To allow language specific examination and replacement of characters | |||
int code; | |||
int initial; | |||
int medial; | |||
int final; | |||
static const unsigned char hangul_compatibility[0x34] = { | |||
0, 0x00,0x01,0x82,0x02,0x84,0x85,0x03, | |||
0x04,0x05,0x88,0x89,0x8a,0x8b,0x8c,0x8d, | |||
0x8e,0x06,0x07,0x08,0x91,0x09,0x0a,0x94, | |||
0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x40, | |||
0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48, | |||
0x49,0x4a,0x4b,0x4c,0x4d,0x4e,0x4f,0x50, | |||
0x51,0x52,0x53,0x54 }; | |||
switch(translator_name) | |||
{ | |||
case L('a','f'): | |||
// look for 'n and replace by a special character (unicode: schwa) | |||
if(!iswalpha(prev_in)) | |||
{ | |||
if((c == '\'') && (next_in == 'n')) | |||
{ | |||
// n preceded by either apostrophe or U2019 "right single quotation mark" | |||
ptr[0] = ' '; // delete the n | |||
return(0x0259); // replace ' by unicode schwa character | |||
} | |||
} | |||
break; | |||
case L('k','o'): | |||
if(((code = c - 0xac00) >= 0) && (c <= 0xd7af)) | |||
{ | |||
// break a syllable hangul into 2 or 3 individual jamo | |||
initial = (code/28)/21; | |||
medial = (code/28) % 21; | |||
final = code % 28; | |||
if(initial == 11) | |||
{ | |||
// null initial | |||
c = medial + 0x1161; | |||
if(final > 0) | |||
*insert = final + 0x11a7; | |||
} | |||
else | |||
{ | |||
// extact the initial and insert the remainder with a null initial | |||
c = initial + 0x1100; | |||
*insert = (11*28*21) + (medial*28) + final + 0xac00; | |||
} | |||
return(c); | |||
} | |||
else | |||
if(((code = c - 0x3130) >= 0) && (code < 0x34)) | |||
{ | |||
// Hangul compatibility jamo | |||
return(hangul_compatibility[code] + 0x1100); | |||
} | |||
break; | |||
} | |||
return(SubstituteChar(this,c,next_in,insert)); | |||
} | |||
@@ -348,7 +348,7 @@ typedef struct { | |||
int thousands_sep; | |||
int decimal_sep; | |||
// bit 0, accent name before the letter name | |||
// bit 0, accent name before the letter name, bit 1 "capital" after letter name | |||
int accents; | |||
int tone_language; // 1=tone language | |||
@@ -448,6 +448,7 @@ private: | |||
int LookupThousands(int value, int thousandplex, char *ph_out); | |||
int TranslateNumber_1(char *word1, char *ph_out, unsigned int *flags, int wflags); | |||
int TranslateRoman(char *word, char *ph_out); | |||
int TranslateChar(char *ptr, int prev_in, unsigned int c, unsigned int next_in, int *insert); | |||
void InitGroups(void); | |||
void AppendPhonemes(char *string, int size, const char *ph); | |||
@@ -465,7 +466,6 @@ protected: | |||
virtual int Unpronouncable(char *word); | |||
virtual void SetWordStress(char *output, unsigned int dictionary_flags, int tonic, int prev_stress); | |||
virtual int RemoveEnding(char *word, int end_type, char *word_copy); | |||
virtual int TranslateChar(char *ptr, int prev_in, unsigned int c, unsigned int next_in, int *insert); | |||
virtual int TranslateNumber(char *word1, char *ph_out, unsigned int *flags, int wflags); | |||
virtual int ChangePhonemes(PHONEME_LIST2 *phlist, int n_ph, int index, PHONEME_TAB *ph, CHANGEPH *ch); | |||
@@ -1583,7 +1583,7 @@ espeak_ERROR SetVoiceByName(const char *name) | |||
memset(&voice_selector,0,sizeof(voice_selector)); | |||
// voice_selector.name = buf; | |||
voice_selector.name = name; // include variant name in voice stack ?? | |||
voice_selector.name = (char *)name; // include variant name in voice stack ?? | |||
// first check for a voice with this filename | |||
// This may avoid the need to call espeak_ListVoices(). |