Conflicts: platforms/windows/make_espeakedit.issmaster
@@ -141,17 +141,15 @@ android: android/res/raw/espeakdata.zip android/res/raw/espeakdata_version | |||
dictionaries: src/espeak \ | |||
espeak-data/af_dict \ | |||
espeak-data/ak_dict \ | |||
espeak-data/am_dict \ | |||
espeak-data/an_dict \ | |||
espeak-data/az_dict \ | |||
espeak-data/bg_dict \ | |||
espeak-data/bn_dict \ | |||
espeak-data/ca_dict \ | |||
espeak-data/cs_dict \ | |||
espeak-data/cy_dict \ | |||
espeak-data/da_dict \ | |||
espeak-data/de_dict \ | |||
espeak-data/dv_dict \ | |||
espeak-data/el_dict \ | |||
espeak-data/en_dict \ | |||
espeak-data/eo_dict \ | |||
@@ -162,9 +160,7 @@ dictionaries: src/espeak \ | |||
espeak-data/fr_dict \ | |||
espeak-data/ga_dict \ | |||
espeak-data/grc_dict \ | |||
espeak-data/hbs_dict \ | |||
espeak-data/hi_dict \ | |||
espeak-data/ht_dict \ | |||
espeak-data/hu_dict \ | |||
espeak-data/hy_dict \ | |||
espeak-data/id_dict \ | |||
@@ -172,7 +168,6 @@ dictionaries: src/espeak \ | |||
espeak-data/it_dict \ | |||
espeak-data/jbo_dict \ | |||
espeak-data/ka_dict \ | |||
espeak-data/kk_dict \ | |||
espeak-data/kl_dict \ | |||
espeak-data/kn_dict \ | |||
espeak-data/ko_dict \ | |||
@@ -182,20 +177,17 @@ dictionaries: src/espeak \ | |||
espeak-data/lv_dict \ | |||
espeak-data/mk_dict \ | |||
espeak-data/ml_dict \ | |||
espeak-data/mt_dict \ | |||
espeak-data/ms_dict \ | |||
espeak-data/nci_dict \ | |||
espeak-data/ne_dict \ | |||
espeak-data/nl_dict \ | |||
espeak-data/no_dict \ | |||
espeak-data/nso_dict \ | |||
espeak-data/pa_dict \ | |||
espeak-data/pap_dict \ | |||
espeak-data/pl_dict \ | |||
espeak-data/prs_dict \ | |||
espeak-data/pt_dict \ | |||
espeak-data/ro_dict \ | |||
espeak-data/ru_dict \ | |||
espeak-data/rw_dict \ | |||
espeak-data/si_dict \ | |||
espeak-data/sk_dict \ | |||
espeak-data/sl_dict \ | |||
@@ -203,13 +195,9 @@ dictionaries: src/espeak \ | |||
espeak-data/sv_dict \ | |||
espeak-data/sw_dict \ | |||
espeak-data/ta_dict \ | |||
espeak-data/te_dict \ | |||
espeak-data/tn_dict \ | |||
espeak-data/tr_dict \ | |||
espeak-data/tt_dict \ | |||
espeak-data/ur_dict \ | |||
espeak-data/vi_dict \ | |||
espeak-data/wo_dict \ | |||
espeak-data/zh_dict \ | |||
espeak-data/zhy_dict | |||
@@ -219,12 +207,6 @@ dictsource/af_extra: | |||
espeak-data/af_dict: src/espeak espeak-data/phontab dictsource/af_list dictsource/af_rules dictsource/af_extra | |||
cd dictsource && ../src/espeak --compile=af && cd .. | |||
ak: espeak-data/ak_dict | |||
dictsource/ak_extra: | |||
touch dictsource/ak_extra | |||
espeak-data/ak_dict: src/espeak espeak-data/phontab dictsource/ak_rules dictsource/ak_extra | |||
cd dictsource && ../src/espeak --compile=ak && cd .. | |||
am: espeak-data/am_dict | |||
dictsource/am_extra: | |||
touch dictsource/am_extra | |||
@@ -237,12 +219,6 @@ dictsource/an_extra: | |||
espeak-data/an_dict: src/espeak espeak-data/phontab dictsource/an_list dictsource/an_rules dictsource/an_extra | |||
cd dictsource && ../src/espeak --compile=an && cd .. | |||
az: espeak-data/az_dict | |||
dictsource/az_extra: | |||
touch dictsource/az_extra | |||
espeak-data/az_dict: src/espeak espeak-data/phontab dictsource/az_list dictsource/az_rules dictsource/az_extra | |||
cd dictsource && ../src/espeak --compile=az && cd .. | |||
bg: espeak-data/bg_dict | |||
dictsource/bg_extra: | |||
touch dictsource/bg_extra | |||
@@ -255,12 +231,6 @@ dictsource/bn_extra: | |||
espeak-data/bn_dict: src/espeak espeak-data/phontab dictsource/bn_list dictsource/bn_rules dictsource/bn_extra | |||
cd dictsource && ../src/espeak --compile=bn && cd .. | |||
bo: espeak-data/bo_dict | |||
dictsource/bo_extra: | |||
touch dictsource/bo_extra | |||
espeak-data/bo_dict: src/espeak espeak-data/phontab dictsource/bo_rules dictsource/bo_extra | |||
cd dictsource && ../src/espeak --compile=bo && cd .. | |||
ca: espeak-data/ca_dict | |||
dictsource/ca_extra: | |||
touch dictsource/ca_extra | |||
@@ -291,12 +261,6 @@ dictsource/de_extra: | |||
espeak-data/de_dict: src/espeak espeak-data/phontab dictsource/de_list dictsource/de_rules dictsource/de_extra | |||
cd dictsource && ../src/espeak --compile=de && cd .. | |||
dv: espeak-data/dv_dict | |||
dictsource/dv_extra: | |||
touch dictsource/dv_extra | |||
espeak-data/dv_dict: src/espeak espeak-data/phontab dictsource/dv_list dictsource/dv_rules dictsource/dv_extra | |||
cd dictsource && ../src/espeak --compile=dv && cd .. | |||
el: espeak-data/el_dict | |||
dictsource/el_extra: | |||
touch dictsource/el_extra | |||
@@ -357,24 +321,12 @@ dictsource/grc_extra: | |||
espeak-data/grc_dict: src/espeak espeak-data/phontab dictsource/grc_list dictsource/grc_rules dictsource/grc_extra | |||
cd dictsource && ../src/espeak --compile=grc && cd .. | |||
hbs: espeak-data/hbs_dict | |||
dictsource/hbs_extra: | |||
touch dictsource/hbs_extra | |||
espeak-data/hbs_dict: src/espeak espeak-data/phontab dictsource/hbs_list dictsource/hbs_rules dictsource/hbs_extra | |||
cd dictsource && ../src/espeak --compile=hbs && cd .. | |||
hi: espeak-data/hi_dict | |||
dictsource/hi_extra: | |||
touch dictsource/hi_extra | |||
espeak-data/hi_dict: src/espeak espeak-data/phontab dictsource/hi_list dictsource/hi_rules dictsource/hi_extra | |||
cd dictsource && ../src/espeak --compile=hi && cd .. | |||
ht: espeak-data/ht_dict | |||
dictsource/ht_extra: | |||
touch dictsource/ht_extra | |||
espeak-data/ht_dict: src/espeak espeak-data/phontab dictsource/ht_list dictsource/ht_rules dictsource/ht_extra | |||
cd dictsource && ../src/espeak --compile=ht && cd .. | |||
hu: espeak-data/hu_dict | |||
dictsource/hu_extra: | |||
touch dictsource/hu_extra | |||
@@ -417,12 +369,6 @@ dictsource/ka_extra: | |||
espeak-data/ka_dict: src/espeak espeak-data/phontab dictsource/ka_list dictsource/ka_rules dictsource/ka_extra | |||
cd dictsource && ../src/espeak --compile=ka && cd .. | |||
kk: espeak-data/kk_dict | |||
dictsource/kk_extra: | |||
touch dictsource/kk_extra | |||
espeak-data/kk_dict: src/espeak espeak-data/phontab dictsource/kk_list dictsource/kk_rules dictsource/kk_extra | |||
cd dictsource && ../src/espeak --compile=kk && cd .. | |||
kl: espeak-data/kl_dict | |||
dictsource/kl_extra: | |||
touch dictsource/kl_extra | |||
@@ -477,11 +423,11 @@ dictsource/ml_extra: | |||
espeak-data/ml_dict: src/espeak espeak-data/phontab dictsource/ml_list dictsource/ml_rules dictsource/ml_extra | |||
cd dictsource && ../src/espeak --compile=ml && cd .. | |||
mt: espeak-data/mt_dict | |||
dictsource/mt_extra: | |||
touch dictsource/mt_extra | |||
espeak-data/mt_dict: src/espeak espeak-data/phontab dictsource/mt_list dictsource/mt_rules dictsource/mt_extra | |||
cd dictsource && ../src/espeak --compile=mt && cd .. | |||
ms: espeak-data/ms_dict | |||
dictsource/ms_extra: | |||
touch dictsource/ms_extra | |||
espeak-data/ms_dict: src/espeak espeak-data/phontab dictsource/ms_list dictsource/ms_rules dictsource/ms_extra | |||
cd dictsource && ../src/espeak --compile=ms && cd .. | |||
nci: espeak-data/nci_dict | |||
dictsource/nci_extra: | |||
@@ -507,12 +453,6 @@ dictsource/no_extra: | |||
espeak-data/no_dict: src/espeak espeak-data/phontab dictsource/no_list dictsource/no_rules dictsource/no_extra | |||
cd dictsource && ../src/espeak --compile=no && cd .. | |||
nso: espeak-data/nso_dict | |||
dictsource/nso_extra: | |||
touch dictsource/nso_extra | |||
espeak-data/nso_dict: src/espeak espeak-data/phontab dictsource/nso_list dictsource/nso_rules dictsource/nso_extra | |||
cd dictsource && ../src/espeak --compile=nso && cd .. | |||
pa: espeak-data/pa_dict | |||
dictsource/pa_extra: | |||
touch dictsource/pa_extra | |||
@@ -531,12 +471,6 @@ dictsource/pl_extra: | |||
espeak-data/pl_dict: src/espeak espeak-data/phontab dictsource/pl_list dictsource/pl_rules dictsource/pl_extra | |||
cd dictsource && ../src/espeak --compile=pl && cd .. | |||
prs: espeak-data/prs_dict | |||
dictsource/prs_extra: | |||
touch dictsource/prs_extra | |||
espeak-data/prs_dict: src/espeak espeak-data/phontab dictsource/prs_list dictsource/prs_rules dictsource/prs_extra | |||
cd dictsource && ../src/espeak --compile=prs && cd .. | |||
pt: espeak-data/pt_dict | |||
dictsource/pt_extra: | |||
touch dictsource/pt_extra | |||
@@ -555,12 +489,6 @@ dictsource/ru_extra: | |||
espeak-data/ru_dict: src/espeak espeak-data/phontab dictsource/ru_list dictsource/ru_rules dictsource/ru_extra | |||
cd dictsource && ../src/espeak --compile=ru && cd .. | |||
rw: espeak-data/rw_dict | |||
dictsource/rw_extra: | |||
touch dictsource/rw_extra | |||
espeak-data/rw_dict: src/espeak espeak-data/phontab dictsource/rw_list dictsource/rw_rules dictsource/rw_extra | |||
cd dictsource && ../src/espeak --compile=rw && cd .. | |||
si: espeak-data/si_dict | |||
dictsource/si_extra: | |||
touch dictsource/si_extra | |||
@@ -603,30 +531,12 @@ dictsource/ta_extra: | |||
espeak-data/ta_dict: src/espeak espeak-data/phontab dictsource/ta_list dictsource/ta_rules dictsource/ta_extra | |||
cd dictsource && ../src/espeak --compile=ta && cd .. | |||
te: espeak-data/te_dict | |||
dictsource/te_extra: | |||
touch dictsource/te_extra | |||
espeak-data/te_dict: src/espeak espeak-data/phontab dictsource/te_list dictsource/te_rules dictsource/te_extra | |||
cd dictsource && ../src/espeak --compile=te && cd .. | |||
tn: espeak-data/tn_dict | |||
dictsource/tn_extra: | |||
touch dictsource/tn_extra | |||
espeak-data/tn_dict: src/espeak espeak-data/phontab dictsource/tn_list dictsource/tn_rules dictsource/tn_extra | |||
cd dictsource && ../src/espeak --compile=tn && cd .. | |||
tr: espeak-data/tr_dict | |||
dictsource/tr_extra: | |||
touch dictsource/tr_extra | |||
espeak-data/tr_dict: src/espeak espeak-data/phontab dictsource/tr_list dictsource/tr_rules dictsource/tr_extra | |||
cd dictsource && ../src/espeak --compile=tr && cd .. | |||
tt: espeak-data/tt_dict | |||
dictsource/tt_extra: | |||
touch dictsource/tt_extra | |||
espeak-data/tt_dict: src/espeak espeak-data/phontab dictsource/tt_list dictsource/tt_rules dictsource/tt_extra | |||
cd dictsource && ../src/espeak --compile=tt && cd .. | |||
ur: espeak-data/ur_dict | |||
dictsource/ur_extra: | |||
touch dictsource/ur_extra | |||
@@ -639,12 +549,6 @@ dictsource/vi_extra: | |||
espeak-data/vi_dict: src/espeak espeak-data/phontab dictsource/vi_list dictsource/vi_rules dictsource/vi_extra | |||
cd dictsource && ../src/espeak --compile=vi && cd .. | |||
wo: espeak-data/wo_dict | |||
dictsource/wo_extra: | |||
touch dictsource/wo_extra | |||
espeak-data/wo_dict: src/espeak espeak-data/phontab dictsource/wo_list dictsource/wo_rules dictsource/wo_extra | |||
cd dictsource && ../src/espeak --compile=wo && cd .. | |||
zh: espeak-data/zh_dict | |||
dictsource/zh_extra: | |||
touch dictsource/zh_extra |
@@ -1,113 +0,0 @@ | |||
// This file is UTF8 encoded | |||
// Spelling to phoneme rules for Akan (Ghana) | |||
.group a | |||
a a | |||
.group b | |||
b b | |||
.group c | |||
c k | |||
c (e s | |||
c (i s | |||
.group d | |||
d d | |||
dw dZ | |||
dw (i dZ; | |||
.group e | |||
e e | |||
.group f | |||
f f | |||
.group g | |||
g g | |||
gy dz; | |||
.group h | |||
h h | |||
h (i C | |||
hw (i Cw | |||
hy C | |||
.group i | |||
i i | |||
.group j | |||
j dZ | |||
.group k | |||
k k | |||
ky tS; | |||
.group l | |||
l l | |||
.group m | |||
m m | |||
.group n | |||
n n | |||
n (k N | |||
ng N: | |||
ng (i n^ | |||
nj n^ | |||
nw N:w | |||
nw (i n^ | |||
ny (i n^: | |||
nny (i n^: | |||
.group o | |||
o o | |||
.group p | |||
p p | |||
.group ɛ | |||
ɛ E | |||
.group q | |||
q k | |||
qu kw | |||
.group r | |||
r R | |||
.group s | |||
s s | |||
.group t | |||
t t | |||
t (i tC | |||
.group u | |||
u u | |||
.group v | |||
v v | |||
.group w | |||
w w | |||
.group ɔ | |||
ɔ O | |||
.group x | |||
x ks | |||
_) x z | |||
.group y | |||
y j | |||
K) y (K i | |||
.group z | |||
z z | |||
.group | |||
$ dOlaR | |||
@@ -14,7 +14,7 @@ _acu akT'ento aQ'uDo | |||
_ac2 d'Ople||aQ'uDo | |||
_brv br'eu | |||
_ced TeD'il^a | |||
_cir Tirkumfl'ekso | |||
_cir Tirkumfl'eSo | |||
_dia djEr'esi | |||
_dac d'Ople||aQ'uDo | |||
_dot p'unto | |||
@@ -30,6 +30,7 @@ _tld t'il^a | |||
// letter names | |||
b be | |||
c Te | |||
ç Te||TetjEl^a | |||
d de | |||
f Efe | |||
g ge | |||
@@ -59,7 +60,7 @@ ll 'El^e | |||
á 'a||akTEntw'aDa | |||
é 'e||akTEntw'aDa | |||
í 'i||akTEntw'aDa | |||
_ó 'o||akTEntw'aDa | |||
ó 'o||akTEntw'aDa | |||
ú 'u||akTEntw'aDa | |||
ü ,uDjEr'Esi | |||
@@ -82,8 +83,8 @@ _12 d'oTe | |||
_13 tr'eTe | |||
_14 kat'orTe | |||
_15 k'inTe | |||
_20 B'inte | |||
_2X B,int | |||
_20 b'inte | |||
_2X b,int | |||
_3X tr'enta | |||
_4X kwar'anta | |||
_5X Tinkw'anta | |||
@@ -101,7 +102,6 @@ _7C sjEteTj'Entos | |||
_8C gwitoTj'Entos | |||
_9C nowTj'Entos | |||
_0M1 m'il | |||
_1M1 m'il | |||
_0M2 mil^'ons | |||
_1M2 un||mil^'on | |||
_0M4 bil^'ons | |||
@@ -112,41 +112,40 @@ _dpt kon | |||
// ordinal numbers | |||
_#º o | |||
_#ª a | |||
//_ord eno | |||
_#º %'eno | |||
_#ª %'ena | |||
_x#º %o // for 1º 2º 3º | |||
_x#ª %a | |||
º orDin'al||maskul'in | |||
ª orDin'al||femen'in | |||
_1ox prim'Er | |||
_2ox seQ'und | |||
_3ox tErT'Er | |||
_1o un'en | |||
_2o dos'en | |||
_3o tres'en | |||
_4o kwatr'en | |||
_5o Tink'en | |||
_6o seIs'en | |||
_7o sEt'en | |||
_8o gwit'en | |||
_9o nU'en | |||
_11o onT'en | |||
_12o DoT'en | |||
_13o tReT'en | |||
_14o katorT'en | |||
_15o kinT'en | |||
_16o sET'en | |||
_10o DET'en | |||
_20o Bint'en | |||
_30o trent'en | |||
_40o kwarant'en | |||
_50o Tinkwant'en | |||
_60o siSant'en | |||
_70o sEtant'en | |||
_80o gwitant'en | |||
_90o noBant'en | |||
_1Xo DeTi | |||
_2Xo Binti | |||
_4o kwatr | |||
_5o Tink | |||
_7o sEt | |||
_8o gwit | |||
_9o nU | |||
_11o onT | |||
_12o doT | |||
_13o tReT | |||
_14o katorT | |||
_15o kinT | |||
_16o sET | |||
_10o dET | |||
_20o bint | |||
_30o trent | |||
_40o kwarant | |||
_50o Tinkwant | |||
_60o siSant | |||
_70o sEtant | |||
_80o gwitant | |||
_90o noBant | |||
_1Xo deTi | |||
_2Xo binti | |||
_3Xo trentaI | |||
_4Xo kwarantaI | |||
_5Xo TinkwantaI | |||
@@ -154,38 +153,63 @@ _6Xo siSantaI | |||
_7Xo sEtantaI | |||
_8Xo gwitantaI | |||
_9Xo noBantaI | |||
_1Co TEnt'en | |||
_2Co dosTEnt'en | |||
_3Co tresTEnt'en | |||
_4Co kw,atroTEnt'en | |||
_5Co T,inkoTEnt'en | |||
_6Co seIsTEnt'en | |||
_7Co sjEtTEnt'en | |||
_8Co gw,eItoTEnt'en | |||
_9Co nweUTEnt'en | |||
_0M1o mil'en | |||
_1M1 mil'en | |||
_0M2o mil^on'en | |||
_1M2o mil^on'en | |||
_0Co Tent | |||
_1Co TEnt | |||
_2Co dosTEnt | |||
_3Co tresTEnt | |||
_6Co seIsTEnt | |||
_7Co sjEtTEnt | |||
_8Co gw,eItoTEnt | |||
_9Co nweUTEnt | |||
_0M1o mil | |||
// characters | |||
$ d'olar | |||
€ eUros | |||
£ liBras | |||
* asterisko | |||
& ampers'an | |||
@ aRRoBa | |||
# sin^'alDenum'ero | |||
% porTj'En | |||
+ mas | |||
= iQwal | |||
/ baRRa | |||
\ kontraBaRRa | |||
| b'aRRaBertik'al | |||
_- gj'on | |||
! TaRR'ar||eksklamaTj'on | |||
_¡ uBr'ir||eksklamaTj'on | |||
_? TaRR'ar||interroQaTj'on | |||
_¿ uBr'ir||interroQaTj'on | |||
_[ uBr'ir||Qaf'et | |||
_] TaRR'ar||Qaf'et | |||
_( uBr'ir||parent'esi | |||
_) TaRR'ar||parent'esi | |||
_{ uBr'ir||kl'aU | |||
_} TaRR'ar||kl'aU | |||
// unstressed words | |||
o $u | |||
o $atend | |||
a $u | |||
a $atend | |||
os $u | |||
os $atend | |||
as $u | |||
as $atend | |||
o $u+ | |||
a $u+ | |||
os $u+ | |||
as $u+ | |||
lo $u | |||
la $u | |||
los $u | |||
las $u | |||
ro $u | |||
ra $u | |||
ros $u | |||
ras $u | |||
ne $u | |||
nes $u | |||
me $u | |||
te $u | |||
se $u | |||
@@ -199,7 +223,251 @@ os $u | |||
les $u | |||
lis $u | |||
con $u | |||
de $u | |||
en $u $brk | |||
mi $u | |||
pa $u | |||
por $u $brk | |||
pues $u | |||
pos $u | |||
ta $u $brk | |||
tu $u | |||
sin $u | |||
su $u | |||
ye $u | |||
el $u | |||
es $u | |||
els $u | |||
ers $u | |||
mis $u | |||
tus $u | |||
sus $u | |||
bell $u | |||
bel $u | |||
bella $u | |||
bells $u | |||
bels $u | |||
bellas $u | |||
bellos $u | |||
que $u | |||
qui $u | |||
quien $u | |||
como $u | |||
quan $u | |||
quando $u | |||
on $u | |||
aon $u | |||
porque $u | |||
per $u | |||
pus $u | |||
ni $u | |||
ibi $u | |||
bi $u | |||
i $u+ | |||
ie $u | |||
hu $u | |||
sant $u | |||
//abbreviations | |||
abs $abbrev | |||
ac $abbrev | |||
acb $abbrev | |||
acm $abbrev | |||
acs $abbrev | |||
acup $abbrev | |||
adn $abbrev | |||
adsl $abbrev | |||
aea $abbrev | |||
aeci $abbrev | |||
aek $abbrev | |||
aepd $abbrev | |||
afp $abbrev | |||
ai $abbrev | |||
akp $abbrev | |||
amd $abbrev | |||
anb $abbrev | |||
anp $abbrev | |||
anv $abbrev | |||
ap $abbrev | |||
apec $abbrev | |||
aqu $abbrev | |||
atp $abbrev | |||
ats $abbrev | |||
avl $abbrev | |||
avs $abbrev | |||
avt $abbrev | |||
avv $abbrev | |||
bbva $abbrev | |||
bce $abbrev | |||
bme $abbrev | |||
bop $abbrev | |||
bopv $abbrev | |||
ca $abbrev | |||
cav $abbrev | |||
cbuc $abbrev | |||
ccaa $abbrev | |||
ccoo $abbrev | |||
ccuc $abbrev | |||
cee $abbrev | |||
ceoe $abbrev | |||
cepyme $abbrev | |||
cesid $abbrev | |||
cicr $abbrev | |||
cidui $abbrev | |||
ciemat $abbrev | |||
cis $abbrev | |||
cne $abbrev | |||
cni $abbrev | |||
csic $abbrev | |||
csif $abbrev | |||
dgaia $abbrev | |||
dlsi $abbrev | |||
dni $abbrev | |||
dogc $abbrev | |||
dogv $abbrev | |||
dya $abbrev | |||
eads $abbrev | |||
eaed $abbrev | |||
eb $abbrev | |||
ebb $abbrev | |||
eees $abbrev | |||
eei $abbrev | |||
egb $abbrev | |||
eln $abbrev | |||
emt $abbrev | |||
eoc $abbrev | |||
epsv $abbrev | |||
erc $abbrev | |||
ets $abbrev | |||
euia $abbrev | |||
facua $abbrev | |||
fao $abbrev | |||
fapae $abbrev | |||
fbi $abbrev | |||
fci $abbrev | |||
feb $abbrev | |||
fed $abbrev | |||
fib $abbrev | |||
finul $abbrev | |||
fmi $abbrev | |||
fuoc $abbrev | |||
gatt $abbrev | |||
iaaf $abbrev | |||
ibm $abbrev | |||
icaa $abbrev | |||
icde $abbrev | |||
icv $abbrev | |||
iec $abbrev | |||
iee $abbrev | |||
ieo $abbrev | |||
imc $abbrev | |||
ims $abbrev | |||
in3 $abbrev | |||
inc $abbrev | |||
inem $abbrev | |||
ing $abbrev | |||
inm $abbrev | |||
ip $abbrev | |||
ipc $abbrev | |||
ipca $abbrev | |||
iqua $abbrev | |||
isaf $abbrev | |||
itcat $abbrev | |||
itv $abbrev | |||
iu $abbrev | |||
iun $abbrev | |||
ko $abbrev | |||
lotc $abbrev | |||
mibor $abbrev | |||
mit $abbrev | |||
mnac $abbrev | |||
nba $abbrev | |||
nyse $abbrev | |||
ocde $abbrev | |||
ocu $abbrev | |||
oea $abbrev | |||
oiea $abbrev | |||
olp $abbrev | |||
omc $abbrev | |||
omg $abbrev | |||
oms $abbrev | |||
ong $abbrev | |||
op $abbrev | |||
pce $abbrev | |||
pda $abbrev | |||
pde $abbrev | |||
pdi $abbrev | |||
pec $abbrev | |||
pga $abbrev | |||
pge $abbrev | |||
pgou $abbrev | |||
pib $abbrev | |||
pid $abbrev | |||
pse $abbrev | |||
psoe $abbrev | |||
psuc $abbrev | |||
racc $abbrev | |||
raf $abbrev | |||
rba $abbrev | |||
ree $abbrev | |||
rfec $abbrev | |||
rne $abbrev | |||
rsa $abbrev | |||
rtve $abbrev | |||
samu $abbrev | |||
sdat $abbrev | |||
sec $abbrev | |||
smi $abbrev | |||
sod $abbrev | |||
sos $abbrev | |||
summa $abbrev | |||
tor $abbrev | |||
tpi $abbrev | |||
tse $abbrev | |||
tsja $abbrev | |||
tve $abbrev | |||
ua $abbrev | |||
uab $abbrev | |||
uaw $abbrev | |||
udc $abbrev | |||
udg $abbrev | |||
udl $abbrev | |||
ue $abbrev | |||
uem $abbrev | |||
ugt $abbrev | |||
uhf $abbrev | |||
uib $abbrev | |||
uicn $abbrev | |||
uimp $abbrev | |||
uji $abbrev | |||
um $abbrev | |||
umd $abbrev | |||
ump $abbrev | |||
upc $abbrev | |||
upd $abbrev | |||
upf $abbrev | |||
upn $abbrev | |||
ups $abbrev | |||
upv $abbrev | |||
url $abbrev | |||
urss $abbrev | |||
urv $abbrev | |||
usb $abbrev | |||
usfp $abbrev | |||
uss $abbrev | |||
uv $abbrev | |||
uveg $abbrev | |||
uz $abbrev | |||
vih $abbrev | |||
vpo $abbrev | |||
wap $abbrev | |||
witsa $abbrev | |||
// exceptions | |||
barça b'arsa | |||
holio x'olio | |||
jazz dZ'as | |||
@@ -220,6 +488,7 @@ iphone 'aIfon | |||
(i pod) 'aIpod | |||
ipod 'aIpod | |||
hardware x'ardwer | |||
linux $1 | |||
live l'aIB | |||
messenger m'esendZer | |||
mozilla moT'ila | |||
@@ -229,5 +498,8 @@ skype esk'aIp | |||
software s'oftwer | |||
thunderbird Tanderb'ird | |||
twitter tw'iter | |||
unix j'uniks | |||
whatsapp was'app | |||
windows w'indows | |||
//mobile _^_EN |
@@ -17,6 +17,8 @@ | |||
au aU | |||
au (X 'aU | |||
_) a' %a | |||
.group b | |||
b b | |||
@@ -38,6 +40,10 @@ | |||
ch tS | |||
.group ç | |||
ç T | |||
.group d | |||
d d | |||
_) d d // phoneme definition may change it to [D] | |||
@@ -52,6 +58,9 @@ | |||
n) d (_ = // silent, but stress on last vowel | |||
_) d' (AP2 d | |||
_) de' d%e | |||
.group e | |||
e e | |||
@@ -66,6 +75,9 @@ | |||
u) e E | |||
y) e E | |||
_) ent' (AP4 ent | |||
_) enta' ,ent%a | |||
.group f | |||
f f | |||
@@ -92,11 +104,12 @@ | |||
.group h | |||
h // silent | |||
hu (e gw | |||
hu (i gw | |||
.group i | |||
i i | |||
i (u i | |||
i (u_ i | |||
i (A j | |||
@@ -116,6 +129,9 @@ | |||
.group m | |||
m m | |||
_) m' (AP2 m | |||
_) mo' m%o | |||
.group n | |||
n n | |||
@@ -141,10 +157,15 @@ | |||
u) o O | |||
y) o O | |||
.group p | |||
p p | |||
_) ps s | |||
_) p' (AP2 p | |||
_) pa' p%a | |||
_) pe' p%e | |||
.group q | |||
qu (A kw | |||
@@ -174,6 +195,8 @@ | |||
s s | |||
&) s (_S1 s | |||
_) s' (AP2 s | |||
.group t | |||
t t | |||
@@ -186,15 +209,20 @@ | |||
ui) t (_ t# | |||
s) t (_ = // silent, but stress on last vowel | |||
_) t' (AP2 t | |||
_) ta' t%a | |||
_) to' t%o | |||
.group u | |||
u u | |||
uix uS | |||
u (u u | |||
u (i u | |||
r) uix uS | |||
r) u (A u | |||
u (A w | |||
_) u (A gw | |||
uix uS | |||
.group v // same as 'b' | |||
@@ -228,9 +256,13 @@ | |||
.group | |||
' | |||
á ''a | |||
é ''e | |||
í ''i | |||
ó ''o | |||
ú ''u | |||
__) - (_D m'enos | |||
D_) - (_D m'enos | |||
@@ -1,80 +0,0 @@ | |||
// This file is UTF8 encoded | |||
// Spelling to phoneme rules for Azerbaijani | |||
// Numbers | |||
_0 s@f'@R | |||
_1 b'iR | |||
_2 ic'i | |||
_3 'ytS | |||
_4 d'WRd | |||
_5 b'eS | |||
_6 alt'@ | |||
_7 jedd'i | |||
_8 s&Cc'iz | |||
_9 dogg'uz | |||
_1X 'on | |||
_2X ijiRm'i | |||
_3X ot'uz | |||
_4X g'@Rx | |||
_5X &ll'i | |||
_6X altm'@S | |||
_7X jetm'iS | |||
_8X s&Cs'&n | |||
_9X doxs'an | |||
_0C j'yz | |||
_0M1 m'in | |||
_0M2 milj'on | |||
_0M3 milj'aRd | |||
_dpt _viRg,yl_| // ?? | |||
// Function words | |||
// personal pronouns | |||
mən $u+ | |||
sən $u+ | |||
o $u+ | |||
biz $u+ | |||
siz $u+ | |||
onlar $u+ | |||
// possessive pronouns | |||
mənim $u+ | |||
sənin $u+ | |||
onun $u+ | |||
bizim $u+ | |||
sizin $u+ | |||
onların $u+ | |||
// Character names | |||
b be | |||
c dZe | |||
ç tSe | |||
d de | |||
f fe | |||
g Je | |||
ğ Qe | |||
h he | |||
x xe | |||
j Ze | |||
k ka | |||
q ge | |||
l el | |||
m em | |||
n en | |||
_o o | |||
p pe | |||
r eR | |||
s se | |||
ş Se | |||
t te | |||
v ve | |||
w dubElv'E | |||
y je | |||
z ze | |||
@@ -1,111 +0,0 @@ | |||
// This file is UTF8 encoded | |||
// Spelling to phoneme rules for Azerbaijani | |||
// Stress rule: Right-most vowel, but stop before the vowel which is | |||
// marked as unstressed [%]. | |||
.group a | |||
a a | |||
.group b | |||
b b | |||
.group c | |||
c dZ | |||
.group ç | |||
ç tS | |||
.group d | |||
d d | |||
.group e | |||
e e | |||
.group ə | |||
ə & | |||
.group f | |||
f f | |||
.group g | |||
g J | |||
.group ğ | |||
ğ Q | |||
.group h | |||
h h | |||
.group x | |||
x x | |||
.group ı | |||
ı @ | |||
.group i | |||
i i | |||
.group j | |||
j Z | |||
.group k | |||
k c | |||
k (K C | |||
.group q | |||
q g | |||
.group l | |||
l l | |||
.group m | |||
m m | |||
.group n | |||
n n | |||
.group o | |||
o o | |||
.group ö | |||
ö W | |||
.group p | |||
p p | |||
.group r | |||
r R | |||
A) r (A * | |||
.group s | |||
s s | |||
.group ş | |||
ş S | |||
.group t | |||
t t | |||
.group u | |||
u u | |||
.group ü | |||
ü y | |||
.group v | |||
v v | |||
.group w | |||
w w | |||
.group y | |||
y j | |||
.group z | |||
z z | |||
.group | |||
ä & |
@@ -3,179 +3,166 @@ | |||
// Numbers | |||
devanagari numbers are changed to latin characters before translation | |||
_0 S'u:n.nV'o: | |||
_1 a'k | |||
_2 d:UI | |||
_3 t'i:n | |||
_4 c'a:@'r | |||
_5 ,pa~c | |||
_6 c#'O:j | |||
_7 S'a:t | |||
_8 'a:t.# | |||
_9 n'O:j | |||
_10 d'O:S | |||
_11 a'g'a:rO: | |||
_12 b'a:rO: | |||
_13 t'a:rO: | |||
_14 c#:O:d'dO: | |||
_15 p'O:n'e:rO: | |||
_16 S'o:lO: | |||
_17 SO:t'e:rO: | |||
_18 a:t#'e:rO: | |||
_19 U'n'IS | |||
_20 kU:'ri | |||
_21 e:kU'S | |||
_22 b'a:IS | |||
_23 t'e:IS | |||
_24 c'O:b'bIS | |||
_25 pa~O:c'IS | |||
_26 c#'a:'bb'IS | |||
_27 Sa:ta:S | |||
_28 at#'a:S | |||
_29 Unt'rIs | |||
_30 t'i:rIS | |||
_31 e:k't:rIS | |||
_32 bat:'rIS | |||
_33 tE't'rIS | |||
_34 ca~o:u:t'rIS | |||
_35 pa~O:it'rIS | |||
_36 c#a'trIS | |||
_37 Sa~it'rIS | |||
_38 at'tr'IS | |||
_39 U'nO:cO:l'IS | |||
_40 co:l'lIS | |||
_41 e:k'co:l'lIS | |||
_42 bi'al'lIS | |||
_43 te:ta:l'lIS | |||
_44 cu:a:l'lIS | |||
_45 paI'nta:l'lIS | |||
_46 c#e:co:l'lIS | |||
_47 Sat'co:l'lIs | |||
_48 at'co:l'lIS | |||
_49 Uno:pan'ca:S | |||
_50 p@n'ca:s | |||
_51 e:ka:n'no: | |||
_52 ba:h@n'no: | |||
_53 t'Ip'pan'no: | |||
_54 cu:wan'no: | |||
_55 po:n'ca:n'no: | |||
_56 c#h@p:'an'no: | |||
_57 Sa:ta:n'no: | |||
_58 at#'a:n'no: | |||
_59 Uno:s'at# | |||
_60 s'a:t.# | |||
_61 e:k'so:t'tI | |||
_62 ba:so:t'tI | |||
_63 te:so:t'tI | |||
_64 ca~o:u:so:t'tI | |||
_65 pa~I'so:t'tI | |||
_66 c#e:so:t'tI | |||
_67 Sat'so:t'tI | |||
_68 atso:t'ti | |||
_69 ,Uno:Sat'to:r | |||
_70 So:t'to:r | |||
_71 e:kat'to:r | |||
_72 ba:hat'to:r | |||
_73 tIat'to:r | |||
_74 cu:at'to:r | |||
_75 pa~c#at'to:r | |||
_76 c#I'at:to:r | |||
_77 Sa:t@'t:o:r | |||
_78 atat'to:r | |||
_79 ,Uno:a:Si: | |||
_80 a:Si | |||
_81 e:ka:Si: | |||
_82 bI'ra:Si: | |||
_83 tIra:Si: | |||
_84 cu:ra:Si: | |||
_85 pa~ca:Si: | |||
_86 c#Ia:Si: | |||
_87 Sa:ta:Si: | |||
_88 O:sto:a:Si: | |||
_89 Uno:no:b'bo:I | |||
_90 no:b:bo:I | |||
_91 e:ka:no:b'bo:I | |||
_92 bIra:no:b'bo:I | |||
_93 tIr'a:no:b'bo:I | |||
_94 cu:r'a:no:b'bo:I | |||
_95 pa~ca:no:b'bo:I | |||
_96 c#Ia:no:b'bo:I | |||
_97 S@ta:no:b'bo:I | |||
_98 ata:no:b'bo:I | |||
_99 nIra:no:b'bo:I | |||
_0C SO: | |||
_0M1 h@z'a:r | |||
_0M2 l'a:k# | |||
_0M3 ko:tI | |||
_0M4 o:r'bu:d | |||
_dpt d@so:mIk | |||
_0 S'unjO | |||
_1 '&k | |||
_2 duj | |||
_3 t'in | |||
_4 tS'ar | |||
_5 p'a~tS | |||
_6 tS#'Oj | |||
_7 S'at | |||
_8 'at.# | |||
_9 n'Oj | |||
_10 d'OS | |||
_11 '&garo | |||
_12 b'arO | |||
_13 t'erO | |||
_14 tS'owddO | |||
_15 p'OnerO | |||
_16 S'olO | |||
_17 S'OterO | |||
_18 'at.#arO | |||
_19 'uniS | |||
_20 k'uri // or b'iS ?? | |||
_21 'ekuS | |||
_22 b'ajS | |||
_23 t'ejS | |||
_24 tS'ObbiS | |||
_25 p'O~tSiS | |||
_26 tSh'ObbiS | |||
_27 S'ataS | |||
_28 'at.#aS | |||
_29 'untriS | |||
_30 t'iriS | |||
_31 'ektriS | |||
_32 b'OtriS | |||
_33 t'etriS | |||
_34 tSowtriS | |||
_35 pO~jtriS | |||
_36 tS#'OtriS | |||
_37 S'a~itriS | |||
_38 'at.riS | |||
_39 'unOtSOlliS | |||
_40 tS'OlliS | |||
_41 'ektSOlliS | |||
_42 b'ialliS | |||
_43 t'etalliS | |||
_44 tS'oalliS | |||
_45 p'O~jtalliS | |||
_46 tS'etSOlliS | |||
_47 S'atSOllis | |||
_48 'atSOlliS | |||
_49 'unOpO~tSaS | |||
// numbers above 50 need to be corrected | |||
_50 p'O~tSaS | |||
_5X p'O~tSaS | |||
_59 'unOsat. | |||
_60 s'at. | |||
_6X s'at. | |||
_69 'unOS'OttOr | |||
_70 S'OttOr | |||
_7X S'OttOr | |||
_79 'unOaSi | |||
_80 'aSi | |||
_8X 'aSi | |||
_89 'unOnObbOj | |||
_90 n'ObbOj | |||
_9X n'ObbOj | |||
_0C S'o | |||
_0M1 h'ajar | |||
_0M2 l'ak# | |||
_0M3 k'ot.i | |||
_0M4 'Orbud | |||
_dpt dOsomik | |||
// Single consonants | |||
ক k@ | |||
খ k#@ | |||
গ g@ | |||
ঘ g#@ | |||
ঙ N'g | |||
চ c@ | |||
ছ c#@ | |||
জ J@ | |||
ঝ J#@ | |||
ঞ n^@ | |||
ট t.@ | |||
ঠ t.#@ | |||
ড d.@ | |||
ঢ d.#@ | |||
ণ n.@ // retroflex n.@ | |||
ত t@ | |||
থ t#@ | |||
দ d@ | |||
ধ d#@ | |||
ন n@ | |||
প p@ | |||
ফ p#@ | |||
ব b@ | |||
ভ b#@ | |||
ম m@ | |||
য় O:j | |||
য J@ | |||
র r@ | |||
ড় r-@ | |||
ঢ় hr@ | |||
ল l@ | |||
শ S@ | |||
ষ s.@ // retroflex [S] | |||
স s@ | |||
হ H@ | |||
ৎ t@ | |||
// Single consonants | |||
ক kO | |||
খ k#O | |||
গ gO | |||
ঘ g#O | |||
ঙ 'uNO | |||
চ tSO | |||
ছ tShO // [h] to distinguish from [tS] | |||
জ JO | |||
ঝ J#O | |||
ঞ 'iNO | |||
ট t.O | |||
ঠ t.#O | |||
ড d.O | |||
ঢ d.#O | |||
ণ m'odd#ennO | |||
ত tO | |||
থ t#O | |||
দ dO | |||
ধ d#O | |||
ন d'ontennO | |||
প pO | |||
ফ fO // or [p#O] ? | |||
ব bO | |||
ভ b#O | |||
ম mO | |||
য় Oj | |||
য ontostedZ'O | |||
র rO | |||
ড় r.O | |||
ড় r.O // (d. + nukta) | |||
ঢ় hr.O | |||
ঢ় hr.O // (d#. + nukta) | |||
ল lO | |||
শ taleboS:O | |||
ষ mud#en:oS:O | |||
স d'onteS:O | |||
হ hO | |||
ৎ kh'Ond.otO | |||
// full vowels | |||
অ O | |||
আ a | |||
ই hrOS:o'i | |||
ঈ dirg#o'i | |||
উ hrOS:o'u | |||
ঊ dirg#o'u | |||
ঋ ri | |||
এ e | |||
ঐ oj | |||
ও o | |||
ঔ ow | |||
// combining vowel signs | |||
ा #X2a: | |||
ि #X1I | |||
ी #X2i: | |||
ূ #X1U | |||
ू #X2u: | |||
ृ #X1rI | |||
ে #X1e: | |||
ৈ #X2E: | |||
ো #X1o: | |||
ৌ #X1O: | |||
ॐ #X1o~m | |||
া 'akar | |||
ি r'oS:ikar | |||
ী d'irg#ikar | |||
ূ r'oS:ukar | |||
ু d'irg#ukar | |||
ৃ r'ikar | |||
ে 'ekar | |||
ৈ 'ojkar | |||
ো 'okar | |||
ৌ 'owkar | |||
// signs | |||
্ h'OSonto | |||
ং 'OnuSSOr | |||
ঃ b'iSOrgo | |||
ঁ tS'Ondrobindu | |||
় b'indu | |||
// Punctuation | |||
। dVn.d.V | |||
// Pronouns | |||
আমি $u // main: I | |||
আমায় $u | |||
@@ -198,7 +185,7 @@ _dpt d@so:mIk | |||
তোর $u | |||
এ $u // he/she/it | |||
একে $u | |||
আপনি $u | |||
এটার $u | |||
এর $u | |||
@@ -264,6 +251,9 @@ _dpt d@so:mIk | |||
// Verbs | |||
হয় $u | |||
ছিল $u // chilo: past aux | |||
ছিলেন $u // chilen | |||
@@ -274,5 +264,3 @@ _dpt d@so:mIk | |||
// Exceptions | |||
ক্রিকেট krIk'Et | |||
সাইবার s'aIb@r |
@@ -7,9 +7,6 @@ | |||
// C consonants | |||
// Y vowel letters and vowel signs | |||
// conditional rules | |||
// ?2 use diphthong for "ai" | |||
// ?3 use diphthong for "au" | |||
.replace | |||
@@ -29,289 +26,355 @@ | |||
.group অ | |||
অ a | |||
অ V | |||
অঁ O~ | |||
.group আ | |||
আ a: | |||
আ a | |||
আঁ a~ | |||
.group ই | |||
ই I | |||
ই i | |||
ইঁ i~ | |||
ইং I'ng | |||
.group ঈ | |||
ঈ i: | |||
ঈ (_ i | |||
ঈ i | |||
ঈঁ i~ | |||
.group উ | |||
উ U | |||
উ u | |||
উঁ u~ | |||
.group ঊ | |||
ঊ u: | |||
ঊং u~ // + anusvara | |||
ঊঁ u~ // + candrabinbu | |||
ঊ u | |||
ঊঁ u~ | |||
.group ঋ | |||
ঋ rI | |||
ঋ ri | |||
ঋঁ ri~ | |||
.group এঁ | |||
এঁ E // candra e | |||
.group ঌ | |||
ঌ l- | |||
.group এ | |||
এ & | |||
এঁ &~ | |||
.group ঐ | |||
ঐ e | |||
ঐ oj | |||
ঐঁ o~j | |||
.group এ | |||
এ e: | |||
এ e | |||
এঁ e~ | |||
.group ঐ | |||
ঐ E: // ?? [aI] [E:] [&:] | |||
ঐং E~ | |||
ঐঁ E~ | |||
?2 ঐ aI // ?? [aI] [E:] [&:] | |||
.group ও | |||
ও o | |||
ওঁ o~ | |||
.group ওঁ | |||
ওঁ O // candra O | |||
.group ঔ | |||
ঔ o | |||
ঔ ow | |||
ঔঁ o~w | |||
.group ও | |||
.group ও //?? | |||
ও o: | |||
ওং o~ // +anusvara | |||
ওঁ o~ // +candrabindu | |||
.group ঔ | |||
ঔ O: // ?? [aU] [O:] | |||
ঔঁ O~ // +candrabindu | |||
// Vowel Signs | |||
.group া | |||
া a: | |||
া a | |||
াঁ a~ | |||
.group ি | |||
ি I | |||
ি i | |||
িঁ i~ | |||
.group ী | |||
ী i: | |||
ী (_ i | |||
ী i | |||
ীঁ i~ | |||
.group ূ | |||
ূ U | |||
ূ u | |||
ূঁ u~ | |||
.group ু | |||
ু u: | |||
ু u | |||
ুঁ u~ | |||
.group ৃ | |||
ৃ rI | |||
ৃ ri | |||
ৃঁ ri~ | |||
.group ে | |||
ে e: | |||
ে e | |||
েঁ e~ | |||
েউ ew | |||
.group ৈ | |||
ৈ E: // ?? [aI] [E:] [&:] | |||
ৈ oj | |||
ৈঁ o~j | |||
.group ো | |||
ো o: | |||
ো o | |||
োঁ o~ | |||
.group ৌ | |||
ৌ O: // [O:] or [aU] ?? | |||
ৌ ow | |||
ৌঁ o~w | |||
.group ॐ | |||
ॐ o~m | |||
// Consonants | |||
.group ক | |||
ক k@ | |||
ক kV | |||
ক (B k | |||
ক্য (्য kja: | |||
ক্ষ k#'@ | |||
.group খ | |||
খ k#V | |||
খ (B k#@ | |||
খ (B k# | |||
.group গ | |||
গ gV | |||
গ (B g@ | |||
ঈ)গ (ল g@ | |||
গ (B g | |||
.group ঘ | |||
ঘ g#V | |||
ঘ (B g# | |||
ঘ (B g# | |||
.group ঙ | |||
ঙ N'g | |||
ঙ NV | |||
ঙ্ (B N | |||
গা)ঙ (চি Ng@ | |||
.group চ | |||
চ cV | |||
চ (B c | |||
্য) চ্য c'j@ | |||
চ tSV | |||
চ (B tS | |||
.group ছ | |||
ছ c#V | |||
ছ (B c#@ | |||
ছ tS#V | |||
ছ (B tS# | |||
.group জ | |||
জ J@ | |||
জ (B J@ | |||
্) জ zV | |||
জ (B J@ | |||
জ JV | |||
জ (B J | |||
জ্ব JV | |||
জ্ব (B J | |||
জ্ঞ ggo~ | |||
জ্ঞ (B gg | |||
.group ঝ | |||
ঝ J#@ | |||
ঝ (B J#@ | |||
ঝ J#V | |||
ঝ (B J# | |||
.group ঞ | |||
ঞ n^V | |||
ঞ্ (B n^ | |||
ঞ nV | |||
ঞ্ (B n | |||
.group ট | |||
ট t.V | |||
ট (B t.V | |||
ট (्য় t.j@ | |||
ট (B t. | |||
.group ঠ | |||
ঠ t.#V | |||
ঠ (B t.# | |||
.group ড | |||
ড d.V | |||
ড (B d. | |||
ড় r.V // nukta | |||
ড় (B r. | |||
.group ঢ | |||
ঢ d.#V | |||
ঢ (B d.# | |||
ঢ d.#V | |||
ঢ (B d.# | |||
ঢ় hr.V | |||
ঢ় (B hr. | |||
.group ণ | |||
ণ n.V // (temporary) same as dental [n] | |||
ণ (B n. | |||
ণ্ম n.m | |||
ণ nV // should be [n.] if adjacent to t. or d. ? | |||
ণ (B n | |||
.group ত | |||
ত t@ | |||
ত (B t@ | |||
ত tV | |||
ত (B t | |||
.group থ | |||
থ t#@ | |||
থ t#V | |||
থ (B t# | |||
ক) থ (ন t#@ | |||
.group দ | |||
দ d@ | |||
দ dV | |||
দ (B d | |||
ব) দ (ল d@ | |||
.group ধ | |||
ধ d#@ | |||
ধ d#V | |||
ধ (B d# | |||
সা) ধ (ন d#@ | |||
.group ন | |||
ন n@ | |||
ন (B n@ | |||
্) ন (্ n@ | |||
র্) ন (_ r.n // r +virama অর্ণব | |||
.group ন | |||
ন n: // should this be a long [n] ? | |||
ন nV | |||
ন (B n | |||
.group প | |||
প p@ | |||
প pV | |||
প (B p | |||
প্য (्য p: | |||
.group ফ | |||
ফ p#@ | |||
ফ (B p#@ | |||
ফ p#@ | |||
ফ fV // or [p#] ? | |||
ফ (B f | |||
.group ব | |||
ব b@ | |||
ব (B b@ | |||
ব bV | |||
ব (B b | |||
.group ভ | |||
ভ b#@ | |||
ভ (B b#@ | |||
ভ b#V | |||
ভ (B b# | |||
.group ম | |||
ম mV | |||
्) ম (_ mV | |||
র্) ম (_ r.m@ // r +virama | |||
ন্) ম (_ n.m // n +virama | |||
ম (B m | |||
.group য় | |||
য় jV | |||
য় (B jV | |||
য় jV | |||
য় (B j | |||
.group য | |||
য J@ | |||
য (B J@ | |||
्) য (_ ja | |||
য dZV | |||
য (B dZ | |||
য় jV // nukta | |||
য় (B j | |||
.group র | |||
র rV | |||
র (B r | |||
्) র (_ r@ | |||
.group ল | |||
ল l | |||
ল (B l@ | |||
ক) ল (ম l@ | |||
ল lV | |||
ল (B l | |||
.group শ | |||
শ S@ | |||
শ (B S@ | |||
শ SV // or [s] ? | |||
শ (B S | |||
শ (্ল s | |||
.group ষ | |||
ষ s | |||
ষ (B s //?? | |||
ষ SV | |||
ষ (B S | |||
.group স | |||
স s@ | |||
স (B s. | |||
স SV // or [s] ?? | |||
স (B S | |||
স (্থ s | |||
স (্ত s | |||
_) স্ব SV // shb | |||
_) স্ব (B S | |||
.group হ | |||
হ H@ | |||
হ (B H@ | |||
হ্ব v@ | |||
.group হ্ব | |||
B) হ্ব (B v@ | |||
হ hV | |||
হ (B h | |||
.group হ্ব | |||
হ্ব vV | |||
হ্ব (B v | |||
.group ৎ | |||
ৎ (B t@t | |||
ৎ t | |||
.group ড় // can be ড plus nukta | |||
ড় r.V | |||
ড় (B r. | |||
// nukta, modifies a consonant | |||
.group ঢ় // can be ঢ plus nukta | |||
ঢ় hr.V | |||
ঢ় (B hr. | |||
.group ্যা // ja'falaa | |||
্যা a | |||
.group ँ | |||
ँ n // candrabindu | |||
.group ঁ | |||
ঁ O~ // candrabindu, nasalize the previous vowel | |||
.group ং | |||
ং aN'g // anusvara | |||
ং N // anusvara/onushshor | |||
.group ः | |||
ः H // visarga | |||
.group ঃ // visarga/bishorgo | |||
ঃ // doubles the following consonant | |||
ঃ (_ H | |||
.group ্ // virama | |||
.group ্ // virama/hoshonto | |||
্ | |||
.group ় | |||
় // nukta, modifies a consonant | |||
.group | |||
// obsolete letters | |||
ঋ r- | |||
ৠ r- | |||
ঌ l- | |||
ৡ l- | |||
ৃ r- | |||
ৄ r- | |||
ৢ l- | |||
ৣ l- | |||
@@ -1,409 +0,0 @@ | |||
// This file is UTF8 encoded | |||
// Spelling-to-phoneme rules for Tibetan | |||
.replace | |||
༠ 0 | |||
༡ 1 | |||
༢ 2 | |||
༣ 3 | |||
༤ 4 | |||
༥ 5 | |||
༦ 6 | |||
༧ 7 | |||
༨ 8 | |||
༩ 9 | |||
.group ཀ | |||
ཀ ka | |||
ཀ (B k | |||
@) ཀ (_ k | |||
.group ཁ | |||
ཁ k#a | |||
ཁ (B k# | |||
@) ཁ (_ k# | |||
.group ག | |||
ག ga | |||
ག (B g | |||
@) ག (_ g | |||
.group གྷ | |||
གྷ g#a | |||
གྷ (B g# | |||
@) གྷ (_ g# | |||
.group ང | |||
ང Na | |||
ང (B N | |||
@) ང (_ N | |||
.group ཅ | |||
ཅ ca | |||
ཅ (B c | |||
@) ཅ (_ c | |||
.group ཆ | |||
ཆ c#a | |||
ཆ (B c# | |||
@) ཆ (_ c# | |||
.group ཇ | |||
ཇ Ja | |||
ཇ (B J | |||
@) ཇ (_ J | |||
.group ཉ | |||
ཉ n^a | |||
ཉ (B n^ | |||
@) ཉ (_ n^ | |||
.group ཊ | |||
ཊ t.a | |||
ཊ (B t. | |||
@) ཊ (_ t. | |||
.group ཋ | |||
ཋ t.#a | |||
ཋ (B t.# | |||
@) ཋ (_ t.# | |||
.group ཌ | |||
ཌ d.a | |||
ཌ (B d. | |||
@) ཌ (_ d. | |||
.group ཌྷ | |||
ཌྷ d.#a | |||
ཌྷ (B d.# | |||
@) ཌྷ (_ d.# | |||
.group ཎ | |||
ཎ n.a | |||
ཎ (B n. | |||
@) ཎ (_ n. | |||
.group ཏ | |||
ཏ ta | |||
ཏ (B t | |||
@) ཏ (_ t | |||
.group ཐ | |||
ཐ t#a | |||
ཐ (B t# | |||
@) ཐ (_ t# | |||
.group ད | |||
ད da | |||
ད (B d | |||
@) ད (_ d | |||
.group དྷ | |||
དྷ d#a | |||
དྷ (B d# | |||
@) དྷ (_ d# | |||
.group ན | |||
ན na | |||
ན (B n | |||
@) ན (_ n | |||
.group པ | |||
པ pa | |||
པ (B p | |||
@) པ (_ p | |||
.group ཕ | |||
ཕ p#a | |||
ཕ (B p# | |||
@) ཕ (_ p# | |||
.group བ | |||
བ ba | |||
བ (B b | |||
@) བ (_ b | |||
.group བྷ | |||
བྷ b#a | |||
བྷ (B b# | |||
@) བྷ (_ b# | |||
.group མ | |||
མ ma | |||
མ (B m | |||
@) མ (_ m | |||
.group ཙ | |||
ཙ tsa | |||
ཙ (B ts | |||
@) ཙ (_ ts | |||
.group ཚ | |||
ཚ ts#a | |||
ཚ (B ts# | |||
@) ཚ (_ ts# | |||
.group ཛ | |||
ཛ dza | |||
ཛ (B dz | |||
@) ཛ (_ dz | |||
.group ཛྷ | |||
ཛྷ dz#a | |||
ཛྷ (B dz# | |||
@) ཛྷ (_ dz# | |||
.group ཝ | |||
ཝ wa | |||
ཝ (B w | |||
@) ཝ (_ w | |||
.group ཞ | |||
ཞ Za | |||
ཞ (B Z | |||
@) ཞ (_ Z | |||
.group ཟ | |||
ཟ za | |||
ཟ (B z | |||
@) ཟ (_ z | |||
.group འ | |||
འ ?a | |||
འ (B ? | |||
@) འ (_ ? | |||
.group ཡ | |||
ཡ ja | |||
ཡ (B j | |||
@) ཡ (_ j | |||
.group ར | |||
ར ra | |||
ར (B r | |||
@) ར (_ r | |||
.group ལ | |||
ལ la | |||
ལ (B l | |||
@) ལ (_ l | |||
.group ཤ | |||
ཤ Sa | |||
ཤ (B S | |||
@) ཤ (_ S | |||
.group ཥ | |||
ཥ s.a | |||
ཥ (B s. | |||
@) ཥ (_ s. | |||
.group ས | |||
ས sa | |||
ས (B s | |||
@) ས (_ s | |||
.group ཧ | |||
ཧ Ha | |||
ཧ (B H | |||
@) ཧ (_ H | |||
.group ཨ | |||
ཨ ?a | |||
ཨ (B ? | |||
@) ཨ (_ ? | |||
.group ཀྵ | |||
ཀྵ ks.a | |||
ཀྵ (B ks. | |||
@) ཀྵ (_ ks. | |||
// vowel signs | |||
// Give the utf8 codes in octal, because these characters don't | |||
// display correctly without a letter to attach to. | |||
.group 0xe0bd | |||
0xe0bdb1 a: | |||
0xe0bdb2 i | |||
0xe0bdb3 i: | |||
0xe0bdb4 u | |||
0xe0bdb5 u: | |||
0xe0bdb6 r- | |||
0xe0bdb7 r-: | |||
0xe0bdb8 l- | |||
0xe0bdb9 l-: | |||
0xe0bdba e | |||
0xe0bdbb e: | |||
0xe0bdbc o | |||
0xe0bdbd o: | |||
// subjoined letters | |||
.group 0xe0be // characters which start with UTF-8 bytes: [e0 be] | |||
ྐ ka | |||
ྐ (B k | |||
@) ྐ (_ k | |||
ྑ k#a | |||
ྑ (B k# | |||
@) ྑ (_ k# | |||
ྒ ga | |||
ྒ (B g | |||
@) ྒ (_ g | |||
ྒྷ g#a | |||
@) ྒྷ (_ g# | |||
ྔ Na | |||
ྔ (B N | |||
@) ྔ (_ N | |||
ྕ ca | |||
ྕ (B c | |||
@) ྕ (_ c | |||
ྖ c#a | |||
ྖ (B c# | |||
@) ྖ (_ c# | |||
ྗ Ja | |||
ྗ (B J | |||
@) ྗ (_ J | |||
ྙ n^a | |||
ྙ (B n^ | |||
@) ྙ (_ n^ | |||
ྚ t.a | |||
ྚ (B t. | |||
@) ྚ (_ t. | |||
ྛ t.#a | |||
ྛ (B t.# | |||
@) ྛ (_ t.# | |||
ྜ d.a | |||
ྜ (B d. | |||
@) ྜ (_ d. | |||
ྜྷ d.#a | |||
ྜྷ (B d.# | |||
@) ྜྷ (_ d.# | |||
ྞ n.a | |||
ྞ (B n. | |||
@) ྞ (_ n. | |||
ྟ ta | |||
ྟ (B t | |||
@) ྟ (_ t | |||
ྠ t#a | |||
ྠ (B t# | |||
@) ྠ (_ t# | |||
ྡ da | |||
ྡ (B d | |||
@) ྡ (_ d | |||
ྡྷ d#a | |||
ྡྷ (B d# | |||
@) ྡྷ (_ d# | |||
ྣ na | |||
ྣ (B n | |||
@) ྣ (_ n | |||
ྤ pa | |||
ྤ (B p | |||
@) ྤ (_ p | |||
ྥ p#a | |||
ྥ (B p# | |||
@) ྥ (_ p# | |||
ྦ ba | |||
ྦ (B b | |||
@) ྦ (_ b | |||
ྦྷ b#a | |||
ྦྷ (B b# | |||
@) ྦྷ (_ b# | |||
ྨ ma | |||
ྨ (B m | |||
@) ྨ (_ m | |||
ྩ tsa | |||
ྩ (B ts | |||
@) ྩ (_ ts | |||
ྪ ts#a | |||
ྪ (B ts# | |||
@) ྪ (_ ts# | |||
ྫ dza | |||
ྫ (B dz | |||
@) ྫ (_ dz | |||
ྫྷ dz#a | |||
ྫྷ (B dz# | |||
@) ྫྷ (_ dz# | |||
ྭ wa | |||
ྭ (B w | |||
@) ྭ (_ w | |||
ྮ Za | |||
ྮ (B Z | |||
@) ྮ (_ Z | |||
ྯ za | |||
ྯ (B z | |||
@) ྯ (_ z | |||
ྰ ?a | |||
ྰ (B ? | |||
@) ྰ (_ ? | |||
ྱ ja | |||
ྱ (B j | |||
@) ྱ (_ j | |||
ྲ ra | |||
ྲ (B r | |||
@) ྲ (_ r | |||
ླ la | |||
ླ (B l | |||
@) ླ (_ l | |||
ྴ Sa | |||
ྴ (B S | |||
@) ྴ (_ S | |||
ྵ s.a | |||
ྵ (B s. | |||
@) ྵ (_ s. | |||
ྶ sa | |||
ྶ (B s | |||
@) ྶ (_ s | |||
ྷ Ha | |||
ྷ (B H | |||
@) ྷ (_ H | |||
ྸ ?a | |||
ྸ (B ? | |||
@) ྸ (_ ? | |||
ྐྵ ks.a | |||
ྐྵ (B ks. | |||
@) ྐྵ (_ ks. | |||
.group | |||
$ dolar |
@@ -1,174 +0,0 @@ | |||
| |||
// This file is UTF8 encoded | |||
// Spelling-to-phoneme rules for Divehi (Maldives) | |||
// Numbers | |||
_0 s'umeI | |||
_1 e'keI | |||
_2 d'eI | |||
_3 tineI | |||
_4 ha't#a'reI | |||
_5 fa'heI | |||
_6 ha'eI | |||
_7 ha't#eI | |||
_8 a'SeI | |||
_9 n'uaeI | |||
_10 d'ihaeI | |||
_11 e'gj'a:r@1 //egaara | |||
_12 b'ar@2 //baara | |||
_13 t'E:r@2 //theyra | |||
_14 c#'O:d@2 //saada (d like in _2) | |||
_15 p'Vndr@2 //fanara | |||
_16 s'o:l@2 //soalha lh like in ޅ | |||
_17 s'Vt:r@2 //sathaara | |||
_18 Vt.#:'a:r@2 //ashaara | |||
_19 Unn'Is //navaara | |||
_20 b'i:s //vihi (we he) | |||
_21 Ik:'Is //eka wees | |||
_22 b'a:Is //baa wees | |||
_23 t'e:Is //tei wees | |||
_24 c'O:bIs sav wees | |||
_25 p@c:'Is //fansavees | |||
_26 c#@bb'i:rs // sabbees | |||
_27 s@t:'a:Is // sathawees | |||
_28 at#:'a:Is // asha wees | |||
_29 Unt'Is // ona thirees | |||
_30 t'i:s // thirees | |||
_31 Ik@t:'Is // thirees eke --from hence it starts with the 10th digit and follows with the single digit. | |||
_32 bat:'Is // eg. 32 = thirees (30) eke (1) | |||
_33 tE~t'Is // E~ ? | |||
_34 cO~t'Is | |||
_35 pE~t'Is | |||
_36 c#aT'tIs | |||
_37 sE~t'Is | |||
_38 art'Is | |||
_39 Unta:l'Is | |||
_40 ca:l'Is //saalhees | |||
_41 Ikta:l'Is | |||
_42 baIa:l'Is | |||
_43 tE~ta:l'Is | |||
_44 cO:wa:l'Is | |||
_45 paI'nta:l'Is | |||
_46 c#hIja:l'Is | |||
_47 sE~ta:l'Is | |||
_48 arta:l'Is | |||
_49 'Un^ca:s | |||
_50 p@c'a:s //fansaas | |||
_51 Ikj'a:wVn | |||
_52 b'a:wVn | |||
_53 t'IrpVn | |||
_54 c'Ou:wVn | |||
_55 p'ac#pVn | |||
_56 c#h@p:'Vn | |||
_57 sVt:'a:w@n | |||
_58 at#:'a:w@n | |||
_59 Uns'Vt# | |||
_60 s'a:t.# //fas dho (ދ) lhas | |||
_61 'Iks@t.# | |||
_62 b'a:s@t.# | |||
_63 t'Irs@t.# | |||
_64 c'O~s@t.# | |||
_65 paIns@t.# | |||
_66 c#'Ija:s@t.# | |||
_67 s'Vrs@t.# | |||
_68 ars@t.# | |||
_69 Un@h,at:'Vr: | |||
_70 sat:'Vr: // hai dhiha | |||
_71 Ik#at:'Vr: | |||
_72 b@hat:'Vr: | |||
_73 tIhat:'Vr: | |||
_74 cO:hat:'Vr: | |||
_75 pac#,at:'Vr: | |||
_76 c#Ihat:'Vr: | |||
_77 s@t@hat:'Vr: | |||
_78 at#hat:'Vr: | |||
_79 ,Un^Ia:s'i: | |||
_80 ,Vss'i: // addiha | |||
_81 Ikja:s'i: | |||
_82 baIa:s'i: | |||
_83 tIra:s'i: | |||
_84 cO:ra:s'i: | |||
_85 pI'ca:s'i: | |||
_86 c#Ija:s'i: | |||
_87 sVt:a:s'i: | |||
_88 at#:a:s'i: | |||
_89 nVwa:s'i: | |||
_90 nVb:'e: nuvadhiha | |||
_91 Ikj'a:n@we: | |||
_92 b'a:n@we: | |||
_93 tIr'a:n@we: | |||
_94 cO:r'a:m@we: | |||
_95 p@c'a:n@we: | |||
_96 c#Ij'a:n@we: | |||
_97 s@t:'a:n@we: | |||
_98 at#:'a:n@we: | |||
_99 nIn^j'a:n@we: | |||
_0C sa't#eIka //satheyka (th like them) | |||
_0M1 h@z'a:r (haas) | |||
_0M2 l'a:kh // lakka | |||
_0M3 cr'ore //curoadu | |||
// letter names | |||
ހ h'a: | |||
ށ s.'avijani | |||
ނ n'u:nu | |||
ރ R'a: | |||
ބ b'a: | |||
ޅ l.'av,ijani | |||
ކ k'a:fu | |||
އ 'alifu | |||
ވ v'a:vu | |||
މ m'i:mu | |||
ފ f'a:fu | |||
ދ d'a:lu | |||
ތ t'a: | |||
ލ l'a:mu | |||
ގ g'a:fu | |||
ޏ n^'avijani | |||
ސ s'i:nu | |||
ޑ d.'avijani | |||
ޒ z'avijani | |||
ޓ t.'avijani | |||
ޔ j'a: | |||
ޕ p'avijani | |||
ޖ dZ'avijani | |||
ޗ tS'avijani | |||
ޘ T'a: | |||
ޙ hh'a: | |||
ޚ x'a: | |||
ޛ D'a:lu | |||
ޜ z'a: | |||
ޝ S'i:nu | |||
ޞ s'a:du | |||
ޟ d'a:du | |||
ޠ t'o | |||
ޡ z'o | |||
ޢ a'inu | |||
ޣ Qa'inu | |||
ޤ q'a:fu | |||
ޥ w'a:vu | |||
ޱ n'a||vijani | |||
ަ 'aba||f,ili | |||
ާ 'a:ba:||f,ili | |||
ި 'ibi||f,ili | |||
ީ 'i:bi:||f,ili | |||
ު 'ubu||f,ili | |||
ޫ 'u:bu:||f,ili | |||
ެ 'ebe||f,ili | |||
ޭ 'e:be:||f,ili | |||
ޮ 'obo||f,ili | |||
ޯ 'o:bo:||f,ili | |||
ް s'ukun | |||
@@ -1,189 +0,0 @@ | |||
| |||
// This file is UTF8 encoded | |||
// Spelling-to-phoneme rules for Divehi (Maldives) | |||
.group ހ | |||
ހ h | |||
.group ށ | |||
ށ s. | |||
.group ނ | |||
ނ n | |||
ން (ނ nn | |||
ން (މ mm | |||
ން (ޏ n^n^ | |||
.group ރ | |||
ރ R | |||
.group ބ | |||
ބ b | |||
.group ޅ | |||
ޅ l. | |||
.group ކ | |||
ކ k | |||
.group އ | |||
އ // alifu | |||
އް (_ eh | |||
އް (ހ h | |||
އް (ށ h | |||
އް (ހ s. | |||
އް (ނ n | |||
އް (ރ R | |||
އް (ބ b | |||
އް (ޅ l. | |||
އް (ކ k | |||
އް (ކ v | |||
އް (މ m | |||
އް (ދ d | |||
އް (ތ t | |||
އް (ލ l | |||
އް (ގ g | |||
އް (ޏ N | |||
އް (ސ s | |||
އް (ޑ d. | |||
އް (ޒ z | |||
އް (ޓ t. | |||
އް (ޔ j | |||
އް (ޕ p | |||
އް (ޖ dZ | |||
އް (ޗ tS | |||
އް (ޜ Z | |||
.group ވ | |||
ވ v | |||
.group މ | |||
މ m | |||
.group ފ | |||
ފ f | |||
.group ދ | |||
ދ d | |||
.group ތ | |||
ތ t | |||
.group ލ | |||
ލ l | |||
.group ގ | |||
ގ g | |||
.group ޏ | |||
ޏ n^ | |||
.group ސ | |||
ސ s | |||
.group ޑ | |||
ޑ d. | |||
.group ޒ | |||
ޒ z | |||
.group ޓ | |||
ޓ t. | |||
.group ޔ | |||
ޔ j | |||
.group ޕ | |||
ޕ p | |||
.group ޖ | |||
ޖ dZ | |||
.group ޗ | |||
ޗ tS | |||
.group ޘ | |||
ޘ T | |||
.group ޙ | |||
ޙ h | |||
.group ޚ | |||
ޚ x | |||
.group ޛ | |||
ޛ D | |||
.group ޜ | |||
ޜ Z | |||
.group ޝ | |||
ޝ S | |||
.group ޞ | |||
ޞ s | |||
.group ޟ | |||
ޟ d | |||
.group ޠ | |||
ޠ t | |||
.group ޡ | |||
ޡ z | |||
.group ޢ | |||
ޢ ? | |||
.group ޣ | |||
ޣ Q | |||
.group ޤ | |||
ޤ q | |||
.group ޥ | |||
ޥ w | |||
.group ަ | |||
ަ a | |||
.group ާ | |||
ާ a: | |||
.group ި | |||
ި i | |||
.group ީ | |||
ީ i: | |||
.group ު | |||
ު u | |||
.group ޫ | |||
ޫ u: | |||
.group ެ | |||
ެ e | |||
.group ޭ | |||
ޭ e: | |||
.group ޮ | |||
ޮ o | |||
.group ޯ | |||
ޯ o: | |||
.group ް | |||
ް // sukun | |||
.group ޱ | |||
ޱ n. | |||
.group | |||
$ dolaR | |||
@@ -61,6 +61,7 @@ a eI $atend | |||
// use the $accent attribute here to force the use of the | |||
// accent table when speaking the name of the character. | |||
à $accent $atend // this can be a word | |||
á $accent $atend | |||
ç $accent | |||
é $accent | |||
ê $accent | |||
@@ -149,12 +150,14 @@ _¨ daIa#r'i:sIs | |||
_ª fEmI2nIn'O@dI2n@L | |||
_« lEft'gIl@mEt | |||
_ makr0n | |||
² tu: | |||
³ Tri: | |||
_¹ su:p@skrIptw'0n | |||
_² su:p@skrIptt'u: | |||
_³ su:p@skrIptT'ri: | |||
_´ a#kju:taksEnt | |||
_· mId@Ld0t | |||
_¸ sEd'Il@ | |||
_¹ su:p@skrIptw'0n | |||
//_º maskjUlIn'O@dI2n@L | |||
_º dI2gr'i:z | |||
_» raIt'gIl@mEt | |||
@@ -510,6 +513,7 @@ agm $abbrev | |||
ai $abbrev | |||
amd $abbrev | |||
aol $abbrev | |||
aph $abbrev | |||
api $abbrev | |||
apr apr@ | |||
asap $abbrev | |||
@@ -941,7 +945,7 @@ blancmange bl@m0nZ | |||
blase blA:z'eI | |||
blasé blA:z'eI | |||
bleh blEh | |||
blockade $2 | |||
blockade bl0k'eId | |||
blouse blaUz | |||
bluest blu:@st | |||
blurry bl3:rI | |||
@@ -1051,6 +1055,7 @@ caterer keIt3r3 | |||
cathedral $alt3 | |||
catholic kaTlIk | |||
carotid $alt3 | |||
cartel kA@t'El | |||
cavalier $3 | |||
caveat kavIat | |||
?3 caveat kavIA:t | |||
@@ -1156,6 +1161,7 @@ colonel k3:n@L | |||
colosseum k0l@s'i@m | |||
comanche k@mantSi | |||
combat k0mbat // combating | |||
?3 combative k@mbatIv | |||
combo k0mboU | |||
comely kVmlI // comeliness | |||
comer kVm3 | |||
@@ -1275,6 +1281,7 @@ dais deIIs | |||
dandelion dandI2laI@n | |||
ddu DI $only // Welsh | |||
de d@ $only | |||
(de jure) deIdZ'U@ri | |||
debacle deIb'A:k@L | |||
debrief di:br'i:f | |||
debris dEbri: | |||
@@ -1425,6 +1432,8 @@ ember Emb3 | |||
emphasis Emf@sIs $only | |||
empire $1 | |||
emu i:mju: | |||
(en masse) 0n||m'as | |||
(en route) 0n||r'u:t | |||
enroute 0nr'u:t | |||
ensemble 0ns'0mb@L | |||
entendre 0nt'0ndr@- | |||
@@ -1625,6 +1634,7 @@ goodday $2 | |||
goodnight $2 | |||
gorilla g3rIl@ | |||
gospel g0sp@L | |||
gossamer g0s@m3 | |||
goto goUtu: | |||
gourmand gU@mA:nd | |||
gourmet gU@meI | |||
@@ -1669,6 +1679,7 @@ hello h@loU | |||
henceforth hEnsfo@T | |||
?3 herb 3:b | |||
hercules h3:kjUli:z | |||
?3 hereford h3:f3d | |||
heretical hI2rEtI2k@L | |||
hereto hi@3'tu: | |||
heretofore hi@3t2Ufo@ | |||
@@ -1692,6 +1703,7 @@ holme hoUm | |||
holster hoUlst3 | |||
homeowner hoUmoUn3 | |||
homepage hoUmpeIdZ | |||
homily h0m@li | |||
hominem h0mInEm | |||
?3 hominem h0m@n@m | |||
hooah h'u:'A: | |||
@@ -1780,6 +1792,7 @@ interim $1 | |||
intermediate Int3m'i:di@t | |||
intern Int3:n $noun | |||
interrogatory $3 | |||
intestine I2ntEstI#n | |||
inventory Inv@ntri | |||
?3 inventory Inv@nto:ri | |||
interface $1 | |||
@@ -1796,6 +1809,8 @@ interven Int3v'i:n // for intervening | |||
intray IntreI | |||
intro $1 | |||
?3 investigative Inv,EstI2g'eItIv | |||
ipad aIpad | |||
iphone aIfoUn | |||
irate aIr'eIt | |||
iris aIrIs | |||
iron aI3n | |||
@@ -1843,6 +1858,7 @@ laboratory la#b'0r@trI | |||
labor leIb3 | |||
labored leIb@d | |||
laborer leIb@r3 | |||
laborious $alt3 | |||
labyrinth lab3rInT | |||
lager lA:g3 | |||
laity leI@ti | |||
@@ -1875,6 +1891,7 @@ lemonade $3 | |||
leo li:oU | |||
leona li:'oUn@ | |||
leopard lEp3d | |||
leprechaun lEpr@kO:n | |||
lesion li:Z@n | |||
lethal li:T@L | |||
liaison li:'eIz0n | |||
@@ -1970,6 +1987,7 @@ mausoleum mO:s@'li:@m | |||
mayhem meIhEm | |||
meant mEnt | |||
meadow mEdoU | |||
medallion $alt3 | |||
mediaeval mEdI'i:v@L | |||
medicine mEds@n | |||
?3 medicine mEd@s@n | |||
@@ -2380,6 +2398,7 @@ pythagoras paIT'ag@r@s | |||
python paIT@n | |||
pyramidal pI2r'amId@L | |||
qaeda kaId@ | |||
quadrilateral $3 | |||
quash kw0S | |||
quaternary kw@t3:n@rI | |||
@@ -2812,6 +2831,7 @@ tonne tVn | |||
torment $1 | |||
torment $2 $verb | |||
tornado tO@n'eIdoU | |||
torrential t@rEnS@L | |||
tortilla tO@t'i:a# | |||
touche tu:SeI $only | |||
toupee tu:peI | |||
@@ -2825,6 +2845,8 @@ trajectory tr@dZEkt@rI | |||
traverse $alt3 | |||
travesty trav@sti | |||
treatise tri:tIz | |||
trebuchet trEbUSeI | |||
tremendous $alt3 | |||
triage tri:A:Z | |||
tribunal traIb'ju:n@L | |||
triceratops traIs'Er@t0ps | |||
@@ -3007,6 +3029,7 @@ yessir jEss3: | |||
yoghurt j0g3t | |||
?3 yoghurt joUg3t | |||
?3 yogurt joUg3t | |||
?3 youtube ju:t2u:b | |||
yoyo joUjoU | |||
zavala $alt3 | |||
@@ -3020,6 +3043,7 @@ Altrincham O:ltrIN@m | |||
Anglesey aNg@Lsi | |||
Argyle A@g'aIl | |||
Argyll A@g;aIl | |||
Armagh A@m'A: | |||
Bacup beIk@p | |||
Berwick bErIk | |||
Betws bEtUs | |||
@@ -3203,6 +3227,7 @@ Korean kOr'i:@n | |||
Kosovo k0s@voU | |||
Kuala kwA:la# | |||
Lagos leIg0s | |||
Lebanon lEb@n0n | |||
Leipzig laIpsIg | |||
Leone li:'oUn | |||
Lesotho l@s'u:tu: | |||
@@ -3323,6 +3348,7 @@ Tokyo toUkIoU | |||
Topeka toUp'i:k@ | |||
Toronto t@r0ntoU | |||
Toulouse tu:l'u:z | |||
Trafalgar $alt3 | |||
?3 Tunisia tu:n'i:Z@ | |||
Tripoli trIp@li | |||
tuareg twA@rEg | |||
@@ -3486,6 +3512,7 @@ Evette I2vEt | |||
Fainne fan;@ | |||
Freda fri:d@ | |||
Fírinne fi:rIn;@ | |||
Gareth gar@T | |||
Gary gari | |||
Geraint gEraInt | |||
Gerhard ge@hA@t | |||
@@ -3658,6 +3685,7 @@ Susanne $2 | |||
Suzy su:zi | |||
Tatiana tatI'A:n@ | |||
?3 Tatiana tA:tj'A:n@ | |||
Terese t@reIz | |||
Theresa t@ri:z@ | |||
Therese t@ri:z | |||
Thomas t0m@s | |||
@@ -3748,9 +3776,7 @@ zhivago ZI2vA:goU | |||
(de jure) deIdZ'U@ri | |||
(en masse) ,0n||m'as | |||
(en route) ,0n||r'u:t | |||
(each of) i:tS||@v $pause | |||
(far more) f'A@_m,o@ | |||
(few more) f'ju:m,o@ | |||
@@ -3761,9 +3787,9 @@ zhivago ZI2vA:goU | |||
(most of) moUst||@v | |||
(such as) sVtS||_a#z $pause | |||
(too few) t'u:||f,ju: | |||
(too many) t'u:||m,Eni | |||
(too much) t'u:||m,VtS | |||
(too few) t'u:||fju: | |||
(too many) t'u:||mEni | |||
(too much) t'u:||mVtS | |||
//************************************************************************* | |||
// COMMON WORDS | |||
@@ -3896,8 +3922,8 @@ would $u+ $verbf $only $strend2 | |||
(would have) w%Udh%a#v $pastf | |||
(would have) wUdhav $pastf $atend | |||
(would have to) wUdhavt@5 $u2 $verbf $strend2 | |||
(wouldn't have) wUdnt@v $u1 $pastf $strend2 | |||
(wouldn't have to) ,wUdntavt@5 $verbf $strend2 | |||
(wouldn't have) wUd@-nt@v $u1 $pastf $strend2 | |||
(wouldn't have to) ,wUd@-ntavt@5 $verbf $strend2 | |||
won't woUnt $u+ $verbf $strend2 $only | |||
wouldst $u+ | |||
(won't have) woUnta#v $pastf $u1 | |||
@@ -3908,18 +3934,18 @@ must $verbf | |||
(must have) mVsta#v $pastf $1 | |||
(must have) mVsthav $pastf $atend | |||
(must have to) m,Vstavt@5 $pastf | |||
mustn't mVsnt $verbf | |||
(mustn't have) mVsntha#v $pastf $u1+ | |||
(mustn't have to) m'Vsnthavt@5 $pastf | |||
mustn't mVs@-nt $verbf | |||
(mustn't have) mVs@-ntha#v $pastf $u1+ | |||
(mustn't have to) m'Vs@-nthavt@5 $pastf | |||
shall ,Sal $verbf $only $strend2 | |||
shalt ,Salt $verbf $only | |||
should ,SUd $verbf $only $strend2 | |||
(should have) SUd@v $pastf $u1+ | |||
(should have to) SUdhavt@5 $u2 $verbf $strend2 | |||
shouldn't ,SUdnt $verbf $strend2 $only | |||
(shouldn't have) SUdnth@v $pastf $u1+ | |||
(shouldn't have to) 'SUdntavt@5 $verbf $strend2 | |||
shouldn't ,SUd@-nt $verbf $strend2 $only | |||
(shouldn't have) SUd@-nth@v $pastf $u1+ | |||
(shouldn't have to) 'SUd@-ntavt@5 $verbf $strend2 | |||
shalln't ,SA:nt $verbf $strend2 | |||
shan't ,SA:nt $verbf $strend2 | |||
@@ -3935,9 +3961,9 @@ could %kUd $verbf $strend2 $only | |||
(could have) ,kUda#v $pastf | |||
(could have) kUdhav $pastf $atend | |||
(could have to) kUdhavt@5 $u2 $verbf $strend2 | |||
couldn't ,kUd@nt $verbf $strend2 | |||
(couldn't have) kUd@nt@v $pastf $u1+ | |||
(couldn't have to) 'kUd@ntavt@5 $verbf $strend2 | |||
couldn't ,kUd@-nt $verbf $strend2 | |||
(couldn't have) kUd@-nt@v $pastf $u1+ | |||
(couldn't have to) 'kUd@-ntavt@5 $verbf $strend2 | |||
may meI $verbf $strend2 | |||
(may have) meIha#v $pastf $u1+ | |||
@@ -3968,9 +3994,9 @@ had ,had $atend | |||
(had it) h,adI2t | |||
(had them) h,adDEm | |||
having ,havIN $strend2 $pastf $only | |||
haven't hav@nt $pastf | |||
hadn't had@nt $pastf | |||
hasn't haz@nt $pastf | |||
haven't hav@-nt $pastf | |||
hadn't had@-nt $pastf | |||
hasn't haz@-nt $pastf | |||
get %gEt $strend2 $pastf $only | |||
getting ,gEtIN $strend2 $pastf $only | |||
@@ -4076,8 +4102,8 @@ his hIz $u $nounf $only $strend2 | |||
her h3: $u $nounf $only | |||
hers h3:z $u $strend2 | |||
its Its $u $nounf | |||
our aU@ $u $nounf $onlys | |||
?3 our aU3 $u $nounf $onlys | |||
our aU@ $u $nounf $only | |||
?3 our aU3 $u $nounf $only | |||
your jO@ $u $nounf $only | |||
?6 your jU@ $u $nounf $only | |||
their De@ $u $nounf $only |
@@ -1190,6 +1190,9 @@ | |||
au (_ aU | |||
_) auch %O:x | |||
aud (_ 'O:d | |||
audio O:dI2oU | |||
_) aud (iolo O:d | |||
_) aud (iom O:d | |||
augh O: | |||
l) augh aaf | |||
sl) augh O: | |||
@@ -3824,7 +3827,8 @@ | |||
nk Nk | |||
?7 nk nk // ?? Scottish | |||
n (kn n | |||
n't nt | |||
n't @-nt | |||
A) n't nt | |||
E) n (_ @n | |||
B) n (_ @n | |||
g) n (ing+ n | |||
@@ -4311,6 +4315,7 @@ | |||
d) or (_ o@ | |||
_f) or (@ O@ | |||
_f) ore (A O@ | |||
_f) ore (kn O@, | |||
f) or (k O@ | |||
_f) or (s@ %O@ | |||
ch) or (d O@ | |||
@@ -4844,7 +4849,7 @@ | |||
pro (vid pr@ | |||
pro (viden pr0 | |||
pro (vis pr@ | |||
pro (voc pr@ | |||
pro (voc pr%0# | |||
pro (vok pr@ | |||
pro (sec pr0 | |||
pro (fil proU | |||
@@ -5248,7 +5253,7 @@ | |||
te (rrest t2@ | |||
r) tga (g gI | |||
@) t (ia S | |||
s) t (l ? | |||
s) t (l | |||
to (morr t@ | |||
_) to (nn tV | |||
t (ooth t2 | |||
@@ -5403,6 +5408,8 @@ | |||
s) uag weIdZ | |||
@g) ua (ge wI | |||
u (al_ ju: | |||
g) u (al_ w | |||
n) u (al_ ju: | |||
g) ua (rA a | |||
g) uar (d A@ | |||
uary (_ ju:@ri | |||
@@ -6037,6 +6044,7 @@ | |||
χ tS'aI_ | |||
ψ ps'aI_ | |||
ω 'oUmIg@_ | |||
?3 ω oUm'eIg@_ | |||
ώ 'oUmIg@_ | |||
ό 'oUmIkr0n_ | |||
@@ -338,6 +338,7 @@ ll 'El^e | |||
é 'e||aTEntw'aDa | |||
í 'i||aTEntw'aDa | |||
_ó 'o||aTEntw'aDa | |||
ó 'o||aTEntw'aDa $atend | |||
ú 'u||aTEntw'aDa | |||
ü ,uDj'ErEsis | |||
@@ -37,11 +37,12 @@ y waI | |||
z zEd | |||
_á eI||f0d[@ | |||
_é i:||f0d[@ | |||
_í aI||f0d[@ | |||
_ó o:||f0d[@ | |||
_ú ju:||f0d[@ | |||
_#32 spA:s | |||
_cap m'o:r | |||
// accent names | |||
@@ -1,167 +0,0 @@ | |||
// Haitian Creole translation rules | |||
// This file is UTF-8 encoded | |||
// numbers | |||
_0 zewo | |||
_1 E~ | |||
_2 de | |||
_3 twa | |||
_4 kat | |||
_5 sE~k | |||
_6 sis | |||
_7 sEt | |||
_8 yit | |||
_9 nEf | |||
_10 dis | |||
_11 O~z | |||
_12 duz | |||
_13 trEz | |||
_14 katOz | |||
_15 kE~z | |||
_16 sEz | |||
_17 disEt | |||
_18 dizyit | |||
_19 diznEf | |||
_20 vE~ | |||
_21 vE~te;E~ | |||
_2X vE~n | |||
_28 vE~tyit | |||
_29 vE~tnEf | |||
_30 trA~t | |||
_31 trA~te;E~ | |||
_3X trA~n | |||
_38 trA~tyit | |||
_39 trA~tnEf | |||
_40 karA~t | |||
_41 karA~te;E~ | |||
_4X karA~n | |||
_48 karA~tyit | |||
_49 karA~tnEf | |||
_50 sE~kA~t | |||
_51 sE~kA~te;E~ | |||
_5X sE~kA~n | |||
_58 sE~kA~tyit | |||
_59 sE~kA~tnEf | |||
_60 swasA~t | |||
_61 swasA~te;E~ | |||
_6X swasA~n | |||
_70 swasA~tdis | |||
_71 swasA~te;O~z | |||
_8X katrevE~ | |||
_81 katrevE~tE~ | |||
_91 katrevE~tO~z | |||
_0C sA~ | |||
_0M1 mil | |||
_1M1 mil | |||
_0M2 miljon | |||
_0M3 milja | |||
_0M4 biljon | |||
_dpt _pwE~ | |||
// Common function words | |||
//====================== | |||
// Articles | |||
on $u | |||
yon $u | |||
la $u | |||
lan $u | |||
a $u | |||
an $u | |||
sa $u | |||
// Pronouns | |||
mwen $u | |||
ou $u | |||
li $u | |||
nou $u | |||
yo $u | |||
ki $u | |||
// Verbs | |||
se $u // to be | |||
vin $u | |||
te $u // tense markers | |||
tap $u | |||
(t ap) tap $u | |||
ap $u | |||
a $u | |||
pral $u | |||
ta $u | |||
// Prepositions | |||
ak $u $brk | |||
nan $u | |||
pou $u | |||
// Conjunctions | |||
epi $u $pause | |||
// Adverbs | |||
kèk $u // some | |||
// Characters | |||
% pusA~ $max3 | |||
* asteris $max3 | |||
+ plis $max3 | |||
= egal $max3 | |||
/ slaS $max3 | |||
\ A~tislaS $max3 | |||
# aSaj $max3 | |||
_, vigil | |||
_; pwE~vigil | |||
_. pwE~ | |||
// Letter names | |||
// (note: some letters must be distinguished from one-letter words) | |||
_a a | |||
a a $atstart $atend | |||
b bi | |||
c si | |||
d di | |||
e e | |||
è egr'av | |||
f Ef | |||
g ge | |||
h aS | |||
i i | |||
j Zi | |||
k ka | |||
_l el | |||
l el $atend | |||
_m em | |||
m em $atend | |||
_n en | |||
n en $atend | |||
o o | |||
ò ogr'av | |||
p pi | |||
q kju | |||
r ara | |||
s Es | |||
_t ta | |||
t ta $atend | |||
u u | |||
v va | |||
_w dubv'a | |||
w dubv'a $atend | |||
_y ipsil'on | |||
y ipsil'on $atend | |||
z zed |
@@ -1,104 +0,0 @@ | |||
// Haitian Creole translation rules | |||
// This file is UTF-8 encoded | |||
.group a | |||
a a | |||
an (K A~ | |||
.group à | |||
à a | |||
.group b | |||
b b | |||
.group c | |||
ch S | |||
c k | |||
c (Y s | |||
.group d | |||
d d | |||
.group e | |||
e e | |||
en (K E~ | |||
.group è | |||
è E | |||
.group f | |||
f f | |||
.group g | |||
g g | |||
.group h | |||
h // silent ? | |||
.group i | |||
i i | |||
.group j | |||
j Z | |||
.group k | |||
k k | |||
.group l | |||
l l | |||
.group m | |||
m m | |||
.group n | |||
n n | |||
ng N | |||
.group o | |||
o o | |||
on (K O~ | |||
ou u | |||
.group ò | |||
ò O | |||
.group p | |||
p p | |||
.group q | |||
q k | |||
.group r | |||
r r | |||
.group s | |||
s s | |||
.group t | |||
t t | |||
tch tS | |||
.group u | |||
u u | |||
ui yi | |||
.group v | |||
v v | |||
.group w | |||
w w | |||
.group x | |||
x ks | |||
.group y | |||
y j | |||
K) y (K i // not next to a vowel | |||
.group z | |||
z z | |||
.group | |||
ç s | |||
$ dola | |||
@@ -462,6 +462,7 @@ shetlan) d (szige d | |||
vé) d (jeggy d | |||
své) d (zseb d | |||
csalá) d (szer d | |||
szaba) d (sajt d | |||
.group dz | |||
fogó) dz (kod ts | |||
@@ -820,6 +821,12 @@ _megsz) í (vatta i | |||
szabad) ítsz its: | |||
sz) í (vemészt i: | |||
vesz) ítsz i:ts: | |||
progressz) í (ve i: | |||
sz) í (vemel i: | |||
sz) í (vere i: | |||
sz) í (veré i: | |||
sz) í (verő i: | |||
sz) í (vevő i: | |||
.group j | |||
j j | |||
@@ -948,7 +955,6 @@ bagate) ll (iz l | |||
szí) n (ját n | |||
szí) n (józan n | |||
nyj n^n^ | |||
_) nem (- nEm // has $combine attribute in hu_list, combine with the next word | |||
me) nny (ország n^ | |||
pihe) nj (_S2 n^ | |||
@@ -1028,6 +1034,12 @@ szivárvá) ny (játsz n^ | |||
haszo) n (jár n | |||
boszorká) ny (jelet n^ | |||
káno) n (jog n | |||
legé) ny (jár n^ | |||
szé) n (jelek n | |||
teljesítmé) ny (j n^ | |||
nem-lts n'Em||_!'Ellt,e:,ES //without this rule Espeak spokening the nem LTS text with one word, because general in hu_list have a $combine attribute the nem word. | |||
n'Em _!'Ellt,e:,ES | |||
.group o | |||
o o | |||
@@ -1172,6 +1184,8 @@ _tetszé) s S | |||
kolbászo) s S | |||
feldolgozá) s S | |||
_ki) s (szín S | |||
kérdé) s S | |||
végzé) s S | |||
.group ss | |||
ssz ss2 | |||
@@ -1707,6 +1721,8 @@ szállodá) ssz Ss | |||
visszaélé) ssz Ss | |||
esé) ssz (erű Ss | |||
webe) ssz Ss | |||
beleve) ssz (en s: | |||
.group sz | |||
sz s | |||
@@ -1915,6 +1931,7 @@ szögle) t (szob t | |||
_robo) t (szoftve t | |||
diva) t (cirk t | |||
álla) t (cirk t | |||
szen) t (szob t | |||
.group tj | |||
C) tj c | |||
@@ -2003,6 +2020,8 @@ _tisztele) tj (el tj | |||
szen) tj (akab tj | |||
közérze) tj (aví tj | |||
ké) tj (átszm tj | |||
szavaza) tj (og tj | |||
szavaza) tj (eg tj | |||
.group ts | |||
ts (_S2 tS //general rule with word end of ts letters | |||
@@ -2220,6 +2239,9 @@ felira) ts (áv t|S | |||
_cha) tsz (ob t|s | |||
robo) ts (of t|S | |||
merényle) ts (or t|S | |||
szavaza) ts (o t|S | |||
szige) ts (ej t|S | |||
szige) ts (o t|S | |||
.group tt | |||
@@ -2497,3 +2519,4 @@ csatlako) z (tok s | |||
ç tS | |||
ñ n^ | |||
ø Y | |||
@@ -1,68 +0,0 @@ | |||
// This file is UTF8 encoded | |||
// Spelling to phoneme rules for Kazakh | |||
б be | |||
в ve | |||
г ge | |||
ғ Ge | |||
д de | |||
ж Ze | |||
з ze | |||
й q8sqA'i | |||
к kA | |||
қ qA | |||
л El | |||
м Em | |||
н En | |||
ң EN | |||
п pe | |||
р Er | |||
с Es | |||
т te | |||
ф Ef | |||
х XA | |||
һ hA | |||
ц tse | |||
ч tSe | |||
ш Sa | |||
щ StSa | |||
ъ Aj8ru | |||
ь ZINISkelIk | |||
//numbers | |||
_0 n'Yl | |||
_1 b'Ir | |||
_2 ek'I | |||
_3 u#S | |||
_4 t'Yrt | |||
_5 b'es | |||
_6 Alt'8 | |||
_7 Z'et'I | |||
_8 seg'Iz | |||
_9 toG'8z | |||
_1X 'on | |||
_2X Zi'8rmA | |||
_3X 'ot8z | |||
_4X q'8r8q | |||
_5X 'el;u | |||
_6X 'Alp8s | |||
_7X Z'etpIs | |||
_8X s'eksen | |||
_9X t'oqsAn | |||
_0C Z'u#z | |||
_0M1 m'8N | |||
_0M2 milli'on | |||
_0M3 milli'Ard | |||
_dpt _b,u#tIn | |||
// used after decimal point | |||
_0Z1 'onnAn // tenths | |||
_0Z2 Z'u#zden // hundredths | |||
_0Z3 m'8NnAn | |||
_0Z4 'on||m,8NnAn | |||
_0Z5 Z'u#z||m,8NnAn | |||
_0Z6 milli'onnAn | |||
_0Z7 'on||milli,onnAn | |||
_0Z8 Z'u#z||milli'onnAn | |||
_0Z9 milli'ArdtAn |
@@ -1,130 +0,0 @@ | |||
// This file is UTF8 encoded | |||
// Spelling to phoneme rules for Kazakh | |||
.group а | |||
а A | |||
а (й a | |||
.group ә | |||
ә & | |||
.group б | |||
б b | |||
.group в | |||
в v | |||
.group г | |||
г g | |||
.group ғ | |||
ғ G | |||
.group д | |||
д d | |||
.group е | |||
е e | |||
.group ё | |||
ё ;o | |||
.group ж | |||
ж Z | |||
.group з | |||
з z | |||
.group и | |||
и i | |||
.group й | |||
й j | |||
.group к | |||
к k | |||
.group қ | |||
қ q | |||
.group л | |||
л l | |||
.group м | |||
м m | |||
.group н | |||
н n | |||
.group ң | |||
ң N | |||
.group о | |||
о o | |||
.group ө | |||
ө Y | |||
.group п | |||
п p | |||
.group р | |||
р r | |||
.group с | |||
с s | |||
.group т | |||
т t | |||
.group у | |||
у u | |||
A) у w | |||
у (A w | |||
.group ұ | |||
ұ U | |||
.group ү | |||
ү u# | |||
.group ф | |||
ф f | |||
.group х | |||
х X | |||
.group һ | |||
һ h | |||
.group ц | |||
ц ts | |||
.group ч | |||
ч tS | |||
.group ш | |||
ш S | |||
.group щ | |||
щ StS | |||
.group ы | |||
ы 8 // oU ?? | |||
.group і | |||
і I | |||
.group э | |||
э E | |||
.group ю | |||
ю ;u | |||
.group я | |||
я ;a | |||
.group | |||
ъ | |||
ь |
@@ -52,8 +52,9 @@ | |||
.group g | |||
g j | |||
gg j: | |||
g Q | |||
gg x: | |||
gg (i C: | |||
.group h | |||
@@ -74,8 +75,8 @@ | |||
.group k | |||
k g | |||
kk g: | |||
k k | |||
kk k: | |||
.group l | |||
@@ -91,6 +92,7 @@ | |||
.group n | |||
n n | |||
na na | |||
naa na: | |||
nn n: | |||
ng N | |||
nng N: | |||
@@ -104,8 +106,8 @@ | |||
.group p | |||
p b | |||
p b: | |||
p p | |||
pp p: | |||
.group q | |||
@@ -124,10 +126,10 @@ | |||
.group t | |||
t d | |||
ti ti | |||
te te | |||
tt d | |||
t t | |||
t (i ts | |||
i) t (_ tS; | |||
tt t: | |||
tl tl# | |||
ts ts | |||
@@ -260,7 +260,7 @@ | |||
ᇂ (A | |||
.group ᆯ // ㄹ | |||
ᆯ rr | |||
ᆯ L | |||
ᆯᄅ l | |||
ᆯ (A * | |||
@@ -0,0 +1,784 @@ | |||
// Last updated: 14 October 2010, Jason Ong ([email protected]) | |||
// This file is UTF8 encoded | |||
// Spelling-to-phoneme words for Malay | |||
a e: | |||
b bi: | |||
c si: | |||
d di: | |||
e i: | |||
f Ef | |||
g dZi: | |||
h etS | |||
i aI | |||
j dZe | |||
k ke | |||
l El | |||
m Em | |||
n En | |||
o o: | |||
p pi: | |||
q kju: | |||
r ar | |||
s Es | |||
t ti: | |||
u ju: | |||
v vi: | |||
w d'ab@liu: | |||
x Eks | |||
y waI | |||
z zEd | |||
// numeric | |||
_0 k'osoN | |||
_1 s'atu | |||
_2 d'u@ | |||
_3 t'ig@ | |||
_4 '@mpat | |||
_5 l'im@ | |||
_6 '@nam | |||
_7 t'udZ%oh | |||
_8 l'apan | |||
_9 s@mb'ilan | |||
_10 s@p'uluh | |||
_11 s'@b@las | |||
_12 d'u@b@las | |||
_13 t'ig@b@las | |||
_14 '@mpatb@las | |||
_15 l'im@b@las | |||
_16 '@namb@las | |||
_17 t'udZ%ohb@las | |||
_18 l'apanb@las | |||
_19 s@mb'ilanb@las | |||
_2X d'u@puloh | |||
_3X t'ig@puloh | |||
_4X 'Empatpuloh | |||
_5X l'im@puloh | |||
_6X 'Enampuloh | |||
_7X t'udZ%ohpuloh | |||
_8X l'apanpuloh | |||
_9X s@mb'ilanpuloh | |||
_0C R'atus_| | |||
_1C s@*'atus_| | |||
_0M1 R'ibu_ | |||
_1M1 s@r'ibu_ | |||
_0M2 dZ'ut@_ | |||
_1M2 s@dZ'ut@_ | |||
_0M3 b'ili@n | |||
_1M3 s@b'ili@n | |||
_dpt _p'@rpul'uhan_ | |||
_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@*Ratus | |||
^ t,andat'opi | |||
& d'an | |||
_* b'intaN | |||
_( k,uR2uN||b'uk@ | |||
_) k,uR2uN||t'utup | |||
__ g,aR2is||b'awah | |||
_- t,andah'ubuN | |||
+ c'ampor | |||
= s,am@||d'@Nan | |||
_{ k,uR2uN||kuR2'awal | |||
_} k,uR2uN||kuR2,awal||t'utup | |||
_[ k,uR2uN||s'iku | |||
_] k,uR2uN||s,iku||t'utup | |||
_: t,iti?||d'u@ | |||
_; t,iti?||k'om@ | |||
@ a||k'EOng | |||
_' k,utip||t'uNgal | |||
~ t'ilde | |||
# p'agaR | |||
_< k,uR2aN||d'aR2i | |||
_> l,Ebih||d'aR2i | |||
_, k'om@ | |||
_. t'iti? | |||
_? t,and@||t'an^@ | |||
/ stR2'ok | |||
_\ 'bEkslES | |||
// exceptions | |||
// (use phoneme [E2] for an unstressed 'e' which does not reduce to [@] ) | |||
bebek bEbE2? | |||
becek bEtSE2? | |||
//bekas $2 | |||
perang $2 | |||
// ABBREVIATIONS | |||
//************** | |||
abd 'abdul $dot | |||
agenda ag'enda | |||
bhd b'@Rhad $dot | |||
cimb $abbrev | |||
cm s@ntim'et@r | |||
com d'Ot||kOm | |||
(co ltd) k'amp@ni||lim'it@d | |||
dr d'okt@R $dot | |||
drp daR2ip'ad@ | |||
dun d'un | |||
dymm d'uli||jang||mah'a||m'uli@ | |||
exco 'Eksko | |||
en 'intSek $dot | |||
felda f'elda | |||
hb h,arib'ulan | |||
hj h'adZi $dot | |||
ir $abbrev $dot | |||
klci $abbrev | |||
km kilom'et@r | |||
kol kol'on@l $dot | |||
ltd lim'it@d $dot | |||
m'sia malaysia $text | |||
md moh'amad $dot | |||
mm milim'et@r | |||
mohd moh'amad $dot | |||
mr m'ist@r $dot | |||
mw m'egawat | |||
pas p'a:s | |||
pibg $abbrev | |||
prof prof'es@r $dot | |||
pte p'raiv@t | |||
rm R'iNget | |||
sdn s@ndiR2'ian $dot | |||
sdr saUd'aR@ $dot | |||
umno 'amno: | |||
upm $abbrev | |||
utk unto? | |||
yab jang||amat||b@rh'ormat | |||
yb jang||b@rh'ormat | |||
ym jang|m'uli@ | |||
yg jang | |||
// MAIN WORD DICTIONARY | |||
//********************* | |||
// e(pepet)-a | |||
banteras bant'@Ras | |||
membanteras m@mbant'@Ras | |||
bedah b'@dah | |||
bekas b'@kas | |||
belah b'@lah | |||
perbelanjaan p@Rb,@landZ'a|an | |||
sebelah s@b'@lah | |||
benar b'@nar | |||
sebenar s@b'@nar | |||
benda b'@nd@ | |||
kecelaruan k@tS,@laR'uan | |||
berhad b'@Rhad | |||
besar b'@sar | |||
membesar m@mb'@sar | |||
pembesar p@mb'@sar | |||
sebesar s@b'@sar | |||
terbesar t@Rb'@sar | |||
cegah tS'@gah | |||
mencegah m@ntS'@gah | |||
pencegah p@ntS'@gah | |||
cepat tS'@pat | |||
dipercepat dip@RtS'@pat | |||
secepat s@tS'@pat | |||
dekat d'@kat | |||
terdekat t@Rd'@kat | |||
demam d'@mam | |||
denda d'@nd@ | |||
didenda did'@nd@ | |||
dengan d'@Nan | |||
dengar d'@Nar | |||
didengar did'@Nar | |||
mendengar m@nd'@Nar | |||
depan d'@pan | |||
berdepan b@Rd'@pan | |||
dera d'@R@ | |||
pendera p@nd'@R@ | |||
deras d'@Ras | |||
desak d'@sak | |||
mendesak m@nd'@sak | |||
terdesak t@Rd'@sak | |||
empat '@mpat | |||
engkau '@NkaU | |||
gelar g'@lar | |||
bergelar b@Rg'@lar | |||
gemar g'@mar | |||
penggemar p@Ng'@mar | |||
gesa g'@s@ | |||
menggesa m@Ng'@s@ | |||
tergesa t@Rg'@s@ | |||
hendak h'@nda? | |||
dikehendaki dik,@h@nd'aki | |||
kehendak k@h'@nda? | |||
kelas k'@las | |||
sekelas s@k'@las | |||
kemas k'@mas | |||
keras k'@Ras | |||
berkeras b@Rk'@Ras | |||
kertas k'@Rtas | |||
kesan k'@san | |||
dikesan dik'@san | |||
lembah l'@mbah | |||
letak l'@tak | |||
diletak dil'@tak | |||
emak '@mak | |||
emas '@mas | |||
enam '@nam | |||
keenam k@'@nam | |||
enggan '@Ngan | |||
gerak g'@ra? | |||
bergerak b@Rg'@ra? | |||
penggerak p@Ng'@ra? | |||
jebak dZ'@bak | |||
terjebak t@RdZ'@bak | |||
jejas dZ'@dZas | |||
terjejas t@RdZ'@dZas | |||
jelas dZ'@las | |||
kejar k'@dZar | |||
dikejar dik'@dZar | |||
kekal k'@kal | |||
kelam k'@lam | |||
mengembalikan m@N,@mbal'ikan | |||
kembang k'@mbaN | |||
mengembang m@N'@mbaN | |||
perkembangannya p@Rk,@mbaN'ann^@ | |||
kelak k'@lak | |||
kena k'@n@ | |||
kenal k'@nal | |||
dikenal dik'@nal | |||
terkenal t@Rk'@nal | |||
kerap k@Rap | |||
kerja k'@RdZ@ | |||
bekerja b@k'@RdZ@ | |||
bekerjasama b@k,@RdZ@s'am@ | |||
kerjasama k@RdZ@s'am@ | |||
pekerja p@k'@RdZ@ | |||
sekerja s@k'@RdZ@ | |||
kesal k'@sal | |||
menyesal m@n^'@sal | |||
kesan k'@san | |||
berkesan b@Rk'@san | |||
keberkesanan k@b,@Rk@s'anan | |||
kesat k'@sat | |||
mengesat m@N'@sat | |||
lekas l'@kas | |||
lelakinya l@lak'in^@ | |||
lekat l'@kat | |||
melekat m@l'@kat | |||
lemah l'@mah | |||
lembaga l@mb'aga | |||
berperlembagaan b@Rp@Rl,@mbag'a|an | |||
lengan l'@Nan | |||
lepas l'@pas | |||
berlepas b@Rl'@pas | |||
terlepas t@Rl'@pas | |||
letak l'@ta? | |||
peletakan p@l@t'akan | |||
terletak t@Rl'@tak | |||
menang m'@naN | |||
pemenang p@m'@naN | |||
mentah m'@ntah | |||
mesra m'@sR@ | |||
pecah p'@tSah | |||
berpecah b@Rp'@tSah | |||
peka p'@k@ | |||
pegang p'@gaN | |||
dipegang dip'@gaN | |||
memegang m@m'@gaN | |||
pentas p'@ntas | |||
pernah p'@rnah | |||
pesat p'@sat | |||
petang p'@taN | |||
rendah R'@ndah | |||
terendah t@R'@ndah | |||
rentak R'@ntak | |||
berentak b@R'@ntak | |||
retak r'@tak | |||
keretakan k@R@t'akan | |||
rentak r'@ntak | |||
serentak s@r'@ntak | |||
sebak s'@ba? | |||
kesebakan k@s@b'akan | |||
sebentar s@b'@ntar | |||
sedang s'@daN | |||
sedar s'@dar | |||
tersedar t@Rs'@dar | |||
segera s@g'@R@ | |||
disegerakan dis@g@R'@kan | |||
menyegerakan m@n^,@g@R'@kan | |||
sejahtera s@dZaht'@R@ | |||
kesejahteraan k@s@dZ,aht@R'@an | |||
sejak s'@dZak | |||
sekat s'@kat | |||
menyekat m@n^'@kat | |||
selam s'@lam | |||
penyelam p@n^'@lam | |||
keselamatan k@s,@lam'atan | |||
selaras s@l'aRas | |||
keselarasan k@s@laR'asan | |||
selepas s@l'@pas | |||
kesesuaian k@s@su'aIan | |||
sembah s'@mbah | |||
persembahannya p@Rs,@mbah'ann^@ | |||
sempat s'@mpat | |||
berkesempatan b@Rk,@s@mp'atan | |||
sempena s@mp'@n@ | |||
beserta b@s'@Rt@ | |||
peserta p@s'@Rt@ | |||
sertai s@Rt'a|i | |||
serang s'@RaN | |||
diserang dis'@RaN | |||
menyerang m@n^'@raN | |||
penyerang p@n^'@raN | |||
serba s'@Rb@ | |||
tegang t'@gaN | |||
bertegang b'@Rt@gaN | |||
tegas t'@gas | |||
tekak t'@kak | |||
menekak m@n'@kak | |||
tekan t'@kan | |||
menekan m@n'@kan | |||
telah t'@lah | |||
teman t'@man | |||
tempa t'@mp@ | |||
ditempa dit'@mp@ | |||
menempa m@n'@mp@ | |||
tempah t'@mpah | |||
menempah m@n'@mpah | |||
tempat t'@mpat | |||
bertempat b@rt'@mpat | |||
tenang t'@naN | |||
bertenang b@Rt'@naN | |||
tengah t'@Nah | |||
menengah m@n'@Nah | |||
sesetengah s@s@t'@Nah | |||
tengkar t'@Nkar | |||
bertengkar b@Rt'@Nkar | |||
tentang t'@ntaN | |||
ditentang dit'@ntaN | |||
menentang m@n'@ntaN | |||
penentang p@n'@ntaN | |||
tepat t'@pat | |||
juruterbang dZuRut'@RbaN | |||
teram t'@Ram | |||
ketenteraman k@t@nt@R'aman | |||
terkam t'@Rkam | |||
diterkam dit'@Rkam | |||
menerkam m@n'@Rkam | |||
tetap t'@tap | |||
bertetap b@Rt'@tap | |||
menetap m@n'@tap | |||
// exceptions | |||
kehebatan k@heb'atan | |||
dibelenggu dib@l'@Ngu | |||
perbendaharaan p@Rb@nd,@haR'a|an | |||
kejayaan k,@dZaj'a|an | |||
galakan gal'akan | |||
setong s@t'oN | |||
aneh 'anE2h | |||
menyelamatkan m@n^,@lam'atkan | |||
//berbaur b@Rb'aUr | |||
gementar g@m'@ntar | |||
hebatnya hEb'atn^@ | |||
diedarkan diEd'aRkan | |||
//berkeliaran b@Rk@li'aRan | |||
//bersebelahan b@Rs@b@l'ahan | |||
//sebaik s@b'aIk | |||
cedera tS@d'@R@ | |||
kecederaan k@tS,@d@r'a|an | |||
tercedera t@RtS@d'@R@ | |||
//ekoran Ek'oRan | |||
kekecewaan k@k,@tSew'a|an | |||
//bermain b@Rm'aIn | |||
//kedai k'@daI | |||
//pekedai p@k'@daI | |||
disertai dis@Rt'ai | |||
persediaan p@Rs,@di'a|an | |||
//bergaul b@Rg'aul | |||
elakkan El'akkan | |||
kebanyakan k@ban^'akan | |||
anda 'anda | |||
//berkepentingan b@Rk,@p@nt'iNan | |||
//berleluasa b@Rl@lu'as@ | |||
iaitu ja|'itu | |||
masalah mas'alah | |||
masakan mas'akan | |||
mengelakkan m@NE2l'akkan | |||
menyelesaikan m@n^,@l@s'aIkan | |||
pergolakan p@Rgol'akan | |||
perempuan p@R@mp'uan | |||
perempuannya p@R,@mpu'ann^@ | |||
pesta p'esta | |||
berpesta b@Rp'esta | |||
menyalah m@n^'alah | |||
setengah s@t'@Nah | |||
berpengalaman b@Rp@Nal'aman | |||
kesemuanya k@s,@mu'@nn^@ | |||
selesema s@l@s'@m@ | |||
tindakan tind'akan | |||
pesalah p@s'alah | |||
wanita wan'ita | |||
bersalah b@Rs'alah | |||
//persetujuan p@Rs,@tudZ'uan | |||
//persetujuannya p@Rs@tudZu'ann^@ | |||
//keseluruhan k@s,@luR'ohan | |||
memberitahu m@mb,@Rit'ahu | |||
//persekutuan p@Rs,@kut'uan | |||
tema t'Ema | |||
kepercayaan k@p,@RtSaj'a|an | |||
dendangan dEnd'aNan | |||
peperiksaan p@p,@Reks'a|an | |||
kebebasan k@bEb'asan | |||
//cerai tS'@RaI | |||
//berbaik b@Rb'aIk | |||
menyembunyikan m@n^,@mbun^'ikan | |||
bermesyuarat b@Rm,@Su'aRat | |||
//pengetahuan p@N,@tah'uan | |||
mengenai m@N@n'ai | |||
penyelesaian p@n^,@l@s'aIan | |||
diselesaikan dis,@l@s'aIkan | |||
ditanya dit'an^@ | |||
prestasi pREst'asi | |||
pembelajaran p@mb,@ladZ'aRan | |||
kepong k'@poN | |||
demikian d@mik'ian | |||
piket p'ikEt | |||
kempennya kEmp'enn^@ | |||
jentera dZ@nt'@R@ | |||
perlembagaan p@Rl,@mbag'a|an | |||
bersesuaian b@Rs,@su'aIan | |||
bumiputera bumip'ut?Ra | |||
kecemerlangan k@tS,@Rm@l'aNan | |||
merdeka m@Rd'eka | |||
kemerdekaan k@m,@Rdek'a|an | |||
kelewatan k@lew'atan | |||
menyelesaikannya m@n^@l@saIk'ann^@ | |||
// english derived words | |||
akta 'akta | |||
album 'Elb@m | |||
aspek 'aspE2k | |||
balada bal'ada | |||
digit di'dZit | |||
digital didZ'it@l | |||
doktor d'okt@r | |||
dolar d'Ol@r | |||
domestik dOm'Estik | |||
entiti Ent'iti | |||
flora fl'ora | |||
frekuensi fRiku'@nsi | |||
imej 'imedZ | |||
indeks 'indEks | |||
insentif ins'E2ntif | |||
jean dZ'in | |||
jeneral dZEn'@R@l | |||
kabinet kEb'in@t | |||
kamera kEm'@R@ | |||
kes k'es | |||
komponen komp'on@n | |||
komprehensif kompRih'ensif | |||
koroner koR'on@r | |||
laser l'es@r | |||
majoriti mEdZor'iti | |||
meter m'it@r | |||
muzik m'iuzek | |||
muzium m'iuzi@m | |||
nasional nESh'@n@l | |||
negatif nEg'@tif | |||
nostalgia nost'aldZja | |||
november nov'Emb@r | |||
oktober okt'ob@r | |||
polis p'olis | |||
personaliti p@Rs,@nal'iti | |||
presiden pRE2s'id@n | |||
profesor pRof'E2s@r | |||
produk pR'odak | |||
prospek pR'ospE2k | |||
republik Rip'abli? | |||
saintis s'aIntis | |||
sesi s'esi | |||
subjek s'abdZE2k | |||
surcaj s'@RtSadZ | |||
radio R'edio | |||
realiti Rial'iti | |||
sentimen sEnt'im@n | |||
september sEpt'@mb@r | |||
teater ti'et@r | |||
teknik t'Eknik | |||
teknikal tEkn'ikal | |||
telefon tel'ifon | |||
tenis t'Enis | |||
tiara ti'aRa | |||
unit j'unit | |||
universiti jun,iv@Rs'iti | |||
virus v'aIR@s | |||
zoo zu: | |||
// place names | |||
Australia _^_EN | |||
Arsenal _^_EN | |||
Asia as'ia | |||
Barcelona b'aRs@l'ona | |||
Borneo _^_EN | |||
Britain _^_EN | |||
Brunei b'R2unaI | |||
Cheras tS'@ras | |||
Coast _^_EN | |||
Commonwealth _^_EN | |||
Denmark _^_EN | |||
England _^_EN | |||
Eropah Er'opah | |||
France _^_EN | |||
George _^_EN | |||
Georgetown _^_EN | |||
Indonesia indon'eIsi@ | |||
Ireland _^_EN | |||
Jamaica _^_EN | |||
Kingdom _^_EN | |||
Korea _^_EN | |||
Liverpool _^_EN | |||
London _^_EN | |||
New _^_EN | |||
Nigeria _^_EN | |||
Macau _^_EN | |||
Malaysia m@l'esi@ | |||
Melbourne _^_EN | |||
Guinea _^_EN | |||
Penang pin'EN | |||
Perak p'erak | |||
Phuket ph'ukEt | |||
Putrajaya putR2@dZ'aj@ | |||
Republic _^_EN | |||
Scotland _^_EN | |||
Seputeh s@p'uteh | |||
Seremban s@R'@mban | |||
Setar s?tar | |||
Sydney _^_EN | |||
Temerloh t@m'@Rloh | |||
Tonga t'onga | |||
Town _^_EN | |||
United _^_EN | |||
Valencia vel'@nsia | |||
Zambia z'ambia | |||
Zealand _^_EN | |||
// person names | |||
Azura az'uR2a | |||
Barack _^_EN | |||
David _^_EN | |||
Davidson _^_EN | |||
Douglas _^_EN | |||
Edward _^_EN | |||
Karen _^_EN | |||
Jason _^_EN | |||
Lee _^_EN | |||
Leela l'ila | |||
Linda l'inda | |||
Mahathir mah'ater | |||
Michael _^_EN | |||
Merican m'erikan | |||
Ng '@N | |||
Nora n'oRa | |||
Nurhaliza n,uRhal'iza | |||
Obama ob'ama | |||
Ong ON | |||
Ramlee R'amli | |||
Saleh s'aleh | |||
Seha s'eha | |||
Shafie Saf'i?i | |||
Sidek s'idek | |||
Syed s'aId | |||
Teresa t@R2'isa | |||
Tony _^_EN | |||
Yaacob j'a?kob | |||
Yew jiu | |||
Zakaria zak'aRja | |||
Zaleha zal'eha | |||
// English words | |||
(& co) En||k'amp@ni | |||
american _^_EN | |||
bank b'Enk | |||
banking b'EnkiN | |||
commerce _^_EN | |||
corp _^_EN $dot | |||
city _^_EN | |||
company _^_EN | |||
consortium _^_EN | |||
daily _^_EN | |||
distribution _^_EN | |||
east _^_EN | |||
education _^_EN | |||
engineering _^_EN | |||
euro _^_EN | |||
girl _^_EN | |||
grand gR2End | |||
genre _^_EN | |||
government _^_EN | |||
group _^_EN | |||
hero h'iR2o | |||
idea 'aIdi@ | |||
island _^_EN | |||
jazz dZ'E:s | |||
international _^_EN | |||
internet _^_EN | |||
left _^_EN | |||
land lEnd | |||
malayan _^_EN | |||
malaysian m@l'esi@n | |||
media _^_EN | |||
methodist _^_EN | |||
multi _^_EN | |||
north _^_EN | |||
pound _^_EN | |||
right _^_EN | |||
school _^_EN | |||
speaker _^_EN | |||
south _^_EN | |||
the _^_EN | |||
enterprise _^_EN | |||
omnibus 'omnibas | |||
online _^_EN | |||
power _^_EN | |||
punk _^_EN | |||
serius _^_EN | |||
service _^_EN | |||
street _^_EN | |||
technologies _^_EN | |||
tender _^_EN | |||
trading _^_EN | |||
trend _^_EN | |||
unity _^_EN | |||
union _^_EN | |||
wall _^_EN | |||
west _^_EN | |||
// brands | |||
afp $abbrev | |||
(air asia) 'E:_'e:si@_ | |||
(air france) _^_EN | |||
airbus _^_EN | |||
boeing _^_EN | |||
eon 'ion | |||
firefly _^_EN | |||
iphone aI||fon | |||
ipod aI||pod | |||
malaysiakini m@l'esi@||k'ini | |||
maybank m'eib'Enk | |||
reuters _^_EN | |||
(sime darby) _^_EN | |||
toyota toj'ota | |||
wikipedia wik,ip'idja | |||
// 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 | |||
// conjunctions | |||
agar $pause | |||
apabila ap@bil@ $pause | |||
apatah ap@t'ah $pause | |||
atau $pause | |||
ataupun $pause | |||
bagi $pause | |||
bahkan $pause | |||
(bukan sahaja) $pause | |||
dan $pause $u | |||
(di mana) $pause | |||
hanya $pause | |||
jika $pause | |||
kalau $pause | |||
kerana $pause | |||
ketika $pause | |||
mahupun $pause | |||
maka $pause | |||
malah $pause | |||
malahan $pause | |||
manakala $pause | |||
meskipun $pause | |||
misalnya $pause | |||
namun $pause | |||
(sama ada) $pause | |||
sambil $pause | |||
sebab s'@bab $pause | |||
sedangkan $pause | |||
sehingga $pause | |||
selain s@l'ain $pause | |||
semasa $pause | |||
serta s'@rt@ $pause | |||
setelah s@t'@lah $pause | |||
seperti $pause | |||
sepertimana s@p,@Rtim'an@ $pause | |||
supaya $pause | |||
tapi $pause | |||
tetapi $pause | |||
walau $pause | |||
walaupun $pause | |||
untuk $pause | |||
//yang $pause $u | |||
(yang mana) $pause | |||
// nuances | |||
anugerah an'ug*Rah | |||
dilaksanakan dil,aksan'@kan | |||
kementerian k@m,@ntR2'ian | |||
sebahagian s@b'ah?gian | |||
mewarnai m@warn'a|i | |||
mulai mul'a|i | |||
meraikan m@Ra|'ikan | |||
sibuk s'ebok | |||
terengganu tR2@Ng'anu | |||
dirasai diRas'a|i | |||
direka diR'ek@ | |||
negeri n'@gR2i |
@@ -0,0 +1,233 @@ | |||
// Last updated: 14 October 2010, Jason Ong ([email protected]) | |||
// This file is UTF8 encoded | |||
// Spelling-to-phoneme rules for Malay | |||
.group a | |||
a a | |||
a) a _|a | |||
A_) a _|a | |||
au) a _|a | |||
ai aI | |||
au aU | |||
_) au o // (automatik) | |||
@) a (_ @ // (pula) | |||
@) a (kah_ '@ // (apakah) | |||
@) a (kan_ '@ // (bukakan) | |||
@) a (lah_ '@ // (mintalah) | |||
@) a (nya_ '@ // (puncanya) | |||
@) a (pun_ '@ // (bagaimanapun) | |||
.group b | |||
b b | |||
_) be (@@ b@ | |||
_) ber (@@ b@R // (berdasarkan) | |||
_) ber (CaiX b@R // (bermain) | |||
_) ber (CauX b@R // (bergaul, berbaur) | |||
_) berke (@@ b@Rk@ // (berkeliaran, berkesempatan) | |||
_) berle (@@ b@Rl@ // (berleluasa) | |||
_) berper (@@ b@Rp@R // | |||
_) berse (@@ b@Rs@ // (bersebelahan) | |||
_) bh b // added (kota bharu) | |||
.group c | |||
c tS | |||
//************* | |||
ch tS // (kuching) | |||
//************** | |||
.group d | |||
d d | |||
dj dZ // Dutch | |||
.group e | |||
e E //jason: E changed to E2 | |||
e) e _|E | |||
A_) e _|E // *** to check on this *** | |||
e (_ e | |||
// ********************* | |||
_) e (Co@ E2 // e-o (ekoran) | |||
e (CaiX '@ // e-ai (kedai, petai, belai, cerai) | |||
e (CiX '@ // e-i (betik, ketil, lebih, kerisik, kesedihan, sering, seri, segi, seni) | |||
e (CCiX '@ // e-i (penting, jentik) | |||
e (CCuX '@ // e-u (dibendung, bentuk) | |||
e (CuX '@ // e-u (belut, telur, perut, ketulan, bertemu) | |||
e (CCuX '@ // e-u (perlu, merdu) | |||
e (CCCuX '@ // e-u (tengku, tengkuk) | |||
e (nyuX '@ // e-u (senyum) | |||
eCC) e (X e // e-e (pendek, benteng) | |||
eC) e (X e // e-e (belek, gelek, leceh, geleng) | |||
e (Ce e // e-e (kelecehan) | |||
oC) e (X e // o-e (oleh, boleh, celoteh, topeng) | |||
oCC) e (X e // o-e (ponteng) | |||
C) e (CCCoCkan_ e // (bengkokkan) | |||
m) e (_ @ // (autisme) | |||
// ****************** | |||
.group f | |||
f f | |||
ff f | |||
.group g | |||
g g | |||
.group h | |||
h h | |||
.group i | |||
i i | |||
i) i _|i | |||
A_) i _|i | |||
@) i (CX e // (tekik, masing, masin) | |||
@) i (Cnya_ 'e // (masinnya) | |||
@) i (CCaan_ e // (pemeriksaan) | |||
.group j | |||
j dZ | |||
.group k | |||
k k | |||
k (_ ? | |||
kh x | |||
_) ke (@@ k@ | |||
@@) k (annya_ k' | |||
_) kese (@@ k@s@ // keseluruhannya | |||
.group l | |||
l l | |||
ll l | |||
.group m | |||
m m | |||
_) me (@@ m@ | |||
_) mempe (@ m@mp@ | |||
//***************** | |||
_) mem (@@ m@m | |||
_) mene (@@ m@n@ // (menerajui) | |||
_) menge (@@ m@N@ // (mengenepikan) | |||
_) mempenge (@@ m@mp@N@ // (mempengerusikan) | |||
//**************** | |||
.group n | |||
n n | |||
ng N | |||
ny n^ | |||
// nj n^ | |||
.group o | |||
o o | |||
o) o _|o | |||
A_) o _|o | |||
o (r O | |||
oe u // Dutch spelling | |||
.group p | |||
p p | |||
pp p | |||
_) pe (@@ p@ | |||
_) pe (CaiX p@ // (pemain, pesaing) | |||
_) peme (@@ p@m@ // (pemeriksaan) | |||
_) pene (@@ p@n@ // (penerokaan) | |||
_) penge (@@ p@N@ // (pengetahuan) | |||
_) penje (@@ p@ndZ@ // (penjenamaan) | |||
_) perse (@@ p@Rs@ // (persetujuan) | |||
.group q | |||
q k | |||
qu kw | |||
.group r | |||
r R //(jason change: R2 to r) | |||
r (K r //(jason change: R to r) | |||
e) r (K *r //(jason change: *R to r) | |||
r (_ r // jason: added (silent r at the end) | |||
.group s | |||
s s | |||
ss s | |||
sy S // perhaps [S;] ?? | |||
sj S | |||
_) se (@@ s@ | |||
//************* | |||
_) se (CaiX s@ // (sebaik) | |||
sh S | |||
//*************** | |||
.group t | |||
t t | |||
tj tS // Dutch | |||
_) ter (@@ t@*R | |||
//*************** | |||
_) ter (@ t'@*R // ter- (terbaik, teruk) | |||
//****************** | |||
.group u | |||
u u | |||
u) u _|u | |||
A_) u _|u | |||
@) u (CX o // (puluh, tudung) | |||
@) u (Cnya_ 'o // (bentuknya) | |||
@) u (CCnya_ 'o // (tudungnya) | |||
.group v | |||
v v | |||
.group w | |||
w w | |||
.group x | |||
x ks | |||
_) x z | |||
.group y | |||
y j | |||
.group z | |||
z z | |||
.group | |||
$ dOl@R | |||
__) - (_D n'eg@tif | |||
* b'intaN | |||
*) * (* | |||
** | |||
**) * (_ _:: |
@@ -1,319 +0,0 @@ | |||
// This file in UTF8 encoded | |||
// Letters maltese | |||
a a | |||
b b@ | |||
c ka | |||
ċ tS@e | |||
d dee | |||
e e | |||
f effe | |||
g gie | |||
ġ dZe | |||
h akka | |||
ħ h'@ | |||
i i | |||
j ie | |||
k k'@ | |||
l elle | |||
m emme | |||
n enne | |||
o o | |||
p pe | |||
q '@ | |||
r erre | |||
s esse | |||
t te | |||
u u | |||
v ve | |||
w u'@ | |||
x eSSe | |||
y y | |||
z tsee | |||
ż z'@ | |||
_. punt | |||
_, koma | |||
_! punt ta’ esklamazzjoni | |||
_? mistoqsija | |||
_" kwoUts | |||
_# hash | |||
_$ dollaru: | |||
_% procentuali: | |||
_& u | |||
_' accent | |||
_: koUl@n | |||
_; semIk'oUl@n | |||
€ ewro | |||
_( parentezi tondi | |||
_) parentezi tondi | |||
_[ parentezi kwadri | |||
_] parentezi kwadri | |||
_{ alkua:lto | |||
_} lop:ua:lto | |||
_< iz'@ minn | |||
_> akbar minn | |||
_- haIf@n | |||
__ alavi:va | |||
+ plus $max3 | |||
* stil:a $max3 | |||
= i:kw@lz $max3 | |||
/ kaut:a | |||
\ keno | |||
£ sterlina | |||
@ _at | |||
~ tilde | |||
// numbers maltese | |||
_0 z'e*o | |||
_1 ui:h'@d | |||
_2 nei:n | |||
_3 tli:eta | |||
_4 erba | |||
_5 h'@amsa | |||
_6 si:t:a | |||
_7 seba: | |||
_8 tmi:ni:a | |||
_9 dydin'asa | |||
_10 a'@ra | |||
_11 h'@daSe | |||
_12 tnaSe | |||
_13 tletaSe | |||
_14 erbataSe | |||
_15 h'@mistaSe | |||
_16 sitaSe | |||
_17 sbataSe | |||
_18 tmintaSe | |||
_19 tsetaSe | |||
_2X oSerin | |||
_3X tl'@ti:n | |||
_4X erbai:n | |||
_5X h'@amsi:n | |||
_6X sit:i:n | |||
_7X s'@bei:n | |||
_8X tmeni:n | |||
_9X d,ydin'isei:n | |||
_0C mi:a | |||
_1C mi:au | |||
_0M1 elf | |||
_1M1 | |||
_2M1 elfeiun | |||
3000 tlet: elef | |||
4000 erbatelef | |||
_0M2 m'iliun | |||
2000000 z'@euge m'iliuni | |||
_0M3 bi'li'un | |||
_2M3 z'@euge bi'li'uni | |||
_3M3 tlet: bi'li'uni | |||
_4M3 erba bi'li'uni | |||
_5M3 h'@ames bi'li'uni | |||
// articles | |||
// pronouns maltese | |||
jiena iuena $u | |||
inti inti: $u | |||
huwa ua $u | |||
hija i:a $u | |||
aħna ah'@na $u | |||
intom i:ntom $u | |||
huma u:ma $u | |||
// possessives maltese | |||
tiegħi ti:ai: $u | |||
tiegħek ti:ake $u | |||
tiegħu ti:u: $u | |||
tagħha tah'@a $u | |||
tagħna tana: $u | |||
tagħkom takom $u | |||
tagħhom tahom $u | |||
// prepositions | |||
ta ta: | |||
għal al: | |||
lil li:l: | |||
ġo dZeo | |||
mal mal: | |||
mingħajr mi:nai:r | |||
madwar madua:r | |||
il-quddiem il-di:m:'@ | |||
qabel a:bel | |||
wara uara | |||
minbarra minba:ra: | |||
bejn bei:n | |||
flimkien flimkin: | |||
viċin vi:S@i:n | |||
minn mi:n | |||
minn fejn mi:n fei:n | |||
isfel isfel | |||
fil-mija fi:l-mi:a | |||
permezz permets | |||
lejn lein: | |||
fuq fu'@ | |||
taħt taht | |||
fi fi: | |||
mingħajr mi:nair | |||
madwar madu:ar | |||
kontra contra | |||
quddiem '@udi:m | |||
fost fost | |||
qabel abel | |||
wara uara | |||
taħt taht | |||
lil hinn lil:in: | |||
ħdejn h'@dein | |||
bejn bei:n | |||
flimkien flinki:m | |||
qrib ri:p | |||
minn hemm min:em: | |||
// conjunctions | |||
minkejja minCeia | |||
u u | |||
kif Ci:f | |||
għax aS | |||
darba dar:ba | |||
jew ieu: | |||
iżda i:z'@da | |||
jekk ietSe | |||
minkejja mintSei:a | |||
minflok minflotSe | |||
irrespettivament ir:espetivament | |||
mindu mindu: | |||
b’hekk betSe | |||
għalkemm altSem: | |||
kull darba kul: darba | |||
kull min kul: mi:n | |||
tkun xi tkun tkun Si tkun | |||
waqt ua:t | |||
// negative maltese | |||
ma $u | |||
// auxillary verbs | |||
ikun icu:n: | |||
kien Ci:n | |||
qiegħed ied | |||
huwa u:a | |||
huma uma | |||
ma kienx ma CieS | |||
kienu Cienu | |||
mhux muS | |||
mhumiex umumiS | |||
ma kienux ma CienuS | |||
għamel amel | |||
għandhom andom | |||
ghandu jkollhom andu kolum | |||
ma jridux ikunu mrdS kunu | |||
għandu andu | |||
m'għandux m'anduS | |||
jista ista | |||
ma jistax ma istaS | |||
għandi andi | |||
għandha an:a | |||
kienet ki:net | |||
ikseb i:kseb | |||
mur mu:r | |||
tmur tmur | |||
sejjer sei:er | |||
mort mort | |||
agħmel a:mel | |||
tagħmilx ta:milS | |||
jagħmel ia:mel | |||
għamel a:mel | |||
għamilt amilt | |||
tpoġġi tpodZi: | |||
poġġi odZi: | |||
issir is:ir | |||
saret sa:ret | |||
għamel a:mel | |||
// adverbs | |||
biss bis: | |||
qatt at: | |||
issa is:a | |||
dalwaqt daluat | |||
xorta Sorta | |||
diġa didZa | |||
mhux mu:S | |||
kull cul: | |||
bosta bosta | |||
xi Si: | |||
dan dan | |||
dak dak | |||
dawn dau:n | |||
dawk dau:k | |||
hemm em: | |||
minn min: | |||
// Abbreviations maltese | |||
$textmode | |||
eċċ etSetra | |||
mm milim'etri | |||
cm tSentim'etri | |||
km kilom'etri | |||
ml milil'itri | |||
mg miligr'am:i | |||
kg kilogr'am:i | |||
@@ -1,205 +0,0 @@ | |||
// Maltese translation rules | |||
// This file is UTF-8 encoded | |||
.group a | |||
a a | |||
aa a: | |||
au au | |||
ax aS | |||
.group b | |||
b b | |||
bb b: | |||
be b'@ | |||
br br'@ | |||
bi bi: | |||
bie bi'@ | |||
.group c | |||
c c | |||
.group ċ | |||
ċ tS@ | |||
ċa tS@a | |||
ċe tS@e | |||
ċi tS@i | |||
ċw tS@u'@ | |||
.group d | |||
d de | |||
dd d: | |||
.group e | |||
e e | |||
eu eu: | |||
ew eu | |||
.group f | |||
f f | |||
ff f: | |||
fo fo | |||
.group g | |||
g g | |||
gg g: | |||
ge gie | |||
gi gi: | |||
għ : | |||
.group ġ | |||
ġ dZ | |||
ġo dZo | |||
.group h | |||
h : | |||
.group ħ | |||
ħ h | |||
ħu h:u: | |||
ħt ht | |||
.group i | |||
i I | |||
iu Iu | |||
ie i: | |||
.group j | |||
j iu | |||
jj i: | |||
jo io | |||
je ie | |||
ja ia | |||
.group k | |||
k ke | |||
ka ka | |||
ke ke | |||
ki ki: | |||
kie ki:e | |||
ku ku: | |||
ko co | |||
.group l | |||
l l | |||
.group m | |||
m m | |||
m (n im | |||
m (p im | |||
m (r im | |||
.group n | |||
n n | |||
nu nu: | |||
.group o | |||
o o | |||
.group p | |||
p p | |||
pp p: | |||
_ole) p (a p: | |||
_ota) p (a p: | |||
kam) p (anj p: | |||
sam) p (oo p: | |||
sham) p (o p: | |||
.group q | |||
q '@ | |||
qa a | |||
qe e | |||
qo o | |||
qu | |||
.group r | |||
r r | |||
rie ri:e | |||
ro ro: | |||
ra ra: | |||
.group s | |||
s s | |||
sie si:e | |||
saqq sa | |||
saq sa | |||
.group t | |||
t t | |||
tt t: | |||
.group u | |||
u u | |||
ux uS | |||
.group v | |||
v v | |||
.group w | |||
w u | |||
.group x | |||
x Se | |||
xie Sei: | |||
.group y | |||
y y | |||
yy y: | |||
yi yi | |||
yö yY | |||
.group z | |||
z tse | |||
K) zh Z | |||
.group ż | |||
ż z'@ | |||
ża za | |||
że ze | |||
żie zi:e | |||
żgħ za | |||
// default group for "non of the above" | |||
.group | |||
ż z'@ | |||
ċ tS@ | |||
// non-ascii characters with specified pronunciations | |||
@@ -1544,6 +1544,10 @@ spektakel $2 | |||
tegennatuur $4 | |||
travestie $3 | |||
verderop $3 | |||
verre vEr@ | |||
verrekijker vEr@kEIk@r | |||
verste vErst@ | |||
verte vErt@ | |||
volledig $2 | |||
vrouwengek $alt3 | |||
waarschijnlijk $2 |
@@ -254,6 +254,11 @@ | |||
@) es (_S2qd 'Es // double the previous vowel | |||
@) es (_$w_alt2S1 s // just remove 's' | |||
KAC) es (_S2e @s | |||
mb) es (_S1 s | |||
nd) es (_S1 s | |||
rd) es (_S1 s | |||
gt) es (_S1 s | |||
wt) es (_S1 s | |||
es (ie_ e:z | |||
@) essen (_S5qd 'Es@n | |||
@) eres (_S4qd @r'Es | |||
@@ -734,8 +739,8 @@ _) inn (@P2 'I // ?? inneren | |||
u (x 8 | |||
uu y | |||
ui Wy | |||
uw yU | |||
uw (_ yU | |||
uw (A yw | |||
uw (K yU | |||
_) uit (@P3 'Wyt | |||
uul (_ 'yl // from -ule | |||
@@ -755,6 +760,7 @@ _) inn (@P2 'I // ?? inneren | |||
_) ver (@P3 v@r | |||
_) ver (sie_ vEr | |||
_) verder vErd@r | |||
_) verge (@P5 vErg@ | |||
_) verge (le v@rQ'e: | |||
_) voort (@P5 v'O:rt | |||
@@ -1,206 +0,0 @@ | |||
// Northern Sotho translation list | |||
// This file is UTF-8 encoded. | |||
// letters (just guesses) | |||
a a | |||
b bi:i: | |||
c si:i: | |||
d di:i: | |||
e i:i: | |||
f e:fu | |||
g x2@ | |||
h eitSi | |||
j dZ'ei | |||
k kei | |||
l e:li | |||
m 'emu | |||
n 'eni | |||
o o:o: | |||
p p'i:i: | |||
q kju | |||
r aR3e | |||
s 'e:si | |||
t t'i:i: | |||
u u:u: | |||
v v'i:i: | |||
w dabalju | |||
x ek'ese | |||
y w'ai | |||
z z'e:ti | |||
// numbers | |||
_0 lef'e:la | |||
_1 tee | |||
_2 p'edi | |||
_3 t'a:R3o | |||
_4 'n-ne | |||
_5 l#'a:no | |||
_6 ts'e:la | |||
_7 S'u:pa | |||
_8 sisw'a:i | |||
_9 sen^'ane | |||
_1X les'o:me | |||
_2X mas'o:mepedi | |||
_3X mas'o:met'a:R3o | |||
_4X mas'o:me'n-ne | |||
_5X mas'o:mel#'a:no | |||
_6X mas'o:mets'e:la | |||
_7X mas'o:meS'u:pa | |||
_8X mas'o:mesisw'a:i | |||
_9X mas'o:mesen^'ane | |||
_0C lekX'olo | |||
//_1C m,iam'oJa | |||
_2C _|makX'olopedi | |||
_3C _|makX'olot'a:R3o | |||
_4C _|makX'olo'n-ne | |||
_5C _|makX'olol#'a:no | |||
_6C _|makX'olots'e:la | |||
_7C makX'oloS'u:pa | |||
_8C makX'olosisw'a:i | |||
_9C makX'olosen^'ane | |||
_0M1 's-'ikete | |||
_1M1 _|'s-'ikete | |||
_2M1 dik'etep'edi | |||
_3M1 dik'etet'a:R3o | |||
_4M1 dik'eten-ne | |||
_5M1 dik'etel#'a:no | |||
_6M1 dik'etets'e:la | |||
_7M1 dik'eteSu:pa | |||
_8M1 dik'etesisw'a:i | |||
_9M1 dik'etesen^'ane | |||
_1M2 dik'etetSelekX'o:lo | |||
_2M2 dik'etetSemakX'o:lop'edi | |||
_3M2 dik'etetSemakX'o:lot'a:R3o | |||
_4M2 dik'etetSemakX'o:lon-ne | |||
_5M2 dik'etetSemakX'o:lol#'ano | |||
_6M2 dik'etetSemakX'o:lots'e:la | |||
_7M2 dik'etetSemakX'o:loSu:pa | |||
_8M2 dik'etetSemakX'o:losisw'a:i | |||
_9M2 dik'etetSemakX'o:losen^'ane | |||
_0M3 _|mili'oni // 1,000,000 | |||
_0M4 _|bili'oni | |||
_dpt fe:Xelu'a:na | |||
bona $u // they,them | |||
yona $u+ // it | |||
wena $u+ //you | |||
nna $u+ // i | |||
yena $u+ // him, her, it | |||
lena $u+ //ploral to wena | |||
rena $u+ // we,us | |||
//accents | |||
_cir k'efa | |||
// pronouns | |||
mimi $u+ | |||
sisi $u+ | |||
wewe $u+ | |||
nyinyi $u+ | |||
yeye $u+ | |||
wao $u+ | |||
hii $u // this, these | |||
hilo $u+ // this,that (previously menioned) | |||
wake $u+ // his,her,its | |||
yake $u+ | |||
zake $u+ | |||
// prepositions | |||
wa $u $brk // of | |||
ya $u $brk // of,by they,them | |||
la $u $brk // of | |||
cha $u $brk // of | |||
vya $u $brk // of | |||
za $u $brk // of | |||
pa $u $brk // of | |||
kwa $u $brk // of | |||
mwa $u $brk // of | |||
bi $u $brk // in | |||
fi $u $brk // in,on | |||
pa $u $brk // at | |||
min $u $brk // from | |||
toka $u $brk // from | |||
katika $u $brk // from, out of | |||
kuanzia $brk // from,since | |||
tangu Su $brk // from,between | |||
hata $u $pause // until | |||
baada $u $brk // after | |||
bila $u $pause // without | |||
hadi $u $pause // up to | |||
huko $u $brk // there, as when | |||
kwacho $pause // by means of which | |||
kwalo $pause // by means of which | |||
kwao $pause // by means of which | |||
kwavyo $pause // by means of which | |||
kwaye $pause // by means of which | |||
kwa $u $brk // with | |||
mwenye $u $brk // with | |||
wenye $u $brk // with | |||
yenye $u $brk // with | |||
1enye $u $brk // with | |||
chenye $u $brk // with | |||
vyenye $u $brk // with | |||
zenye $u $brk // with | |||
// conjunctions | |||
na $u $pause // and | |||
ama $u $pause // or | |||
ao $u $pause // or | |||
au $u $pause // or | |||
aidha $pause // and | |||
bali $u $pause // but | |||
ila $pause // but,except | |||
angao $pause // although | |||
badalaya $pause // instead | |||
basi $u+ $pause // so,then | |||
ili $u+ $pause // so that | |||
ilikwamba $pause // so that | |||
ijapo $pause // although, even if | |||
ijapokuwa $pause // although | |||
ingawa $pause // although | |||
iwapo $pause // when | |||
japo $pause | |||
(juu ya) J,u:ja $pause // as for | |||
kama $u+ $pause // if,like | |||
kisha $pause // moreover | |||
kusudi $pause // in order to | |||
kuwa $u $pause // that | |||
(kwa kuwa) kwa||k,uwa $pause // becuse | |||
kwamba $u $pause // that | |||
lakini $pause // however | |||
walakini $pause // however | |||
pamoja $pause // together with | |||
panapo $pause // when it is | |||
pindi $u+ $pause // if,when | |||
taraa $u+ $pause // if | |||
wala $pause // either,neither | |||
yaani $pause // i.e. | |||
//Northern Sotho words | |||
bja vvJ'a | |||
raloka R3%al'U:ka | |||
sekolo sek'U:lU | |||
taba t_'a:ba | |||
thaba t'a:ba | |||
@@ -1,150 +0,0 @@ | |||
// Northern Sotho translation rules | |||
// This file is UTF-8 encoded | |||
.group a | |||
a a | |||
_C) a a | |||
_) a (C a | |||
a (_ a | |||
a (s a: | |||
.group b | |||
b B | |||
.group c | |||
c k | |||
ch tS | |||
.group d | |||
d d | |||
dh D | |||
.group e | |||
e e | |||
ee i;e: | |||
s) e i | |||
.group f | |||
f f | |||
.group g | |||
g X | |||
_k) g x2 | |||
gh Q | |||
.group h | |||
h h | |||
hl l# | |||
.group i | |||
i i | |||
ii i: | |||
.group j | |||
j J | |||
.group k | |||
k k | |||
kh x | |||
.group l | |||
l l | |||
.group m | |||
m m | |||
_) m m- | |||
m (A m | |||
K) m (@@ _|m | |||
K) m (C m- | |||
K) m (b@@ _|m | |||
K) m (v@@ _|m | |||
K) m (w@@ _|m | |||
.group n | |||
n n | |||
_) n n- | |||
n (A n | |||
n (@@ n | |||
ny n^ | |||
n (ch n^ | |||
n (j n^ | |||
ng' N | |||
n (k N | |||
_) n (k N- | |||
_) n (k@@ N- | |||
n (g N | |||
_) n (g N- | |||
_) n (g@@ N- | |||
ng N | |||
.group o | |||
o U | |||
oo o: | |||
.group p | |||
p p | |||
.group q | |||
q k | |||
.group r | |||
r R3 | |||
.group s | |||
s s | |||
s (e s- | |||
_t) se si: | |||
// sh S | |||
.group t | |||
t t | |||
th th | |||
tsen ts'e:n | |||
tlh K | |||
tl l# | |||
.group u | |||
u u | |||
uu u: | |||
_d) u u: | |||
.group v | |||
v v | |||
.group w | |||
w w | |||
.group x | |||
x ks | |||
.group y | |||
y j | |||
.group z | |||
z z | |||
.group | |||
$ dola | |||
% asilimia | |||
* n^ota | |||
*) * (* | |||
** | |||
**) * (_ _:: | |||
š S | |||
_t) š tS | |||
_p) š (h S | |||
ê E | |||
ô o |
@@ -110,7 +110,7 @@ _0M3 k'VRoR // 10,000,000 | |||
_0M4 'VR@b // 1,000,000,000 | |||
_0M5 k#'VR@b // 100,000,000,000 | |||
_dpt _dOt# // ?? | |||
_dpt _d@s@ml'o: | |||
// character names | |||
@@ -144,9 +144,14 @@ _ਔ 'ERV||kVnOR'a | |||
ੌ kVn'ORa | |||
// Punctuation | |||
_?? 'Vk#:@R | |||
। d.'Vnd.i | |||
+ J'Vuma | |||
= b@R'ab@R | |||
% pR'VtIS@t | |||
* t'aRa | |||
// Pronouns | |||
// ਪੁਰਖਵਾਚੀ ਪੜਨਾਂਵ |
@@ -436,9 +436,9 @@ | |||
@) ਜ਼ (_ z | |||
.group ੜ | |||
ੜ R2V | |||
ੜ (B R2 | |||
@) ੜ (_ R2 | |||
ੜ r.V | |||
ੜ (B r. | |||
@) ੜ (_ r. | |||
.group ਫ਼ | |||
ਫ਼ fV |
@@ -1,69 +0,0 @@ | |||
// This file in UTF8 encoded | |||
// For persian (Dari) language | |||
//numeric | |||
_0 sE'fEr | |||
_1 j'Ak | |||
_2 d'u: | |||
_3 s'E:h | |||
_4 tS'Ahr | |||
_5 pA'ndZ | |||
_6 SE'S | |||
_7 h'Aft | |||
_8 h'ASt | |||
_9 n'o | |||
// _۱۱ j'AzdAh // what's this ? | |||
_1X d'Ah | |||
_2X b'ist | |||
_3X s'i | |||
_4X tS'Ehl | |||
_5X p'indZAh | |||
_6X S'Ast | |||
_7X h'AftAd | |||
_8X h'AStAd | |||
_9X nAv'Ad | |||
_0C s'Ad | |||
_0and o | |||
//alphabets | |||
ا Al'Ef | |||
ب b'E: | |||
پ p'E: | |||
ت t'E: | |||
ث s'E: | |||
ج dZ'im | |||
چ tS'E: | |||
ح h'E: | |||
خ X'E: | |||
د d'Al | |||
ذ z'Al | |||
ر r'E: | |||
ز z'E: | |||
س s'in | |||
ش S'in | |||
ص s'Ad | |||
ض z'Ad | |||
ط t'A: | |||
ظ z'A: | |||
ع 'eIn | |||
غ R'eIn | |||
ف f'E: | |||
ق R'Af | |||
ک k'Af | |||
گ g'Af | |||
ل l'Am | |||
م m'im | |||
ن n'un | |||
و w'o:w | |||
ه h'E:dotSASm | |||
ء hAmz'E: | |||
ی j'A: | |||
@@ -1,235 +0,0 @@ | |||
// This file is UTF-8 encoded | |||
// Text to phoneme rules for Dari | |||
// replace Arabic character numbers with Latin character numbers | |||
.replace | |||
٠ 0 | |||
١ 1 | |||
٢ 2 | |||
٣ 3 | |||
٤ 4 | |||
٥ 5 | |||
٦ 6 | |||
٧ 7 | |||
٨ 8 | |||
٩ 9 | |||
//all vowels | |||
.L01 َ ِ ُ ً ٍ و ا ه ی ة ي | |||
//commonly unwritten vowels | |||
.L02 َ ِ ُ | |||
//list of consonants | |||
.L03 ا ب پ ت ث ج چ ح خ د ذ ر ز ژ س ش ص ض ط ظ ع غ ف ق ک گ ل م ن و ه ی | |||
.group ا | |||
_) ا (L01 | |||
ا A | |||
ا (_ A | |||
اً An | |||
اٍ En | |||
.group ب | |||
ب (L01 b | |||
ب bA | |||
ب (_ b | |||
L03) ب (L03 b | |||
.group پ | |||
پ (L01 p | |||
پ pA | |||
پ (_ p | |||
L03) پ (L03 p | |||
.group ة | |||
ة (L01 h | |||
ة hA | |||
ة (_ @ | |||
.group ت | |||
ت (L01 t | |||
ت tA | |||
ت (_ t | |||
.group ث | |||
ث (L01 s | |||
ث sA | |||
ث (_ s | |||
.group ج | |||
ج (L01 dZ | |||
ج dZA | |||
ج (_ dZ | |||
.group چ | |||
چ (L01 tS | |||
چ tSA | |||
چ (_ tS | |||
.group ح | |||
ح (L01 h | |||
ح hA | |||
ح (_ h | |||
.group خ | |||
خ (L01 X | |||
خ XA | |||
خ (_ X | |||
.group د | |||
د (L01 d | |||
د dA | |||
د (_ d | |||
.group ذ | |||
ذ (L01 z | |||
ذ zA | |||
ذ (_ z | |||
.group ر | |||
ر (L01 R | |||
ر RA | |||
ر (_ R | |||
.group ز | |||
ز (L01 z | |||
ز zA | |||
ز (_ z | |||
.group ژ | |||
ژ (L01 Z | |||
ژ ZA | |||
ژ (_ Z | |||
.group س | |||
س (L01 s | |||
س sA | |||
س (_ s | |||
L03) س (L03 s | |||
L02) س (L03 s | |||
.group ش | |||
ش (L01 S | |||
ش SA | |||
ش (_ S | |||
.group ص | |||
ص (L01 s | |||
ص sA | |||
ص (_ s | |||
.group ض | |||
ض (L01 z | |||
ض zA | |||
ض (_ z | |||
.group ط | |||
ط (L01 t | |||
ط tA | |||
ط (_ t | |||
.group ظ | |||
ظ (L01 z | |||
ظ zA | |||
ظ (_ z | |||
.group ع | |||
ع (L01 | |||
ع A | |||
ع (_ @_: | |||
.group غ | |||
غ (L01 R | |||
غ RA | |||
غ (_ R | |||
.group ـ | |||
ـ | |||
.group ف | |||
ف (L01 f | |||
ف fA | |||
ف (_ f | |||
.group ق | |||
ق (L01 R | |||
ق RA | |||
ق (_ R | |||
.group ک | |||
ک (L01 k | |||
ک kA | |||
L02) ک (L03 k | |||
L03) ک (L03 k | |||
ک (_ k | |||
.group گ | |||
گ (L01 g | |||
گ gA | |||
گ (_ g | |||
.group ل | |||
ل (L01 l | |||
ل lA | |||
ل (_ l | |||
.group م | |||
م (L01 m | |||
م mA | |||
م (_ m | |||
.group ن | |||
ن (L01 n | |||
ن (_ n | |||
L02) ن (L03 n | |||
L03) ن (L03 n | |||
ن nA | |||
.group ه | |||
ه (L01 h | |||
ه hA | |||
ه (_ @ | |||
.group و | |||
و (L01 v | |||
و (_ u | |||
L03) و (L03 u | |||
و vA | |||
.group ی | |||
ی i | |||
_) ی jA | |||
.group ي | |||
ي i | |||
_) ي jA | |||
.group | |||
$ dol@ | |||
.group ء | |||
ء @ | |||
ء (L01 | |||
.group ّ | |||
ّ : | |||
.group آ | |||
آ A | |||
//vowels that are not usually written: | |||
.group َ | |||
َ A | |||
.group ِ | |||
ِ E | |||
.group ُ | |||
ُ o | |||
@@ -337,7 +337,7 @@ la $u | |||
lo $u | |||
las $u | |||
los $u | |||
//se $u | |||
se $u | |||
?2 este $u+ $nounf 'estSi // this | |||
?2 estes $u+ $nounf 'estSis // these | |||
@@ -369,7 +369,7 @@ sua $u+ $nounf | |||
?2 nossas $u+ $nounf n'Os&s | |||
dele dely $u1+ | |||
dela $u+ | |||
deles $u+ | |||
deles delys $u1+ | |||
delas $u+ | |||
nele nely $u1+ | |||
@@ -637,7 +637,6 @@ acertos $alt2 | |||
acordo $alt $verb | |||
acervo $alt2 | |||
adepto $alt | |||
adereço $alt2 | |||
adore $alt | |||
adorno $alt $verb | |||
albatrozes $alt | |||
@@ -654,8 +653,8 @@ apego $alt2 $noun | |||
apelo $alt $verb | |||
aposto $alt $verb | |||
aperto $alt2 $noun | |||
apoio $alt $verb | |||
aprovo $alt | |||
apneia $alt | |||
apoio $alt $verb | |||
arredores $alt | |||
arremesso $alt2 $noun | |||
arroz $alt2 | |||
@@ -668,6 +667,8 @@ atrozes $alt | |||
autora $alt2 | |||
avesso $alt2 | |||
axé aSE | |||
azeda $alt $verb | |||
azedo $alt $verb | |||
baqueta $alt2 | |||
beco $alt2 | |||
belo $alt | |||
@@ -675,7 +676,6 @@ besta $alt2 | |||
bilhete $alt2 | |||
boca $alt2 | |||
bochecha $alt2 | |||
boio $alt | |||
bojo $alt2 | |||
boleia $alt | |||
bolero $alt | |||
@@ -683,13 +683,14 @@ bolo $alt2 | |||
bolo $alt $verb | |||
borboleta $alt2 | |||
bordo $alt | |||
bosque $alt | |||
boto $alt2 $noun | |||
bromelha $alt | |||
cabeça $alt2 | |||
cabresto $alt2 | |||
cacete $alt2 | |||
cachorra $alt2 | |||
caderneta $alt2 | |||
cadete $alt2 | |||
camiseta $alt2 | |||
cantora $alt2 | |||
capacete $alt2 | |||
@@ -704,6 +705,7 @@ cateto $alt2 | |||
catorze $alt2 | |||
cebola $alt2 | |||
cefaleia $alt | |||
centopeia $alt | |||
cerca $alt | |||
cerca $alt2 $noun | |||
cerco $alt $verb | |||
@@ -717,7 +719,6 @@ chovesse $alt2 | |||
chupeta $alt2 | |||
clamores $alt2 | |||
clero $alt | |||
crepe $alt | |||
coco $alt2 | |||
cofre $alt | |||
cogumelo $alt | |||
@@ -729,9 +730,10 @@ colher $alt $noun | |||
colheres $alt $noun | |||
colmeia $alt | |||
colore $alt | |||
começo $alt2 $noun | |||
começo $alt $verb | |||
comodo $alt2 | |||
concerto $alt2 $noun | |||
concertos $alt2 | |||
concordo $alt | |||
conforto $alt $verb | |||
congelo $alt | |||
@@ -739,6 +741,7 @@ consolo $alt2 $noun | |||
controle $alt2 $noun | |||
controlo $alt2 $noun | |||
coreia $alt | |||
coreto $alt2 | |||
corneta $alt2 | |||
cornos $alt | |||
corpos $alt | |||
@@ -748,6 +751,7 @@ corvos $alt | |||
coto $alt2 | |||
cratera $alt | |||
crede $alt2 | |||
crepe $alt | |||
decore $alt | |||
desapego $alt2 $noun | |||
descabelo $alt | |||
@@ -756,12 +760,14 @@ desemprego $alt2 | |||
desemprego $alt $verb | |||
desespero $alt2 $noun | |||
desfecho $alt2 | |||
desmantelo $alt $verb | |||
desprezo $alt2 $noun | |||
desse $alt2 | |||
desse $alt $verb | |||
deste $alt2 | |||
deste $alt $verb | |||
desterro $alt2 | |||
destroem $alt | |||
deveras $alt | |||
dez $alt | |||
diarreia $alt | |||
@@ -775,12 +781,13 @@ dueto $alt2 | |||
elixir eliSir | |||
elo $alt | |||
emprego $alt2 $noun | |||
empregos $alt2 | |||
encosto $alt $verb | |||
endereço $alt2 | |||
endereço $alt $verb | |||
enforco $alt | |||
engordo $alt | |||
enredo $alt $verb | |||
enrosco $alt $verb | |||
enterro $alt2 $noun | |||
enumerem $alt | |||
envelope $alt | |||
@@ -793,6 +800,7 @@ erros $alt2 | |||
esboço $alt $verb | |||
escopeta $alt2 | |||
escova $alt2 $noun | |||
escovas $alt2 | |||
escovo $alt | |||
escroto $alt2 | |||
esforço $alt $verb | |||
@@ -805,20 +813,23 @@ espiroqueta $alt2 | |||
espoleta $alt2 | |||
esposa $alt2 | |||
esqueleto $alt2 | |||
estilete $alt2 | |||
estrela $alt2 | |||
estrofe $alt | |||
estorno $alt $verb | |||
estorvo $alt $verb | |||
etiqueta $alt2 | |||
europa $alt | |||
europeia $alt | |||
exagero $alt $verb | |||
explore $alt | |||
faceta $alt2 | |||
fantoche $alt | |||
farelo $alt | |||
farofa $alt | |||
febre $alt | |||
feitora $alt2 | |||
fera $alt | |||
feitora $alt2 | |||
ferozes $alt | |||
fezes $alt | |||
?1 fixe fiSy | |||
@@ -834,9 +845,7 @@ forca $alt2 | |||
força $alt2 $noun | |||
forças $alt2 | |||
forço $alt | |||
fossem $alt2 | |||
forro $alt $verb | |||
fosse $alt2 | |||
frevo $alt2 | |||
galera $alt | |||
galileia $alt | |||
@@ -865,11 +874,13 @@ ideia $alt | |||
interesse $alt2 $noun | |||
jogo $alt2 $noun | |||
joguete $alt2 | |||
lagosta $alt2 | |||
lambreta $alt2 | |||
lebre $alt | |||
lembrete $alt2 | |||
leste $alt2 $verb | |||
lopes $alt | |||
macete $alt2 | |||
maior $alt | |||
maleta $alt2 | |||
marcelo $alt | |||
@@ -892,6 +903,7 @@ minueto $alt2 | |||
miolo $alt2 | |||
miolos $alt | |||
moeda $alt | |||
mofo $alt $verb | |||
molho $alt2 $noun | |||
monera $alt | |||
morcego $alt2 | |||
@@ -899,10 +911,10 @@ morda $alt2 | |||
moreia $alt | |||
mortos $alt | |||
motora $alt2 | |||
mulher $alt | |||
mui mwi | |||
muito mw'iNtU // -s is included as a suffix | |||
muita mw'iNt& | |||
mulher $alt | |||
mulheres $alt | |||
mureta $alt2 | |||
mutreta $alt2 | |||
@@ -915,11 +927,13 @@ obstetra $alt | |||
odisseia $alt | |||
onu $1 | |||
olho $alt2 $noun | |||
onomatopeia $alt | |||
opereta $alt2 | |||
ordens $alt | |||
osso $alt2 | |||
ossos $alt | |||
ostra $alt2 | |||
ovelha $alt2 | |||
ovos $alt | |||
pachorra $alt2 | |||
paexa paeSa | |||
@@ -935,6 +949,7 @@ pastora $alt2 | |||
pedra $alt | |||
pela $alt $verb | |||
pelego $alt2 | |||
pela $alt $verb | |||
pelo $alt $verb | |||
peso $alt $verb | |||
piloto $alt2 $noun | |||
@@ -946,32 +961,32 @@ plateia $alt | |||
plebeia $alt | |||
polca $alt | |||
porcos $alt | |||
porrete $alt2 | |||
porra $alt2 | |||
porrete $alt2 | |||
porto $alt2 | |||
portos $alt | |||
pose $alt2 | |||
povos $alt | |||
poxa p'oS& | |||
primavera $alt | |||
provo $alt | |||
prosopopeia $alt | |||
quarteto $alt2 | |||
queda $alt | |||
quede $alt2 | |||
quinteto $alt2 | |||
recomeço $alt2 $noun | |||
raposa $alt2 | |||
recomeço $alt $verb | |||
recordo $alt | |||
recorto $alt | |||
rede $alt2 | |||
redor $alt | |||
reembolso $alt $verb | |||
reforços $alt | |||
reforço $alt $verb | |||
reforços $alt | |||
refresco $alt $verb | |||
reitora $alt2 | |||
relevo $alt2 $noun | |||
remorso $alt | |||
reprovo $alt | |||
retorno $alt $verb | |||
rixa x'iS& | |||
rocha $alt | |||
@@ -982,7 +997,7 @@ rota $alt2 | |||
rota $alt $noun | |||
rumores $alt2 | |||
saleta $alt2 | |||
sarjeta $alt | |||
sarjeta $alt2 | |||
seborreia $alt | |||
seca $alt2 $noun | |||
secas $alt2 | |||
@@ -1019,6 +1034,7 @@ topo $alt $verb | |||
torno $alt $verb | |||
torre $alt2 $noun | |||
torres $alt2 | |||
torro $alt | |||
tortos $alt | |||
traqueia $alt | |||
travesso $alt2 |
@@ -1,3 +1,4 @@ | |||
// translation rules Brazilian | |||
// translation rules Brazilian | |||
// translation rules Brazilian | |||
// This file is UTF-8 encoded | |||
@@ -178,8 +179,6 @@ | |||
e (co_ E | |||
e (ctA_ E | |||
e (ctAm_ E | |||
e (çA_ E | |||
e (çAm_ E | |||
e (de_ E | |||
e (dem_ E | |||
@@ -353,20 +352,22 @@ | |||
tiv) e (L05_ E // es- | |||
_com) e (L05_ e | |||
_pud) e (L05_ E | |||
_tem) e (L05_ e | |||
_coub) e (L05_ E | |||
_exag) e (L05_ E | |||
_houv) e (L05_ E | |||
_perd) e (L05_ e | |||
_quis) e (L05_ E | |||
_soub) e (L05_ E | |||
_trem) e (L05_ e | |||
diss) e (L06_ E // contra- | |||
fend) e (L06_ e // de- o- | |||
tend) e (L06_ e // a- con- en- es- | |||
vend) e (L06_ e // re- | |||
_mord) e (L06_ e | |||
_rend) e (L06_ e | |||
prend) e (L06_ e // a- rea- des- desa- | |||
_arrepend) e (L06_ e | |||
_defend) e (L06_ e | |||
_depend) e (L06_ e | |||
_escond) e (L06_ e | |||
preend) e (L06_ e // com- a- re- sur- | |||
@@ -383,6 +384,7 @@ respond) e (L06_ e // cor- | |||
colh) e (L07_ e // & es- | |||
corr) e (L07_ e // per- con- in- so- dis- | |||
ench) e (L07_ e // pre- | |||
fend) e (L07_ e // de- o- | |||
nasc) e (L07_ e // re- | |||
tend) e (L07_ e // en- con- a- es- | |||
torc) e (L07_ e // con- | |||
@@ -396,6 +398,7 @@ respond) e (L06_ e // cor- | |||
_morr) e (L07_ e | |||
_perd) e (L07_ e | |||
_sofr) e (L07_ e | |||
_trem) e (L07_ e | |||
merec) e (L07_ e // des- | |||
padec) e (L07_ e // com- | |||
parec) e (L07_ e // a- rea- com- desa- | |||
@@ -410,8 +413,8 @@ _amanhec) e (L07_ e | |||
_amolec) e (L07_ e | |||
_anoitec) e (L07_ e | |||
_arrepend) e (L07_ e | |||
_atrev) e (L07_ e | |||
_cresc) e (L07_ e | |||
_defend) e (L07_ e | |||
_depend) e (L07_ e | |||
_desguarnec) e (L07_ e | |||
_emagrec) e (L07_ e | |||
@@ -442,17 +445,22 @@ preend) e (L07_ e // sur- com- | |||
proteg) e (L07_ e // des- | |||
respond) e (L07_ e // cor- | |||
qu) e (brL04_ E | |||
_cel) e (brL04_ E | |||
_enr) e (dL01_ E | |||
_arr) e (dL03_ E | |||
_depr) e (dL03_ E | |||
_hosp) e (dL03_ E | |||
_gr) e (gL03_ e | |||
_gal) e (gL03_ e | |||
_n) e (grL03_ e | |||
_estr) ei (L03_ EI | |||
estr) ei (L04_ EI | |||
_inv) e (jL04_ E | |||
tr) e (pL04_ E // es- | |||
_dec) e (pL04_ E | |||
_in) e (ptL03_ E | |||
_p) e (quL02_ E | |||
_s) e (quL02_ E | |||
ad) e (quL04_ E | |||
l) e (que_ E | |||
_imp) e (rL03_ E | |||
_sev) e (rL03_ E | |||
@@ -468,6 +476,7 @@ respond) e (L07_ e // cor- | |||
_tol) e (rL04_ E | |||
_ven) e (rL04_ E | |||
acel) e (rL04_ E // des- | |||
_apod) e (rL04_ E | |||
_coop) e (rL04_ E | |||
_temp) e (rL04_ E | |||
_recup) e (rL04_ E | |||
@@ -483,13 +492,14 @@ _refrig) e (rL04_ E | |||
_bez) e (rrL03_ e | |||
_inv) e (rtL03_ e | |||
_f) e (rvL03_ e | |||
_p) e (sL01_ E | |||
_refr) e (scL01_ E | |||
_d) e (scL02_ E | |||
_cr) e (scL02_ E | |||
_p) e (scL03_ E | |||
_m) e (sclL04 E | |||
_d) e (spL02_ E | |||
_p) e (squL02_ E | |||
_refr) e (squL02_ E | |||
_l) e (ssL02_ e | |||
_esp) e (ssL03_ e | |||
_c) e (stL03_ e | |||
@@ -510,43 +520,10 @@ _obsol) e (tL03_ e | |||
_despr) e (zL04_ E | |||
_embel) e (zL04_ E | |||
_menospr) e (zL04_ E | |||
_emagr) e (çL03 | |||
pr) e (çL03_ e // a- | |||
aqu) e (çL03_ e // re- | |||
mer) e (çL03_ e // des- | |||
pad) e (çL03_ e // com- | |||
par) e (çL03_ e // a- re- com- rea- desa- | |||
_ado) e (çL03_ e | |||
_car) e (çL03_ e | |||
_per) e (çL03_ e_ | |||
conh) e (çL03_ e // re- | |||
obed) e (çL03_ e // des- | |||
_esqu) e (çL03_ e | |||
_forn) e (çL03_ e | |||
_ofer) e (çL03_ e | |||
abast) e (çL03_ e // re- | |||
_aborr) e (çL03_ e | |||
_acont) e (çL03_ e | |||
_agrad) e (çL03_ e | |||
_amanh) e (çL03_ e | |||
_amort) e (çL03_ e | |||
_anoit) e (çL03_ e | |||
_arref) e (çL03_ e | |||
_desguarn) e (çL03_ e | |||
_desguarnec) e (çL03_ e | |||
_enfraqu) e (çL03_ e | |||
_enlouqu) e (çL03_ e | |||
_enraiv) e (çL03_ e | |||
_enriqu) e (çL03_ e | |||
_entrist) e (çL03_ e | |||
_envaid) e (çL03_ e | |||
_envelh) e (çL03_ e | |||
_esclar) e (çL03_ e | |||
_espair) e (çL03_ e | |||
_estrem) e (çL03_ e | |||
_fortal) e (çL03_ e | |||
_rejuven) e (çL03_ e | |||
estabel) e (çL03_ e // re- | |||
com) e (çL01_ E | |||
p) e (çL03_ E | |||
_m) e (çL03_ E | |||
_entorp) e (çL03_ e | |||
//endsort | |||
@@ -595,7 +572,12 @@ estabel) e (çL03_ e // re- | |||
?3 g (_C g_ | |||
g (Y Z // ge gi | |||
gu (Y g | |||
?1 guen (C gw'eIN // aguenta, etc. | |||
a) gu (ent gw | |||
enxa) gu (e gw | |||
lin) gu (e gw | |||
lin) gu (i gw | |||
san) gu (ín gw | |||
san) gu (in gw | |||
?1 n) gu (A gw // eg: língua, etc. | |||
?1 man) gu (ei g // mangueira | |||
?1 gu (ém_ g // eg: alguém, ninguém, etc... | |||
@@ -837,12 +819,15 @@ estabel) e (çL03_ e // re- | |||
?1 v) o (lt O | |||
//sort | |||
_f) o (L06_ o | |||
_f) o (L05_ o | |||
_f) o (L07_ o | |||
_engl) o (bL01_ O | |||
_s) o (bL02_ O | |||
_esn) o (bL04_ O | |||
br) o (chL04_ O | |||
_deb) o (chL04_ O | |||
_desabr) o (chL04_ O | |||
_m) o (fL01_ O | |||
_m) o (fL02_ O | |||
_s) o (frL02_ O | |||
r) o (gL04_ O // inter- | |||
_j) o (gL04_ O | |||
@@ -850,6 +835,8 @@ _desabr) o (chL04_ O | |||
_adv) o (gL04_ O | |||
_ref) o (gL04_ O | |||
_ap) oi (L01_ OI | |||
_ap) oi (L02_ OI | |||
_b) oi (L04_ OI | |||
_t) o (lL03_ o | |||
c) o (lhL02_ O // es- en- re- | |||
_t) o (lhL02_ O | |||
@@ -864,19 +851,29 @@ _desabr) o (chL04_ O | |||
_ens) o (pL04_ O | |||
_s) o (prL04_ O | |||
_) o (ptL04_ O | |||
_defl) o (rL02_ O | |||
_impl) o (rL02_ O | |||
_inod) o (rL03_ O | |||
_inson) o (rL03_ O | |||
_comem) o (rL04 O | |||
_remem) o (rL04_ O | |||
f) o (rmL03_ O | |||
_enf) o (rquL02_ O | |||
_ext) o (rquL02_ O | |||
c) o (rrL01_ o // escorra, incorra, corra, recorra | |||
_m) o (rrL01_ o | |||
p) o (rtL03_ O // im- trans- de- re- com- a- ex- | |||
t) o (rçL01_ O // con- | |||
_r) o (snL04_ O | |||
_c) o (spL02_ O | |||
_enr) o (squL02_ O | |||
p) ostos (_ Ost=Us# // dispostos etc. | |||
_gar) o (tL03_ o | |||
pr) o (vL03_ O | |||
_g) o (zL04_ O | |||
_esb) o (çL01_ O | |||
_r) o (çL03_ O | |||
tr) o (çL03_ O // des- | |||
_ad) o (çL03_ O | |||
_end) o (çL03_ O | |||
//endsort | |||
@@ -929,8 +926,16 @@ _remem) o (rL04_ O | |||
?1 _) qua kwa // quatro, etc. | |||
?1 _) que ke // quente, etc. | |||
?1 _) quei (C k'eI // queira, queima, etc | |||
?1 C) quen (C kw'eIN // cinquenta, etc. | |||
?1 A) quen (C kw'eIN // frequência, etc. | |||
A) quên (C kw'eIN // frequência, etc. | |||
ade) qu (e kw | |||
e) qu (estr kw | |||
_e) qu (in kw | |||
fre) qu (ent kw | |||
li) qu (id kw | |||
lí) qu (id kw | |||
n) qu (en kw | |||
se) qu (en kw | |||
tran) qu (il kw | |||
?1 quec kes // esquece, etc. | |||
?1 queç kes // esqueça. | |||
?1 A) que (nA_ ke // pequeno, etc. | |||
@@ -1162,5 +1167,6 @@ _remem) o (rL04_ O | |||
__) - (_D m'enUs | |||
D_) - (_D m'enUs | |||
A_) - (_D _ | |||
C_) - (_D _ |
@@ -1,83 +0,0 @@ | |||
// This file is UTF8 encoded | |||
// Spelling-to-phoneme words for Kinyarwanda | |||
a a: | |||
b ba: | |||
c ca: | |||
d da: | |||
e e: | |||
f fa: | |||
g ga: | |||
h ha: | |||
i i: | |||
j dZa: | |||
k ka: | |||
l la: | |||
m ma: | |||
n na: | |||
o o: | |||
p pa: | |||
q kwa: | |||
r *a: | |||
s sa: | |||
t ta: | |||
u u: | |||
v va: | |||
w wa: | |||
x eks | |||
y ja: | |||
z za: | |||
// numbers | |||
_0 z'e*u | |||
_1 R'imwe | |||
_2 kaB'i*i | |||
_3 gat'atu | |||
_4 k'ane | |||
_5 gat'anu | |||
_6 gatand'atu | |||
_7 ka*'indwi | |||
_8 umun'ani | |||
_9 ikj'enda | |||
_1X itS'umi | |||
_2X makumjaB'i*i | |||
_3X mi*,oNgwit'atu | |||
_4X mi*,oNgw'ine | |||
_5X mi*,oNgwit'anu | |||
_6X mi*,oNgitand'atu | |||
_7X mi*,oNgwi*'indwi | |||
_8X mi*,oNgwin'ani | |||
_9X mi*,oNgwej'enda | |||
_1C idZ'ana | |||
_2C mag,anaB'i*i | |||
_3C mag,anat'atu | |||
_4C mag,an'ane | |||
_5C mag,anat'anu | |||
_6C mag,anatand'atu | |||
_7C mag,ana*'indwi | |||
_8C mag,anin'ani | |||
_9C mag,anakj'enda | |||
_0M1 iBih'umbi | |||
_1M1 iJih'umbi | |||
_2M1 iBih'umbibiB'i*i | |||
_3M1 iBih'umbibit'atu | |||
_4M1 iBih'umbib'ine | |||
_5M1 iBih'umbibit'anu | |||
_6M1 iBih'umbibitand'atu | |||
_7M1 iBih'umbibi*'indwi | |||
_0M2 milij'oni | |||
_1M2 milij'on'imwe | |||
_2M2 milij'oneBj'i*i | |||
_3M2 milij'oneS'atu | |||
_4M2 m,ilij'on'en^e | |||
_0and na | |||
_dpt _niB'itSe | |||
@@ -1,105 +0,0 @@ | |||
// Kinyarwanda translation rules | |||
// This file is UTF-8 encoded | |||
.group a | |||
a a | |||
.group b | |||
b B | |||
_) b b | |||
m) b b | |||
.group c | |||
c tS | |||
cy kj | |||
.group d | |||
d d | |||
.group e | |||
e e | |||
.group f | |||
f f | |||
.group g | |||
g g | |||
g (e J | |||
g (i J | |||
.group h | |||
h h | |||
.group i | |||
i i | |||
.group j | |||
j dZ | |||
jy Jj | |||
.group k | |||
k k | |||
k (e c | |||
k (i c | |||
.group l | |||
l l | |||
.group m | |||
m m | |||
mp mh | |||
.group n | |||
n n | |||
n (g N | |||
n (ge n^ | |||
n (gi n^ | |||
nk Nx | |||
nt nh | |||
ny n^ | |||
.group o | |||
o o | |||
.group p | |||
p p | |||
.group q | |||
q q | |||
.group r | |||
r * // try ** | |||
_) r R | |||
.group s | |||
s s | |||
sh S | |||
shy S; | |||
.group t | |||
t t | |||
.group u | |||
u u | |||
.group v | |||
v c | |||
.group w | |||
w w | |||
b) w g | |||
.group x | |||
x ks | |||
_) x z | |||
.group y | |||
y j | |||
.group z | |||
z z | |||
.group | |||
$ dola*a // just a guess | |||
@@ -105,34 +105,34 @@ _dpt d'aS@m#@ | |||
// Consonants | |||
ක k@ | |||
ඛ kh@ | |||
ඛ k#@ | |||
ග g@ | |||
ඝ gh@ | |||
ඝ g#@ | |||
ඞ N@ | |||
ඟ N#g@ | |||
ච tS@ | |||
ඡ tSh@ | |||
ඡ tS#@ | |||
ජ dZ@ | |||
ඣ dZh@ | |||
ඣ dZ#@ | |||
ඤ n^@ | |||
ඥ gn@ | |||
ඦ n^#dZ@ | |||
ට t.@ | |||
ඨ t.h@ | |||
ඨ t.#@ | |||
ඩ d.@ | |||
ඪ d.h@ | |||
ඪ d.#@ | |||
ණ n.@ | |||
ඬ n.#d.@ | |||
ත t@ | |||
ථ th@ | |||
ථ t#@ | |||
ද d@ | |||
ධ dh@ | |||
ධ d#@ | |||
න n@ | |||
ඳ n#d@ | |||
ප p@ | |||
ඵ ph@ | |||
ඵ p#@ | |||
බ b@ | |||
භ bh@ | |||
භ b#@ | |||
ම m@ | |||
ඹ m#b@ | |||
ය j@ | |||
@@ -153,7 +153,7 @@ _, k'oma:v@ | |||
? pr'a:Sna:rt,@j@ | |||
! v'iSm#@j,a:rt@j@ | |||
_“ 'udrut,@pa:t.,@a:r,@mb@j@ | |||
_” 'udhrut,@pa:t.h,@@w,@s.a:n,@j@ | |||
_” 'ud#rut,@pa:t.#,@@w,@s.a:n,@j@ | |||
_: t'itkom,a:v@ | |||
_; d'etit@ | |||
$ do:l.ar $max3 |
@@ -19,16 +19,16 @@ | |||
ක (B k | |||
.group ඛ | |||
ඛ kha | |||
ඛ (B kh | |||
ඛ k#a | |||
ඛ (B k# | |||
.group ග | |||
ග ga | |||
ග (B g | |||
.group ඝ | |||
ඝ gha | |||
ඝ (B gh | |||
ඝ g#a | |||
ඝ (B g# | |||
.group ඞ | |||
ඞ Na | |||
@@ -71,8 +71,8 @@ | |||
ට (B t. | |||
.group ඨ | |||
ඨ t.ha | |||
ඨ (B t.h | |||
ඨ t.#a | |||
ඨ (B t.# | |||
.group ඩ | |||
ඩ d.a | |||
@@ -95,16 +95,16 @@ | |||
ත (B t | |||
.group ථ | |||
ථ tha | |||
ථ (B th | |||
ථ t#a | |||
ථ (B t# | |||
.group ද | |||
ද da | |||
ද (B d | |||
.group ධ | |||
ධ dha | |||
ධ (B dh | |||
ධ d#a | |||
ධ (B d# | |||
.group න | |||
න na | |||
@@ -119,16 +119,16 @@ | |||
ප (B p | |||
.group ඵ | |||
ඵ pha | |||
ඵ (B ph | |||
ඵ p#a | |||
ඵ (B p# | |||
.group බ | |||
බ ba | |||
බ (B b | |||
.group භ | |||
භ bha | |||
භ (B bh | |||
භ b#a | |||
භ (B b# | |||
.group ම | |||
ම ma |
@@ -70,7 +70,7 @@ | |||
_) n (k N- | |||
_) n (k@@ N- | |||
n (g N | |||
_) n (g N- | |||
K) n (g N- | |||
_) n (g@@ N- | |||
.group o |
@@ -1,171 +0,0 @@ | |||
// This file is UTF8 encoded | |||
// Spelling to phoneme rules for Telugu | |||
// speak Latin letters as English | |||
a e:j | |||
b bi: | |||
c si: | |||
d di: | |||
e i: | |||
f Ef | |||
g dZi: | |||
h e:tS | |||
i a:j | |||
j dZe:j | |||
k ke:j | |||
l El | |||
m Em | |||
n En | |||
o o: | |||
p pi: | |||
q kju: | |||
r a:r | |||
s Es | |||
t t#i: | |||
u ju: | |||
v vi: | |||
w dVbVlju: | |||
x Eks | |||
y wa:j | |||
z zEd | |||
// numbers | |||
_0 sunna | |||
_1 okat.i | |||
_1a oka | |||
_2 rend.u | |||
_3 mu:d.u | |||
_4 na:lgu | |||
_5 aIdu | |||
_6 a:ru | |||
_7 e:d.u | |||
_8 ;enimidi | |||
_9 tommidi | |||
_1X padi | |||
_11 padakond.u | |||
_12 pannemd.u | |||
_13 padamu:d.u: | |||
_14 pad#na:lugu | |||
_15 padihe:nu | |||
_16 padaha:ru | |||
_17 padihe:d.u | |||
_18 padd#enimidi | |||
_19 pamdommadi | |||
_2X iravaI | |||
_3X muppaI | |||
_4X nalub#aI | |||
_5X ja:b#aI | |||
_6X aravaI | |||
_7X d.eb#baI | |||
_8X jenab#aI | |||
_9X tomb#aI | |||
_0C vandala | |||
_0C0 vandalu | |||
_1C okavanda | |||
_0M1 vela | |||
_0M1x velu | |||
_1M1 okavejji | |||
_0M2 laks.ala | |||
_0M2x laks.alu | |||
_1M2 laks.a | |||
_0M3 kotla | |||
_0M3x kotlu | |||
_1M3 koti | |||
_dpt _d,aS;a:mkam | |||
// symbols | |||
_?? aks.aram // 'unknown character' | |||
% S;a:tam | |||
+ ku:d.ika | |||
* naks.atra | |||
\ bja:kasla:s. | |||
/ sla:s. | |||
© ka:pi:raIt. | |||
¶ ve:ra: | |||
_, ka:ma: | |||
_; semi:ko:lan | |||
_: ko:lan | |||
_! a:S;carja:rt#aka | |||
_? praS;na:rt#aka | |||
_- haIfan | |||
__ amd.ar||sko:r | |||
// unstressed function words | |||
// articles | |||
ద $u | |||
అ $u+ | |||
ఆ $u+ | |||
ఒక $u | |||
// letter names | |||
U+c01 am | |||
U+c02 an | |||
U+c03 ah | |||
U+c4d vottu | |||
// consonants with virama | |||
క్ ik | |||
ఖ్ ik# | |||
గ్ ig | |||
ఘ్ ig# | |||
ఙ్ iN | |||
చ్ ic | |||
ఛ్ ic# | |||
జ్ iJ | |||
ఝ్ iJ# | |||
ఞ్ in^ | |||
ట్ it. | |||
ఠ్ it.# | |||
డ్ id. | |||
ఢ్ id.# | |||
ణ్ in. | |||
త్ it | |||
థ్ it# | |||
ద్ id | |||
ధ్ id# | |||
న్ in | |||
ప్ ip | |||
ఫ్ ip# | |||
బ్ ib | |||
భ్ ib# | |||
మ్ im | |||
య్ ij | |||
ర్ ir | |||
ఱ్ ir | |||
ల్ il | |||
ళ్ il. | |||
వ్ iv | |||
శ్ iS; | |||
ష్ is. | |||
స్ is | |||
హ్ ih | |||
ౘ్ its | |||
ౙ్ idz | |||
// combining vowels, precede by a click so they | |||
// can be distinguished from stand-alone vowels | |||
ా #X2a:: | |||
ి #X1i | |||
ీ #X2i:: | |||
ు #X1u | |||
ూ #X2u:: | |||
ృ #X1ru | |||
ౄ #X2ru: | |||
ె #X1e | |||
ే #X2e:: | |||
ై #X2aI | |||
ొ #X1o | |||
ో #X2o:: | |||
ౌ #X2aU | |||
@@ -1,277 +0,0 @@ | |||
// This file is UTF8 encoded | |||
// Spelling to phoneme rules for Telugu | |||
// A means vowel letters (not vowel signs) | |||
// B means a combining vowel sign or a virama | |||
.replace | |||
౦ 0 // Convert Telugu numbers | |||
౧ 1 | |||
౨ 2 | |||
౩ 3 | |||
౪ 4 | |||
౫ 5 | |||
౬ 6 | |||
౭ 7 | |||
౮ 8 | |||
౯ 9 | |||
.group క | |||
క ka | |||
క (B k | |||
.group ఖ | |||
ఖ k#a | |||
ఖ (B k# | |||
.group గ | |||
గ ga | |||
గ (B g | |||
.group ఘ | |||
ఘ g#a | |||
ఘ (B g# | |||
.group ఙ | |||
ఙ Na | |||
ఙ (B N | |||
.group చ | |||
చ ca | |||
చ (B c | |||
.group ఛ | |||
ఛ c#a | |||
ఛ (B c# | |||
.group జ | |||
జ Ja | |||
జ (B J | |||
.group ఝ | |||
ఝ J#a | |||
ఝ (B J# | |||
.group ఞ | |||
ఞ n^a | |||
ఞ (B n^ | |||
.group ట | |||
ట t.a | |||
ట (B t. | |||
.group ఠ | |||
ఠ t.#a | |||
ఠ (B t.# | |||
.group డ | |||
డ d.a | |||
డ (B d. | |||
.group ఢ | |||
ఢ d.#a | |||
ఢ (B d.# | |||
.group ణ | |||
ణ n.a | |||
ణ (B n. | |||
.group త | |||
త ta | |||
త (B t | |||
.group థ | |||
థ t#a | |||
థ (B t# | |||
.group ద | |||
ద da | |||
ద (B d | |||
.group ధ | |||
ధ d#a | |||
ధ (B d# | |||
.group న | |||
న na | |||
న (B n | |||
.group ప | |||
ప pa | |||
ప (B p | |||
.group ఫ | |||
ఫ p#a | |||
ఫ (B p# | |||
.group బ | |||
బ ba | |||
బ (B b | |||
.group భ | |||
భ b#a | |||
భ (B b# | |||
.group మ | |||
మ ma | |||
మ (B m | |||
.group య | |||
య ja | |||
య (B j | |||
.group ర | |||
ర ra | |||
ర (B r | |||
.group ఱ | |||
ఱ ra | |||
ఱ (B r | |||
.group ల | |||
ల la | |||
ల (B l | |||
.group ళ | |||
ళ l.a | |||
ళ (B l. | |||
.group వ | |||
వ va | |||
వ (B v | |||
.group శ | |||
శ S;a | |||
శ (B S; | |||
.group ష | |||
ష s.a | |||
ష (B s. | |||
.group స | |||
స sa | |||
స (B s | |||
.group హ | |||
హ ha | |||
హ (B h | |||
.group ౘ | |||
ౘ tsa | |||
ౘ (B ts | |||
.group ౙ | |||
ౙ dza | |||
ౙ (B dz | |||
.group ౠ | |||
ౠ ru | |||
.group ౡ | |||
ౡ l- | |||
// Stand-alone vowels | |||
.group అ | |||
అ a | |||
.group ఆ | |||
ఆ a: | |||
.group ఇ | |||
ఇ i | |||
.group ఈ | |||
ఈ i: | |||
.group ఉ | |||
ఉ u | |||
.group ఊ | |||
ఊ u: | |||
.group ఋ | |||
ఋ ru | |||
.group ఌ | |||
ఌ l- | |||
.group ఎ | |||
ఎ e | |||
_) ఎ ;e | |||
.group ఏ | |||
ఏ e: | |||
.group ఐ | |||
ఐ aI | |||
.group ఒ | |||
ఒ o | |||
.group ఓ | |||
ఓ o: | |||
.group ఔ | |||
ఔ aU | |||
.group 0xe0b0 // characters which start with UTF-8 bytes: [e0 b0] | |||
. ఁ n // candrabindu | |||
ం m // anusvara (this should nasalize the vowel) | |||
ః h // visarga | |||
// combining vowel signs | |||
ా a: | |||
ి i | |||
.group 0xe0b1 // characters which start with UTF-8 bytes: [e0 b1] | |||
ీ i: | |||
ు u | |||
ూ u: | |||
ృ ru | |||
ౄ r-: | |||
ె e | |||
ే e: | |||
ై aI | |||
ొ o | |||
ో o: | |||
ౌ aU | |||
్ // virama | |||
ౕ : // length mark ?? | |||
ౖ : // ai length mark ?? | |||
.group 0xe0a4 // devanagari | |||
0xe0a4 _^_HI // switch to hindi voice for devanagari characters | |||
.group 0xe0a5 // devanagari | |||
0xe0a5 _^_HI | |||
.group | |||
$ d.a:lar | |||
@@ -1,149 +0,0 @@ | |||
// maintainer: Sternly K Simon | |||
// email:[email protected] | |||
// setswana translation list | |||
// This file is UTF-8 encoded. | |||
// letters (just guesses) | |||
a a | |||
b bi:i: | |||
c si:i: | |||
d di:i: | |||
e i:i: | |||
f e:fo | |||
g gi:i | |||
h eitSi | |||
j dZ'ei | |||
k kei | |||
l e:li | |||
m 'emu | |||
n 'eni | |||
o o:o: | |||
p p'i:i: | |||
q kju | |||
r aR3e | |||
s 'e:si | |||
t t'i:i: | |||
u u:u: | |||
v v'i:i: | |||
x ek'ese | |||
w dabolju | |||
y w'ai | |||
z z'e:ti | |||
// numbers | |||
_0 lef'e:la | |||
_1 n'ngwe: | |||
_2 p'edi | |||
_3 t'a:R3o | |||
_4 'n-ne | |||
_5 l#'a:no | |||
_6 th'ataro | |||
_7 s'u:pa | |||
_8 roba'bobedi | |||
_9 roba'n'ngwe | |||
_1X les'o:me | |||
_2X mas'o:mepedi | |||
_3X mas'o:me'ama:R3o | |||
_4X mas'o:me'ama:ne | |||
_5X mas'o:me'amal#'a:no | |||
_6X mas'o:me'ath'ataro | |||
_7X mas'o:me'a'S'u:pa | |||
_8X mas'o:me'abo'roba'bedi: | |||
_9X mas'o:me'a'roba'bo'ngwe | |||
//number plurals | |||
//numbers money wise | |||
_0C lekX'olo | |||
_1C0 lekX'olo | |||
_2C _|makX'olopedi | |||
_3C _|makX'olot'a:R3o | |||
_4C _|makX'olo'n-ne | |||
_5C _|makX'olol#'a:no | |||
_6C _|makX'olo'th'ataro | |||
_7C makX'oloS'u:pa | |||
_8C makX'olo'a'ma'roba'bobedi: | |||
_9C makX'olo'a'ma'roba'bo'n'ngwe | |||
_0M1 's-'ikete | |||
_1M1 _|'s-'ikete | |||
_2M1 dik'etep'edi | |||
_3M1 dik'etet'a:R3o | |||
_4M1 dik'eten-ne | |||
_5M1 dik'etel#'a:no | |||
_6M1 dik'etets'e'th'ataro | |||
_7M1 dik'eteSu:pa | |||
_8M1 dik'ete'tse'bo'roba'bobedi | |||
_9M1 dik'ete'tse'bo'roba'bo'ngwe | |||
_1M2 dik'etetSelekX'o:lo | |||
_2M2 dik'etetSemakX'o:lop'edi | |||
_3M2 dik'etetSemakX'o:lot'a:R3o | |||
_4M2 dik'etetSemakX'o:lon-ne | |||
_5M2 dik'etetSemakX'o:lol#'ano | |||
_6M2 dik'etetSemakX'o:lo'th'a'taro | |||
_7M2 dik'etetSemakX'o:loSu:pa | |||
_8M2 dik'etetSemakX'o:lo'bo'roba'bobedi: | |||
_9M2 dik'etetSemakX'o:lo'bo'roba'bo'ngwe | |||
_0M3 _|mili'oni // 1,000,000 | |||
_0M4 _|bili'oni | |||
_dpt fe:Xelu'a:na | |||
_0and _|na | |||
bona $u $brk // they,them | |||
yona $u+ $brk // it | |||
wena $u+ $brk //you | |||
nna $u+ $brk // i | |||
yona $u+ $brk // him, her, it | |||
ene $u+ $brk // him, her | |||
lona $u+ //ploral to wena | |||
rona $u+ // we,us | |||
//number of chances/probabilities | |||
//Days | |||
//accents | |||
_cir k'efa | |||
lenna $u+ // and me | |||
waka $u+ // mine or lying | |||
gaka $u+ // mine | |||
tshaka $u+ // plural of mine | |||
dilo $u+ // things | |||
mole $u+ // that | |||
naya $u+ // give | |||
//nouns | |||
// prepositions | |||
wa $u $brk // of | |||
ya $u $brk // of,by they,them | |||
la $u $brk // of | |||
fa $u $brk // of | |||
kwa $u $brk // at | |||
mo $u $brk // in | |||
fa $u $brk // in,on | |||
kgolo $u $pause // dig | |||
konte $u $pause // without | |||
kwala $pause // by means of which | |||
kwa $u $brk // with | |||
// conjunctions | |||
le $u $pause // and | |||
kana $u $pause // or | |||
ao $u $pause // or | |||
mme $u $pause // but | |||
ntswa $u $pause // although | |||
kuwa $u $pause // shout | |||
@@ -1,147 +0,0 @@ | |||
// maintainer: Sternly K Simon | |||
// email:[email protected] | |||
// setswana translation rules | |||
// with support from Jonathan Duddington | |||
//2-letter groupds that represent classes of setswana nouns | |||
// mo, ba, mo, me, le, ma, se, di, lo, bo, go, fa, ko, mo | |||
.group a | |||
a a | |||
_C) a a | |||
_) a (C a | |||
a (_ a | |||
a (s a: | |||
aa a: | |||
.group b | |||
b b | |||
b B | |||
.group c | |||
c k | |||
ch tS | |||
.group d | |||
d d | |||
dh D | |||
.group e | |||
e e | |||
ee e: | |||
s) e i | |||
.group f | |||
f f | |||
.group g | |||
g g | |||
_k) g g x2 | |||
gh Q | |||
.group h | |||
h h | |||
hl l# | |||
.group i | |||
i i | |||
ii i: | |||
.group j | |||
j J | |||
.group k | |||
k k | |||
kh x | |||
.group l | |||
l l | |||
.group m | |||
m m | |||
_) m m- | |||
m (A m | |||
K) m (@@ _|m | |||
K) m (C m- | |||
K) m (b@@ _|m | |||
K) m (v@@ _|m | |||
K) m (w@@ _|m | |||
.group n | |||
n n | |||
_) n n- | |||
n (A n | |||
n (@@ n | |||
ny n^ | |||
n (ch n^ | |||
n (j n^ | |||
ng' N | |||
n (k N | |||
_) n (k N- | |||
_) n (k@@ N- | |||
n (g N | |||
_) n (g N- | |||
_) n (g@@ N- | |||
.group o | |||
o o | |||
oo o: | |||
.group p | |||
p p | |||
.group q | |||
q k | |||
.group r | |||
r r | |||
r R | |||
r R3 | |||
A) r (A R | |||
C) r (A @-* | |||
rr RR | |||
.group s | |||
s s | |||
sh S | |||
s (e s- | |||
_t) se si: | |||
.group t | |||
t t | |||
th T | |||
tsen ts'e:n | |||
tlh K | |||
tl l# | |||
.group u | |||
u u | |||
uu u: | |||
_d) u u: | |||
.group v | |||
v v | |||
.group w | |||
w w | |||
.group x | |||
x ks | |||
.group y | |||
y j | |||
.group z | |||
z z | |||
.group | |||
$ dola | |||
% asilimia | |||
* n^ota | |||
*) * (* | |||
** | |||
**) * (_ _:: | |||
@@ -1,83 +0,0 @@ | |||
// This file is UTF8 encoded | |||
// Spelling-to-phoneme rules for Tatar | |||
// Letters | |||
б be | |||
в we | |||
г ge | |||
д de | |||
е je | |||
ё jo | |||
ж Ze | |||
җ Z;e | |||
з ze | |||
и i | |||
й kVsk,A'i | |||
к kA | |||
л el | |||
м em | |||
н en | |||
ң eN | |||
о o: | |||
ө W: | |||
п pe | |||
р er | |||
с es | |||
т te | |||
у u | |||
ү y | |||
ф ef | |||
х xA | |||
һ he | |||
ц tse | |||
ч S;e | |||
ш SA | |||
щ SS;A | |||
ъ kAlVnl,Vqbilges'e | |||
ы V: | |||
ь neS;k&l,ekbilges'e | |||
э e|: | |||
ю ju | |||
я jA | |||
// Numbers | |||
_0 n'ul? | |||
_1 b'er | |||
_2 ik'e | |||
_3 'WS; | |||
_4 d'yrt | |||
_5 b'iS | |||
_6 Alt'V | |||
_7 Z;id'e | |||
_8 sig'ez | |||
_9 tug'Vz | |||
_10 'un | |||
_11 unb'er | |||
_12 unik'e | |||
_13 un'WS; | |||
_14 und'yrt | |||
_15 unb'iS | |||
_16 unAlt'V | |||
_17 unZ;id'e | |||
_18 unsig'ez | |||
_19 untug'Vz | |||
_2X egerm'e | |||
_3X ut'Vz | |||
_4X kVr'Vk | |||
_5X ill'e | |||
_6X Altm'VS | |||
_7X Z;itm'eS | |||
_8X siks'&n | |||
_9X tuks'An | |||
_0C j'Wz | |||
_0M1 m'eN | |||
_0M2 milli'on | |||
_1M2 milli'on | |||
_0M3 milli'Ard | |||
_1M3 milli'Ard | |||
_0M4 billi'on | |||
_1M4 billi'on | |||
_dpt _bWt,en |
@@ -1,134 +0,0 @@ | |||
// This file is UTF8 encoded | |||
// Spelling-to-phoneme rules for Tatar | |||
.group а | |||
а A | |||
.group ә | |||
ә & | |||
әе e: // 'әнкәен' | |||
.group б | |||
б b | |||
.group в | |||
в w // [v] in Russian words | |||
.group г | |||
г g // changes to [Q] or [Q"] | |||
.group д | |||
д d | |||
.group е | |||
_) е je2 // changes to [je] or [jV] | |||
е e | |||
.group ё | |||
ё jo | |||
.group ж | |||
ж Z | |||
.group җ | |||
җ Z; | |||
.group з | |||
з z | |||
.group и | |||
и i | |||
A) и j | |||
.group й | |||
й j | |||
K) й (K I // not next to a vowel | |||
.group к | |||
к k | |||
.group л | |||
л l | |||
.group м | |||
м m | |||
.group н | |||
н n | |||
// н (к N | |||
н (г N | |||
н (х N | |||
.group ң | |||
ң N | |||
.group о | |||
о o | |||
.group ө | |||
ө W | |||
.group п | |||
п p | |||
.group р | |||
р r | |||
.group с | |||
с s | |||
.group т | |||
т t | |||
.group у | |||
у u // or w | |||
A) у w | |||
.group ү | |||
ү y // or w | |||
A) ү w | |||
.group ф | |||
ф f | |||
.group х | |||
х x | |||
.group һ | |||
һ h | |||
.group ц | |||
ц ts | |||
.group ч | |||
ч S; | |||
.group ш | |||
ш S | |||
.group щ | |||
щ SS; | |||
.group ъ | |||
ъ ? | |||
.group ы | |||
ы V | |||
ый Vj // need a diphthong phoneme ?? | |||
.group ь | |||
ь ? | |||
.group э | |||
э e | |||
.group ю | |||
ю ju2 // changes to ju or jy | |||
.group я | |||
я ja // changes to jA or j& | |||
.group | |||
$ dolAR | |||
@@ -1,43 +0,0 @@ | |||
// Spelling-to-phoneme rules for Wolof (Senegal, Gambia) | |||
// This file is UTF-8 encoded | |||
// Numbers | |||
_0 t'us | |||
_1 b'En: | |||
_2 n^'a:R2 | |||
_3 n^'Et: | |||
_4 n^'E:nt | |||
_5 J'uR2o:m | |||
_6 J'uR2o:mbEn: | |||
_7 J'uR2o:mn^a:R2 | |||
_8 J'uR2o:mn^Et: | |||
_9 J'uR2o:mn^E:nt | |||
_1X f'uk: | |||
_2X n^'a:R2fuk: | |||
_3X n^'Et:fuk: | |||
_4X n^'E:ntfuk: | |||
_5X J'uR2o:mfuk: | |||
_6X J'uR2o:mbEn:fuk: | |||
_7X J'uR2o:mn^a:R2fuk: | |||
_8X J'uR2o:mn^Et:fuk: | |||
_9X J'uR2o:mn^E:ntfuk: | |||
_0C t'e:me:R2 | |||
_1C t'e:me:R2 | |||
_0M1 J'un:i | |||
_0M2 t'amndaR2E:t | |||
_0and %ak | |||
// Letter names | |||
// Symbols | |||
// Unstressed words | |||
// Exceptions | |||
@@ -1,128 +0,0 @@ | |||
// Spelling-to-phoneme rules for Wolof (Senegal, Gambia) | |||
// This file is UTF-8 encoded | |||
.group a | |||
a a | |||
aa a: | |||
.group b | |||
b b | |||
bb b: | |||
.group c | |||
c c | |||
cc c: | |||
.group d | |||
d d | |||
dd d: | |||
.group e | |||
e E | |||
ee E: | |||
.group é | |||
é e | |||
ée e: | |||
éé e: | |||
.group ë | |||
ë @ | |||
ëe @: | |||
ëë @: | |||
.group f | |||
f f | |||
.group g | |||
g g | |||
gg g: | |||
.group h | |||
h h | |||
.group i | |||
i i | |||
ii i: | |||
.group j | |||
j J | |||
j J: | |||
.group k | |||
k k | |||
kk k: | |||
.group l | |||
l l | |||
.group m | |||
m m | |||
mm m: | |||
K) m (K m- | |||
.group n | |||
n n | |||
nn n: | |||
K) n (K n- | |||
.group ŋ | |||
ŋ N | |||
ŋŋ N: | |||
K) ŋ (K N- | |||
.group ñ | |||
ñ n^ | |||
.group o | |||
o O | |||
oo O: | |||
.group ó | |||
ó o | |||
óo o: | |||
óó o: | |||
.group p | |||
p p | |||
pp p: | |||
.group q | |||
q q | |||
qq q: | |||
.group r | |||
r R2 | |||
r (r R | |||
.group s | |||
s s | |||
ss ss2 | |||
.group t | |||
t t | |||
tt t: | |||
.group u | |||
u u | |||
uu u: | |||
.group v | |||
v v | |||
.group w | |||
w w | |||
.group x | |||
x x | |||
.group y | |||
y j | |||
.group z | |||
z z | |||
.group | |||
$ dOlaR2 |
@@ -3,7 +3,7 @@ | |||
// condition ?1 Speak English letters as English words | |||
// condition ?2 Speak English letter as jyutping romanisation | |||
//voice=zh-yue // to find the voice for this dictionary | |||
.group a | |||
?1 a _^_EN |
@@ -29,22 +29,12 @@ Some Linux distrubitions (eg. SuSe 10) have version 19 of PortAudio which has a | |||
The speak program may be compiled without using PortAudio, by removing the line<pre> #define USE_PORTAUDIO | |||
</pre>in the file speech.h. | |||
<p> <hr> | |||
<h3>2.1.2 Use with KDE Text-to-Speech (KTTS)</h3> | |||
To add to KDE-Text-to-Speech Manager (KTTSMgr), use it as a "Command" talker | |||
with "command for speaking texts" set to:<br> | |||
<strong>cat %f | espeak --stdin -w %w -v en -s190</strong> | |||
<p> | |||
In this example, "en" is the voice name, "190" is the speed. | |||
<p> | |||
Note: | |||
<ul> | |||
<li>When used by the KTTS system, I noticed a slight background hiss with the speech, which is not present when I use <strong>espeak</strong> directly from the command line. This was because KDE sound default was set to "8 bits" rather than 16 bits.<p> | |||
<li>KTTSMgr breaks the text into sentences to pass to the speech engine, but it mistakenly assumes sentence breaks when dots follow abbreviations and therefore pauses after the dots in "eg. Mr. John B. Smith etc." Speaking a text file directly with <strong>espeak</strong> gives better results in this respect. | |||
</ul> | |||
<p> <hr> | |||
<h3>2.1.3 Windows</h3> | |||
The installer: <strong>setup_espeak.exe</strong> installs the SAPI5 version of eSpeak. It also installs a command line program <strong>espeak</strong> in the espeak directory. | |||
<h3>2.1.2 Windows</h3> | |||
The installer: <strong>setup_espeak.exe</strong> installs the SAPI5 version of eSpeak. | |||
During installation you need to specify which voices you want to appear in SAPI5 voice menus. | |||
<p> | |||
It also installs a command line program <strong>espeak</strong> in the espeak program directory. | |||
<p> <hr> | |||
<h2>2.2 COMMAND OPTIONS</h2> | |||
@@ -176,7 +166,13 @@ The same as <strong>--compile</strong>, but source line numbers from the *_rules | |||
<p> | |||
<dt><strong>--ipa</strong><br> | |||
<dd> | |||
Writes phonemes to stdout, using the International Phonetic Alphabet (IPA). | |||
Writes phonemes to stdout, using the International Phonetic Alphabet (IPA).<br> | |||
If a phoneme name contains more than one letter (eg. [tS]) an optional parameter can be used to distinguish | |||
this from separate phonemes. | |||
<br> | |||
<code>--pho=1 </code> Use a tie character (U+0361) before subsequence letters. | |||
<br> | |||
<code>--pho=2 </code> Use a zero-width-joiner (U+200D) before subsequent letters. | |||
<p> | |||
<dt><strong>--path [="<directory path>"]</strong><br> | |||
<dd> |
@@ -311,6 +311,10 @@ S<number> may be followed by additonal letters (eg. S2ei ). Some of these | |||
<td><strong>f</strong></td> | |||
<td>the suffix means the next word is likely to be a verb.</td> | |||
</tr> | |||
<tr> | |||
<td><strong>m</strong></td> | |||
<td>after this suffix has been removed, additional suffixes may be removed.</td> | |||
</tr> | |||
</tbody> | |||
</table> | |||
</ul> |
@@ -46,7 +46,7 @@ The list of phoneme mnemonics for English, for use in the Pronunciation Dictiona | |||
The tables of the phonemes used by each language, with their properties and sound production. | |||
<h3><A href="intonation.html">Intonation</A></h3> | |||
Different intonation "tunes" may be defined for different languages for clauses which end in full-stop, comma, question-mark, and exclamation-mark. | |||
<h3><A href="speak_lib.h">eSpeak Libary API</A></h3> | |||
<h3><A href="speak_lib.h">eSpeak Library API</A></h3> | |||
API definition and header file for a shared library version of eSpeak. | |||
<h3><A href="ssml.html">Markup tags</A></h3> | |||
SSML (Speech Synthesis Markup Language) and HTML tags recognized by eSpeak. |
@@ -228,31 +228,50 @@ where the <code>ELSE</code> and multiple <code>ELSE</code> parts are optional. | |||
<p> | |||
Multiple conditions may be joined with <code>AND</code> or <code>OR</code>, but not a mixture of <code>AND</code>s and <code>OR</code>s. | |||
<p> | |||
A condition may be preceded by <code>NOT</code>. For example: | |||
<pre> | |||
IF <condition> AND NOT <condition> THEN | |||
<statements> | |||
ENDIF | |||
</pre> | |||
<p> | |||
<strong>Condition</strong> | |||
Can be: | |||
<ul> | |||
<dl> | |||
<dt>thisPh(<attribute>) | |||
<dd>Test this current phoneme | |||
<p> | |||
<dt>prevPh(<attribute>) | |||
<dd>Test the previous phoneme | |||
<p> | |||
<dt>prevPhW(<attribute>) | |||
<dd>Test the previous phoneme, but only within the same word. Returns false if there is no previous phoneme in the word. | |||
<p> | |||
<dt>thisPh(<attribute>) | |||
<dd>Test this current phoneme | |||
<dt>prev2PhW(<attribute>) | |||
<dd>Test the phoneme before the previous phoneme, but only within the same word. Returns false if it is not in this word. | |||
<p> | |||
<dt>nextPh(<attribute>) | |||
<dd>Test the following phoneme | |||
<p> | |||
<dt>nextPhW(<attribute>) | |||
<dd>Test the following phoneme, but only within the same word. Returns false if there is no following phoneme in the word. | |||
<p> | |||
<dt>next2Ph(<attribute>) | |||
<dd>Test the phoneme after the next phoneme. | |||
<p> | |||
<dt>nextPhW(<attribute>) | |||
<dd>Test the next phoneme, but only within the same word. Returns false if there is no following phoneme in the word. | |||
<p> | |||
<dt>next2PhW(<attribute>) | |||
<dd>Test the phoneme after the next phoneme, but only within the same word. Returns false if not found before the word end. | |||
<p> | |||
<dt>next3PhW(<attribute>) | |||
<dd>Test the third phoneme after the current phoneme, but only within the same word. Returns false if not found before the word end. | |||
<p> | |||
<dt>nextVowel(<attribute>) | |||
<dd>Test the next vowel after the current phoneme, but only within the same word. Returns false if there is none. | |||
<p> | |||
<dt>prevVowel(<attribute>) | |||
<dd>Test the previous vowel before the current phoneme, but only within the same word. Returns false if there is none. | |||
<p> | |||
<dt>PreVoicing() | |||
<dd>This is used as part of the instructions for voiced stop consonants (eg. [d] [g]). If true then produce a voiced murmur before the stop. | |||
<p> | |||
@@ -263,6 +282,7 @@ Can be: | |||
<strong>Attributes</strong> | |||
<ul> | |||
Note: Additional attributes could be added to eSpeak if needed. | |||
<p> | |||
<dl> | |||
<dt><phoneme name> | |||
<dd>True if the phoneme has this phoneme name. | |||
@@ -294,8 +314,10 @@ Note: Additional attributes could be added to eSpeak if needed. | |||
<dt>isWordEnd | |||
<dd>True if this is the final phoneme in a word. | |||
<p> | |||
<dt>isFirstVowel | |||
<dt>isSecondVowel | |||
<dt>isFinalVowel | |||
<dd>True if this is the last vowel in a word. | |||
<dd>True if this is the First, Second, or Last vowel in a word. | |||
<p> | |||
<dt>isAfterStress | |||
<dd>True if this phoneme is after the stressed vowel in a word. |
@@ -17,6 +17,11 @@ The available voice files can be listed by:<pre> | |||
espeak --voices | |||
or | |||
espeak --voices=<language></pre> | |||
also | |||
<pre> espeak --voices=<variant></pre> | |||
Lists voice variants which can be applied to eSpeak voices. | |||
<pre> espeak --voices=<mbrola></pre> | |||
Lists the Mbrola voices. | |||
<hr> | |||
<h3>5.2 Contents of Voice Files</h3> | |||
The <strong>language</strong> attribute is mandatory. All the other attributes are optional. | |||
@@ -141,6 +146,11 @@ don't have their own <strong>tone</strong> statement. | |||
<dd> | |||
These values give bandwidths of the noise peaks of the <strong>breath</strong> attribute. If <strong>breathw</strong> values are not given, then suitable default values will be used. | |||
<p> | |||
<dt> | |||
<strong>speed <value></strong><br> | |||
<dd> Default value 100.<br> | |||
Adjusts the speaking speed by a percentage of the default rate. This can be used if a language voice seems faster or slower compared to other voices. | |||
<p> | |||
</dl> | |||
</ul> | |||
<h4>Language Attributes</h4> | |||
@@ -229,6 +239,22 @@ See <a href="dictionary.html">dictionary.html</a>. | |||
The ISO 8859 character set number. (not all are implemented). | |||
</dd> | |||
<p> | |||
<dt> | |||
<strong>dictmin <value></strong><br> | |||
<dd> | |||
Used for some languages to detect if additional language data is installed. | |||
If the size of the compiled dictionary data for the language (the file <code>espeak-data/*_dict</code>) is less than | |||
this size then a warning is given. | |||
<p> | |||
<dt> | |||
<strong>alphabet2 <alphabet> <language></strong><br> | |||
<dd> | |||
Used to specify a language to be used to speak words which are written in a non-native alphabet. eg: | |||
<pre> alphabet2 cyr ru | |||
</pre> | |||
Alphabets names include: latin, cyr (cyrillic), ar (arabic). The default language for latin alphabet is English. | |||
</dd> | |||
<p> | |||
Additional attributes are available to set various internal options which control how language is processed. These would normally be set in the program code rather than in a voice file. | |||
</ul> | |||
<hr> | |||
@@ -240,7 +266,7 @@ speak command. | |||
<dl> | |||
<dt> | |||
<strong>default</strong><br> | |||
<dd> This voice is used if none is specified in the speak command. Copy your preferred voice to "default" so you can use the speak command without the need to specify a voice.</dd> | |||
<dd> This voice is used if none is specified in the speak command. You can copy your preferred voice to "default" so you can use the speak command without the need to specify a voice.</dd> | |||
</dl> | |||
For a list of voices provided for English and other languages see <a href="languages.html">Languages</a>. | |||
@@ -0,0 +1,17 @@ | |||
// Last updated: 14 October 2010, Jason Ong ([email protected]) | |||
name malay | |||
language ms | |||
gender male | |||
phonemes id | |||
translator id | |||
stressLength 160 200 180 180 0 0 220 240 | |||
stressAmp 16 18 18 18 0 0 22 21 | |||
intonation 3 // Less intonation, and comma does not raise the pitch. | |||
// Nuance - Peninsula Malaysia | |||
// replace 3 a @ // change 'saya' to 'saye' | |||
// (only the last phoneme of a word, only in unstressed syllables) | |||
consonants 80 80 |
@@ -1,2 +1,2 @@ | |||
name punjabi-test | |||
name punjabi | |||
language pa |
@@ -1,4 +1,3 @@ | |||
name aragon | |||
name aragonese | |||
language an | |||
gender male |
@@ -1,4 +1,4 @@ | |||
name french (Belgium) | |||
name french-Belgium | |||
language fr-be | |||
language fr 8 | |||
gender male |
@@ -1,3 +1,3 @@ | |||
language nl | |||
name dutch-test | |||
name dutch | |||
gender male |
@@ -0,0 +1,3 @@ | |||
name bengali | |||
language bn | |||
gender male |
@@ -1,4 +1,4 @@ | |||
name nahuatl - classical | |||
name nahuatl-classical | |||
language nci | |||
gender male | |||
@@ -8,28 +8,64 @@ | |||
import sys | |||
import os | |||
voices = set() | |||
dictionaries = {} | |||
# Map voice names to dictionaries when these do not match. | |||
special_voices = { | |||
'zh-yue': 'zhy', | |||
} | |||
def find_voices(path): | |||
for filename in os.listdir(path): | |||
voice_path = os.path.join(path, filename) | |||
if os.path.isdir(voice_path): | |||
if not filename in ['!v', 'mb']: | |||
find_voices(voice_path) | |||
else: | |||
if filename in special_voices.keys(): | |||
voices.add(special_voices[filename]) | |||
else: | |||
voices.add(filename) | |||
find_voices('espeak-data/voices') | |||
for filename in os.listdir('dictsource'): | |||
if filename.endswith('_rules') or filename.endswith('_list') or filename.endswith('_listx'): | |||
dic, cat = filename.split('_') | |||
if not dic in dictionaries.keys(): | |||
dictionaries[dic] = [] | |||
dictionaries[dic].append('dictsource/%s' % filename) | |||
print '##### dictionaries:' | |||
print 'dictionaries: \\' | |||
for n, name in enumerate(sorted(dictionaries.keys())): | |||
if not name in ['bo']: # espeak fails to read these voices | |||
if n == len(dictionaries.keys()) - 1: | |||
print '\tespeak-data/%s_dict' % name | |||
else: | |||
print '\tespeak-data/%s_dict \\' % name | |||
for name, files in sorted(dictionaries.items()): | |||
print '%s: espeak-data/%s_dict' % (name, name) | |||
print 'dictsource/%s_extra:' % name | |||
print '\ttouch dictsource/%s_extra' % name | |||
print 'espeak-data/%s_dict: src/espeak espeak-data/phontab %s dictsource/%s_extra' % (name, ' '.join(sorted(files)), name) | |||
print '\tcd dictsource && ../src/espeak --compile=%s && cd ..' % name | |||
if dic in voices: | |||
if not dic in dictionaries.keys(): | |||
dictionaries[dic] = [] | |||
dictionaries[dic].append('dictsource/%s' % filename) | |||
def write_dictionary_make_rules(f): | |||
f.write('##### dictionaries:\n') | |||
f.write('\n') | |||
f.write('dictionaries: \\\n') | |||
for n, name in enumerate(sorted(dictionaries.keys())): | |||
if not name in ['bo']: # espeak fails to read these voices | |||
if n == len(dictionaries.keys()) - 1: | |||
f.write('\tespeak-data/%s_dict\n' % name) | |||
else: | |||
f.write('\tespeak-data/%s_dict \\\n' % name) | |||
for name, files in sorted(dictionaries.items()): | |||
f.write('\n') | |||
f.write('%s: espeak-data/%s_dict\n' % (name, name)) | |||
f.write('dictsource/%s_extra:\n' % name) | |||
f.write('\ttouch dictsource/%s_extra\n' % name) | |||
f.write('espeak-data/%s_dict: src/espeak espeak-data/phontab %s dictsource/%s_extra\n' % (name, ' '.join(sorted(files)), name)) | |||
f.write('\tcd dictsource && ../src/espeak --compile=%s && cd ..\n' % name) | |||
try: | |||
filename = sys.argv[1] | |||
except: | |||
filename = None | |||
if filename: | |||
with open(filename, 'r') as f: | |||
prelude = f.read().split('##### dictionaries:\n')[0] | |||
with open(filename, 'w') as f: | |||
f.write(prelude) | |||
write_dictionary_make_rules(f) | |||
else: | |||
write_dictionary_make_rules(sys.stdout) |
@@ -1,6 +1,5 @@ | |||
// CR1 doesn't like same phonemes twice | |||
0 e E 5 e _ | |||
// ID1 and MS1 don't like same phonemes twice | |||
0 s s 5 s _ | |||
0 ? k 5 k _ | |||
0 t t 5 t _ | |||
@@ -8,6 +7,10 @@ | |||
0 n n 5 n _ | |||
0 p p 5 p _ | |||
0 l/ l 5 l _ | |||
0 h h 5 h _ | |||
0 k k 5 k _ | |||
0 z z 5 z _ | |||
0 D D 5 z _ | |||
0 l/2 NULL 0 l | |||
0 l/ NULL 0 l | |||
@@ -28,10 +31,13 @@ | |||
0 a NULL 0 V | |||
0 E NULL 0 e | |||
0 E2 NULL 0 e | |||
0 i NULL 0 I | |||
0 o NULL 0 Q | |||
0 O NULL 0 Q | |||
0 u NULL 0 U | |||
// 'id1' has phonemes OI aI aU | |||
0 n^ NULL 0 nY | |||
0 ? NULL 0 k | |||
@@ -40,3 +46,35 @@ | |||
0 R NULL 0 r | |||
0 x NULL 0 h | |||
// some English phonemes | |||
0 A: NULL 60 V r | |||
0 A@ NULL 60 V r | |||
0 eI NULL 0 e | |||
0 oU NULL 60 Q U | |||
0 u: NULL 0 U | |||
0 i: NULL 0 I | |||
0 I2 NULL 0 I | |||
0 I# NULL 0 I | |||
0 3 NULL 0 @ | |||
0 3: NULL 0 @ | |||
0 e@ NULL 0 e | |||
0 i@ NULL 60 I @ | |||
0 i@3 NULL 60 I r | |||
0 o@ NULL 60 Q @ | |||
0 O@ NULL 60 Q @ | |||
0 O: NULL 80 Q @ | |||
0 U@ NULL 60 U @ | |||
0 0 NULL 0 Q | |||
0 a# NULL 0 @ | |||
0 aa NULL 0 V | |||
0 @L NULL 50 @ l | |||
0 aI @ 5 aI _ | |||
0 aI 3 5 aI _ | |||
0 aU @ 5 aU _ | |||
0 aI@ NULL 75 V @ | |||
0 aI3 NULL 75 V r | |||
0 aU@ NULL 75 V @ | |||
0 Z NULL 60 z j | |||
0 T NULL 0 t | |||
0 D NULL 0 z |
@@ -3,35 +3,92 @@ | |||
// Bengali, inherits from Hindi | |||
//==================================================== | |||
phoneme @ | |||
vowel flag1 starttype #@ endtype #@ | |||
length 65 | |||
ChangeIfDiminished(@-) | |||
IF nextPh(H) THEN | |||
FMT(vowel/@_low) | |||
phoneme V // inherent vowel, can be [O] or [o] | |||
vowel flag1 starttype #o endtype #o | |||
length 200 | |||
IF thisPh(isWordEnd) AND prevPhW(isNotVowel) AND prev2PhW(isVowel) THEN | |||
ChangePhoneme(NULL) | |||
ENDIF | |||
FMT(vowel/@_bck) | |||
endphoneme | |||
IF thisPh(isFirstVowel) THEN | |||
IF nextVowel(i) OR nextVowel(u) THEN | |||
ChangePhoneme(o) | |||
ENDIF | |||
IF prevPhW(r) THEN | |||
ChangePhoneme(o) | |||
ENDIF | |||
ENDIF | |||
phoneme V | |||
vowel flag1 starttype #@ endtype #@ | |||
length 180 | |||
CALL hi/V | |||
ChangePhoneme(O) | |||
endphoneme | |||
phoneme a: | |||
vowel long starttype #a endtype #a | |||
length 230 | |||
phoneme a | |||
vowel starttype #a endtype #a | |||
length 225 | |||
FMT(vowel/aa_9) | |||
endphoneme | |||
phoneme o: | |||
vowel long starttype #o endtype #o | |||
length 220 | |||
FMT(vowel/o_2) | |||
phoneme i | |||
vowel starttype #i endtype #i | |||
length 200 | |||
FMT(vowel/i_6) | |||
endphoneme | |||
phoneme u | |||
vowel starttype #u endtype #u | |||
length 200 | |||
FMT(vowel/u) | |||
endphoneme | |||
phoneme e | |||
vowel starttype #e endtype #e | |||
length 200 | |||
FMT(vowel/e) | |||
endphoneme | |||
phoneme & | |||
vowel starttype #a endtype #a | |||
length 200 | |||
FMT(vowel/&_2) | |||
endphoneme | |||
phoneme o | |||
vowel starttype #o endtype #o | |||
length 200 | |||
IF nextPhW(w) THEN | |||
length 160 | |||
ENDIF | |||
FMT(vowel/o) | |||
endphoneme | |||
phoneme O | |||
vowel starttype #o endtype #o | |||
length 200 | |||
FMT(vowel/oo_5) | |||
endphoneme | |||
phoneme tS | |||
import_phoneme base/tS | |||
endphoneme | |||
phoneme tS# | |||
import_phoneme base/tS | |||
endphoneme | |||
phoneme ~ | |||
virtual | |||
endphoneme | |||
@@ -145,10 +145,7 @@ phoneme @2 // Schwa, changes to I before a vowel | |||
IF nextPh(isVowel) THEN | |||
ChangePhoneme(I2) | |||
ENDIF | |||
IF nextPh(isVowel) THEN | |||
FMT(vowel/ii_4) | |||
ENDIF | |||
FMT(vowel/@) | |||
ChangePhoneme(@) | |||
endphoneme | |||
@@ -159,7 +156,7 @@ phoneme @5 // Schwa, changes to U before a vowel | |||
IF nextPh(isVowel) OR nextPh(isPause) THEN | |||
ChangePhoneme(U) | |||
ENDIF | |||
FMT(vowel/@) | |||
ChangePhoneme(@) | |||
endphoneme | |||
@@ -36,7 +36,7 @@ phoneme @2 // Schwa, changes to I before a vowel | |||
IF nextPh(isVowel) THEN | |||
ChangePhoneme(I2) | |||
ENDIF | |||
FMT(vowel/@_3) | |||
ChangePhoneme(@) | |||
endphoneme | |||
@@ -47,7 +47,7 @@ phoneme @5 // Schwa, changes to U before a vowel | |||
IF nextPh(isVowel) OR nextPh(isPause) THEN | |||
ChangePhoneme(U) | |||
ENDIF | |||
FMT(vowel/@_3) | |||
ChangePhoneme(@) | |||
endphoneme | |||
@@ -342,12 +342,12 @@ endphoneme | |||
phoneme iR | |||
phoneme iR // TEST "vier" = [f'iR] not successful | |||
vowel starttype #i endtype #@ | |||
ipa iɐ | |||
flag1 | |||
length 180 | |||
FMT(vdiph2/i@_2) | |||
length 230 | |||
FMT(vdiph2/i@_3) | |||
endphoneme | |||
@@ -3,6 +3,9 @@ phoneme @ | |||
vowel starttype #@ endtype #@ | |||
unstressed | |||
length 140 | |||
IF prevPh(@) THEN | |||
InsertPhoneme(_|) | |||
ENDIF | |||
FMT(vowel/@_low) | |||
endphoneme | |||
@@ -11,6 +14,9 @@ endphoneme | |||
phoneme a | |||
vowel starttype #a endtype #a | |||
length 180 | |||
IF prevPh(a) THEN | |||
InsertPhoneme(_|) | |||
ENDIF | |||
ChangeIfUnstressed(a/) | |||
FMT(vowel/a) | |||
endphoneme | |||
@@ -19,6 +25,9 @@ endphoneme | |||
phoneme E | |||
vowel starttype #e endtype #e | |||
length 180 | |||
IF prevPh(#e) THEN | |||
InsertPhoneme(_|) | |||
ENDIF | |||
ChangeIfUnstressed(@) | |||
FMT(vowel/e_mid) | |||
endphoneme | |||
@@ -26,6 +35,9 @@ endphoneme | |||
phoneme E2 // as [E] but don't reduce to [@] | |||
vowel starttype #e endtype #e | |||
length 180 | |||
IF prevPh(#e) THEN | |||
InsertPhoneme(_|) | |||
ENDIF | |||
FMT(vowel/e_mid) | |||
endphoneme | |||
@@ -33,6 +45,9 @@ endphoneme | |||
phoneme e | |||
vowel starttype #e endtype #e | |||
length 180 | |||
IF prevPh(#e) THEN | |||
InsertPhoneme(_|) | |||
ENDIF | |||
FMT(vowel/e) | |||
endphoneme | |||
@@ -40,7 +55,9 @@ endphoneme | |||
phoneme i | |||
vowel starttype #i endtype #i | |||
length 180 | |||
IfNextVowelAppend(;) | |||
IF prevPh(i) THEN | |||
InsertPhoneme(_|) | |||
ENDIF | |||
FMT(vowel/i_6) | |||
endphoneme | |||
@@ -48,6 +65,9 @@ endphoneme | |||
phoneme O | |||
vowel starttype #o endtype #o | |||
length 180 | |||
IF prevPh(#o) THEN | |||
InsertPhoneme(_|) | |||
ENDIF | |||
FMT(vowel/oo) | |||
endphoneme | |||
@@ -55,6 +75,9 @@ endphoneme | |||
phoneme o | |||
vowel starttype #o endtype #o | |||
length 180 | |||
IF prevPh(#o) THEN | |||
InsertPhoneme(_|) | |||
ENDIF | |||
FMT(vowel/o) | |||
endphoneme | |||
@@ -62,6 +85,9 @@ endphoneme | |||
phoneme u | |||
vowel starttype #u endtype #u | |||
length 180 | |||
IF prevPh(u) THEN | |||
InsertPhoneme(_|) | |||
ENDIF | |||
FMT(vowel/u) | |||
endphoneme | |||
@@ -69,6 +95,12 @@ endphoneme | |||
phoneme aI | |||
vowel starttype #a endtype #i | |||
length 240 | |||
IF prevPh(isVowel) THEN | |||
InsertPhoneme(_|) | |||
ENDIF | |||
IF nextPh(isVowel) THEN | |||
AppendPhoneme(_|) | |||
ENDIF | |||
FMT(vdiph/ai) | |||
endphoneme | |||
@@ -78,9 +110,27 @@ phoneme eI | |||
FMT(vdiph/eei_2) | |||
endphoneme | |||
phoneme OI | |||
vowel starttype #o endtype #i | |||
length 240 | |||
IF prevPh(isVowel) THEN | |||
InsertPhoneme(_|) | |||
ENDIF | |||
IF nextPh(isVowel) THEN | |||
AppendPhoneme(_|) | |||
ENDIF | |||
FMT(vdiph/ooi) | |||
endphoneme | |||
phoneme aU | |||
vowel starttype #a endtype #u | |||
length 240 | |||
IF prevPh(isVowel) THEN | |||
InsertPhoneme(_|) | |||
ENDIF | |||
IF nextPh(isVowel) THEN | |||
AppendPhoneme(_|) | |||
ENDIF | |||
FMT(vdiph/au_4) | |||
endphoneme | |||
@@ -6,17 +6,17 @@ | |||
phoneme @ // Schwa, but always unstressed | |||
vowel starttype #@ endtype #@ | |||
unstressed | |||
length 100 | |||
length 110 | |||
IF nextPh(i:) THEN | |||
Length 70 | |||
Length 80 | |||
FMT(vwl_af/r@) | |||
ENDIF | |||
IF nextPh(I) THEN | |||
Length 70 | |||
Length 80 | |||
FMT(vwl_af/r@) | |||
ENDIF | |||
IF nextPh(e:) THEN | |||
Length 70 | |||
Length 80 | |||
FMT(vwl_af/r@) | |||
ENDIF | |||
FMT(vwl_af/@) | |||
@@ -25,14 +25,14 @@ endphoneme | |||
phoneme @/ | |||
vowel starttype #@ endtype #@ | |||
length 120 | |||
length 130 | |||
FMT(vowel/@) | |||
endphoneme | |||
phoneme a | |||
vowel starttype #a endtype #a | |||
length 150 | |||
length 165 | |||
FMT(vowel/a_4) | |||
endphoneme | |||
@@ -40,7 +40,7 @@ endphoneme | |||
phoneme a# | |||
vowel starttype #@ endtype #@ | |||
ipa ɐ | |||
length 120 | |||
length 130 | |||
ChangeIfStressed(a) | |||
FMT(vowel/a#_3) | |||
endphoneme | |||
@@ -48,13 +48,13 @@ endphoneme | |||
phoneme E | |||
vowel starttype #e endtype #e | |||
length 140 | |||
length 155 | |||
FMT(vowel/e_mid) | |||
endphoneme | |||
phoneme E# | |||
vowel starttype #@ endtype #@ | |||
length 120 | |||
length 130 | |||
ChangeIfStressed(E) | |||
ChangePhoneme(@/) | |||
endphoneme | |||
@@ -62,27 +62,27 @@ endphoneme | |||
phoneme I | |||
vowel starttype #i endtype #i | |||
length 120 | |||
length 130 | |||
FMT(vowel/ii_2) | |||
endphoneme | |||
phoneme i // non syllabic i for end of words | |||
vowel starttype #i endtype #i | |||
ipa iU+032F | |||
length 40 | |||
length 45 | |||
FMT(vowel/ii_7) | |||
endphoneme | |||
phoneme O | |||
vowel starttype #a endtype #@ | |||
length 140 | |||
length 155 | |||
FMT(vowel/V_4) | |||
endphoneme | |||
phoneme O# | |||
vowel starttype #@ endtype #@ | |||
length 120 | |||
length 130 | |||
ChangeIfStressed(O) | |||
ChangePhoneme(a#) | |||
endphoneme | |||
@@ -90,13 +90,13 @@ endphoneme | |||
phoneme U | |||
vowel starttype #u endtype #u | |||
length 140 | |||
length 155 | |||
FMT(vowel/uu) | |||
endphoneme | |||
phoneme U# | |||
vowel starttype #@ endtype #@ | |||
length 120 | |||
length 130 | |||
ChangeIfStressed(U) | |||
ChangePhoneme(@/) | |||
endphoneme | |||
@@ -104,20 +104,20 @@ endphoneme | |||
phoneme u1 | |||
vowel starttype #u endtype #u | |||
ipa uU+0306 | |||
length 50 | |||
length 55 | |||
FMT(vowel/u) | |||
endphoneme | |||
phoneme 0 | |||
vowel starttype #a endtype #a | |||
length 180 | |||
length 195 | |||
ipa A | |||
FMT(vowel/aa_8) | |||
endphoneme | |||
phoneme 0# | |||
vowel starttype #@ endtype #@ | |||
length 120 | |||
length 130 | |||
ChangeIfStressed(0) | |||
ChangePhoneme(a#) | |||
endphoneme | |||
@@ -125,7 +125,7 @@ endphoneme | |||
phoneme o: | |||
vowel starttype #o endtype #o | |||
length 190 | |||
length 210 | |||
FMT(vowel/o) | |||
endphoneme | |||
@@ -134,21 +134,21 @@ endphoneme | |||
phoneme A: | |||
vowel starttype #a endtype #a | |||
length 200 | |||
length 220 | |||
FMT(vowel/aa_2) | |||
endphoneme | |||
phoneme e: | |||
vowel starttype #e endtype #e | |||
length 210 | |||
length 230 | |||
FMT(vowel/e) | |||
endphoneme | |||
phoneme i: | |||
vowel starttype #i endtype #i | |||
length 210 | |||
length 230 | |||
FMT(vowel/i) | |||
endphoneme | |||
@@ -157,7 +157,7 @@ endphoneme | |||
phoneme u: | |||
vowel starttype #u endtype #u | |||
length 210 | |||
length 230 | |||
FMT(vowel/u_bck) | |||
endphoneme | |||
@@ -167,44 +167,44 @@ endphoneme | |||
phoneme @U | |||
vowel starttype #@ endtype #u | |||
length 240 | |||
length 260 | |||
FMT(vdiph/@u_3) | |||
endphoneme | |||
phoneme i@ | |||
vowel starttype #i endtype #@ | |||
length 240 | |||
length 260 | |||
FMT(vdiph2/i@) | |||
endphoneme | |||
phoneme u@ | |||
vowel starttype #u endtype #@ | |||
length 240 | |||
length 260 | |||
FMT(vdiph2/u@) | |||
endphoneme | |||
phoneme aI | |||
vowel starttype #a endtype #i | |||
length 250 | |||
length 275 | |||
FMT(vdiph/ai) | |||
endphoneme | |||
phoneme aI# | |||
vowel starttype #@ endtype #@ | |||
length 120 | |||
length 130 | |||
ChangeIfStressed(aI) | |||
ChangePhoneme(a#) | |||
endphoneme | |||
phoneme aU | |||
vowel starttype #a endtype #u | |||
length 270 | |||
length 300 | |||
FMT(vdiph/au_4) | |||
endphoneme | |||
phoneme aU# | |||
vowel starttype #@ endtype #@ | |||
length 120 | |||
length 130 | |||
ChangeIfStressed(aU) | |||
FMT(vdiph/au_4) | |||
endphoneme | |||
@@ -237,3 +237,7 @@ phoneme ; // linking j, used between (i) vowels and a following vowel | |||
ENDIF | |||
endphoneme | |||
phoneme eI | |||
import_phoneme en/eI | |||
endphoneme |
@@ -133,6 +133,18 @@ phoneme w | |||
endphoneme | |||
phoneme x // [r] for Portugal | |||
liquid | |||
trill | |||
ipa ʁ | |||
lengthmod 7 | |||
Vowelin f1=0 f2=1500 -400 400 f3=-400 80 | |||
IF nextPh(isNotVowel) THEN | |||
ChangePhoneme(r/) | |||
ENDIF | |||
FMT(vwl_fr/@R) addWav(r3/rx, 120) | |||
endphoneme | |||
phoneme R // for Portugal this is same the as [r] | |||
import_phoneme pt/r |
@@ -6,7 +6,7 @@ | |||
phoneme @ | |||
vowel starttype #a endtype #a | |||
length 130 | |||
length 150 | |||
FMT(vowel/@_low) | |||
endphoneme | |||
@@ -14,7 +14,7 @@ endphoneme | |||
phoneme a | |||
vowel long starttype #a endtype #a | |||
ipa ɐ | |||
length 130 | |||
length 150 | |||
ChangeIfNotStressed(@) | |||
FMT(vowel/a#_2) | |||
endphoneme | |||
@@ -29,42 +29,42 @@ endphoneme | |||
phoneme & | |||
vowel starttype #e endtype #e | |||
length 130 | |||
length 150 | |||
FMT(vowel/ee_6) | |||
endphoneme | |||
phoneme &: | |||
vowel starttype #e endtype #e | |||
length 270 | |||
length 300 | |||
FMT(vowel/ee_6) | |||
endphoneme | |||
phoneme e | |||
vowel starttype #e endtype #e | |||
length 130 | |||
length 150 | |||
FMT(vowel/e_mid) | |||
endphoneme | |||
phoneme e: | |||
vowel starttype #e endtype #e | |||
length 270 | |||
length 300 | |||
FMT(vowel/e_mid2) | |||
endphoneme | |||
phoneme i | |||
vowel starttype #i endtype #i | |||
length 130 | |||
length 150 | |||
FMT(vowel/i_6) | |||
endphoneme | |||
phoneme i: | |||
vowel starttype #i endtype #i | |||
length 270 | |||
length 300 | |||
FMT(vowel/i) | |||
endphoneme | |||
@@ -72,7 +72,7 @@ endphoneme | |||
phoneme o | |||
vowel starttype #o endtype #o | |||
length 130 | |||
length 150 | |||
FMT(vowel/oo_1) | |||
endphoneme | |||
@@ -86,13 +86,13 @@ endphoneme | |||
phoneme u | |||
vowel starttype #u endtype #u | |||
length 110 | |||
length 130 | |||
FMT(vowel/u_6) | |||
endphoneme | |||
phoneme u: | |||
vowel starttype #u endtype #u | |||
length 280 | |||
length 300 | |||
FMT(vowel/u_6) | |||
endphoneme | |||
@@ -100,13 +100,13 @@ endphoneme | |||
phoneme aI | |||
vowel long starttype #a endtype #i | |||
length 280 | |||
length 300 | |||
FMT(vdiph/ai_8) | |||
endphoneme | |||
phoneme aU | |||
vowel long starttype #a endtype #u | |||
length 270 | |||
length 300 | |||
FMT(vdiph/au) | |||
endphoneme | |||
@@ -130,21 +130,26 @@ endphoneme | |||
// temporary, map [n#] etc. to [n] etc. | |||
phoneme m# | |||
import_phoneme base/m | |||
ipa U+1D50 | |||
CALL base/m | |||
endphoneme | |||
phoneme n# | |||
import_phoneme base/n | |||
ipa U+207F | |||
CALL base/n | |||
endphoneme | |||
phoneme n.# | |||
import_phoneme base/n. | |||
ipa U+1DAF | |||
CALL base/n. | |||
endphoneme | |||
phoneme n^# | |||
import_phoneme base/n^ | |||
ipa U+1DAE | |||
CALL base/n^ | |||
endphoneme | |||
phoneme N# | |||
import_phoneme base/N | |||
ipa U+1D51 | |||
CALL base/N | |||
endphoneme |
@@ -1864,6 +1864,20 @@ include ph_georgian | |||
phonemetable fa base | |||
include ph_farsi | |||
// experimental | |||
phonemetable ko base | |||
include ph_korean | |||
phonemetable kl base | |||
include ph_greenlandic | |||
phonemetable am base | |||
include ph_amhari | |||
phonemetable si hi | |||
include ph_sinhala | |||
//************************************************************************************** | |||
// The following lines are experimental, for future additions. | |||
@@ -1882,61 +1896,49 @@ include ph_kinyarwanda | |||
//phonemetable mn base | |||
//include ph_mongolian | |||
phonemetable prs base | |||
include ph_dari | |||
//phonemetable prs base | |||
//include ph_dari | |||
phonemetable sl sk | |||
include ph_slovenian | |||
phonemetable gd base | |||
include ph_s_gaelic | |||
//phonemetable gd base | |||
//include ph_s_gaelic | |||
phonemetable nso base | |||
include ph_northern-sotho | |||
//phonemetable nso base | |||
//include ph_northern-sotho | |||
phonemetable ht fr | |||
include ph_haitian | |||
//phonemetable ht fr | |||
//include ph_haitian | |||
phonemetable az tr | |||
include ph_azerbaijani | |||
//phonemetable az tr | |||
//include ph_azerbaijani | |||
phonemetable ak base | |||
include ph_akan | |||
//phonemetable ak base | |||
//include ph_akan | |||
phonemetable am base | |||
include ph_amhari | |||
phonemetable wo base | |||
include ph_wolof | |||
phonemetable dv hi | |||
include ph_divehi | |||
phonemetable te hi | |||
include ph_telugu | |||
phonemetable si hi | |||
include ph_sinhala | |||
//phonemetable wo base | |||
//include ph_wolof | |||
phonemetable tn base | |||
include ph_setswana | |||
//phonemetable dv hi | |||
//include ph_divehi | |||
//phonemetable te hi | |||
//include ph_telugu | |||
phonemetable mt base | |||
include ph_maltese | |||
//phonemetable tn base | |||
//include ph_setswana | |||
phonemetable bo hi | |||
include ph_tibetan | |||
phonemetable kk base | |||
include ph_kazakh | |||
//phonemetable mt base | |||
//include ph_maltese | |||
phonemetable tt base | |||
include ph_tatar | |||
//phonemetable bo hi | |||
//include ph_tibetan | |||
phonemetable ko base | |||
include ph_korean | |||
//phonemetable kk base | |||
//include ph_kazakh | |||
phonemetable kl base | |||
include ph_greenlandic | |||
//phonemetable tt base | |||
//include ph_tatar | |||
@@ -14,5 +14,5 @@ The 'phondata-manifest' file is produced by espeakedit when it compiles | |||
the phoneme data. If it is not present here, find it in the espeak-data directory. | |||
NOTE: | |||
The format of espeak-data/phondata changed in eSpeak version 1.43. The utility | |||
The format of espeak-data/phondata changed in eSpeak version 1.47. The utility | |||
has been modified for this. [jonsd] |
@@ -1,8 +1,8 @@ | |||
; This is the script for "Inno Setup 5" to create the setup_espeak.exe installer for Windows | |||
; This is the script for "Inno Setup 5" to create the setup_espeak.exe installer for Windows | |||
[Setup] | |||
AppName=eSpeak | |||
AppVerName=eSpeak version 1.46.47 | |||
AppVerName=eSpeak version 1.47.01 | |||
AppCopyright=Licensed under GNU General Public License version 3. (See file License.txt for details). | |||
WindowVisible=yes | |||
@@ -48,18 +48,24 @@ Root: HKLM; Subkey: "Software\Microsoft\Speech\PhoneConverters\Tokens\eSpeak"; F | |||
[Languages] | |||
Name: "en"; MessagesFile: "compiler:Default.isl" | |||
Name: "af"; MessagesFile: "compiler:Languages\Afrikaans.isl" | |||
Name: "bg"; MessagesFile: "compiler:Languages\Bulgarian.isl" | |||
Name: "bs"; MessagesFile: "compiler:Languages\Bosnian.isl" | |||
Name: "cs"; MessagesFile: "compiler:Languages\Czech.isl" | |||
Name: "da"; MessagesFile: "compiler:Languages\Danish.isl" | |||
Name: "de"; MessagesFile: "compiler:Languages\German.isl" | |||
Name: "el"; MessagesFile: "compiler:Languages\Greek.isl" | |||
Name: "es"; MessagesFile: "compiler:Languages\Spanish.isl" | |||
Name: "fa"; MessagesFile: "compiler:Languages\Farsi.isl" | |||
Name: "fi"; MessagesFile: "compiler:Languages\Finnish.isl" | |||
Name: "fr"; MessagesFile: "compiler:Languages\French.isl" | |||
Name: "hi"; MessagesFile: "compiler:Languages\Hindi.islu" | |||
Name: "hr"; MessagesFile: "compiler:Languages\Croatian.isl" | |||
Name: "hu"; MessagesFile: "compiler:Languages\Hungarian.isl" | |||
Name: "id"; MessagesFile: "compiler:Languages\Indonesian-5.1.11.isl" | |||
Name: "it"; MessagesFile: "compiler:Languages\Italian.isl" | |||
Name: "lv"; MessagesFile: "compiler:Languages\Latvian-1-5.1.11.isl" | |||
Name: "ka"; MessagesFile: "compiler:Languages\Georgian.islu" | |||
Name: "lv"; MessagesFile: "compiler:Languages\Latvian.isl" | |||
Name: "ne"; MessagesFile: "compiler:Languages\Nepali.islu" | |||
Name: "nl"; MessagesFile: "compiler:Languages\Dutch.isl" | |||
Name: "no"; MessagesFile: "compiler:Languages\Norwegian.isl" | |||
Name: "pl"; MessagesFile: "compiler:Languages\Polish.isl" | |||
@@ -67,9 +73,9 @@ Name: "pt"; MessagesFile: "compiler:Languages\Portuguese.isl" | |||
Name: "ro"; MessagesFile: "compiler:Languages\Romanian.isl" | |||
Name: "ru"; MessagesFile: "compiler:Languages\Russian.isl" | |||
Name: "sk"; MessagesFile: "compiler:Languages\Slovak.isl" | |||
Name: "sq"; MessagesFile: "compiler:Languages\Albanian-2-5.1.11.isl" | |||
Name: "sr"; MessagesFile: "compiler:Languages\Serbian.isl" | |||
Name: "tr"; MessagesFile: "compiler:Languages\Turkish.isl" | |||
Name: "vi"; MessagesFile: "compiler:Languages\Vietnamese.isl" | |||
Name: "zh"; MessagesFile: "compiler:Languages\ChineseSimp-12-5.1.11.isl" | |||
[CustomMessages] | |||
@@ -77,26 +83,29 @@ v1=Select which voices to install | |||
v2=or press Enter to accept defaults | |||
v3=Enter voice names, eg: (for Portuguese) pt, or with a variant, eg: pt+f3 | |||
bs.v1=Odaberite jezik kojeg želite instalirati | |||
bs.v1=Odaberite jezik kojeg želite instalirati | |||
bs.v2=ili pritisnite Enter za prihvat zadanih. | |||
bs.v3=Upišite, npr. bs (za Bosanski) ili s varjantom: bs+f3 | |||
bs.v3=Upišite, npr. bs (za Bosanski) ili s varjantom: bs+f3 | |||
fr.v1=Sélectionnez les voix à installer | |||
fr.v2=ou appuyez sur Entrée pour accepter les valeurs par défaut. | |||
fr.v3=Entrez le nom des voix, ex : (pour le Français) fr, ou avec une variante ex : fr+f3 | |||
fr.v1=Sélectionnez les voix à installer | |||
fr.v2=ou appuyez sur Entrée pour accepter les valeurs par défaut. | |||
fr.v3=Entrez le nom des voix, ex : (pour le Français) fr, ou avec une variante ex : fr+f3 | |||
hr.v1=Odaberite jezik kojeg želite instalirati | |||
hr.v1=Odaberite jezik kojeg želite instalirati | |||
hr.v2=ili pritisnite Enter za prihvat zadanih. | |||
hr.v3=Upišite, npr. hr (za Hrvatski) ili s varjantom: hr+f3 | |||
hr.v3=Upišite, npr. hr (za Hrvatski) ili s varjantom: hr+f3 | |||
pt.v1=Seleccione as vozes que pretende instalar | |||
pt.v2=ou precione enter para aceitar as predefinidas. | |||
pt.v3=Introduza os nomes das vozes, ex: (Brazil) pt (ou Portugal) pt-pt, ou com outras caracter?sticas, ex: pt+f3 | |||
sr.v1=Molimo vas da odaberete glasove, koje želite da instalirate | |||
sr.v1=Molimo vas da odaberete glasove, koje želite da instalirate | |||
sr.v2=ili pritisnite Enter za instalaciju podrazumevanih glasova. | |||
sr.v3=Da odaberete glas, unesite ime glasa kojeg želite instalirati, na primer sr, ili sr+f3 | |||
sr.v3=Da odaberete glas, unesite ime glasa kojeg želite instalirati, na primer sr, ili sr+f3 | |||
ne.v1=à¤à¤¿à¤¤à¥�रà¥�याउन चाहेको आवाजको चयन गरà¥�नà¥� होसà¥� । | |||
ne.v2=अथवा यसमा निरà¥�धारण गरिà¤�को आवाजलाई नै चयन गरà¥�ने हो à¤à¤¨à¥‡ ईनà¥�टर कà¥�ञà¥�जीलाई दबाउनà¥� होसà¥� । | |||
ne.v3=आवाजको नाम पà¥�रविषà¥�टी गरà¥�नà¥� होसà¥� , जसà¥�तै: नेपालीका लागि ne, अथवा सà¥�वरको पनि चयन गरà¥�ने हो à¤à¤¨à¥‡ ne+f3 | |||
[Code] | |||
var |
@@ -1,57 +1,58 @@ | |||
[Setup] | |||
AppName=eSpeakEdit | |||
AppVerName=eSpeakEdit version 1.46.02 | |||
DefaultDirName={pf}\eSpeak | |||
DefaultGroupName=eSpeak | |||
OutputBaseFilename=setup_espeakedit | |||
Compression=lzma | |||
SolidCompression=yes | |||
DirExistsWarning=no | |||
ShowLanguageDialog=auto | |||
[Icons] | |||
Name: "{group}\espeakedit"; Filename: "{app}\espeakedit.exe"; WorkingDir: "{app}"; Flags: runmaximized | |||
Name: "{group}\Uninstall espeakedit"; Filename: "{uninstallexe}" | |||
[InstallDelete] | |||
Type: filesandordirs; Name: "{app}\phsource\vowelcharts" | |||
[Files] | |||
Source: "espeakedit.exe"; DestDir: "{app}" | |||
;Source: "dictsource\*"; DestDir: "{app}\dictsource"; Flags: recursesubdirs | |||
Source: "espeakedit\*"; DestDir: "{app}\espeakedit"; Flags: recursesubdirs | |||
Source: "phsource\*"; DestDir: "{app}\phsource"; Flags: recursesubdirs | |||
Source: "docs\*"; DestDir: "{app}\docs"; Flags: recursesubdirs | |||
Source: "License.txt"; DestDir: "{app}"; | |||
;Source: "Readme.txt"; DestDir: "{app}"; Flags: isreadme | |||
[Languages] | |||
Name: "en"; MessagesFile: "compiler:Default.isl" | |||
Name: "af"; MessagesFile: "compiler:Languages\Afrikaans.isl" | |||
Name: "bs"; MessagesFile: "compiler:Languages\Bosnian.isl" | |||
Name: "cs"; MessagesFile: "compiler:Languages\Czech.isl" | |||
Name: "de"; MessagesFile: "compiler:Languages\German.isl" | |||
Name: "el"; MessagesFile: "compiler:Languages\Greek.isl" | |||
Name: "es"; MessagesFile: "compiler:Languages\Spanish.isl" | |||
Name: "fi"; MessagesFile: "compiler:Languages\Finnish.isl" | |||
Name: "fr"; MessagesFile: "compiler:Languages\French.isl" | |||
Name: "hr"; MessagesFile: "compiler:Languages\Croatian.isl" | |||
Name: "hu"; MessagesFile: "compiler:Languages\Hungarian.isl" | |||
Name: "id"; MessagesFile: "compiler:Languages\Indonesian-5.1.11.isl" | |||
Name: "it"; MessagesFile: "compiler:Languages\Italian.isl" | |||
Name: "lv"; MessagesFile: "compiler:Languages\Latvian-1-5.1.11.isl" | |||
Name: "nl"; MessagesFile: "compiler:Languages\Dutch.isl" | |||
Name: "no"; MessagesFile: "compiler:Languages\Norwegian.isl" | |||
Name: "pl"; MessagesFile: "compiler:Languages\Polish.isl" | |||
Name: "pt"; MessagesFile: "compiler:Languages\Portuguese.isl" | |||
Name: "ro"; MessagesFile: "compiler:Languages\Romanian.isl" | |||
Name: "ru"; MessagesFile: "compiler:Languages\Russian.isl" | |||
Name: "sk"; MessagesFile: "compiler:Languages\Slovak.isl" | |||
;Name: "sq"; MessagesFile: "compiler:Languages\Albanian-2-5.1.11.isl" | |||
Name: "sr"; MessagesFile: "compiler:Languages\Serbian.isl" | |||
Name: "tr"; MessagesFile: "compiler:Languages\Turkish.isl" | |||
Name: "zh"; MessagesFile: "compiler:Languages\ChineseSimp-12-5.1.11.isl" | |||
[Setup] | |||
AppName=eSpeakEdit | |||
AppVerName=eSpeakEdit version 1.47.01 | |||
DefaultDirName={pf}\eSpeak | |||
DefaultGroupName=eSpeak | |||
OutputBaseFilename=setup_espeakedit | |||
Compression=lzma | |||
SolidCompression=yes | |||
DirExistsWarning=no | |||
ShowLanguageDialog=auto | |||
[Icons] | |||
Name: "{group}\espeakedit"; Filename: "{app}\espeakedit.exe"; WorkingDir: "{app}"; Flags: runmaximized | |||
Name: "{group}\Uninstall espeakedit"; Filename: "{uninstallexe}" | |||
[InstallDelete] | |||
Type: filesandordirs; Name: "{app}\phsource\vowelcharts" | |||
Type: filesandordirs; Name: "{app}\espeakedit" | |||
[Files] | |||
Source: "espeakedit.exe"; DestDir: "{app}" | |||
;Source: "dictsource\*"; DestDir: "{app}\dictsource"; Flags: recursesubdirs | |||
Source: "espeakedit\*"; DestDir: "{app}\espeakedit"; Flags: recursesubdirs | |||
Source: "phsource\*"; DestDir: "{app}\phsource"; Flags: recursesubdirs | |||
Source: "docs\*"; DestDir: "{app}\docs"; Flags: recursesubdirs | |||
Source: "License.txt"; DestDir: "{app}"; | |||
;Source: "Readme.txt"; DestDir: "{app}"; Flags: isreadme | |||
[Languages] | |||
Name: "en"; MessagesFile: "compiler:Default.isl" | |||
Name: "af"; MessagesFile: "compiler:Languages\Afrikaans.isl" | |||
Name: "bs"; MessagesFile: "compiler:Languages\Bosnian.isl" | |||
Name: "cs"; MessagesFile: "compiler:Languages\Czech.isl" | |||
Name: "de"; MessagesFile: "compiler:Languages\German.isl" | |||
Name: "el"; MessagesFile: "compiler:Languages\Greek.isl" | |||
Name: "es"; MessagesFile: "compiler:Languages\Spanish.isl" | |||
Name: "fi"; MessagesFile: "compiler:Languages\Finnish.isl" | |||
Name: "fr"; MessagesFile: "compiler:Languages\French.isl" | |||
Name: "hr"; MessagesFile: "compiler:Languages\Croatian.isl" | |||
Name: "hu"; MessagesFile: "compiler:Languages\Hungarian.isl" | |||
Name: "id"; MessagesFile: "compiler:Languages\Indonesian-5.1.11.isl" | |||
Name: "it"; MessagesFile: "compiler:Languages\Italian.isl" | |||
Name: "lv"; MessagesFile: "compiler:Languages\Latvian-1-5.1.11.isl" | |||
Name: "nl"; MessagesFile: "compiler:Languages\Dutch.isl" | |||
Name: "no"; MessagesFile: "compiler:Languages\Norwegian.isl" | |||
Name: "pl"; MessagesFile: "compiler:Languages\Polish.isl" | |||
Name: "pt"; MessagesFile: "compiler:Languages\Portuguese.isl" | |||
Name: "ro"; MessagesFile: "compiler:Languages\Romanian.isl" | |||
Name: "ru"; MessagesFile: "compiler:Languages\Russian.isl" | |||
Name: "sk"; MessagesFile: "compiler:Languages\Slovak.isl" | |||
;Name: "sq"; MessagesFile: "compiler:Languages\Albanian-2-5.1.11.isl" | |||
Name: "sr"; MessagesFile: "compiler:Languages\Serbian.isl" | |||
Name: "tr"; MessagesFile: "compiler:Languages\Turkish.isl" | |||
Name: "zh"; MessagesFile: "compiler:Languages\ChineseSimp-12-5.1.11.isl" | |||
@@ -30,6 +30,7 @@ | |||
#define __WIN32__ | |||
#define NEED_WCSTOF | |||
#define NEED_GETOPT | |||
#define USE_MBROLA_LIB | |||
#define PATHSEP '\\' | |||
#define USE_PORTAUDIO |
@@ -6,7 +6,7 @@ DATADIR=${PREFIX}/share/espeak-data | |||
# remove -fno-exceptions if it causes problems with stdio library on some platforms (ARM) | |||
RELEASE = 1.46 | |||
RELEASE = 1.47 | |||
SPEAK = speak | |||
ESPEAK = espeak | |||
ESPEAKEDIT = espeakedit |
@@ -104,9 +104,8 @@ static keywtab_t k_conditions[] = { | |||
{"next2PhW", tWHICH_PHONEME, 6}, | |||
{"nextVowel",tWHICH_PHONEME, 7}, | |||
{"prevVowel",tWHICH_PHONEME, 8}, | |||
// {"next2PhW", tWHICH_PHONEME, 0x800}, | |||
// {"numVowels", tTEST, 0x000}, | |||
{"next3PhW", tWHICH_PHONEME, 9}, | |||
{"prev2PhW", tWHICH_PHONEME, 10}, | |||
{"PreVoicing", tTEST, 0xf01}, | |||
{"KlattSynth", tTEST, 0xf02}, | |||
@@ -1051,8 +1050,13 @@ static wxString CompileAllDictionaries() | |||
fclose(f_in); | |||
} | |||
LoadVoice(voicename,0); | |||
if(LoadVoice(voicename,1) == NULL) | |||
{ | |||
wxLogError(wxString::Format(_T("Can't find voice '%s' for dictionary '%s'"), wxString(voicename, wxConvLocal).c_str(), dictstr.c_str())); | |||
report = report + dictstr + _T(" No Voice, "); | |||
errors ++; | |||
} | |||
else | |||
if((err = CompileDictionary(path_dsource, dictname,log,NULL,0)) > 0) | |||
{ | |||
report = report + dictstr + wxString::Format(_T(" %d, "),err); | |||
@@ -2742,6 +2746,7 @@ int CompilePhoneme(int compile_phoneme) | |||
int count; | |||
int c; | |||
char *p; | |||
int vowel_length_factor = 100; // for testing | |||
char number_buf[12]; | |||
char ipa_buf[N_ITEM_STRING+1]; | |||
PHONEME_TAB phoneme_out2; | |||
@@ -2844,6 +2849,11 @@ int CompilePhoneme(int compile_phoneme) | |||
case i_SET_LENGTH: | |||
value = NextItemMax(511); | |||
if(phoneme_out->type == phVOWEL) | |||
{ | |||
value = (value * vowel_length_factor)/100; | |||
} | |||
if(after_if == 0) | |||
{ | |||
phoneme_out->std_length = value/2; |
@@ -470,12 +470,12 @@ static int compile_line(char *linebuf, char *dict_line, int *hash) | |||
} | |||
ix = 0; | |||
if(isdigit(*p)) | |||
if(IsDigit09(*p)) | |||
{ | |||
ix += (*p-'0'); | |||
p++; | |||
} | |||
if(isdigit(*p)) | |||
if(IsDigit09(*p)) | |||
{ | |||
ix = ix*10 + (*p-'0'); | |||
p++; | |||
@@ -542,7 +542,7 @@ static int compile_line(char *linebuf, char *dict_line, int *hash) | |||
case 1: | |||
if((c == '-') && multiple_words) | |||
{ | |||
if(isdigit(word[0])) | |||
if(IsDigit09(word[0])) | |||
{ | |||
multiple_numeric_hyphen = 1; | |||
} | |||
@@ -1156,7 +1156,7 @@ static void copy_rule_string(char *string, int &state) | |||
sxflags |= SUFX_M; | |||
break; | |||
default: | |||
if(isdigit(c)) | |||
if(IsDigit09(c)) | |||
value = (value*10) + (c - '0'); | |||
break; | |||
} | |||
@@ -1575,7 +1575,7 @@ static int compile_lettergroup(char *input, FILE *f_out) | |||
char item_length[N_LETTERGP_ITEMS]; | |||
p = input; | |||
if(!isdigit(p[0]) || !isdigit(p[1])) | |||
if(!IsDigit09(p[0]) || !IsDigit09(p[1])) | |||
{ | |||
fprintf(f_log,"%5d: Expected 2 digits after '.L'\n",linenum); | |||
error_count++; |
@@ -611,7 +611,7 @@ char *WritePhMnemonic(char *phon_out, PHONEME_TAB *ph, PHONEME_LIST *plist, int | |||
break; // # is subscript-h, but only for consonants | |||
// ignore digits after the first character | |||
if(!first && isdigit(c)) | |||
if(!first && IsDigit09(c)) | |||
continue; | |||
if((c >= 0x20) && (c < 128)) | |||
@@ -1499,8 +1499,8 @@ void SetWordStress(Translator *tr, char *output, unsigned int *dictionary_flags, | |||
else | |||
{ | |||
// no long vowels or consonant clusters | |||
if(vowel_count > 4) | |||
stressed_syllable = vowel_count - 3; | |||
if(vowel_count > 5) | |||
stressed_syllable = vowel_count - 3; // more than 4 syllables | |||
else | |||
stressed_syllable = vowel_count - 1; | |||
} | |||
@@ -2698,7 +2698,7 @@ int TranslateRules(Translator *tr, char *p_start, char *phonemes, int ph_size, c | |||
{ | |||
if(tr->langopts.alt_alphabet == alphabet->offset) | |||
{ | |||
sprintf(phonemes,"%c%s",phonSWITCH, tr->langopts.alt_alphabet_lang); | |||
sprintf(phonemes,"%c%s",phonSWITCH, WordToString2(tr->langopts.alt_alphabet_lang)); | |||
return(0); | |||
} | |||
if(alphabet->flags & AL_WORDS) | |||
@@ -2988,6 +2988,7 @@ static const char *LookupDict2(Translator *tr, const char *word, const char *wor | |||
const char *word_end; | |||
const char *word1; | |||
int wflags = 0; | |||
int lookup_symbol; | |||
char word_buf[N_WORD_BYTES+1]; | |||
char dict_flags_buf[80]; | |||
@@ -2996,6 +2997,7 @@ static const char *LookupDict2(Translator *tr, const char *word, const char *wor | |||
wflags = wtab->flags; | |||
} | |||
lookup_symbol = flags[1] & FLAG_LOOKUP_SYMBOL; | |||
word1 = word; | |||
if(tr->transpose_min > 0) | |||
{ | |||
@@ -3182,9 +3184,9 @@ static const char *LookupDict2(Translator *tr, const char *word, const char *wor | |||
continue; | |||
} | |||
if((dictionary_flags2 & FLAG_ATEND) && (word_end < translator->clause_end)) | |||
if((dictionary_flags2 & FLAG_ATEND) && (word_end < translator->clause_end) && (lookup_symbol==0)) | |||
{ | |||
// only use this pronunciation if it's the last word of the clause | |||
// only use this pronunciation if it's the last word of the clause, or called from Lookup() | |||
continue; | |||
} | |||
@@ -3196,7 +3198,7 @@ static const char *LookupDict2(Translator *tr, const char *word, const char *wor | |||
if((dictionary_flags2 & FLAG_SENTENCE) && !(translator->clause_terminator & CLAUSE_BIT_SENTENCE)) | |||
{ | |||
// only uis this clause is a sentence , i.e. terminator is {. ? !} not {, : :} | |||
// only if this clause is a sentence , i.e. terminator is {. ? !} not {, : :} | |||
continue; | |||
} | |||
@@ -3364,7 +3366,7 @@ int LookupDictList(Translator *tr, char **wordptr, char *ph_out, unsigned int *f | |||
if(((c = *word1++)==0) || (c == ' ')) | |||
break; | |||
if((c=='.') && (length > 0) && (isdigit(word[length-1]))) | |||
if((c=='.') && (length > 0) && (IsDigit09(word[length-1]))) | |||
break; // needed for lang=hu, eg. "december 2.-ig" | |||
word[length] = c; | |||
@@ -3475,7 +3477,8 @@ int LookupDictList(Translator *tr, char **wordptr, char *ph_out, unsigned int *f | |||
int Lookup(Translator *tr, const char *word, char *ph_out) | |||
{//=================================================== | |||
unsigned int flags[2]; | |||
flags[0] = flags[1] = 0; | |||
flags[0] = 0; | |||
flags[1] = FLAG_LOOKUP_SYMBOL; | |||
char *word1 = (char *)word; | |||
return(LookupDictList(tr, &word1, ph_out, flags, 0, NULL)); | |||
} |
@@ -128,13 +128,16 @@ void DisplayVoices(FILE *f_out, char *language) | |||
const char *p; | |||
int len; | |||
int count; | |||
int c; | |||
int j; | |||
const espeak_VOICE *v; | |||
const char *lang_name; | |||
char age_buf[12]; | |||
char buf[80]; | |||
const espeak_VOICE **voices; | |||
espeak_VOICE voice_select; | |||
static char genders[4] = {' ','M','F',' '}; | |||
static char genders[4] = {'-','M','F','-'}; | |||
if((language != NULL) && (language[0] != 0)) | |||
{ | |||
@@ -150,7 +153,7 @@ void DisplayVoices(FILE *f_out, char *language) | |||
voices = espeak_ListVoices(NULL); | |||
} | |||
fprintf(f_out,"Pty Language Age/Gender VoiceName File Other Langs\n"); | |||
fprintf(f_out,"Pty Language Age/Gender VoiceName File Other Languages\n"); | |||
for(ix=0; (v = voices[ix]) != NULL; ix++) | |||
{ | |||
@@ -168,8 +171,16 @@ void DisplayVoices(FILE *f_out, char *language) | |||
if(count==0) | |||
{ | |||
fprintf(f_out,"%2d %-12s%s%c %-17s %-11s ", | |||
p[0],lang_name,age_buf,genders[v->gender],v->name,v->identifier); | |||
for(j=0; j < sizeof(buf); j++) | |||
{ | |||
// replace spaces in the name | |||
if((c = v->name[j]) == ' ') | |||
c = '_'; | |||
if((buf[j] = c) == 0) | |||
break; | |||
} | |||
fprintf(f_out,"%2d %-12s%s%c %-20s %-13s ", | |||
p[0],lang_name,age_buf,genders[v->gender],buf,v->identifier); | |||
} | |||
else | |||
{ |
@@ -608,7 +608,7 @@ int TranslateLetter(Translator *tr, char *word, char *phonemes, int control) | |||
char ph_buf[80]; | |||
char ph_buf2[80]; | |||
char ph_alphabet[80]; | |||
char hexbuf[6]; | |||
char hexbuf[12]; | |||
static char pause_string[] = {phonPAUSE, 0}; | |||
ph_buf[0] = 0; | |||
@@ -695,6 +695,9 @@ int TranslateLetter(Translator *tr, char *word, char *phonemes, int control) | |||
if(ph_buf[0] == 0) | |||
{ | |||
if((al_offset != 0) && (al_offset == translator->langopts.alt_alphabet)) | |||
language = translator->langopts.alt_alphabet_lang; | |||
else | |||
if((alphabet != NULL) && (alphabet->language != 0) && !(al_flags & AL_NOT_LETTERS)) | |||
language = alphabet->language; | |||
else | |||
@@ -797,7 +800,7 @@ int TranslateLetter(Translator *tr, char *word, char *phonemes, int control) | |||
len = strlen(phonemes); | |||
if(tr->langopts.accents & 2) | |||
if(tr->langopts.accents & 2) // 'capital' before or after the word ? | |||
sprintf(ph_buf2,"%c%s%s%s",0xff,ph_alphabet,ph_buf,capital); | |||
else | |||
sprintf(ph_buf2,"%c%s%s%s",0xff,ph_alphabet,capital,ph_buf); // the 0xff marker will be removed or replaced in SetSpellingStress() | |||
@@ -877,6 +880,7 @@ void SetSpellingStress(Translator *tr, char *phonemes, int control, int n_chars) | |||
// Numbers | |||
static char ph_ordinal2[12]; | |||
static char ph_ordinal2x[12]; | |||
static int CheckDotOrdinal(Translator *tr, char *word, char *word_end, WORD_TAB *wtab, int roman) | |||
@@ -981,7 +985,7 @@ int TranslateRoman(Translator *tr, char *word, char *ph_out, WORD_TAB *wtab) | |||
flags[0] = 0; | |||
flags[1] = 0; | |||
if(((tr->langopts.numbers & NUM_ROMAN_CAPITALS) && !(wtab[0].flags & FLAG_ALL_UPPER)) || isdigit(word[-2])) | |||
if(((tr->langopts.numbers & NUM_ROMAN_CAPITALS) && !(wtab[0].flags & FLAG_ALL_UPPER)) || IsDigit09(word[-2])) | |||
return(0); // not '2xx' | |||
word_start = word; | |||
@@ -1020,7 +1024,7 @@ int TranslateRoman(Translator *tr, char *word, char *ph_out, WORD_TAB *wtab) | |||
n_digits++; | |||
} | |||
if(isdigit(word[0])) | |||
if(IsDigit09(word[0])) | |||
return(0); // eg. 'xx2' | |||
acc += prev; | |||
@@ -1303,7 +1307,11 @@ static int LookupNum2(Translator *tr, int value, const int control, char *ph_out | |||
if(control & 4) | |||
{ | |||
sprintf(string,"_%d%cx",value,ord_type); // LANG=hu, special word for 1. 2. when there are no higher digits | |||
found = Lookup(tr, string, ph_digits); | |||
if((found = Lookup(tr, string, ph_digits)) != 0) | |||
{ | |||
if(ph_ordinal2x[0] != 0) | |||
strcpy(ph_ordinal, ph_ordinal2x); // alternate pronunciation (lang=an) | |||
} | |||
} | |||
if(found == 0) | |||
{ | |||
@@ -1363,8 +1371,7 @@ static int LookupNum2(Translator *tr, int value, const int control, char *ph_out | |||
else | |||
{ | |||
if((is_ordinal) && | |||
((units == 0) || (tr->langopts.numbers & NUM_SWAP_TENS) || (tr->langopts.numbers2 & NUM2_MULTIPLE_ORDINAL))) | |||
if(is_ordinal) | |||
{ | |||
sprintf(string,"_%dX%c", tens, ord_type); | |||
if(Lookup(tr, string, ph_tens) != 0) | |||
@@ -1458,7 +1465,7 @@ static int LookupNum2(Translator *tr, int value, const int control, char *ph_out | |||
{ | |||
Lookup(tr, "_0and", ph_and); | |||
if((is_ordinal) && (tr->langopts.numbers2 & NUM2_MULTIPLE_ORDINAL)) | |||
if((is_ordinal) && (tr->langopts.numbers2 & NUM2_ORDINAL_NO_AND)) | |||
ph_and[0] = 0; | |||
if(tr->langopts.numbers & NUM_SWAP_TENS) | |||
@@ -1607,9 +1614,9 @@ static int LookupNum3(Translator *tr, int value, char *ph_out, int suppress_null | |||
} | |||
if(tr->langopts.numbers2 & 0x200) | |||
sprintf(ph_thousands,"%s%s",ph_10T,ph_digits); // say "thousands" before its number, not after | |||
sprintf(ph_thousands,"%s%c%s%c",ph_10T,phonEND_WORD,ph_digits,phonEND_WORD); // say "thousands" before its number, not after | |||
else | |||
sprintf(ph_thousands,"%s%s",ph_digits,ph_10T); | |||
sprintf(ph_thousands,"%s%c%s%c",ph_digits,phonEND_WORD,ph_10T,phonEND_WORD); | |||
hundreds %= 10; | |||
if((hundreds == 0) && (say_zero_hundred == 0)) | |||
@@ -1742,7 +1749,7 @@ static int LookupNum3(Translator *tr, int value, char *ph_out, int suppress_null | |||
} | |||
} | |||
sprintf(ph_out,"%s%s%s",buf1,ph_hundred_and,buf2); | |||
sprintf(ph_out,"%s%s%c%s",buf1,ph_hundred_and,phonEND_WORD,buf2); | |||
return(0); | |||
} // end of LookupNum3 | |||
@@ -1753,12 +1760,12 @@ bool CheckThousandsGroup(char *word, int group_len) | |||
// Is this a group of 3 digits which looks like a thousands group? | |||
int ix; | |||
if(isdigit(word[group_len]) || isdigit(-1)) | |||
if(IsDigit09(word[group_len]) || IsDigit09(-1)) | |||
return(false); | |||
for(ix=0; ix < group_len; ix++) | |||
{ | |||
if(!isdigit(word[ix])) | |||
if(!IsDigit09(word[ix])) | |||
return(false); | |||
} | |||
return(true); | |||
@@ -1790,6 +1797,7 @@ static int TranslateNumber_1(Translator *tr, char *word, char *ph_out, unsigned | |||
int suffix_ix; | |||
int skipwords = 0; | |||
int group_len; | |||
int len; | |||
char *p; | |||
char string[32]; // for looking up entries in **_list | |||
char buf1[100]; | |||
@@ -1808,7 +1816,7 @@ static int TranslateNumber_1(Translator *tr, char *word, char *ph_out, unsigned | |||
digit_lookup = buf_digit_lookup; | |||
number_control = control; | |||
for(ix=0; isdigit(word[ix]); ix++) ; | |||
for(ix=0; IsDigit09(word[ix]); ix++) ; | |||
n_digits = ix; | |||
value = this_value = atoi(word); | |||
@@ -1817,14 +1825,14 @@ static int TranslateNumber_1(Translator *tr, char *word, char *ph_out, unsigned | |||
group_len = 4; | |||
// is there a previous thousands part (as a previous "word") ? | |||
if((n_digits == group_len) && (word[-2] == tr->langopts.thousands_sep) && isdigit(word[-3])) | |||
if((n_digits == group_len) && (word[-2] == tr->langopts.thousands_sep) && IsDigit09(word[-3])) | |||
{ | |||
prev_thousands = 1; | |||
} | |||
else if((tr->langopts.thousands_sep == ' ') || (tr->langopts.numbers & NUM_ALLOW_SPACE)) | |||
{ | |||
// thousands groups can be separated by spaces | |||
if((n_digits == 3) && !(wtab->flags & FLAG_MULTIPLE_SPACES) && isdigit(word[-2])) | |||
if((n_digits == 3) && !(wtab->flags & FLAG_MULTIPLE_SPACES) && IsDigit09(word[-2])) | |||
{ | |||
prev_thousands = 1; | |||
} | |||
@@ -1846,7 +1854,7 @@ static int TranslateNumber_1(Translator *tr, char *word, char *ph_out, unsigned | |||
} | |||
} | |||
if((word[ix] == '.') && !isdigit(word[ix+1]) && !isdigit(word[ix+2]) && !(wtab[1].flags & FLAG_NOSPACE)) | |||
if((word[ix] == '.') && !IsDigit09(word[ix+1]) && !IsDigit09(word[ix+2]) && !(wtab[1].flags & FLAG_NOSPACE)) | |||
{ | |||
// remove dot unless followed by another number | |||
word[ix] = 0; | |||
@@ -1875,7 +1883,7 @@ static int TranslateNumber_1(Translator *tr, char *word, char *ph_out, unsigned | |||
{ | |||
ordinal = 2; | |||
} | |||
else if(!isdigit(suffix[0])) // not _#9 (tab) | |||
else if(!IsDigit09(suffix[0])) // not _#9 (tab) | |||
{ | |||
sprintf(string,"_#%s",suffix); | |||
if(Lookup(tr, string, ph_ordinal2)) | |||
@@ -1884,6 +1892,8 @@ static int TranslateNumber_1(Translator *tr, char *word, char *ph_out, unsigned | |||
ordinal = 2; | |||
flags[0] |= FLAG_SKIPWORDS; | |||
skipwords = 1; | |||
sprintf(string,"_x#%s",suffix); | |||
Lookup(tr, string, ph_ordinal2x); // is there an alternate pronunciation? | |||
} | |||
} | |||
} | |||
@@ -1898,7 +1908,7 @@ static int TranslateNumber_1(Translator *tr, char *word, char *ph_out, unsigned | |||
if((word[0] == '0') && (prev_thousands == 0) && (word[1] != ' ') && (word[1] != tr->langopts.decimal_sep)) | |||
{ | |||
if((n_digits == 2) && (word[3] == ':') && isdigit(word[5]) && isspace(word[7])) | |||
if((n_digits == 2) && (word[3] == ':') && IsDigit09(word[5]) && isspace(word[7])) | |||
{ | |||
// looks like a time 02:30, omit the leading zero | |||
} | |||
@@ -1967,7 +1977,7 @@ static int TranslateNumber_1(Translator *tr, char *word, char *ph_out, unsigned | |||
} | |||
} | |||
if((word[n_digits] == tr->langopts.decimal_sep) && isdigit(word[n_digits+1])) | |||
if((word[n_digits] == tr->langopts.decimal_sep) && IsDigit09(word[n_digits+1])) | |||
{ | |||
// this "word" ends with a decimal point | |||
Lookup(tr, "_dpt", ph_append); | |||
@@ -2012,8 +2022,8 @@ static int TranslateNumber_1(Translator *tr, char *word, char *ph_out, unsigned | |||
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])) | |||
while(IsDigit09(p[1])) p++; // just use the last digit | |||
if(IsDigit09(p[-1])) | |||
{ | |||
p2 = p - 1; | |||
if(LookupDictList(tr, &p2, buf_digit_lookup, flags, FLAG_SUFX, wtab)) // lookup 2 digits | |||
@@ -2066,9 +2076,9 @@ static int TranslateNumber_1(Translator *tr, char *word, char *ph_out, unsigned | |||
LookupNum3(tr, value, ph_buf, suppress_null, thousandplex, prev_thousands | ordinal | decimal_point); | |||
if((thousandplex > 0) && (tr->langopts.numbers2 & 0x200)) | |||
sprintf(ph_out,"%s%s%s%s",ph_zeros,ph_append,ph_buf2,ph_buf); // say "thousands" before its number | |||
sprintf(ph_out,"%s%s%c%s%s",ph_zeros,ph_append,phonEND_WORD,ph_buf2,ph_buf); // say "thousands" before its number | |||
else | |||
sprintf(ph_out,"%s%s%s%s",ph_zeros,ph_buf2,ph_buf,ph_append); | |||
sprintf(ph_out,"%s%s%s%c%s",ph_zeros,ph_buf2,ph_buf,phonEND_WORD,ph_append); | |||
while(decimal_point) | |||
@@ -2076,7 +2086,7 @@ static int TranslateNumber_1(Translator *tr, char *word, char *ph_out, unsigned | |||
n_digits++; | |||
decimal_count = 0; | |||
while(isdigit(word[n_digits+decimal_count])) | |||
while(IsDigit09(word[n_digits+decimal_count])) | |||
decimal_count++; | |||
// if(decimal_count > 1) | |||
@@ -2095,7 +2105,7 @@ static int TranslateNumber_1(Translator *tr, char *word, char *ph_out, unsigned | |||
decimal_count--; | |||
n_digits++; | |||
} | |||
if((decimal_count <= max_decimal_count) && isdigit(word[n_digits])) | |||
if((decimal_count <= max_decimal_count) && IsDigit09(word[n_digits])) | |||
{ | |||
LookupNum3(tr, atoi(&word[n_digits]), buf1, 0,0,0); | |||
strcat(ph_out,buf1); | |||
@@ -2146,19 +2156,20 @@ static int TranslateNumber_1(Translator *tr, char *word, char *ph_out, unsigned | |||
} | |||
} | |||
while(isdigit(c = word[n_digits]) && (strlen(ph_out) < (N_WORD_PHONEMES - 10))) | |||
while(IsDigit09(c = word[n_digits]) && (strlen(ph_out) < (N_WORD_PHONEMES - 10))) | |||
{ | |||
// speak any remaining decimal fraction digits individually | |||
value = word[n_digits++] - '0'; | |||
LookupNum2(tr, value, 2, buf1); | |||
strcat(ph_out,buf1); | |||
len = strlen(ph_out); | |||
sprintf(&ph_out[len],"%c%s", phonEND_WORD, buf1); | |||
} | |||
// something after the decimal part ? | |||
if(Lookup(tr, "_dpt2", buf1)) | |||
strcat(ph_out,buf1); | |||
if((c == tr->langopts.decimal_sep) && isdigit(word[n_digits+1])) | |||
if((c == tr->langopts.decimal_sep) && IsDigit09(word[n_digits+1])) | |||
{ | |||
Lookup(tr, "_dpt", buf1); | |||
strcat(ph_out,buf1); | |||
@@ -2178,7 +2189,8 @@ static int TranslateNumber_1(Translator *tr, char *word, char *ph_out, unsigned | |||
if((tr->langopts.numbers & NUM_NOPAUSE) && (next_char == ' ')) | |||
utf8_in(&next_char,p); | |||
if(!iswalpha(next_char) && !((wtab[thousandplex].flags & FLAG_HYPHEN_AFTER) && (thousands_exact != 0))) | |||
if(!iswalpha(next_char) && (thousands_exact==0)) | |||
// if(!iswalpha(next_char) && !((wtab[thousandplex].flags & FLAG_HYPHEN_AFTER) && (thousands_exact != 0))) | |||
strcat(ph_out,str_pause); // don't add pause for 100s, 6th, etc. | |||
} | |||
@@ -124,6 +124,7 @@ void MakePhonemeList(Translator *tr, int post_pause, int start_sentence) | |||
int alternative; | |||
int delete_count; | |||
int word_start; | |||
int inserted; | |||
PHONEME_DATA phdata; | |||
int n_ph_list3; | |||
@@ -341,9 +342,7 @@ void MakePhonemeList(Translator *tr, int post_pause, int start_sentence) | |||
{ | |||
plist3 = &ph_list3[j]; | |||
if(plist3->sourceix != 0) | |||
word_start = j; | |||
inserted = 0; | |||
if(insert_ph != 0) | |||
{ | |||
// we have a (linking) phoneme which we need to insert here | |||
@@ -374,10 +373,14 @@ void MakePhonemeList(Translator *tr, int post_pause, int start_sentence) | |||
ph = phoneme_tab[insert_ph]; | |||
plist3->ph = ph; | |||
insert_ph = 0; | |||
inserted = 1; // don't insert the same phoneme repeatedly | |||
} | |||
else | |||
{ | |||
// otherwise get the next phoneme from the list | |||
if(plist3->sourceix != 0) | |||
word_start = j; | |||
ph = phoneme_tab[plist3->phcode]; | |||
plist3[0].ph = ph; | |||
@@ -394,7 +397,7 @@ void MakePhonemeList(Translator *tr, int post_pause, int start_sentence) | |||
InterpretPhoneme(tr, 0x100, plist3, &phdata, &worddata); | |||
if((alternative = phdata.pd_param[pd_INSERTPHONEME]) > 0) | |||
if(((alternative = phdata.pd_param[pd_INSERTPHONEME]) > 0) && (inserted == 0)) | |||
{ | |||
// PROBLEM: if we insert a phoneme before a vowel then we loose the stress. | |||
PHONEME_TAB *ph2; |
@@ -1292,10 +1292,10 @@ static int attrnumber(const wchar_t *pw, int default_value, int type) | |||
{//================================================================== | |||
int value = 0; | |||
if((pw == NULL) || !isdigit(*pw)) | |||
if((pw == NULL) || !IsDigit09(*pw)) | |||
return(default_value); | |||
while(isdigit(*pw)) | |||
while(IsDigit09(*pw)) | |||
{ | |||
value = value*10 + *pw++ - '0'; | |||
} |
@@ -160,13 +160,16 @@ void DisplayVoices(FILE *f_out, char *language) | |||
const char *p; | |||
int len; | |||
int count; | |||
int c; | |||
int j; | |||
const espeak_VOICE *v; | |||
const char *lang_name; | |||
char age_buf[12]; | |||
char buf[80]; | |||
const espeak_VOICE **voices; | |||
espeak_VOICE voice_select; | |||
static char genders[4] = {' ','M','F',' '}; | |||
static char genders[4] = {'-','M','F','-'}; | |||
if((language != NULL) && (language[0] != 0)) | |||
{ | |||
@@ -182,7 +185,7 @@ void DisplayVoices(FILE *f_out, char *language) | |||
voices = espeak_ListVoices(NULL); | |||
} | |||
fprintf(f_out,"Pty Language Age/Gender VoiceName File Other Langs\n"); | |||
fprintf(f_out,"Pty Language Age/Gender VoiceName File Other Languages\n"); | |||
for(ix=0; (v = voices[ix]) != NULL; ix++) | |||
{ | |||
@@ -200,8 +203,16 @@ void DisplayVoices(FILE *f_out, char *language) | |||
if(count==0) | |||
{ | |||
fprintf(f_out,"%2d %-12s%s%c %-17s %-11s ", | |||
p[0],lang_name,age_buf,genders[v->gender],v->name,v->identifier); | |||
for(j=0; j < sizeof(buf); j++) | |||
{ | |||
// replace spaces in the name | |||
if((c = v->name[j]) == ' ') | |||
c = '_'; | |||
if((buf[j] = c) == 0) | |||
break; | |||
} | |||
fprintf(f_out,"%2d %-12s%s%c %-20s %-13s ", | |||
p[0],lang_name,age_buf,genders[v->gender],buf,v->identifier); | |||
} | |||
else | |||
{ | |||
@@ -750,11 +761,22 @@ int main (int argc, char **argv) | |||
init_path(argv[0],data_path); | |||
initialise(); | |||
if(voicename[0] == 0) | |||
strcpy(voicename,"default"); | |||
if(flag_compile) | |||
if(SetVoiceByName(voicename) != EE_OK) | |||
{ | |||
LoadVoice(voicename,5); | |||
memset(&voice_select,0,sizeof(voice_select)); | |||
voice_select.languages = voicename; | |||
if(SetVoiceByProperties(&voice_select) != EE_OK) | |||
{ | |||
fprintf(stderr,"%svoice '%s'\n",err_load,voicename); | |||
exit(2); | |||
} | |||
} | |||
if(flag_compile) | |||
{ | |||
#ifdef PLATFORM_DOS | |||
char path_dsource[sizeof(path_home)+20]; | |||
strcpy(path_dsource,path_home); | |||
@@ -776,20 +798,6 @@ int main (int argc, char **argv) | |||
} | |||
if(voicename[0] == 0) | |||
strcpy(voicename,"default"); | |||
if(SetVoiceByName(voicename) != EE_OK) | |||
{ | |||
memset(&voice_select,0,sizeof(voice_select)); | |||
voice_select.languages = voicename; | |||
if(SetVoiceByProperties(&voice_select) != EE_OK) | |||
{ | |||
fprintf(stderr,"%svoice '%s'\n",err_load,voicename); | |||
exit(2); | |||
} | |||
} | |||
SetParameter(espeakRATE,speed,0); | |||
SetParameter(espeakVOLUME,amp,0); | |||
SetParameter(espeakCAPITALS,option_capitals,0); |
@@ -35,8 +35,8 @@ | |||
#include "translate.h" | |||
#include "wave.h" | |||
const char *version_string = "1.46.53 16.Mar.13"; | |||
const int version_phdata = 0x014640; | |||
const char *version_string = "1.47.03c 23.Mar.13"; | |||
const int version_phdata = 0x014701; | |||
int option_device_number = -1; | |||
FILE *f_logespeak = NULL; | |||
@@ -615,6 +615,7 @@ static int CountVowelPosition(PHONEME_LIST *plist) | |||
static bool InterpretCondition(Translator *tr, int control, PHONEME_LIST *plist, USHORT *p_prog, WORD_PH_DATA *worddata) | |||
{//======================================================================================================================== | |||
int which; | |||
int ix; | |||
unsigned int data; | |||
int instn; | |||
int instn2; | |||
@@ -705,6 +706,21 @@ static bool InterpretCondition(Translator *tr, int control, PHONEME_LIST *plist, | |||
return(false); // no previous vowel | |||
plist = &(worddata->prev_vowel); | |||
break; | |||
case 9: // next3PhW | |||
for(ix=1; ix<=3; ix++) | |||
{ | |||
if(plist[ix].sourceix) | |||
return(false); | |||
} | |||
plist = &plist[3]; | |||
break; | |||
case 10: // prev2PhW | |||
if((plist[0].sourceix) || (plist[-1].sourceix)) | |||
return(false); | |||
plist-=2; | |||
break; | |||
} | |||
if((which == 0) || (which == 5)) |
@@ -103,6 +103,19 @@ ALPHABET alphabets [] = { | |||
}; | |||
ALPHABET *AlphabetFromName(const char *name) | |||
{//========================================== | |||
ALPHABET *alphabet; | |||
for(alphabet=alphabets; alphabet->name != NULL; alphabet++) | |||
{ | |||
if(strcmp(name, &alphabet->name[1]) == 0) | |||
return(alphabet); | |||
} | |||
return(NULL); | |||
} | |||
ALPHABET *AlphabetFromChar(int c) | |||
{//=============================== | |||
// Find the alphabet from a character. | |||
@@ -276,8 +289,8 @@ static const char transpose_map_latin[] = { | |||
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 | |||
tr->langopts.ascii_language[0] = 0; // Non-Latin alphabet languages, use this language to speak Latin words, default is English | |||
tr->langopts.alt_alphabet_lang = L('e','n'); | |||
SetLengthMods(tr,201); | |||
// tr->langopts.length_mods = length_mods_en; | |||
@@ -526,9 +539,10 @@ Translator *SelectTranslator(const char *name) | |||
tr->langopts.stress_flags = S_MID_DIM | S_FINAL_DIM; // use 'diminished' for unstressed final syllable | |||
tr->letter_bits_offset = OFFSET_BENGALI; | |||
SetIndicLetters(tr); // call this after setting OFFSET_BENGALI | |||
SetLetterBitsRange(tr,LETTERGP_B,0x01,0x01); // candranindu | |||
SetLetterBitsRange(tr,LETTERGP_F,0x3e,0x4c); // vowel signs, but not virama | |||
tr->langopts.numbers = 0x1; | |||
tr->langopts.numbers = NUM_SWAP_TENS; | |||
tr->langopts.break_numbers = 0x24924aa8; // for languages which have numbers for 100,000 and 100,00,000, eg Hindi | |||
} | |||
break; | |||
@@ -666,7 +680,7 @@ Translator *SelectTranslator(const char *name) | |||
tr->langopts.param[LOPT_SONORANT_MIN] = 130; // limit the shortening of sonorants before short vowels | |||
tr->langopts.numbers = NUM_SINGLE_STRESS | NUM_DECIMAL_COMMA; | |||
tr->langopts.numbers2 = 0x2 | NUM2_MULTIPLE_ORDINAL; // variant form of numbers before thousands | |||
tr->langopts.numbers2 = 0x2 | NUM2_MULTIPLE_ORDINAL | NUM2_ORDINAL_NO_AND; // variant form of numbers before thousands | |||
if(name2 == L_grc) | |||
{ | |||
@@ -720,7 +734,7 @@ Translator *SelectTranslator(const char *name) | |||
tr->langopts.param[LOPT_SONORANT_MIN] = 120; // limit the shortening of sonorants before short vowels | |||
tr->langopts.numbers = NUM_SINGLE_STRESS | NUM_DECIMAL_COMMA | NUM_AND_UNITS | NUM_OMIT_1_HUNDRED | NUM_OMIT_1_THOUSAND | NUM_ROMAN | NUM_ROMAN_AFTER; | |||
tr->langopts.numbers2 = NUM2_MULTIPLE_ORDINAL; | |||
tr->langopts.numbers2 = NUM2_MULTIPLE_ORDINAL | NUM2_ORDINAL_NO_AND; | |||
if(name2 == L('c','a')) | |||
{ | |||
@@ -732,7 +746,7 @@ Translator *SelectTranslator(const char *name) | |||
if(name2 == L('a','n')) | |||
{ | |||
tr->langopts.stress_flags = S_FINAL_SPANISH | S_FINAL_DIM_ONLY | S_FINAL_NO_2; | |||
tr->langopts.numbers2 = 0; | |||
tr->langopts.numbers2 = NUM2_ORDINAL_NO_AND; | |||
} | |||
else | |||
if(name2 == L_pap) | |||
@@ -828,6 +842,7 @@ Translator *SelectTranslator(const char *name) | |||
{ | |||
tr->langopts.stress_rule = STRESSPOSN_1L; | |||
tr->langopts.numbers = 1; | |||
tr->langopts.accents = 2; // 'capital' after letter name | |||
} | |||
break; | |||
@@ -960,6 +975,7 @@ SetLengthMods(tr,3); // all equal | |||
break; | |||
case L('i','d'): // Indonesian | |||
case L('m','s'): // Malay | |||
{ | |||
static const short stress_lengths_id[8] = {160, 200, 180, 180, 0, 0, 220, 240}; | |||
static const unsigned char stress_amps_id[8] = {16,18, 18,18, 20,22, 22,21 }; | |||
@@ -1054,7 +1070,7 @@ SetLengthMods(tr,3); // all equal | |||
tr->langopts.numbers = NUM_VIGESIMAL | NUM_AND_UNITS | NUM_OMIT_1_HUNDRED |NUM_OMIT_1_THOUSAND | NUM_DFRACTION_5 | NUM_ROMAN; | |||
tr->langopts.alt_alphabet = OFFSET_CYRILLIC; | |||
tr->langopts.alt_alphabet_lang = "ru"; | |||
tr->langopts.alt_alphabet_lang = L('r','u'); | |||
} | |||
break; | |||
@@ -1084,6 +1100,7 @@ SetLengthMods(tr,3); // all equal | |||
case L('k','l'): // Greenlandic | |||
{ | |||
SetupTranslator(tr,stress_lengths_equal,stress_amps_equal); | |||
tr->langopts.stress_rule = 12; | |||
tr->langopts.stress_flags = S_NO_AUTO_2; | |||
tr->langopts.numbers = NUM_DECIMAL_COMMA | NUM_SWAP_TENS | NUM_HUNDRED_AND | NUM_OMIT_1_HUNDRED | NUM_ORDINAL_DOT | NUM_1900 | NUM_ROMAN | NUM_ROMAN_CAPITALS | NUM_ROMAN_ORDINAL; | |||
@@ -1263,7 +1280,7 @@ SetLengthMods(tr,3); // all equal | |||
tr->langopts.stress_rule = STRESSPOSN_1R; // stress on final syllable | |||
tr->langopts.stress_flags = S_FINAL_DIM_ONLY | S_FINAL_NO_2 | S_INITIAL_2 | S_PRIORITY_STRESS; | |||
tr->langopts.numbers = NUM_DECIMAL_COMMA | NUM_DFRACTION_2 | NUM_HUNDRED_AND | NUM_AND_UNITS | NUM_ROMAN; | |||
tr->langopts.numbers2 = NUM2_MULTIPLE_ORDINAL | NUM2_NO_TEEN_ORDINALS; | |||
tr->langopts.numbers2 = NUM2_MULTIPLE_ORDINAL | NUM2_NO_TEEN_ORDINALS | NUM2_ORDINAL_NO_AND; | |||
SetLetterVowel(tr,'y'); | |||
ResetLetterBits(tr,0x2); | |||
SetLetterBits(tr,1,"bcdfgjkmnpqstvxz"); // B hard consonants, excluding h,l,r,w,y | |||
@@ -1296,7 +1313,7 @@ SetLengthMods(tr,3); // all equal | |||
tr->langopts.stress_rule = STRESSPOSN_2R; | |||
tr->langopts.stress_flags = S_FINAL_DIM_ONLY | S_FINAL_NO_2; | |||
tr->langopts.length_mods0 = tr->langopts.length_mods; // don't lengthen vowels in the last syllable | |||
tr->langopts.param[LOPT_UNPRONOUNCABLE] = 1; // disable check for unpronouncable words. Need to allow "bw'" prefix | |||
tr->langopts.numbers = NUM_HUNDRED_AND | NUM_AND_UNITS | NUM_DFRACTION_2 | NUM_AND_HUNDRED; | |||
tr->langopts.numbers2 = 0x200; // say "thousands" before its number | |||
} | |||
@@ -1413,6 +1430,8 @@ SetLengthMods(tr,3); // all equal | |||
tr->langopts.vowel_pause = 1; | |||
tr->langopts.stress_rule = STRESSPOSN_2R; | |||
tr->langopts.stress_flags = S_FINAL_DIM_ONLY | S_FINAL_NO_2; | |||
tr->langopts.max_initial_consonants = 4; // for example: mwngi | |||
tr->langopts.numbers = NUM_AND_UNITS | NUM_HUNDRED_AND | NUM_SINGLE_AND | NUM_OMIT_1_HUNDRED; | |||
tr->langopts.break_numbers = 0x49249268; // for languages which have numbers for 100,000 and 1,000,000 |
@@ -378,6 +378,7 @@ void SetLengthMods(Translator *tr, int value) | |||
} | |||
int IsAlpha(unsigned int c) | |||
{//======================== | |||
// Replacement for iswalph() which also checks for some in-word symbols | |||
@@ -433,8 +434,8 @@ int IsAlpha(unsigned int c) | |||
return(0); | |||
} | |||
static int IsDigit09(unsigned int c) | |||
{//========================= | |||
int IsDigit09(unsigned int c) | |||
{//============================ | |||
if((c >= '0') && (c <= '9')) | |||
return(1); | |||
return(0); | |||
@@ -971,7 +972,7 @@ int TranslateWord(Translator *tr, char *word_start, int next_pause, WORD_TAB *wt | |||
} | |||
} | |||
} | |||
else if((found==0) && (dictionary_flags[0] & FLAG_SKIPWORDS)) | |||
else if((found==0) && (dictionary_flags[0] & FLAG_SKIPWORDS) && !(dictionary_flags[0] & FLAG_ABBREV)) | |||
{ | |||
// grouped words, but no translation. Join the words with hyphens. | |||
wordx = word1; | |||
@@ -2315,10 +2316,10 @@ static int EmbeddedCommand(unsigned int &source_index) | |||
source_index++; | |||
} | |||
if(isdigit(source[source_index])) | |||
if(IsDigit09(source[source_index])) | |||
{ | |||
value = atoi(&source[source_index]); | |||
while(isdigit(source[source_index])) | |||
while(IsDigit09(source[source_index])) | |||
source_index++; | |||
} | |||
@@ -3335,7 +3336,7 @@ if((c == '/') && (tr->langopts.testing & 2) && IsDigit09(next_in) && IsAlpha(pre | |||
while(pn < &number_buf[sizeof(number_buf)-20]) | |||
{ | |||
if(!isdigit(c = *pw++) && (c != tr->langopts.decimal_sep)) | |||
if(!IsDigit09(c = *pw++) && (c != tr->langopts.decimal_sep)) | |||
break; | |||
*pn++ = c; |
@@ -83,6 +83,7 @@ | |||
#define FLAG_STEM 0x10000 // must have a suffix | |||
#define FLAG_ATEND 0x20000 /* use this pronunciation if at end of clause */ | |||
#define FLAG_ATSTART 0x40000 // use this pronunciation if at start of clause | |||
#define FLAG_LOOKUP_SYMBOL 0x40000000 // to indicate called from Lookup() | |||
#define BITNUM_FLAG_ALLCAPS 0x2a | |||
#define BITNUM_FLAG_HYPHENATED 0x2c | |||
@@ -502,6 +503,7 @@ typedef struct { | |||
#define NUM2_THOUSANDS_VAR4 0x100 | |||
#define NUM2_THOUSANDS_VAR5 0x140 | |||
#define NUM2_ORDINAL_NO_AND 0x800 | |||
#define NUM2_MULTIPLE_ORDINAL 0x1000 | |||
#define NUM2_NO_TEEN_ORDINALS 0x2000 | |||
#define NUM2_MYRIADS 0x4000 | |||
@@ -510,6 +512,7 @@ typedef struct { | |||
// bits 1-4 use variant form of numbers before thousands,millions,etc. | |||
// bits 6-8 use different forms of thousand, million, etc (M MA MB) | |||
// bit9=(LANG=rw) say "thousand" and "million" before its number, not after | |||
// bit11=(LANG=es,an) don't say 'and' between tens and units for ordinal numbers | |||
// bit12=(LANG=el,es) use ordinal form of hundreds and tens as well as units | |||
// bit13=(LANG=pt) don't use 11-19 numbers to make ordinals | |||
// bit14=(LANG=ko) use myriads (groups of 4 digits) not thousands (groups of 3) | |||
@@ -542,9 +545,9 @@ typedef struct { | |||
int testing; // testing options: bit 1= specify stressed syllable in the form: "outdoor/2" | |||
int listx; // compile *_listx after *list | |||
const unsigned int *replace_chars; // characters to be substitutes | |||
const char *ascii_language; // switch to this language for Latin characters | |||
char ascii_language[8]; // switch to this language for Latin characters | |||
int alt_alphabet; // offset for another language to recognize | |||
const char *alt_alphabet_lang; // language for the alt_alphabet | |||
int alt_alphabet_lang; // language for the alt_alphabet | |||
int max_lengthmod; | |||
int lengthen_tonic; // lengthen the tonic syllable | |||
int suffix_add_e; // replace a suffix (which has the SUFX_E flag) with this character | |||
@@ -706,6 +709,7 @@ void InitNamedata(void); | |||
void InitText(int flags); | |||
void InitText2(void); | |||
int IsDigit(unsigned int c); | |||
int IsDigit09(unsigned int c); | |||
int IsAlpha(unsigned int c); | |||
int IsVowel(Translator *tr, int c); | |||
int isspace2(unsigned int c); | |||
@@ -713,6 +717,7 @@ int towlower2(unsigned int c); | |||
void GetTranslatedPhonemeString(char *phon_out, int n_phon_out, int use_ipa); | |||
const char *WordToString2(unsigned int word); | |||
ALPHABET *AlphabetFromChar(int c); | |||
ALPHABET *AlphabetFromName(const char *name); | |||
Translator *SelectTranslator(const char *name); | |||
int SetTranslator2(const char *name); |
@@ -110,6 +110,7 @@ enum { | |||
V_FAST, | |||
V_SPEED, | |||
V_DICTMIN, | |||
V_ALPHABET2, | |||
// these need a phoneme table to have been specified | |||
V_REPLACE, | |||
@@ -161,6 +162,7 @@ static MNEM_TAB keyword_tab[] = { | |||
{"fast_test2", V_FAST}, | |||
{"speed", V_SPEED}, | |||
{"dict_min", V_DICTMIN}, | |||
{"alphabet2", V_ALPHABET2}, | |||
// these just set a value in langopts.param[] | |||
{"l_dieresis", 0x100+LOPT_DIERESES}, | |||
@@ -396,10 +398,10 @@ void VoiceReset(int tone_only) | |||
// Set voice to the default values | |||
int pk; | |||
// static unsigned char default_heights[N_PEAKS] = {140,128,120,110,90,90,128,128,128}; // changed for v.1.47 | |||
// static unsigned char default_widths[N_PEAKS] = {128,128,128,160,171,171,128,128,128}; | |||
static unsigned char default_heights[N_PEAKS] = {128,128,120,120,110,110,128,128,128}; // previous version | |||
static unsigned char default_heights[N_PEAKS] = {130,128,120,116,100,100,128,128,128}; // changed for v.1.47 | |||
static unsigned char default_widths[N_PEAKS] = {140,128,128,160,171,171,128,128,128}; | |||
// static unsigned char default_heights[N_PEAKS] = {128,128,120,120,110,110,128,128,128}; // previous version | |||
// static unsigned char default_widths[N_PEAKS] = {128,128,128,160,171,171,128,128,128}; | |||
static int breath_widths[N_PEAKS] = {0,200,200,400,400,400,600,600,600}; | |||
@@ -420,7 +422,7 @@ void VoiceReset(int tone_only) | |||
voice->n_harmonic_peaks = 5; | |||
voice->peak_shape = 0; | |||
voice->voicing = 64; | |||
voice->consonant_amp = 85; // change to 85 for v.1.47 was 100 | |||
voice->consonant_amp = 90; // change to 85 for v.1.47 was 100 | |||
voice->consonant_ampv = 100; | |||
voice->samplerate = samplerate_native; | |||
memset(voice->klattv,0,sizeof(voice->klattv)); | |||
@@ -448,7 +450,6 @@ void VoiceReset(int tone_only) | |||
// adjust formant smoothing depending on sample rate | |||
formant_rate[pk] = (formant_rate_22050[pk] * 22050)/samplerate; | |||
} | |||
voice->height[2] = 240; // reduce F2 slightly | |||
// This table provides the opportunity for tone control. | |||
// Adjustment of harmonic amplitudes, steps of 8Hz | |||
@@ -532,6 +533,21 @@ static int Read8Numbers(char *data_in,int *data) | |||
} | |||
static unsigned int StringToWord2(const char *string) | |||
{//====================================================== | |||
// Convert a language name string to a word such as L('e','n') | |||
int ix; | |||
int c; | |||
unsigned int value = 0; | |||
for(ix=0; (ix<4) & ((c = string[ix]) != 0); ix++) | |||
{ | |||
value = (value << 8) | (c & 0xff); | |||
} | |||
return(value); | |||
} | |||
voice_t *LoadVoice(const char *vname, int control) | |||
{//=============================================== | |||
// control, bit 0 1= no_default | |||
@@ -573,6 +589,7 @@ voice_t *LoadVoice(const char *vname, int control) | |||
int stress_lengths[8]; | |||
int stress_add[8]; | |||
char names[8][40]; | |||
char name1[40]; | |||
char name2[80]; | |||
const char *voice_dir; | |||
@@ -583,11 +600,11 @@ voice_t *LoadVoice(const char *vname, int control) | |||
static char voice_name[40]; // voice name for current_voice_selected | |||
static char voice_languages[100]; // list of languages and priorities for current_voice_selected | |||
// which directory to look for a named voice | |||
// which directory to look for a named voice. List of voice names, must end in a space. | |||
static const char *voices_asia = | |||
"fa fa-pin hi hy hy-west id ka kn ku ml ne pa ta tr vi vi-hue zh zh-yue "; | |||
"fa fa-pin hi hy hy-west id ka kn ku ml ms ne pa ta tr vi vi-hue zh zh-yue "; | |||
static const char *voices_europe = | |||
"an bg bs ca cs cy da el es et fi fr-be hr hu is it lt lv mk nl no pl pt-pt ro ru sk sq sr sv "; | |||
"an bg bs ca cs cy da de el en en-us es et fi fr fr-be ga hr hu is it lt lv mk nl no pl pt-pt ro ru sk sq sr sv "; | |||
strncpy0(voicename, vname, sizeof(voicename)); | |||
@@ -962,12 +979,10 @@ voice_t *LoadVoice(const char *vname, int control) | |||
case V_MBROLA: | |||
{ | |||
int srate = 16000; | |||
char name[40]; | |||
char phtrans[40]; | |||
phtrans[0] = 0; | |||
sscanf(p,"%s %s %d",name,phtrans,&srate); | |||
if(LoadMbrolaTable(name,phtrans,srate) != EE_OK) | |||
name2[0] = 0; | |||
sscanf(p,"%s %s %d",name1,name2,&srate); | |||
if(LoadMbrolaTable(name1,name2,srate) != EE_OK) | |||
{ | |||
fprintf(stderr,"mbrola voice not found\n"); | |||
} | |||
@@ -990,6 +1005,28 @@ voice_t *LoadVoice(const char *vname, int control) | |||
sscanf(p,"%d",&dict_min); | |||
break; | |||
case V_ALPHABET2: | |||
{ | |||
ALPHABET *alphabet; | |||
name1[0] = name2[0] = 0; | |||
sscanf(p, "%s %s", name1, name2); | |||
if(strcmp(name1, "latin") == 0) | |||
{ | |||
strncpy0(langopts->ascii_language,name2,sizeof(langopts->ascii_language)); | |||
} | |||
else if((alphabet = AlphabetFromName(name1)) != 0) | |||
{ | |||
langopts->alt_alphabet = alphabet->offset; | |||
langopts->alt_alphabet_lang = StringToWord2(name2); | |||
} | |||
else | |||
{ | |||
fprintf(stderr,"alphabet name '%s' not found\n", name1); | |||
} | |||
} | |||
break; | |||
default: | |||
if((key & 0xff00) == 0x100) | |||
{ | |||
@@ -1098,7 +1135,7 @@ static char *ExtractVoiceVariantName(char *vname, int variant_num, int add_dir) | |||
// The voice name has a +variant suffix | |||
variant_num = 0; | |||
*p++ = 0; // delete the suffix from the voice name | |||
if(isdigit(*p)) | |||
if(IsDigit09(*p)) | |||
{ | |||
variant_num = atoi(p); // variant number | |||
} | |||
@@ -1191,10 +1228,10 @@ static int ScoreVoice(espeak_VOICE *voice_spec, const char *spec_language, int s | |||
p = voice->languages; // list of languages+dialects for which this voice is suitable | |||
if(strcmp(spec_language,"mbrola")==0) | |||
if(spec_n_parts < 0) | |||
{ | |||
// only list mbrola voices | |||
if(memcmp(voice->identifier,"mb/",3) == 0) | |||
// match on the subdirectory | |||
if(memcmp(voice->identifier, spec_language, spec_lang_len) == 0) | |||
return(100); | |||
return(0); | |||
} | |||
@@ -1327,6 +1364,7 @@ static int SetVoiceScores(espeak_VOICE *voice_select, espeak_VOICE **voices, int | |||
int lang_len=0; | |||
espeak_VOICE *vp; | |||
char language[80]; | |||
char buf[sizeof(path_home)+80]; | |||
// count number of parts in the specified language | |||
if((voice_select->languages != NULL) && (voice_select->languages[0] != 0)) | |||
@@ -1339,6 +1377,26 @@ static int SetVoiceScores(espeak_VOICE *voice_select, espeak_VOICE **voices, int | |||
n_parts++; | |||
} | |||
} | |||
if((n_parts == 1) && (control & 1)) | |||
{ | |||
if(strcmp(language, "mbrola") == 0) | |||
{ | |||
language[2] = 0; // truncate to "mb" | |||
lang_len = 2; | |||
} | |||
sprintf(buf, "%s/voices/%s", path_home, language); | |||
if(GetFileLength(buf) == -2) | |||
{ | |||
// A subdirectory name has been specified. List all the voices in that subdirectory | |||
language[lang_len++] = PATHSEP; | |||
language[lang_len] = 0; | |||
n_parts = -1; | |||
} | |||
} | |||
// select those voices which match the specified language | |||
nv = 0; | |||
for(ix=0; ix<n_voices_list; ix++) | |||
@@ -1866,11 +1924,12 @@ ESPEAK_API const espeak_VOICE **espeak_ListVoices(espeak_VOICE *voice_spec) | |||
} | |||
else | |||
{ | |||
// list all: omit variant voices and mbrola voices | |||
// list all: omit variant voices and mbrola voices and test voices | |||
j = 0; | |||
for(ix=0; (v = voices_list[ix]) != NULL; ix++) | |||
{ | |||
if((v->languages[0] != 0) && (strcmp(&v->languages[1],"variant") != 0) && (memcmp(v->identifier,"mb/",3) != 0)) | |||
if((v->languages[0] != 0) && (strcmp(&v->languages[1],"variant") != 0) | |||
&& (memcmp(v->identifier,"mb/",3) != 0) && (memcmp(v->identifier,"test/",5) != 0)) | |||
{ | |||
voices[j++] = v; | |||
} |