lang=jbo (lojban): initial draft. Linux: look for env variable ESPEAK_DATA_PATH git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@117 d46cf337-b52f-0410-862d-fd96e6ae7743master
I i: O o: U u- u: W | I i: O o: U u- u: W | ||||
y y: Y: | y y: Y: | ||||
: ; b B d f g h | |||||
j k l m n N p R | |||||
s S s. S; sx t v w | |||||
z | |||||
: ; b d f g h j | |||||
k l m n N p R s | |||||
S s. S; sx t v w z | |||||
Dictionary sw_dict | Dictionary sw_dict | ||||
Dictionary zhy_dict | Dictionary zhy_dict | ||||
a aa aai aan aau ai au e | |||||
ei eo eoi eu i iu o oe | |||||
oi ong ou u ui yu | |||||
a aa aai aan aau ai ang au | |||||
e ei eng eo eoi eu i ing | |||||
iu ng o oe oen oi ong ou | |||||
u ui ung yu | |||||
b c d f g h j k | b c d f g h j k | ||||
l m n N p r s t | l m n N p r s t | ||||
tsh v w x z z. | tsh v w x z z. | ||||
Dictionary jbo_dict | |||||
@ a aI aU e eI i l- | |||||
o OI r- u | |||||
b d dZ f g h j k | |||||
l m n N p R s S | |||||
t tS v w x z Z | |||||
Dictionary hbs_dict | Dictionary hbs_dict | ||||
& @ @2 a A a: aI aU | & @ @2 a A a: aI aU |
// Numbers | |||||
_0 no | |||||
_1 pa | |||||
_2 Re | |||||
_3 Si | |||||
_4 vo | |||||
_5 mu | |||||
_6 xa | |||||
_7 ze | |||||
_8 bi | |||||
_9 so | |||||
_dpt pi_ | |||||
a abu | |||||
b b@ | |||||
c S@ | |||||
d d@ | |||||
e ebu | |||||
f f@ | |||||
g g@ | |||||
i ibu | |||||
j Z@ | |||||
k k@ | |||||
l l@ | |||||
m m@ | |||||
n n@ | |||||
o obu | |||||
p p@ | |||||
r R@ | |||||
s s@ | |||||
t t@ | |||||
u ubu | |||||
v v@ | |||||
x x@ | |||||
y '@bu | |||||
z z@ | |||||
h @h@bu | |||||
q k@bu | |||||
w v@bu | |||||
e'o $u+ // request | |||||
xu $u+ // question | |||||
pu $u+ // past | |||||
ko $u+ | |||||
ku $u+ | |||||
cu $u+ | |||||
se $u+ | |||||
te $u+ | |||||
la $u+ // article | |||||
le $u+ | |||||
li $u+ | |||||
lo $u+ | |||||
pe $u+ // of | |||||
po $u+ | |||||
po'e $u+ | |||||
fa $u+ | |||||
fe $u+ | |||||
fi $u+ | |||||
fo $u+ | |||||
fu $u+ | |||||
i $u+ $pause | |||||
// terminators (include a pause after) | |||||
ku ku_: | |||||
boi bOI_: | |||||
vau vaU_: | |||||
kei keI_: | |||||
// pronouns | |||||
mi $u+ | |||||
do $u+ | |||||
ti $u+ | |||||
ta $u+ | |||||
tu $u+ | |||||
zo'e $u+ |
// This file is UTF8 encoded | |||||
// Spelling to phoneme rules for Lojban (an artificial constructed language). | |||||
.group a | |||||
a a | |||||
ai aI | |||||
au aU | |||||
.group b | |||||
b b | |||||
.group c | |||||
c S | |||||
.group d | |||||
d d | |||||
dj dZ | |||||
.group e | |||||
e e | |||||
ei eI | |||||
.group f | |||||
f f | |||||
.group g | |||||
g g | |||||
.group h | |||||
h h | |||||
.group i | |||||
i i | |||||
i (A j | |||||
.group j | |||||
j Z | |||||
.group k | |||||
k k | |||||
.group l | |||||
l l- | |||||
A) l l | |||||
l (A l | |||||
.group m | |||||
m m | |||||
.group n | |||||
n n | |||||
n (g N | |||||
n (k N | |||||
.group o | |||||
o o | |||||
oi OI | |||||
.group p | |||||
p p | |||||
.group q | |||||
q kw | |||||
.group r | |||||
r r- | |||||
A) r R | |||||
r (A R | |||||
.group s | |||||
s s | |||||
.group t | |||||
t t | |||||
tc tS | |||||
.group u | |||||
u u | |||||
u (A w | |||||
.group v | |||||
v v | |||||
.group w | |||||
w w | |||||
.group x | |||||
x x | |||||
.group y | |||||
y @ | |||||
.group z | |||||
z z | |||||
.group | |||||
' h | |||||
_) ' (_ '@h@ | |||||
. _! | |||||
_) . (@P1 _! // remove . prefix | |||||
. (_S1 _! // remove . suffix | |||||
ˈ ' // U+2c8 stress marker |
// auxillary verbs (be, have, can, etc) | // auxillary verbs (be, have, can, etc) | ||||
være $u+ | være $u+ | ||||
er E:r $u | |||||
er ,E:r | |||||
var $u | var $u | ||||
vært $u | vært $u | ||||
// MAIN WORD DICTIONARY | // MAIN WORD DICTIONARY | ||||
//********************* | //********************* | ||||
der dE:r | |||||
her hE:r | |||||
kom kOm | kom kOm | ||||
system syst'e:m | system syst'e:m |
w d'8b@lve: | w d'8b@lve: | ||||
x Eks | x Eks | ||||
y y: | y y: | ||||
z s'e:t@ | |||||
z s'E:ta2 | |||||
_. p'8Nkt | _. p'8Nkt | ||||
_0M3 bIlj'u:nER | _0M3 bIlj'u:nER | ||||
_1M3 bIlj'u:n | _1M3 bIlj'u:n | ||||
_dpt p'8Nkt | _dpt p'8Nkt | ||||
(1 : a) f'Ws.ta | (1 : a) f'Ws.ta | ||||
// abbreviations | // abbreviations | ||||
//************** | //************** | ||||
ange anje: | ange anje: | ||||
anger anje:R | anger anje:R | ||||
anges anje:s | anges anje:s | ||||
anne ann | |||||
anse anse: | |||||
anser anse:R | |||||
anses anse:s | |||||
arkiv 'aRki:v | arkiv 'aRki:v | ||||
av A:v $u | av A:v $u | ||||
bäste b'EstE | bäste b'EstE | ||||
betala b'Et'A:l,a | |||||
bet be:t | |||||
// betala b'Et'A:l,a | |||||
betalt b'Et'A:lt | betalt b'Et'A:lt | ||||
bort bORt | bort bORt | ||||
bott b'Ut | bott b'Ut | ||||
botten b'OtEn | botten b'OtEn | ||||
bra bRA: | bra bRA: | ||||
dags daks | |||||
dan dA:n | dan dA:n | ||||
dem dEm | dem dEm | ||||
dig dEj | dig dEj | ||||
dra dRA: | dra dRA: | ||||
drar dRA:R | |||||
dras dRA:s | |||||
duger du-gER | |||||
därför d'ERfY:R | därför d'ERfY:R | ||||
egen e:gEn | egen e:gEn | ||||
egna e:gna | egna e:gna | ||||
framåt fRamOt | framåt fRamOt | ||||
gemensam jEm'e:nsam | gemensam jEm'e:nsam | ||||
gemensamt jEm'e:nsamt | gemensamt jEm'e:nsamt | ||||
grep gRe:p | |||||
greps gRe:ps | greps gRe:ps | ||||
gripna gRi:pna | gripna gRi:pna | ||||
ha hA: | ha hA: | ||||
nvda Enve:de:A: | nvda Enve:de:A: | ||||
ont Unt | ont Unt | ||||
ost Ust | ost Ust | ||||
par pA:R | |||||
per pE:R | per pE:R | ||||
program pRUgR'am | program pRUgR'am | ||||
redigera REdIS;'e:Ra | |||||
rad RA:d | |||||
raden RA:d%En | |||||
rader RA:d%ER | |||||
sade sA:dE | sade sA:dE | ||||
sades sA:dEs | sades sA:dEs | ||||
sent se:nt | |||||
sex s'Eks | sex s'Eks | ||||
sig sEj | sig sEj | ||||
skolan sk'u:lan | skolan sk'u:lan | ||||
staden stA:dEn | staden stA:dEn | ||||
stadens stA:dEns | stadens stA:dEns | ||||
stan stA:n | stan stA:n | ||||
stor stu:R | |||||
stort stu:Rt | |||||
susanna s8s'ana | |||||
susanne s8s'an | |||||
svar svA:R | svar svA:R | ||||
tar tA:R | |||||
ta tA: | ta tA: | ||||
tar tA:R | |||||
tas tA:s | |||||
togs t'u:gs | togs t'u:gs | ||||
tomt t'Umt | tomt t'Umt | ||||
tom t'Um | tom t'Um | ||||
torsdag t'u:SdA:g | torsdag t'u:SdA:g | ||||
torsdags t'u:Sdags | |||||
torsdagen t'u:SdA:gEn | |||||
torsdagens t'u:SdA:gEns | |||||
tredje tR'e:djE | tredje tR'e:djE | ||||
tyvärr t%yv'E:R | |||||
usa u-Es'A: | usa u-Es'A: | ||||
usas u-Es'A:s | usas u-Es'A:s | ||||
usa:s u-Es'A:s | usa:s u-Es'A:s | ||||
vad vA:d $u | vad vA:d $u | ||||
valt vA:lt | valt vA:lt | ||||
var vA:R $u | var vA:R $u | ||||
vare vA:RE $u | |||||
vem vEm | vem vEm | ||||
button _^_EN | button _^_EN | ||||
cancel _^_EN | cancel _^_EN | ||||
checked _^_EN | checked _^_EN | ||||
column _^_EN | |||||
columns _^_EN | |||||
desktop _^_EN | desktop _^_EN | ||||
dot _^_EN | dot _^_EN | ||||
edit _^_EN | |||||
email _^_EN | email _^_EN | ||||
Explorer _^_EN | Explorer _^_EN | ||||
firefox _^_EN | firefox _^_EN | ||||
frame _^_EN | frame _^_EN | ||||
frames _^_EN | |||||
gaim _^_EN | gaim _^_EN | ||||
google _^_EN | |||||
graphic _^_EN | graphic _^_EN | ||||
graphics _^_EN | |||||
has _^_EN | |||||
heading _^_EN | heading _^_EN | ||||
headings _^_EN | headings _^_EN | ||||
image _^_EN | image _^_EN | ||||
leaving _^_EN | leaving _^_EN | ||||
level _^_EN | level _^_EN | ||||
link _^_EN | link _^_EN | ||||
links _^_EN | |||||
mail _^_EN | mail _^_EN | ||||
messenger _^_EN | messenger _^_EN | ||||
Microsoft _^_EN | Microsoft _^_EN | ||||
mozilla _^_EN | mozilla _^_EN | ||||
name _^_EN | name _^_EN | ||||
no _^_EN | no _^_EN | ||||
of _^_EN | |||||
office _^_EN | office _^_EN | ||||
one _^_EN | one _^_EN | ||||
online _^_EN | online _^_EN | ||||
orca ORka | orca ORka | ||||
password _^_EN | password _^_EN | ||||
page _^_EN | |||||
read _^_EN | read _^_EN | ||||
reader _^_EN | |||||
row _^_EN | |||||
rows _^_EN | |||||
screen _^_EN | |||||
software _^_EN | software _^_EN | ||||
submenu _^_EN | submenu _^_EN | ||||
table _^_EN | |||||
tables _^_EN | |||||
this _^_EN | |||||
tray _^_EN | tray _^_EN | ||||
unchecked _^_EN | unchecked _^_EN | ||||
unselected _^_EN | unselected _^_EN | ||||
user _^_EN | user _^_EN | ||||
view _^_EN | view _^_EN | ||||
web _^_EN | web _^_EN | ||||
with _^_EN | |||||
word _^_EN | word _^_EN |
.group a | .group a | ||||
a A: | a A: | ||||
ik) a %a | |||||
a (CC a | |||||
a (vs A: | a (vs A: | ||||
a (vb A: | a (vb A: | ||||
a (vd A: | a (vd A: | ||||
a (va a | a (va a | ||||
a (rt_ A: | a (rt_ A: | ||||
_) a (rt %a | |||||
a (vg A: | a (vg A: | ||||
a (r_ a | a (r_ a | ||||
a (s_ a | a (s_ a | ||||
p) a (d_ a | p) a (d_ a | ||||
k) a (d_ a | |||||
k) a (k A: | |||||
kl) a (r A: | |||||
ikl) a (r_ a | |||||
xempl) a (r A: | |||||
sv) a (r A: | |||||
sv) a (rt a | |||||
b) a (k A: | |||||
bl) a (d A: | |||||
gl) a (d A: | |||||
gl) a (d% a | |||||
b) a (kte a | |||||
k) a (s_ a | k) a (s_ a | ||||
k) a (ni a | k) a (ni a | ||||
b) a (r_ A: | b) a (r_ A: | ||||
lt) a (t A: | lt) a (t A: | ||||
_b) a (k A: | |||||
bb) a (r_ a | bb) a (r_ a | ||||
a (CC a | |||||
a (C% a | |||||
// r) a (C% a | |||||
a (_ a | a (_ a | ||||
&) a (_ a2 | &) a (_ a2 | ||||
a (re a | a (re a | ||||
a (rna a | a (rna a | ||||
l) a (rs A: | l) a (rs A: | ||||
idr) a A: | idr) a A: | ||||
k) a (ta ,a | |||||
k) a (ta %a | |||||
m) a (j a | m) a (j a | ||||
om) a (t A: | om) a (t A: | ||||
m) a (ter a | m) a (ter a | ||||
st) a (t_ a | st) a (t_ a | ||||
tot) a (l 'A: | tot) a (l 'A: | ||||
_gl) a (s A: | _gl) a (s A: | ||||
_gl) a (ss a | |||||
gl) a (s% a | |||||
v) a (ld A: | v) a (ld A: | ||||
v) a (rd A: | v) a (rd A: | ||||
sm) a (rt A: | sm) a (rt A: | ||||
ppd) a (t a | ppd) a (t a | ||||
r) a (ba a | r) a (ba a | ||||
ass) a a | ass) a a | ||||
l) a (gl A: | |||||
_d) a (g A: | |||||
l) a (g A: | |||||
l) a (gg a | |||||
d) a (g A: | |||||
d) a (g% a | |||||
ik) a (ns 'A: | ik) a (ns 'A: | ||||
et) a (g 'A: | |||||
t) a (g A: | |||||
t) a (g% a | |||||
f) a (rt 'A: | f) a (rt 'A: | ||||
f) a (rl 'A: | f) a (rl 'A: | ||||
t) a (ti a | |||||
tt) a (C a | |||||
f) a (ren A: | |||||
n) a (ti %a | |||||
s) a (ti %a | |||||
t) a (ti %a | |||||
ks) a (m a | |||||
ts) a (m a | |||||
// tt) a (C a | |||||
n) a (l_ 'A: | |||||
tt) a (ga A: | |||||
tt) a (get A: | |||||
tt) a (git A: | |||||
&) a a | |||||
dd) a (C a | dd) a (C a | ||||
dr) a (t a | |||||
dr) a (d a | |||||
nd) a (r a | |||||
str) a a | |||||
edr) a (r A: | |||||
s) a (kn A: | |||||
s) a (ks A: | |||||
s) a (ke A: | |||||
t) a (ls A: | |||||
at) a ( a | |||||
ep) a (r %a | |||||
arbet aRbe:t | arbet aRbe:t | ||||
amerik amERIk | amerik amERIk | ||||
agera age:Ra | agera age:Ra | ||||
pl) a (nera %a | |||||
analy analy: | analy analy: | ||||
_) avta A:vtA: | _) avta A:vtA: | ||||
_) avge A:vje: | |||||
_) avge A:vj'e: | |||||
v) a (lf A: | |||||
delt) a A: | |||||
ret) a (g A: | |||||
edr) a (g A: | |||||
sk) a (da A: | |||||
sk) a (de A: | |||||
sk) a (p A: | |||||
t) a (lC A: | |||||
t) a (l% a | |||||
v) a (ria a | |||||
b) a (r A: | |||||
t) a (l_ 'A: | |||||
t) a (l_ 'A: | |||||
b) a (r% a | |||||
a (bo a | |||||
alkohol alkUho:l | alkohol alkUho:l | ||||
allvar allvA:R | |||||
.group b | .group b | ||||
b b | b b | ||||
bevakn bEvA:kn | bevakn bEvA:kn | ||||
bredband bRe:dband | bredband bRe:dband | ||||
begrav bEgRA:v | begrav bEgRA:v | ||||
begrip BEgR'i:p | |||||
begrip bEgR'i:p | |||||
beslag bEsl'A:g | beslag bEsl'A:g | ||||
beslagta bEsl'A:gtA: | beslagta bEsl'A:gtA: | ||||
betal b%Et'A:l | |||||
.group c | .group c | ||||
c k | c k | ||||
c (ä s | c (ä s | ||||
c (ö s | c (ö s | ||||
ch S | ch S | ||||
ch (ef sx | |||||
ck k | ck k | ||||
ck (A k: // ?? | ck (A k: // ?? | ||||
computer _^_EN | computer _^_EN | ||||
dagen dA:gEn | dagen dA:gEn | ||||
daglig dA:glIg | daglig dA:glIg | ||||
diske dIskE | diske dIskE | ||||
djup j'u-p | |||||
djur j'u-R | |||||
dju j'u- | |||||
djung j'8N | |||||
dum d8m | dum d8m | ||||
datorer dat'u:RER | datorer dat'u:RER | ||||
dator dA:tOR | dator dA:tOR | ||||
e e: | e e: | ||||
h) e (m E | h) e (m E | ||||
e (CC E | e (CC E | ||||
&) e %E | |||||
med) e (l E | med) e (l E | ||||
b) e (s E | |||||
b) e (k E | |||||
e (j E | e (j E | ||||
d) e (lv e: | d) e (lv e: | ||||
d) e (c E | |||||
d) e (ls e: | d) e (ls e: | ||||
m) e (dde e: | m) e (dde e: | ||||
d) e (ln e: | d) e (ln e: | ||||
d) e (lt e: | d) e (lt e: | ||||
l) e (dn e: | l) e (dn e: | ||||
d) e (bat E | d) e (bat E | ||||
s) e (kund E | |||||
ch) e (f E: | ch) e (f E: | ||||
e (ta E | e (ta E | ||||
e (x E | e (x E | ||||
n) e (ds e: | n) e (ds e: | ||||
br) e (v e: | br) e (v e: | ||||
sv) e (r E | sv) e (r E | ||||
_s) e (p E | |||||
s) e (p %E | |||||
ka) e (l E | ka) e (l E | ||||
b) e (l_ E | b) e (l_ E | ||||
nyh) e (t e: | nyh) e (t e: | ||||
r) e (sul E | r) e (sul E | ||||
r) e (sur E | r) e (sur E | ||||
r) e (dak E | r) e (dak E | ||||
b) e (f E | |||||
b) e (k E | |||||
b) e (h E | |||||
b) e (s E | |||||
b) e (v E | |||||
b) e (f %E | |||||
b) e (g %E | |||||
b) e (k %E | |||||
b) e (h %E | |||||
b) e (s %E | |||||
b) e (v %E | |||||
b) e (l %E | |||||
b) e (t %E | |||||
b) e (r %E | |||||
r) e (g %E | |||||
s) e (k %E | |||||
v) e (ta e: | v) e (ta e: | ||||
r) e (ta e: | r) e (ta e: | ||||
r) e (dn e: | r) e (dn e: | ||||
l) e (ta e: | l) e (ta e: | ||||
e (nli e: | e (nli e: | ||||
e (gent E | e (gent E | ||||
pr) e (n E | |||||
pr) e (n %E | |||||
mp) e (l %E | |||||
pr) e (c %E | |||||
sp) e (c %E | |||||
g) e (n %E | |||||
_) e (tik E | _) e (tik E | ||||
r) e (ce E | r) e (ce E | ||||
m) e (tod E | m) e (tod E | ||||
p) e (ri E | p) e (ri E | ||||
xtr) e (m e: | xtr) e (m e: | ||||
v) e (k e: | |||||
it) e (t_ e: | |||||
st) e (mC 'e: | |||||
s) e (ra e: | |||||
r) e (ra e: | |||||
n) e (ra e: | |||||
f) e (ra e: | |||||
g) e (ra e: | |||||
m) e (ra e: | |||||
d) e (ra e: | |||||
l) e (ra e: | |||||
t) e (ra e: | |||||
m) e (del e: | |||||
d) e (lse %E | |||||
g) e (nom e: | |||||
liot) e (k e: | |||||
c) e (r e: | |||||
l) e (da e: | |||||
gh) e (t e: | |||||
h) e (ten e: | |||||
st) e (k e: | |||||
yst) e (m e: | |||||
it) e (t e: | |||||
_h) e (ta e: | |||||
ember 'EmbER | |||||
e (rsä e: | |||||
e (rsatt e: | |||||
e (nbar e: | |||||
e (rin e: | |||||
p) e (da E | |||||
r) e (tur %E | |||||
e (xemp %E | |||||
elek 'ElEk | elek 'ElEk | ||||
espeak _^_EN | espeak _^_EN | ||||
ekonom 'Eku:n,O:m | ekonom 'Eku:n,O:m | ||||
f (f | f (f | ||||
familj fam'Ilj | familj fam'Ilj | ||||
formad fORmad | formad fORmad | ||||
face _^_EN | |||||
.group g | .group g | ||||
g g | g g | ||||
g (n N | g (n N | ||||
gj j | gj j | ||||
lä) g (e g | lä) g (e g | ||||
gjord ju:Rd | |||||
vä) g g | |||||
lo) g (i g | |||||
y) g (e g | |||||
y) g (a g | |||||
y) g (o g | |||||
a) g (e g | |||||
i) g (i g | |||||
a) g (i g | |||||
sla) g g | |||||
gjor ju:R | |||||
gani gan'I | gani gan'I | ||||
garage gaR'A:S | garage gaR'A:S | ||||
garant g%aR'ant | |||||
gata gA:ta | |||||
glöm glWm | glöm glWm | ||||
guide g'aId | guide g'aId | ||||
guider g'aIdER | guider g'aIdER | ||||
h h | h h | ||||
h (h | h (h | ||||
hj j | hj j | ||||
hjälp jElp | |||||
hög hY:g | hög hY:g | ||||
heading _^_EN | heading _^_EN | ||||
.group i | .group i | ||||
i i: | i i: | ||||
i (CC I | i (CC I | ||||
i (nf %I | |||||
i (g_ I | i (g_ I | ||||
i (nstr %I | |||||
s) i (t I | |||||
dr) i (v i: | |||||
item _^_EN | item _^_EN | ||||
_fl) i (k i: | _fl) i (k i: | ||||
t) i (d i: | t) i (d i: | ||||
skr) i (v i: | skr) i (v i: | ||||
v) i (sn i: | v) i (sn i: | ||||
l) i (kna i: | l) i (kna i: | ||||
l) i (c I | |||||
d) i (r I | |||||
t) i (s I | |||||
c) i I | |||||
c) i (s_ i: | |||||
Cl) i (kaC %I | |||||
kr) i (ti I | |||||
kr) i (te I | |||||
kr) i (s i: | |||||
kr) i (st i: | |||||
krit) i (k_ i: | |||||
ikon Ik'o:n | ikon Ik'o:n | ||||
inne InE | |||||
ibili IbIlI | |||||
itut Itu-t | |||||
imag _^_EN | imag _^_EN | ||||
.group j | .group j | ||||
j j | j j | ||||
java jA:va | java jA:va | ||||
j (uster sx | |||||
jou (r sxU | jou (r sxU | ||||
.group k | .group k | ||||
lg (_ lj | lg (_ lj | ||||
_) lj j | _) lj j | ||||
låg l'o:g | låg l'o:g | ||||
ljud j'u-d | |||||
ljug j'u-g | |||||
lju j'u- | |||||
ligen lIgEn | ligen lIgEn | ||||
lager lA:gER | lager lA:gER | ||||
m (m | m (m | ||||
menu _^_EN | menu _^_EN | ||||
människ m'EnIsx, | människ m'EnIsx, | ||||
medlem m'e:dlEm | |||||
medl m'e:dl | |||||
maga maga | maga maga | ||||
meny mEn'y: | meny mEn'y: | ||||
minimera mIni:m'e:Ra2 | minimera mIni:m'e:Ra2 | ||||
maria m%aR'i:a | |||||
marie m%aR'i: | |||||
maximera maksi:m'e:Ra2 | maximera maksi:m'e:Ra2 | ||||
motor m'u:tOR | motor m'u:tOR | ||||
motorer m'Otu:RER | motorer m'Otu:RER | ||||
normal nORmA:l | normal nORmA:l | ||||
natur n'at'u-R | natur n'at'u-R | ||||
nali nalI | nali nalI | ||||
navig n%av%Ig | |||||
.group o | .group o | ||||
o u: | o u: | ||||
o (CC O | o (CC O | ||||
o (C% U | |||||
o (bb O | |||||
o (dd O | |||||
o (mm O | |||||
o (pp O | |||||
o (ss O | |||||
o (tt O | |||||
o (ff O | |||||
o (rC u: | o (rC u: | ||||
o (rr O | o (rr O | ||||
o (ll O | o (ll O | ||||
o (rg O | o (rg O | ||||
o (ck O | o (ck O | ||||
f) o (n 'o: | f) o (n 'o: | ||||
pr) o (c %U | |||||
s) o (ci %U | |||||
l) o (g 'o: | l) o (g 'o: | ||||
l) o (v 'o: | l) o (v 'o: | ||||
l) o (gg 'O | l) o (gg 'O | ||||
f) o (rm 'O | f) o (rm 'O | ||||
pr) oj Osx' | pr) oj Osx' | ||||
o (ns U | o (ns U | ||||
l) o (k %U | |||||
g) o (r U | |||||
nn) o (ns O | nn) o (ns O | ||||
ss) o (n O | ss) o (n O | ||||
C) o (rs O | C) o (rs O | ||||
k) o (rta O | |||||
k) o (rt O | |||||
b) o (rt O | b) o (rt O | ||||
n) o (r_ O | |||||
t) o (r_ O | |||||
s) o (r_ O | |||||
rs) o (rd u: | rs) o (rd u: | ||||
o (rde o: | o (rde o: | ||||
b) o (st u: | b) o (st u: | ||||
osparat u:spA:Rat | osparat u:spA:Rat | ||||
och 'Ok | och 'Ok | ||||
k) o (ns O | k) o (ns O | ||||
pr) o (cent O | |||||
p) o (lis O | |||||
pr) o (cent %O | |||||
p) o (lis %O | |||||
p) o (pu O | p) o (pu O | ||||
g) o (n O | g) o (n O | ||||
sp) o (rt O | sp) o (rt O | ||||
upp) o (rt o: | upp) o (rt o: | ||||
l) o (n O | l) o (n O | ||||
d) o (n O | d) o (n O | ||||
pr) o (b %O | |||||
pr) o (d %O | |||||
k) o (lu %O | |||||
inf) o (rmati %O | |||||
k) o (d o: | k) o (d o: | ||||
lk) o (r o: | |||||
g) o (d u: | |||||
_) o (j O | _) o (j O | ||||
o (ni 'o: | o (ni 'o: | ||||
m) o (t 'u: | |||||
k) o (k 'u: | |||||
bl) o (d 'u: | |||||
k) o (rv O | |||||
n) o (vell %O | |||||
st) o (rm O | |||||
operat OpERat | operat OpERat | ||||
.group p | .group p | ||||
p p | p p | ||||
p (p | p (p | ||||
pion pI;'u:n | |||||
påstå po:sto: | påstå po:sto: | ||||
paket pak'e:t | paket pak'e:t | ||||
parentes paR@nt,e:s | parentes paR@nt,e:s | ||||
rss s. | rss s. | ||||
rg (_ Rj | rg (_ Rj | ||||
radera Rad'e:Ra | radera Rad'e:Ra | ||||
rediger R%EdIsx'e:R | |||||
rafik Raf'i:k | rafik Raf'i:k | ||||
regel Re:gEl | regel Re:gEl | ||||
resor R'e:sOR | resor R'e:sOR | ||||
sk (ö sx | sk (ö sx | ||||
fi) s (k s | fi) s (k s | ||||
fu) s (k s | fu) s (k s | ||||
skj sx | |||||
skj S; | |||||
stj sx | stj sx | ||||
sio (n sx'u: | sio (n sx'u: | ||||
ssio (n sx'u: | ssio (n sx'u: | ||||
skype sk'ajp | |||||
spegel spe:gEl | spegel spe:gEl | ||||
segel se:gEl | segel se:gEl | ||||
spel spe:l | spel spe:l | ||||
säg sEj | säg sEj | ||||
service sY:Rvi:s | service sY:Rvi:s | ||||
spara spA:Ra | spara spA:Ra | ||||
sjack sjak | |||||
svara svA:Ra | svara svA:Ra | ||||
slog sl'u:g | slog sl'u:g | ||||
stått stOt | stått stOt | ||||
tt (A t: // ?? | tt (A t: // ?? | ||||
ti (on sx' | ti (on sx' | ||||
tj S; | tj S; | ||||
&C) te (_S2 tE // ?? | &C) te (_S2 tE // ?? | ||||
task _^_EN | task _^_EN | ||||
talsyntes t'A:lsynt,e:s | talsyntes t'A:lsynt,e:s | ||||
u u- | u u- | ||||
u (tb u- | u (tb u- | ||||
u (tf u- | u (tf u- | ||||
u (tg u- | |||||
u (ts u- | u (ts u- | ||||
u (tr u- | u (tr u- | ||||
u (tv u- | u (tv u- | ||||
u (n 8 | u (n 8 | ||||
u (tl u- | u (tl u- | ||||
sj) u (k u- | sj) u (k u- | ||||
j) u (ni u- | |||||
j) u (l u- | |||||
r) u (m_ 8: | r) u (m_ 8: | ||||
utmärk 'u-tm@Rk | utmärk 'u-tm@Rk | ||||
b) u (tik 8 | b) u (tik 8 | ||||
v) u (x 8 | v) u (x 8 | ||||
lin) u (x %8 | |||||
uppge 8pje: | uppge 8pje: | ||||
u (tn u- | |||||
u (tr u- | |||||
u (ng 8 | |||||
u (nkC %8 | |||||
u (kti %8 | |||||
upload _^_EN | upload _^_EN | ||||
.group v | .group v | ||||
v v | v v | ||||
v (v | v (v | ||||
vali valI | |||||
varandra vaRandRa | varandra vaRandRa | ||||
varn vA:Rn | varn vA:Rn | ||||
varan vA:Ran | varan vA:Ran | ||||
verk vERk | verk vERk | ||||
verktyg vERkty:g | |||||
.group w | .group w | ||||
w v | w v | ||||
.group y | .group y | ||||
y y: | y y: | ||||
y (CC y | y (CC y | ||||
t) y (d 'y: | |||||
s) y (s %y | |||||
t) y (g 'y: | |||||
s) y (nska y: | s) y (nska y: | ||||
.group z | .group z | ||||
.group å | .group å | ||||
å o: | å o: | ||||
å (CC O | |||||
å (CC o: | |||||
å (C% O | |||||
å (ng O | |||||
tr) å (d 'o: | tr) å (d 'o: | ||||
l) å (s 'o: | |||||
l) å (ss 'O | |||||
v) å (r 'o: | v) å (r 'o: | ||||
r) å (k o: | r) å (k o: | ||||
h) å (r 'o: | h) å (r 'o: | ||||
ä E: | ä E: | ||||
ä (CC E | ä (CC E | ||||
ä (r E: | ä (r E: | ||||
ä (rd E: | |||||
tr) ä (d E: | tr) ä (d E: | ||||
v) ä (lk E: | v) ä (lk E: | ||||
l) ä (sn E: | l) ä (sn E: | ||||
sk) ä (rg E: | sk) ä (rg E: | ||||
l) ä (st E: | l) ä (st E: | ||||
n) ä (tt E | n) ä (tt E | ||||
v) ä (x E | v) ä (x E | ||||
n) ä (t E: | n) ä (t E: | ||||
f) ä (rd E: | f) ä (rd E: | ||||
b) ä (r E: | |||||
r) ä (k E: | r) ä (k E: | ||||
ärl (d 'E:R | ärl (d 'E:R | ||||
ö Y: | ö Y: | ||||
ö (CC 'W | ö (CC 'W | ||||
f) ö (rd 'Y: | f) ö (rd 'Y: | ||||
f) ö (rk %W | |||||
l) ö (sn 'Y: | |||||
l) ö (st 'Y: | |||||
ö (vr 'Y: | ö (vr 'Y: | ||||
r) ö (m 'W | r) ö (m 'W | ||||
name lojban | |||||
language jbo | |||||
42 phoneme tables | |||||
43 phoneme tables | |||||
new total | new total | ||||
base 96 96 | base 96 96 | ||||
base2 24 115 | base2 24 115 | ||||
cy 29 122 | cy 29 122 | ||||
de 33 123 | de 33 123 | ||||
eo 13 108 | eo 13 108 | ||||
jbo 4 109 | |||||
fi 40 127 | fi 40 127 | ||||
fr 34 118 | fr 34 118 | ||||
fr_ca 11 118 | fr_ca 11 118 | ||||
[&] sk | [&] sk | ||||
[E3] sv | [E3] sv | ||||
vowel/e_mid [E] en_rp | vowel/e_mid [E] en_rp | ||||
[e] jbo | |||||
[E] fr_ca | [E] fr_ca | ||||
[E] hi | [E] hi | ||||
[E] hu | [E] hu | ||||
[A@] en_sc | [A@] en_sc | ||||
vowelr/oo_r [O@] en_sc | vowelr/oo_r [O@] en_sc | ||||
vowelr/o_r [o@] en_sc | vowelr/o_r [o@] en_sc | ||||
vowelr/r-voc [r-] hi | |||||
vowelr/r-voc [r-] jbo | |||||
[r-] hi | |||||
[r-] sk | [r-] sk | ||||
[r:] sk | [r:] sk | ||||
[r-] hr | [r-] hr | ||||
[x] pt_pt | [x] pt_pt | ||||
vwl_fr/@R2 [R] fr_ca | vwl_fr/@R2 [R] fr_ca | ||||
vwl_hi/A [a:] hi | vwl_hi/A [a:] hi | ||||
vwl_hi/l-voc [l-] hi | |||||
vwl_hi/l-voc [l-] jbo | |||||
[l-] hi | |||||
[l-] sk | [l-] sk | ||||
[l:] sk | [l:] sk | ||||
vwl_no/& [a] no | vwl_no/& [a] no |
// Phonemes for Lojban (an artificial constructed language) | |||||
// Inherits phonemes from Esperanto | |||||
phoneme r- // syllabic r, for lojban | |||||
vowel starttype (@) endtype (@) | |||||
length 220 | |||||
formants vowelr/r-voc | |||||
endphoneme | |||||
phoneme l- // syllabuc l, for lojban | |||||
vowel starttype (@) endtype (@) | |||||
length 140 | |||||
formants vwl_hi/l-voc | |||||
endphoneme | |||||
phoneme e | |||||
vowel starttype (e) endtype (e) | |||||
length 170 | |||||
formants vowel/e_mid | |||||
endphoneme | |||||
phoneme E: | phoneme E: | ||||
vowel starttype (e) endtype (e) | vowel starttype (e) endtype (e) | ||||
length 250 | |||||
length 260 | |||||
formants vowel/ee_1 | formants vowel/ee_1 | ||||
endphoneme | endphoneme | ||||
vowel starttype (e) endtype (e) | vowel starttype (e) endtype (e) | ||||
length 140 | length 140 | ||||
formants vowel/ee | formants vowel/ee | ||||
reduceto @ 2 | |||||
reduceto E- 2 | |||||
endphoneme | endphoneme | ||||
phoneme E: | phoneme E: |
pause | pause | ||||
formants NULL | formants NULL | ||||
starttype _ endtype _ | starttype _ endtype _ | ||||
length 25 | |||||
length 35 | |||||
lengthmod 1 | lengthmod 1 | ||||
nolink | nolink | ||||
endphoneme | endphoneme | ||||
phonemetable eo base | phonemetable eo base | ||||
include ph_esperanto | include ph_esperanto | ||||
phonemetable jbo eo | |||||
include ph_lojban | |||||
phonemetable fi base | phonemetable fi base | ||||
include ph_finnish | include ph_finnish | ||||
int prev; | int prev; | ||||
int value; | int value; | ||||
int subtract; | int subtract; | ||||
int repeat = 0; | |||||
unsigned int flags; | unsigned int flags; | ||||
char number_chars[N_WORD_BYTES]; | char number_chars[N_WORD_BYTES]; | ||||
return(0); | return(0); | ||||
value = roman_values[p2 - roman_numbers]; | value = roman_values[p2 - roman_numbers]; | ||||
if(value == prev) | |||||
{ | |||||
repeat++; | |||||
if(repeat >= 3) | |||||
return(0); | |||||
} | |||||
else | |||||
repeat = 0; | |||||
if((prev==5) || (prev==50) || (prev==500)) | if((prev==5) || (prev==50) || (prev==500)) | ||||
{ | { |
{ | { | ||||
int x; | int x; | ||||
if(langopts.vowel_pause && (ph->type != phPAUSE) && (next->type == phVOWEL)) | |||||
if(langopts.vowel_pause && (ph->type != phPAUSE)) | |||||
{ | { | ||||
if(langopts.vowel_pause & 0x04) | |||||
{ | |||||
// break before a word which starts with a vowel | |||||
insert_ph = phonPAUSE_VSHORT; | |||||
} | |||||
if((ph->type == phVOWEL) && ((x = langopts.vowel_pause & 0x03) != 0)) | |||||
if((ph->type != phVOWEL) && (langopts.vowel_pause & 0x200)) | |||||
{ | { | ||||
// adjacent vowels over a word boundary | |||||
if(x == 2) | |||||
insert_ph = phonPAUSE_SHORT; | |||||
else | |||||
insert_ph = phonPAUSE_VSHORT; | |||||
// add a pause after a word which ends in a consonant | |||||
insert_ph = phonPAUSE_NOLINK; | |||||
} | } | ||||
if(((plist2+1)->stress >= 4) && (langopts.vowel_pause & 0x08)) | |||||
if(next->type == phVOWEL) | |||||
{ | { | ||||
// pause before a words which starts with a stressed vowel | |||||
insert_ph = phonPAUSE_SHORT; | |||||
if((x = langopts.vowel_pause & 0x0c) != 0) | |||||
{ | |||||
// break before a word which starts with a vowel | |||||
if(x == 0xc) | |||||
insert_ph = phonPAUSE_NOLINK; | |||||
else | |||||
insert_ph = phonPAUSE_VSHORT; | |||||
} | |||||
if((ph->type == phVOWEL) && ((x = langopts.vowel_pause & 0x03) != 0)) | |||||
{ | |||||
// adjacent vowels over a word boundary | |||||
if(x == 2) | |||||
insert_ph = phonPAUSE_SHORT; | |||||
else | |||||
insert_ph = phonPAUSE_VSHORT; | |||||
} | |||||
if(((plist2+1)->stress >= 4) && (langopts.vowel_pause & 0x100)) | |||||
{ | |||||
// pause before a words which starts with a stressed vowel | |||||
insert_ph = phonPAUSE_SHORT; | |||||
} | |||||
} | } | ||||
} | } | ||||
#ifdef PLATFORM_DOS | #ifdef PLATFORM_DOS | ||||
strcpy(path_home,PATH_ESPEAK_DATA); | strcpy(path_home,PATH_ESPEAK_DATA); | ||||
#else | #else | ||||
// char *env; | |||||
// if((env = getenv("ESPEAK_DATA_PATH")) != NULL) | |||||
// { | |||||
// snprintf(path_home,sizeof(path_home),"%s/espeak-data",env); | |||||
// if(GetFileLength(path_home) == -2) | |||||
// return; // an espeak-data directory exists | |||||
// } | |||||
char *env; | |||||
if((env = getenv("ESPEAK_DATA_PATH")) != NULL) | |||||
{ | |||||
snprintf(path_home,sizeof(path_home),"%s/espeak-data",env); | |||||
if(GetFileLength(path_home) == -2) | |||||
return; // an espeak-data directory exists | |||||
} | |||||
snprintf(path_home,sizeof(path_home),"%s/espeak-data",getenv("HOME")); | snprintf(path_home,sizeof(path_home),"%s/espeak-data",getenv("HOME")); | ||||
if(access(path_home,R_OK) != 0) | if(access(path_home,R_OK) != 0) |
#include "translate.h" | #include "translate.h" | ||||
#include "wave.h" | #include "wave.h" | ||||
const char *version_string = "1.30.02 02.Jan.08"; | |||||
const char *version_string = "1.30.03 04.Jan.08"; | |||||
const int version_phdata = 0x013000; | const int version_phdata = 0x013000; | ||||
int option_device_number = -1; | int option_device_number = -1; |
#define L_qa 0x716100 | #define L_qa 0x716100 | ||||
#define L_grc 0x677263 // grc Ancient Greek | #define L_grc 0x677263 // grc Ancient Greek | ||||
#define L_jbo 0x6a626f // jbo Lojban | |||||
#define L_zhy 0x7a6879 // zhy | #define L_zhy 0x7a6879 // zhy | ||||
tr->langopts.vowel_pause = 1; | tr->langopts.vowel_pause = 1; | ||||
tr->langopts.stress_rule = 2; | tr->langopts.stress_rule = 2; | ||||
tr->langopts.stress_flags = 0x6 | 0x10; | tr->langopts.stress_flags = 0x6 | 0x10; | ||||
// tr->langopts.stress_flags = 0x1; // don't give full stress to monosyllables | |||||
tr->langopts.unstressed_wd1 = 1; | tr->langopts.unstressed_wd1 = 1; | ||||
tr->langopts.unstressed_wd2 = 2; | tr->langopts.unstressed_wd2 = 2; | ||||
} | } | ||||
break; | break; | ||||
case L_jbo: // Lojban | |||||
{ | |||||
static const short stress_lengths_jbo[8] = {180,180, 220,220, 0,0, 260,280}; | |||||
static const wchar_t jbo_punct_within_word[] = {'.',',','\'',0x2c8,0}; // allow period and comma within a word, also stress marker | |||||
tr = new Translator(); | |||||
SetupTranslator(tr,stress_lengths_jbo,NULL); | |||||
tr->langopts.stress_rule = 2; | |||||
tr->langopts.vowel_pause = 0x20c; // pause before a word which starts with a vowel, or after a word which ends in a consonant | |||||
tr->punct_within_word = jbo_punct_within_word; | |||||
tr->langopts.param[LOPT_SYLLABLE_CAPS] = 1; // capitals indicate stressed syllables | |||||
SetLetterVowel(tr,'y'); | |||||
} | |||||
break; | |||||
case L('l','a'): //Latin | case L('l','a'): //Latin | ||||
{ | { | ||||
tr = new Translator(); | tr = new Translator(); |
static const unsigned char stress_amps2[] = {16,16, 20,20, 20,24, 24,21 }; | static const unsigned char stress_amps2[] = {16,16, 20,20, 20,24, 24,21 }; | ||||
static const short stress_lengths2[8] = {182,140, 220,220, 220,240, 260,280}; | static const short stress_lengths2[8] = {182,140, 220,220, 220,240, 260,280}; | ||||
static const wchar_t empty_wstring[1] = {0}; | static const wchar_t empty_wstring[1] = {0}; | ||||
static const wchar_t punct_in_word[2] = {'\'', 0}; // allow hyphen within words | |||||
charset_a0 = charsets[1]; // ISO-8859-1, this is for when the input is not utf8 | charset_a0 = charsets[1]; // ISO-8859-1, this is for when the input is not utf8 | ||||
dictionary_name[0] = 0; | dictionary_name[0] = 0; | ||||
char_plus_apostrophe = empty_wstring; | char_plus_apostrophe = empty_wstring; | ||||
punct_within_word = punct_in_word; | |||||
for(ix=0; ix<8; ix++) | for(ix=0; ix<8; ix++) | ||||
{ | { | ||||
spell_word = 0; | spell_word = 0; | ||||
found = LookupDictList(&word1, phonemes, dictionary_flags, FLAG_ALLOW_TEXTMODE, wtab); // the original word | found = LookupDictList(&word1, phonemes, dictionary_flags, FLAG_ALLOW_TEXTMODE, wtab); // the original word | ||||
// if textmode, LookupDictList() replaces word1 by the new text and returns found=0 | |||||
if(phonemes[0] == phonSWITCH) | if(phonemes[0] == phonSWITCH) | ||||
{ | { | ||||
// change to another language in order to translate this word | // change to another language in order to translate this word | ||||
int embedded_count = 0; | int embedded_count = 0; | ||||
int letter_count = 0; | int letter_count = 0; | ||||
int space_inserted = 0; | int space_inserted = 0; | ||||
int syllable_marked = 0; | |||||
char *word; | char *word; | ||||
char *p; | char *p; | ||||
int j, k; | int j, k; | ||||
if(char_inserted) | if(char_inserted) | ||||
next_in = char_inserted; | next_in = char_inserted; | ||||
if(!IsAlpha(c) && !iswspace(c) && (c != '\'')) | |||||
// allow certain punctuation within a word (usually only apostrophe) | |||||
if(!IsAlpha(c) && !iswspace(c) && (wcschr(punct_within_word,c) == 0)) | |||||
{ | { | ||||
if(IsAlpha(prev_out)) | if(IsAlpha(prev_out)) | ||||
{ | { | ||||
{ | { | ||||
if(!IsAlpha(prev_out) || (langopts.ideographs && ((c >= 0x3000) || (prev_out >= 0x3000)))) | if(!IsAlpha(prev_out) || (langopts.ideographs && ((c >= 0x3000) || (prev_out >= 0x3000)))) | ||||
{ | { | ||||
if(prev_out != '\'') | |||||
if(wcschr(punct_within_word,prev_out) == 0) | |||||
letter_count = 0; // don't reset count for an apostrophy within a word | letter_count = 0; // don't reset count for an apostrophy within a word | ||||
if((prev_out != ' ') && (prev_out != '\'')) | |||||
if((prev_out != ' ') && (wcschr(punct_within_word,prev_out) == 0)) | |||||
{ | { | ||||
// start of word, insert space if not one there already | // start of word, insert space if not one there already | ||||
c = ' '; | c = ' '; | ||||
{ | { | ||||
c = towlower(c); | c = towlower(c); | ||||
if(iswlower(prev_in)) | |||||
if(langopts.param[LOPT_SYLLABLE_CAPS]) | |||||
{ | { | ||||
c = ' '; // lower case followed by upper case, treat as new word | |||||
space_inserted = 1; | |||||
prev_in2 = c; | |||||
if(syllable_marked == 0) | |||||
{ | |||||
char_inserted = c; | |||||
c = 0x2c8; // stress marker | |||||
syllable_marked = 1; | |||||
} | |||||
} | } | ||||
//#ifdef deleted | |||||
// changed to break after the last uppercase letter, not before. See below | |||||
else | else | ||||
if((c != ' ') && iswupper(prev_in) && iswlower(next_in) && | |||||
(memcmp(&source[source_index],"s ",2) != 0)) // ENGLISH specific plural | |||||
{ | { | ||||
c = ' '; // change from upper to lower case, start new word at the last uppercase | |||||
space_inserted = 1; | |||||
prev_in2 = c; | |||||
next_word_flags |= FLAG_NOSPACE; | |||||
if(iswlower(prev_in)) | |||||
{ | |||||
c = ' '; // lower case followed by upper case, treat as new word | |||||
space_inserted = 1; | |||||
prev_in2 = c; | |||||
} | |||||
else | |||||
if((c != ' ') && iswupper(prev_in) && iswlower(next_in) && | |||||
(memcmp(&source[source_index],"s ",2) != 0)) // ENGLISH specific plural | |||||
{ | |||||
c = ' '; // change from upper to lower case, start new word at the last uppercase | |||||
space_inserted = 1; | |||||
prev_in2 = c; | |||||
next_word_flags |= FLAG_NOSPACE; | |||||
} | |||||
} | } | ||||
//#endif | |||||
} | } | ||||
else | else | ||||
{ | { | ||||
#ifdef deleted | |||||
if(iswupper(prev_in) && iswalpha(prev_out2) && | |||||
(memcmp(&source[source_index-1],"s ",2) != 0)) // ENGLISH specific plural | |||||
{ | |||||
// change to break after the last uppercase letter, not before. | |||||
c = ' '; // more than one upper case followed by lower case, treat as new word | |||||
space_inserted = 1; | |||||
prev_in2 = c; | |||||
} | |||||
#endif | |||||
if((all_upper_case) && (letter_count > 2)) | if((all_upper_case) && (letter_count > 2)) | ||||
{ | { | ||||
if((c == 's') && (next_in==' ')) | if((c == 's') && (next_in==' ')) | ||||
pre_pause = 0; | pre_pause = 0; | ||||
word_mark = 0; | word_mark = 0; | ||||
all_upper_case = FLAG_ALL_UPPER; | all_upper_case = FLAG_ALL_UPPER; | ||||
syllable_marked = 0; | |||||
} | } | ||||
} | } | ||||
else | else |
#define N_LOPTS 13 | |||||
#define N_LOPTS 14 | |||||
#define LOPT_DIERESES 1 | #define LOPT_DIERESES 1 | ||||
// 1=remove [:] from unstressed syllables, 2= remove from unstressed or non-penultimate syllables | // 1=remove [:] from unstressed syllables, 2= remove from unstressed or non-penultimate syllables | ||||
// bit 4=0, if stress < 4, bit 4=1, if not the highest stress in the word | // bit 4=0, if stress < 4, bit 4=1, if not the highest stress in the word | ||||
// change [t] when followed by unstressed vowel | // change [t] when followed by unstressed vowel | ||||
#define LOPT_REDUCE_T 12 | #define LOPT_REDUCE_T 12 | ||||
// stressed syllable is indicated by capitals | |||||
#define LOPT_SYLLABLE_CAPS 13 | |||||
typedef struct { | typedef struct { | ||||
// bits0-2 separate words with (1=pause_vshort, 2=pause_short, 3=pause, 4=pause_long 5=[?] phonemme) | // bits0-2 separate words with (1=pause_vshort, 2=pause_short, 3=pause, 4=pause_long 5=[?] phonemme) | ||||
int dict_condition; // conditional apply some pronunciation rules and dict.lookups | int dict_condition; // conditional apply some pronunciation rules and dict.lookups | ||||
const unsigned short *charset_a0; // unicodes for characters 0xa0 to oxff | const unsigned short *charset_a0; // unicodes for characters 0xa0 to oxff | ||||
const wchar_t *char_plus_apostrophe; // single chars + apostrophe treated as words | const wchar_t *char_plus_apostrophe; // single chars + apostrophe treated as words | ||||
const wchar_t *punct_within_word; // allow these punctuation characters within words | |||||
// holds properties of characters: vowel, consonant, etc for pronunciation rules | // holds properties of characters: vowel, consonant, etc for pronunciation rules | ||||
unsigned char letter_bits[256]; | unsigned char letter_bits[256]; |