Fix: reset phoneme table if speech is cancelled while switched to a second language. "speak": add -z options (same as for "espeak"). Numbers: Add option to speak "and" before hundreds. git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@143 d46cf337-b52f-0410-862d-fd96e6ae7743master
i@3 IR O O: o: O@ o@ OI | i@3 IR O O: o: O@ o@ OI | ||||
oU O~ U u: U@ V VR | oU O~ U u: U@ V VR | ||||
: ; b C d D dZ f | |||||
g h j k l m n N | |||||
p Q r r- s S t T | |||||
t2 tS v w x z Z | |||||
; b C d D dZ f g | |||||
h j k l m n N p | |||||
Q r r- s S t T t2 | |||||
tS v w x z Z | |||||
Dictionary eo_dict | Dictionary eo_dict | ||||
Dictionary fr_dict | Dictionary fr_dict | ||||
@ @- a A A~ e E E: | |||||
E~ i i: o O O~ u W | |||||
w^i W~ y Y | |||||
@ @- a A A~ e E E~ | |||||
i i: o O O~ u W w^i | |||||
W~ y Y | |||||
* : ; b c d D dZ | * : ; b c d D dZ | ||||
f g h j k l L m | f g h j k l L m | ||||
j k l m n p Q r | j k l m n p Q r | ||||
R s S t tS v w z | R s S t tS v w z | ||||
Z | Z | ||||
Dictionary ku_dict | |||||
a e E eI i I o u | |||||
U y | |||||
: b d dZ f g h j | |||||
k l m n p q r R | |||||
s S t tS v w x z | |||||
Z |
_' praIm | _' praIm | ||||
_( ElbrakIt | _( ElbrakIt | ||||
_) A@brakIt | _) A@brakIt | ||||
_* ast@rIsk: | |||||
_* ast@rIsk | |||||
_+ plVs | _+ plVs | ||||
_, k0m@ | _, k0m@ | ||||
_- h,aIf@n | _- h,aIf@n | ||||
aha a2hA: | aha a2hA: | ||||
ahem a2h'@m | ahem a2h'@m | ||||
ahoy a2hOI | ahoy a2hOI | ||||
airbus e@:bVs | |||||
airbus e@bVs | |||||
airpower 'e@p,aU@ | airpower 'e@p,aU@ | ||||
aisle aI@l | aisle aI@l | ||||
ajar a2dZA@ | ajar a2dZA@ | ||||
Evan Ev@n | Evan Ev@n | ||||
Gary garI2 | Gary garI2 | ||||
Geraint gEraInt | Geraint gEraInt | ||||
Gilbert gIlb3t | |||||
Giles gaIlz | Giles gaIlz | ||||
Glynn glIn | Glynn glIn | ||||
Graeme greI@m | Graeme greI@m |
g (i dZ | g (i dZ | ||||
gi (_ gI2 | gi (_ gI2 | ||||
_) g (il g | _) g (il g | ||||
g (ilC g | |||||
l) ging dZI2N | l) ging dZI2N | ||||
g (y dZ | g (y dZ | ||||
_) g (n | _) g (n |
// 2006-11-18 Gilles Casse <[email protected]> | // 2006-11-18 Gilles Casse <[email protected]> | ||||
// | // | ||||
// Updated 2008-02-11 Michel Such <[email protected]> | |||||
// Updated 2008-02-14 Michel Such <[email protected]> | |||||
// | // | ||||
// * Numbers, a few abbreviations and exceptions. | // * Numbers, a few abbreviations and exceptions. | ||||
// | // | ||||
adéquate adekuat | adéquate adekuat | ||||
airbus Erbys | airbus Erbys | ||||
anus anys | anus anys | ||||
any Eni | |||||
ardent aRdA~ | ardent aRdA~ | ||||
bissus bisys | bissus bisys | ||||
bonus bonys | bonus bonys | ||||
cocus coky | cocus coky | ||||
discident disidA~ | discident disidA~ | ||||
estomac Estoma | estomac Estoma | ||||
eye aj | |||||
eyes ajz | |||||
fils fis | fils fis | ||||
imprudent E~pRydA~ | imprudent E~pRydA~ | ||||
iris iris | iris iris | ||||
juin ZyE~ | juin ZyE~ | ||||
malus malys | malus malys | ||||
many mEni | |||||
mars maRs | mars maRs | ||||
minus minys | minus minys | ||||
occident OksidA~ | occident OksidA~ | ||||
orient ORjA~ | orient ORjA~ | ||||
pays pEi | pays pEi | ||||
phallus falys | phallus falys | ||||
polder pOldEr | |||||
prudent pRydA~ | prudent pRydA~ | ||||
secret sYkRE | secret sYkRE | ||||
souris suri | souris suri | ||||
août ut | août ut | ||||
azimut azim'yt | azimut azim'yt | ||||
brut bR'yt | brut bR'yt | ||||
bouse buz | |||||
but by $verb | but by $verb | ||||
but byt | but byt | ||||
club kl@b | club kl@b | ||||
(le pub) l@||p'@b | (le pub) l@||p'@b | ||||
(un pub) W~||p'@b | (un pub) W~||p'@b | ||||
(du pub) dy||p'@b | (du pub) dy||p'@b | ||||
connecticut kOnEktikyt | |||||
cut cWt | cut cWt | ||||
helmut Elmut | helmut Elmut | ||||
hub _|@b | hub _|@b | ||||
// et (t is said) | // et (t is said) | ||||
bridget bRidZEt | |||||
exocet EgzOsEt | exocet EgzOsEt | ||||
fret fR'Et | fret fR'Et | ||||
gadget gadZEt | |||||
budget bydZE | |||||
hamlet amlEt | hamlet amlEt | ||||
jacket ZakEt | |||||
knesset knEsEt | knesset knEsEt | ||||
lazaret lazaREt | lazaret lazaREt | ||||
margaret maRgaREt | margaret maRgaREt | ||||
net nEt | net nEt | ||||
offset OfsEt | offset OfsEt | ||||
pickpocket pikpOkEt | |||||
racket RakEt | |||||
set sEt | set sEt | ||||
soviet sOvjEt | soviet sOvjEt | ||||
short SORt | short SORt | ||||
// art (t said) | // art (t said) | ||||
stewart stiwaRt | |||||
steward stiwaRt | steward stiwaRt | ||||
stuttgart StutgaRt | stuttgart StutgaRt | ||||
hart aRt | hart aRt | ||||
// words from other languages | // words from other languages | ||||
about @bawt | |||||
about _^_en | |||||
acer asEr | acer asEr | ||||
again _^_en | |||||
against _^_en | |||||
alone _^_en | |||||
also _^_en | |||||
and _^_en | |||||
amazon amaz'On | amazon amaz'On | ||||
(audible manager) od'ibl||manadZ'@r | |||||
be bi | |||||
being biiN | |||||
by baj | |||||
any Eni | |||||
apple _^_en | |||||
at _^_en | |||||
(audible manager) odibl||manadZ@r | |||||
be _^_en | |||||
being _^_en | |||||
bluetooth blut'us | bluetooth blut'us | ||||
byte bajt | |||||
bytes bajts | |||||
both _^_en | |||||
browser _^_en | |||||
can _^_en | |||||
computer _^_en | |||||
(cyber link) sibEr||link | (cyber link) sibEr||link | ||||
debian dEbjAn | debian dEbjAn | ||||
driver drajv@rz2 | |||||
download dOnlod | |||||
does _^_en | |||||
doesn't _^_en | |||||
don't _^_en | |||||
driver _^_en | |||||
edit edit | edit edit | ||||
emacs Emaks | emacs Emaks | ||||
emacspeak Emakspi:k | emacspeak Emakspi:k | ||||
end _^_en | |||||
enter 'Ent@r | |||||
epson EpsOn | |||||
espeak @spi:k | espeak @spi:k | ||||
ethernet etERnEt | ethernet etERnEt | ||||
exit egzit | exit egzit | ||||
(file zilla) fajl@-||zija | |||||
eye _^_en | |||||
eyes _^_en | |||||
(file zilla) fajl||zija | |||||
fire _^_en | |||||
firefox faj@RfOks | firefox faj@RfOks | ||||
(fire wire) faj@R||wajr | |||||
firewire faj@Rwajr | |||||
google gu:g'@l | |||||
girl g@Rl | |||||
get _^_en | |||||
google gu:g@l | |||||
gnome gnom | gnome gnom | ||||
gnu gnu | gnu gnu | ||||
hamburger _!A~b@rg@r | hamburger _!A~b@rg@r | ||||
has _!az $u | |||||
his _!iz $u | |||||
inside insajd | |||||
insight insajt | |||||
help _^_en | |||||
in _^_en | |||||
into _^_en | |||||
inside _^_en | |||||
insight _^_en | |||||
internet E~tERnEt | internet E~tERnEt | ||||
(internet explorer) E~tErn'Et||EksplOr'@r | (internet explorer) E~tErn'Et||EksplOr'@r | ||||
is iz | |||||
it it | |||||
its its | |||||
is _^_en | |||||
it _^_en | |||||
its _^_en | |||||
klaxon klaksOn | klaxon klaksOn | ||||
leader li:d@R | |||||
let lEt | |||||
layer _^_en | |||||
let _^_en | |||||
liszt list | liszt list | ||||
lite lajt | |||||
lite _^_en | |||||
logon _^_en | |||||
(mac os x) makoEsiks | (mac os x) makoEsiks | ||||
mail mE:jl | |||||
maker mE:jk@r | |||||
made _^_en | |||||
mail _^_en | |||||
media medja | media medja | ||||
messenger mesEnZ'@r | |||||
movy mu:v'i | |||||
my maj | |||||
name nejm | |||||
not nOt | |||||
messenger _^_en | |||||
my _^_en | |||||
name _^_en | |||||
not _^_en | |||||
of _^_en | |||||
often _^_en | |||||
ok oke | ok oke | ||||
open Op'@n | open Op'@n | ||||
outlook autluk | outlook autluk | ||||
outside autsajd | |||||
outsider autsajd@r | |||||
player plEj'@r | |||||
quick kwik | |||||
outside _^_en | |||||
outsider _^_en | |||||
player _^_en | |||||
redhat REdat | redhat REdat | ||||
release rili:z | |||||
same sejm | |||||
same _^_en | |||||
sametime _^_en | |||||
schubert SubER | schubert SubER | ||||
screamer skri:m@r | |||||
(search & destroy) s@:rS_||end_||dEsstrOj | |||||
skype sk'ajp@- | |||||
spybot spajbOt | |||||
sun s@n | |||||
sunlight s@nlajt | |||||
since _^_en | |||||
sun _^_en | |||||
(text aloud) tEkst||@lawd | (text aloud) tEkst||@lawd | ||||
than Dan | |||||
the D@ $u | |||||
them DEm $u | |||||
then DEn $u | |||||
there DEr $u | |||||
they DE $u | |||||
thunderbird f@ndERb@Rd | |||||
time tajm | |||||
timer tajm@r | |||||
their _^_en | |||||
there _^_en | |||||
these _^_en | |||||
those _^_en | |||||
they _^_en | |||||
thus _^_en | |||||
thunderbird D'@ndYR||b@Rd | |||||
time _^_en | |||||
timer _^_en | |||||
ubuntu ubuntu | ubuntu ubuntu | ||||
update @pd'E:jt | |||||
upload @plod | |||||
very vEri | |||||
viavoice viavOjs | |||||
was waz $u | |||||
window windo | |||||
windows windoz | |||||
word wWRd | |||||
writer rajt@r | |||||
up _^_en | |||||
viking vikiN | |||||
was _^_en | |||||
won't _^_en | |||||
yacht jot | yacht jot | ||||
yes jEs $brk | yes jEs $brk | ||||
// French translation rules | // French translation rules | ||||
// This file is UTF-8 encoded | // This file is UTF-8 encoded | ||||
// 2006-11-18 Gilles Casse <[email protected]> | // 2006-11-18 Gilles Casse <[email protected]> | ||||
// | // | ||||
// Updated: 2008-02-11 Michel Such <[email protected]> | |||||
// Updated: 2008-02-14 Michel Such <[email protected]> | |||||
// | // | ||||
// * The rules are based on Cicero TTS. | // * The rules are based on Cicero TTS. | ||||
// | |||||
// Y | |||||
// Letter classes: | // Letter classes: | ||||
// A all vowels: a e i o u y â ä é ê è î ï ô ö ù û | // A all vowels: a e i o u y â ä é ê è î ï ô ö ù û | ||||
a (il_ a | a (il_ a | ||||
aie (me E // paiement | aie (me E // paiement | ||||
ai E // aile | ai E // aile | ||||
a (lk O // talk | |||||
a (ll_ O // football handball | |||||
am (b A~ // jambon | am (b A~ // jambon | ||||
am (p A~ // camp | am (p A~ // camp | ||||
am (m a // programmation | am (m a // programmation | ||||
ay Ej // paye | ay Ej // paye | ||||
a a // bateau | a a // bateau | ||||
// group a: English section | |||||
_C) ad (_ _^_en // bad, had, sad | |||||
alk _^_en // talk, walk | |||||
all (_ _^_en // football handball | |||||
f) all (en_ _^_en // fallen | |||||
sm) all _^_en // small, smaller | |||||
ally (_ _^_en // really, naturally | |||||
a (wC _^_en | |||||
.group b | .group b | ||||
bb b // abbé | bb b // abbé | ||||
om) b (_ // plomb applomb | om) b (_ // plomb applomb | ||||
b b // aube | b b // aube | ||||
// group b: English section | |||||
bird _^_en // bird | |||||
bly (_ _^_en // probably | |||||
board _^_en // board, keyboard | |||||
box (_ _^_en // box, inbox, outbox | |||||
bug (_ _^_en // bug, debug | |||||
bug (g _^_en // debugger | |||||
buil _^_en // build, built | |||||
_) buy _^_en | |||||
_) by _^_en // by, bye, bypass | |||||
.group c | .group c | ||||
c' s // s | c' s // s | ||||
cien (t_ i // ils appr�ient, remercient. | cien (t_ i // ils appr�ient, remercient. | ||||
i) cien (t_ sjA~ // coefficient | i) cien (t_ sjA~ // coefficient | ||||
// group c: English section | |||||
cast (_ _^_en // broadcast | |||||
calt (_ _^_en // difficult | |||||
cut (_ _^_en // cut, shortcut | |||||
cy (_ _^_en // currency, frequency | |||||
.group d | .group d | ||||
dd d // addition | dd d // addition | ||||
Csan) d (_ d | Csan) d (_ d | ||||
_tan) d (_ d // stand | _tan) d (_ d // stand | ||||
Ctan) d (_ d | Ctan) d (_ d | ||||
for) d (_ d | |||||
lor) d (_ d | |||||
Can) d (_ t2 // grand ami, grand marchand | Can) d (_ t2 // grand ami, grand marchand | ||||
Cen) d (_ t2 | Cen) d (_ t2 | ||||
r) d (_ // lourd placard | r) d (_ // lourd placard | ||||
d d // don bled | d d // don bled | ||||
// group d: English section | |||||
') d (_ _^_en | |||||
lor) d (_ _^_en | |||||
day (_ _^_en | |||||
dle (X _^_en // bundle, handle | |||||
dly (_ _^_en | |||||
dy (_ _^_en | |||||
.group e | .group e | ||||
e (Ce_ E | e (Ce_ E | ||||
eau o // bateau cheveaux | eau o // bateau cheveaux | ||||
C) ea (d i: // read | |||||
Cr) ea (m i: // stream | |||||
Cl) ea (n i: // clean | |||||
C) ea (Cer i: // reader, cleaner | |||||
g) ea (s_ a // mangeas | |||||
j) e (a // Jean Jeanne | j) e (a // Jean Jeanne | ||||
sp) ea (k i: // speak speaker | |||||
p) ect (_ E // suspect | p) ect (_ E // suspect | ||||
ect (_ Ekt // direct | ect (_ Ekt // direct | ||||
_trépi) ed e | _trépi) ed e | ||||
_pi) ed e // pied | _pi) ed e // pied | ||||
ee i: // meeting | |||||
_cl) ef (_ e // clef | _cl) ef (_ e // clef | ||||
Ck) e (r_ @ // worker, talker | |||||
_Cett) e (r_ @ // letter, better | |||||
eaC) e (r_ @ // speaker, streamer | |||||
gh) e (r_ @ // higher | |||||
ght) e (r_ @ // fighter, lighter | |||||
ooC) e (r_ @ // scooter | |||||
_ov) e (r @ // over | |||||
ein (C E~ // peindre | ein (C E~ // peindre | ||||
ein (_ E~ | ein (_ E~ | ||||
e (il E // vieille | e (il E // vieille | ||||
_trav) er (_ ER | _trav) er (_ ER | ||||
_ti) er (_ ER | _ti) er (_ ER | ||||
th) er (_ @R // brother | |||||
th) er (s_ @R | |||||
w) er (_ @R // power | |||||
w) er (s_ @R | |||||
er (_ e // parler léger | er (_ e // parler léger | ||||
er (s_ e | er (s_ e | ||||
@Cr) es (_C @- | @Cr) es (_C @- | ||||
rC) es (_C @- // fortes dames | rC) es (_C @- // fortes dames | ||||
dg) et (_ Et // Bridget, gadget | |||||
') eu (_ y // eu | ') eu (_ y // eu | ||||
eu (r_ @ // peur | eu (r_ @ // peur | ||||
_) eû y // eût | _) eû y // eût | ||||
eû Y // jeûne | eû Y // jeûne | ||||
ew (_ ju // new | |||||
ews juz // news, newsreader | |||||
r) ew (_ u // crew | |||||
r) ews uz | |||||
i) ew (_ u // view | |||||
i) ews uz | |||||
e (x E // exact | e (x E // exact | ||||
ey (_ e // dahomey | ey (_ e // dahomey | ||||
ey (C e // ceylan | ey (C e // ceylan | ||||
e @ // menue | e @ // menue | ||||
// group e: English section | |||||
C) ead _^_en // read, head | |||||
eaf _^_en // leaf | |||||
eak _^_en // break, speak | |||||
Cr) eam _^_en // stream | |||||
Cl) ean _^_en // clean | |||||
l) ean _^_en // lean | |||||
m) ean _^_en // mean | |||||
ear _^_en // ear, search | |||||
eas _^_en // please | |||||
eat _^_en // eat, seat | |||||
ed (_ _^_en | |||||
ee _^_en // meeting | |||||
eave _^_en // leave | |||||
eft (_ _^_en // left | |||||
eive _^_en // receive | |||||
eith _^_en // either neither | |||||
ely (_ _^_en // lately | |||||
ooC) er (_ _^_en // scooter | |||||
_ov) er _^_en // over | |||||
_C) etter (_ _^_en // letter, better | |||||
ack) et (_ _^_en // racket, packet | |||||
ock) et (_ _^_en // rocket, pocket | |||||
ery (_ _^_en // query | |||||
qu) est (_ _^_en // request | |||||
qu) este (X_ _^_en // requested, requester | |||||
.group ë | .group ë | ||||
u) ë // ambiguë | u) ë // ambiguë | ||||
_neu) f (_ans v // liaison: neuf ans | _neu) f (_ans v // liaison: neuf ans | ||||
_neu) f (_heures v | _neu) f (_heures v | ||||
// group f: English section | |||||
fail (_ _^_en // fail | |||||
fail (A _^_en // failure | |||||
faith _^_en // failure | |||||
fly _^_en | |||||
ford (_ _^_en | |||||
friend _^_en // friend, friendly | |||||
full (_ _^_en | |||||
fully (_ _^_en | |||||
fy (_ _^_en | |||||
.group g | .group g | ||||
g g | g g | ||||
g (_ g // grog gag goulag | g (_ g // grog gag goulag | ||||
g Z // congé george | g Z // congé george | ||||
// group g: English section | |||||
gh _^_en // high, higher | |||||
girl _^_en // girl | |||||
gly (_ _^_en | |||||
give (X _^_en | |||||
gy (_ _^_en | |||||
.group h | .group h | ||||
_) h (ac _! // hache | _) h (ac _! // hache | ||||
_) h (ide _! // hideux | _) h (ide _! // hideux | ||||
_) h (iér _! // hiéroglyphe | _) h (iér _! // hiéroglyphe | ||||
_) h (i-fi _! // hi-fi | _) h (i-fi _! // hi-fi | ||||
_) h (igh _! // highlandais | |||||
_) h (i-han _! // hi-han | _) h (i-han _! // hi-han | ||||
_) h (iss _! // hisser | _) h (iss _! // hisser | ||||
_) h (it _! // hit, hit-parad | _) h (it _! // hit, hit-parad | ||||
_) h (umo // humour | _) h (umo // humour | ||||
h // ahuri | h // ahuri | ||||
// group h: English section | |||||
_) half _^_en | |||||
_) h (As_ _^_en // has, his | |||||
here (_ _^_en // here | |||||
.group i | .group i | ||||
i i // cri | i i // cri | ||||
i (es_ i // parties | i (es_ i // parties | ||||
i (e_ i | i (e_ i | ||||
i (A j // fermier portier patio renier | i (A j // fermier portier patio renier | ||||
ig (h aj // right, fight, light | |||||
wh) ile ajll // while, endwhile | |||||
wr) i (tA aj // write | |||||
_) ill ill // illégal | _) ill ill // illégal | ||||
_m) ill il // mille | _m) ill il // mille | ||||
v) ill il // village | v) ill il // village | ||||
imm imm // immaculé | imm imm // immaculé | ||||
im (_ im // karim | im (_ im // karim | ||||
im (C E~ // timbre | im (C E~ // timbre | ||||
ing (_ iN // parking | |||||
in (h in // inhumain | in (h in // inhumain | ||||
inct (_ E~ // distinct | inct (_ E~ // distinct | ||||
ind (_ ajnd // find, mind | |||||
ind (ing_ ajnd // find, mind | |||||
ink ink // link, pink | |||||
in (n i // innombrable | in (n i // innombrable | ||||
in (C E~ // vingt | in (C E~ // vingt | ||||
// in (_ E~ // vin | |||||
in (_ W~ // vin | in (_ W~ // vin | ||||
ique (_ ik | ique (_ ik | ||||
// group i: English section | |||||
ike (X _^_en // bike, like | |||||
ill (_ _^_en // ill, will, fill | |||||
C) illy (_ _^_en // silly | |||||
ing (_ _^_en // parking | |||||
ind (_ _^_en // find, mind | |||||
ind (er_ _^_en // finder, reminder | |||||
ink _^_en // link, pink | |||||
ious (_ _^_en // various | |||||
iously (_ _^_en // previously | |||||
ism (_ _^_en // tourism | |||||
ize _^_en // realize | |||||
.group î | .group î | ||||
î i // abîme | î i // abîme | ||||
.group k | .group k | ||||
k k // kafka | k k // kafka | ||||
ket (_ kEt // basket | |||||
kets (_ kEt // basket | |||||
// group k: English section | |||||
ke (X _^_en // basket, make, take | |||||
ky (_ _^_en | |||||
.group l | .group l | ||||
l l // lit | l l // lit | ||||
ll l // aller | ll l // aller | ||||
outi) l (_ // outil | outi) l (_ // outil | ||||
ui) ll j // juillet | ui) ll j // juillet | ||||
// group l: English section | |||||
') ld (_ _^_en | |||||
') ll (_ _^_en | |||||
less (_ _^_en // noiseless | |||||
lessly (_ _^_en // endlessly | |||||
.group m | .group m | ||||
m m // film | m m // film | ||||
mm m // pomme | mm m // pomme | ||||
// group m: English section | |||||
mail (A _^_en // mailer | |||||
may _^_en | |||||
mov (A _^_en // move, movy | |||||
.group n | .group n | ||||
n n // une | n n // une | ||||
A) ng (_ N // parking meeting | A) ng (_ N // parking meeting | ||||
nn n // panne | nn n // panne | ||||
// group n: English section | |||||
n't (_ _^_en | |||||
ny (_ _^_en | |||||
.group o | .group o | ||||
cr) oc (_ o // escroc | cr) oc (_ o // escroc | ||||
r) o (ne_ o | r) o (ne_ o | ||||
alc) oo (l O // alcool | alc) oo (l O // alcool | ||||
oo (Ce u // boomer | |||||
C) oot ut // bootable football | |||||
z) oo o // zoo | z) oo o // zoo | ||||
z) oo (l oo // zoologue | |||||
z) oo (ph oo // zoophile | |||||
z) oo (C oo // zoologue | |||||
z) oo (m u // zoom | z) oo (m u // zoom | ||||
oo (X u // pool | oo (X u // pool | ||||
_gal) op (_ o // galop | _gal) op (_ o // galop | ||||
v) ost (_ o // Prévost | v) ost (_ o // Prévost | ||||
o (sA o // poser | o (sA o // poser | ||||
ot (_ o // mot dépots | ot (_ o // mot dépots | ||||
C) ou (nd aw // sound, found | |||||
_C) oup (_ u // coup, loup | _C) oup (_ u // coup, loup | ||||
uC) oup (_ up2 // beaucoup | uC) oup (_ up2 // beaucoup | ||||
oû u // coûter | oû u // coûter | ||||
oyes (_ wa // troyes | oyes (_ wa // troyes | ||||
oy (A waj // noyer voyelles | oy (A waj // noyer voyelles | ||||
oy (_ Oj // boy, toy | |||||
oys (_ Ojz // boys, toys | |||||
oy wa // roy | oy wa // roy | ||||
o (_ o // zorro allégro | o (_ o // zorro allégro | ||||
o (z_ o // berlioz | o (z_ o // berlioz | ||||
o O // sobre notions émotions | o O // sobre notions émotions | ||||
// group o: English section | |||||
C) oad (_ _^_en // load, road | |||||
C) oad (eX _^_en // loaded | |||||
C) oat _^_en // boat | |||||
old (er_ _^_en // folder, older | |||||
oo (Ce _^_en // boomer | |||||
C) oot _^_en // bootable football | |||||
C) ou (ld_ _^_en // could, should | |||||
oun (C _^_en // bounce, found | |||||
_C) ouse _^_en // mouse, house | |||||
C) outh _^_en // mouth, south | |||||
ow _^_en // cow, town, down | |||||
oy (X _^_en // boy, toy | |||||
.group ô | .group ô | ||||
ôt (_ o // rôt | ôt (_ o // rôt | ||||
se) pt (_ t // sept | se) pt (_ t // sept | ||||
se) pt (iè t // septième | se) pt (iè t // septième | ||||
// group p: English section | |||||
plug _^_en // plug | |||||
ply (_ _^_en // simply | |||||
print (_ _^_en // print | |||||
printer (_ _^_en // printer | |||||
_) prove (X _^_en // prove | |||||
_AC) prove (X _^_en // improve | |||||
_AC) provem _^_en // improvement | |||||
py (_ _^_en // copy | |||||
.group q | .group q | ||||
q k // coq | q k // coq | ||||
_) qu' (P3 k // qu'il | _) qu' (P3 k // qu'il | ||||
n) q (_ k // cinq cent | n) q (_ k // cinq cent | ||||
// group q: English section | |||||
quick _^_en // quick, quickly | |||||
.group r | .group r | ||||
right rajt // copyright | |||||
_su) rr RR // surréaliste | _su) rr RR // surréaliste | ||||
cou) rr RR // courrai | cou) rr RR // courrai | ||||
mou) rr RR // mourrai | mou) rr RR // mourrai | ||||
rr R // erreur | rr R // erreur | ||||
r r // rien | r r // rien | ||||
// group r: English section | |||||
_) rule (X _^_en // rule | |||||
ry (_ _^_en // theory | |||||
.group s | .group s | ||||
s s // verser sien | s s // verser sien | ||||
sch S // schéma | sch S // schéma | ||||
dé) sh (A z // déshabiller | dé) sh (A z // déshabiller | ||||
sh S // shérif | sh S // shérif | ||||
CA) sh (_ _^_en // punish | |||||
ss s // assez | ss s // assez | ||||
ai) s (em s // vraisemblable | ai) s (em s // vraisemblable | ||||
ïu) s (_ s // laïus | ïu) s (_ s // laïus | ||||
Culu) s (_ s // cumulus | Culu) s (_ s // cumulus | ||||
plu) s (_ z2 // plus, surplus | plu) s (_ z2 // plus, surplus | ||||
ylu) s (_ s // stylus | |||||
mu) s (_ s | mu) s (_ s | ||||
_mu) s (_ | _mu) s (_ | ||||
ému) s (_ | ému) s (_ | ||||
s (j z | s (j z | ||||
s (v z | s (v z | ||||
// group s: English section | |||||
') s (_ _^_en // possessive | |||||
ship _^_en // friendship | |||||
shop _^_en // shop | |||||
sh (At _^_en // shut, shot | |||||
shout _^_en | |||||
sky _^_en | |||||
_) smil _^_en // smile, smiley | |||||
spy _^_en | |||||
A) ss (_ _^_en // boss, cross | |||||
C) s (ton _^_en // winston | |||||
stone (_ _^_en | |||||
sy (_ _^_en | |||||
.group t | .group t | ||||
t t // bataille | t t // bataille | ||||
V) t (_ t2 // silent at end of verb unless next word starts with a vowel | V) t (_ t2 // silent at end of verb unless next word starts with a vowel | ||||
t (_ // silent at end of word | t (_ // silent at end of word | ||||
_) th (onX t // thon | |||||
_) th (ymX t // shym | |||||
ts (_S1 z2 // silent at end of word unless next word starts with a vowel | ts (_S1 z2 // silent at end of word unless next word starts with a vowel | ||||
C) t (_ t // compost watt soft script malttact abrupt | C) t (_ t // compost watt soft script malttact abrupt | ||||
Vn) t (_ t2 // silent at end of verb unless next word starts with a vowel | Vn) t (_ t2 // silent at end of verb unless next word starts with a vowel | ||||
s) th (m // asthme | s) th (m // asthme | ||||
th t // théorie | th t // théorie | ||||
sCar) t (_ t // smart, start | |||||
hui) t (_ t // huit | hui) t (_ t // huit | ||||
_) t t // tien tiers | _) t t // tien tiers | ||||
_ce) t (_ t | _ce) t (_ t | ||||
// group t: English section | |||||
_) th (AX _^_en // that, this, then, than | |||||
C) th (_ _^_en // month | |||||
try (_ _^_en // try, country | |||||
sCar) t (_ _^_en // smart, start | |||||
sCar) t (er_ _^_en // starter | |||||
ty (_ _^_en // party, buty | |||||
.group u | .group u | ||||
u y // cruel nuage brut | u y // cruel nuage brut | ||||
ui w^i | ui w^i | ||||
_b) usi iz // business, businessman | |||||
_b) usi _^_en // business, businessman | |||||
c) ueill Wj // cueillir | c) ueill Wj // cueillir | ||||
c) ueil (_ Wj // recueil | c) ueil (_ Wj // recueil | ||||
_c) ul (_ y | _c) ul (_ y | ||||
um (b W~ // humble | um (b W~ // humble | ||||
um (p W~ | um (p W~ | ||||
un (C W~ // emprunt lundi | un (C W~ // emprunt lundi | ||||
C) un (_ W~ // brun | |||||
CC) un (_ W~ // brun | |||||
uc) un (_ W~n2 // aucun | uc) un (_ W~n2 // aucun | ||||
un (_ W~n2 // un avion | un (_ W~n2 // un avion | ||||
_f) un @n // fun | |||||
_g) un @n // gun | |||||
_r) un @n // run | |||||
_s) un @n // sun, sunday | |||||
fl) ux (_ y // flux, reflux | fl) ux (_ y // flux, reflux | ||||
g) u (A // fatigue | g) u (A // fatigue | ||||
g) u (ï y // ambiguïté | g) u (ï y // ambiguïté | ||||
g) u (ë y // ambiguë | g) u (ë y // ambiguë | ||||
// group u: English section | |||||
C) u (ch_ _^_en // much such | |||||
C) ui (ce _^_en // produice, juice | |||||
up (C _^_en // upper, update | |||||
under _^_en // under, understand, thunder | |||||
C) ur (ch _^_en // church | |||||
urn (X _^_en // burn, turn | |||||
ust (_ _^_en // just, trust | |||||
rib) u (teX _^_en // tribute, attribute | |||||
.group v | .group v | ||||
v v | v v | ||||
// goup v: English section | |||||
') ve (_ _^_en | |||||
voice (_ _^_en | |||||
void (_ _^_en | |||||
vy (_ _^_en | |||||
.group w | .group w | ||||
w w | w w | ||||
wa (Ce_ wE // hardware software wave | |||||
w (agon v // wagon | w (agon v // wagon | ||||
w (r // write | |||||
// group w: English section | |||||
A) w _^_en | |||||
wa (Ce_ _^_en // hardware software wave | |||||
wr _^_en // write | |||||
w (ACh _^_en // wash, wish, with | |||||
way _^_en // way, away | |||||
wh _^_en // what, which, who | |||||
_) wi _^_en // winner, window, wire | |||||
wise _^_en | |||||
_) wom _^_en // woman | |||||
wor _^_en // word, world | |||||
.group x | .group x |
t) u (DnK wu@ | t) u (DnK wu@ | ||||
uo uo | uo uo | ||||
sh) ui wei | |||||
sh) ui rei | |||||
sh) u (DnK wo- | sh) u (DnK wo- | ||||
sh) uo wo | sh) uo wo | ||||
<p> | <p> | ||||
The -e option prevents Mbrola from stopping if it finds a combination | The -e option prevents Mbrola from stopping if it finds a combination | ||||
of phonemes which it doesn't recognise. | of phonemes which it doesn't recognise. | ||||
<p> | |||||
Some mbrola voices (de5, de6) use a sample rate of 22050 Hz. These need -r22050 rather than -r16000. | |||||
</ol> | </ol> | ||||
<h3>Mbrola Voice Files</h3> | <h3>Mbrola Voice Files</h3> | ||||
gender female | gender female | ||||
pitch 140 220 | pitch 140 220 | ||||
mbrola de5 de5_phtrans 22050 | |||||
mbrola de5 de6_phtrans 22050 | |||||
48 phoneme tables | |||||
49 phoneme tables | |||||
new total | new total | ||||
base 99 99 | base 99 99 | ||||
base2 24 118 | base2 24 118 | ||||
ru 38 129 | ru 38 129 | ||||
it 17 121 | it 17 121 | ||||
la 21 117 | la 21 117 | ||||
es 8 119 | |||||
es 9 119 | |||||
es_la 1 119 | es_la 1 119 | ||||
pt 27 134 | pt 27 134 | ||||
pt_pt 20 134 | pt_pt 20 134 | ||||
th 50 142 | th 50 142 | ||||
id 14 120 | id 14 120 | ||||
tr 14 123 | tr 14 123 | ||||
ku 12 120 | |||||
ja 7 104 | ja 7 104 | ||||
Data file Used by | Data file Used by | ||||
[x2] nl | [x2] nl | ||||
[x2] pt | [x2] pt | ||||
ufric/x_hr [x] hr | ufric/x_hr [x] hr | ||||
[x] ku | |||||
ufric/x_sr [h] sr | ufric/x_sr [h] sr | ||||
[x] sr | [x] sr | ||||
ustop/c [c] base | ustop/c [c] base | ||||
[k] zhy | [k] zhy | ||||
[k] sw | [k] sw | ||||
ustop/k_unasp [k] base | ustop/k_unasp [k] base | ||||
[q] base | |||||
[k] base2 | [k] base2 | ||||
[k] fi | [k] fi | ||||
[k] hi | [k] hi | ||||
[p] sk | [p] sk | ||||
[p] la | [p] la | ||||
[p;] ro | [p;] ro | ||||
ustop/q [q] base | |||||
ustop/t [t] base | ustop/t [t] base | ||||
[t2] en | [t2] en | ||||
[t] fr | [t] fr | ||||
[eI] id | [eI] id | ||||
vdiph/eei_3 [eI] en_rp | vdiph/eei_3 [eI] en_rp | ||||
[eI] sk | [eI] sk | ||||
[eI] ku | |||||
vdiph/eeu [EU] pt | vdiph/eeu [EU] pt | ||||
[EU] grc | [EU] grc | ||||
[EU] vi | [EU] vi | ||||
[&] fi | [&] fi | ||||
[&:] hi | [&:] hi | ||||
[&] sv | [&] sv | ||||
[E] ku | |||||
vowel/0 [0] en | vowel/0 [0] en | ||||
[O] hi | [O] hi | ||||
[O] pt | [O] pt | ||||
[aa] zhy | [aa] zhy | ||||
vowel/aa# [0] en_wi | vowel/aa# [0] en_wi | ||||
[a2] fi | [a2] fi | ||||
[a] ku | |||||
vowel/aa_2 [A:] en | vowel/aa_2 [A:] en | ||||
[A@] en | [A@] en | ||||
[A:] cy | [A:] cy | ||||
[e] fi | [e] fi | ||||
[E] nl | [E] nl | ||||
[e] sk | [e] sk | ||||
[e] es | |||||
[e] ro | [e] ro | ||||
[e] el | [e] el | ||||
[e] sw | [e] sw | ||||
[i] hr | [i] hr | ||||
[i] id | [i] id | ||||
[i] tr | [i] tr | ||||
[i] ku | |||||
vowel/i#_6 [i.] zh | vowel/i#_6 [i.] zh | ||||
vowel/i#_7 [i[] zh | vowel/i#_7 [i[] zh | ||||
vowel/i_en [i:] en | vowel/i_en [i:] en | ||||
[I] nl | [I] nl | ||||
[I] is | [I] is | ||||
[i] zhy | [i] zhy | ||||
[e] ku | |||||
vowel/ii# [Y] cy | vowel/ii# [Y] cy | ||||
[y] pl | [y] pl | ||||
[Y] ru | [Y] ru | ||||
[I] ku | |||||
vowel/ii_2 [i] zh | vowel/ii_2 [i] zh | ||||
vowel/ii_3 [I] cy | vowel/ii_3 [I] cy | ||||
[I] fi | [I] fi | ||||
vowel/o-_4 [o] ro | vowel/o-_4 [o] ro | ||||
vowel/o_5 [O] nl | vowel/o_5 [O] nl | ||||
vowel/o_6 [O:] nl | vowel/o_6 [O:] nl | ||||
vowel/o_7 [o] ku | |||||
vowel/oe [W] en | vowel/oe [W] en | ||||
[W] af | [W] af | ||||
[W] de | [W] de | ||||
vowel/u_5 [u] sw | vowel/u_5 [u] sw | ||||
vowel/u_6 [U] pt_pt | vowel/u_6 [U] pt_pt | ||||
[u] pt_pt | [u] pt_pt | ||||
[u] ku | |||||
vowel/u#_6 [u:] en_us | vowel/u#_6 [u:] en_us | ||||
vowel/u_7 [u] vi | vowel/u_7 [u] vi | ||||
vowel/u#_7 [u#] tr | vowel/u#_7 [u#] tr | ||||
vowel/u_fnt [u:] en_rp | vowel/u_fnt [u:] en_rp | ||||
vowel/uu [U] en | vowel/uu [U] en | ||||
[U] en_wm | [U] en_wm | ||||
vowel/uu# [U] ku | |||||
vowel/uu_2 [U] base2 | vowel/uu_2 [U] base2 | ||||
[U] de | [U] de | ||||
[U] ta | [U] ta | ||||
vowel/y_4 [y:] no | vowel/y_4 [y:] no | ||||
vowel/y_5 [y:] sv | vowel/y_5 [y:] sv | ||||
[y] tr | [y] tr | ||||
[y] ku | |||||
vowel/yy [y"] fr_ca | vowel/yy [y"] fr_ca | ||||
[y] no | [y] no | ||||
vowel/yy_3 [y] sv | vowel/yy_3 [y] sv |
// Spanish - based on Base2 | // Spanish - based on Base2 | ||||
//==================================================== | //==================================================== | ||||
phoneme e | |||||
vowel starttype (e) endtype (e) | |||||
length 170 | |||||
formants vowel/e_mid2 | |||||
endphoneme | |||||
phoneme E | phoneme E | ||||
vowel starttype (e) endtype (e) | vowel starttype (e) endtype (e) | ||||
length 180 | length 180 |
//==================================================== | |||||
// Latin American Spanish - based on Spanish | |||||
//==================================================== | |||||
vowelin f1=1 f2=1700 0 200 f3=-300 80 f4 paus rms=35 | vowelin f1=1 f2=1700 0 200 f3=-300 80 f4 paus rms=35 | ||||
vowelout f1=1 f2=1700 0 200 f3=-300 80 f4 rms=30 | vowelout f1=1 f2=1700 0 200 f3=-300 80 f4 rms=30 | ||||
lengthmod 2 | lengthmod 2 | ||||
wave ustop/k_unasp%60 | |||||
before _ ustop/k_unasp%50 | |||||
wave ustop/q%50 | |||||
before _ ustop/q%40 | |||||
endphoneme | endphoneme | ||||
phonemetable tr base2 | phonemetable tr base2 | ||||
include ph_turkish | include ph_turkish | ||||
phonemetable ku base2 | |||||
include ph_kurdish | |||||
phonemetable ja base | phonemetable ja base | ||||
include ph_japanese | include ph_japanese |
# removed -fno-exceptions because it caused problems with stdio library on some platforms | |||||
PREFIX=/ | PREFIX=/ | ||||
BINDIR=$(PREFIX)/usr/bin | BINDIR=$(PREFIX)/usr/bin | ||||
INCDIR=$(PREFIX)/usr/include/espeak | INCDIR=$(PREFIX)/usr/include/espeak | ||||
mv $(LIB_NAME) $(LIB_NAME).$(LIBTAG) | mv $(LIB_NAME) $(LIB_NAME).$(LIBTAG) | ||||
.cpp.o: | .cpp.o: | ||||
$(CXX) $(CXXFLAGS) -D PATH_ESPEAK_DATA=\"$(DATADIR)\" -Wall -pedantic -I. -c -fno-exceptions $< | |||||
$(CXX) $(CXXFLAGS) -D PATH_ESPEAK_DATA=\"$(DATADIR)\" -Wall -pedantic -I. -c $< | |||||
$(BIN_NAME): $(OBJS1) | $(BIN_NAME): $(OBJS1) | ||||
$(CXX) -o $@ $(OBJS1) $(LIBS1) | $(CXX) -o $@ $(OBJS1) $(LIBS1) | ||||
x_%.o: %.cpp | x_%.o: %.cpp | ||||
$(CXX) $(CXXFLAGS) -Wall -fpic -pedantic \ | $(CXX) $(CXXFLAGS) -Wall -fpic -pedantic \ | ||||
-I. -D LIBRARY -c -fno-exceptions $< -o x_$*.o | |||||
-I. -D LIBRARY -c $< -o x_$*.o | |||||
$(LIB_NAME): $(OBJS2) | $(LIB_NAME): $(OBJS2) | ||||
$(CXX) -shared $(SONAME_OPT)$(LIB_NAME).$(LIB_VERSION) -o $@ $(OBJS2) $(LIBS2) | $(CXX) -shared $(SONAME_OPT)$(LIB_NAME).$(LIB_VERSION) -o $@ $(OBJS2) $(LIBS2) |
char ph_digits[50]; | char ph_digits[50]; | ||||
char ph_thousands[50]; | char ph_thousands[50]; | ||||
char ph_hundred_and[12]; | char ph_hundred_and[12]; | ||||
char ph_thousand_and[12]; | |||||
hundreds = value / 100; | hundreds = value / 100; | ||||
buf1[0] = 0; | buf1[0] = 0; | ||||
if(hundreds > 0) | if(hundreds > 0) | ||||
{ | { | ||||
ph_thousands[0] = 0; | ph_thousands[0] = 0; | ||||
ph_thousand_and[0] = 0; | |||||
Lookup("_0C",ph_100); | Lookup("_0C",ph_100); | ||||
ph_digits[0] = 0; | ph_digits[0] = 0; | ||||
if(hundreds > 0) | if(hundreds > 0) | ||||
{ | { | ||||
if((langopts.numbers & 0x100000) && (prev_thousands || (ph_thousands[0] != 0))) | |||||
{ | |||||
Lookup("_0and",ph_thousand_and); | |||||
} | |||||
suppress_null = 1; | suppress_null = 1; | ||||
found = 0; | found = 0; | ||||
} | } | ||||
} | } | ||||
sprintf(buf1,"%s%s%s",ph_thousands,ph_digits,ph_100); | |||||
sprintf(buf1,"%s%s%s%s",ph_thousands,ph_thousand_and,ph_digits,ph_100); | |||||
} | } | ||||
ph_hundred_and[0] = 0; | ph_hundred_and[0] = 0; |
// Several phoneme tables may be loaded into memory. phoneme_tab points to | // Several phoneme tables may be loaded into memory. phoneme_tab points to | ||||
// one for the current voice | // one for the current voice | ||||
extern int n_phoneme_tab; | extern int n_phoneme_tab; | ||||
extern int current_phoneme_table; | |||||
extern PHONEME_TAB *phoneme_tab[N_PHONEME_TAB]; | extern PHONEME_TAB *phoneme_tab[N_PHONEME_TAB]; | ||||
extern unsigned char phoneme_tab_flags[N_PHONEME_TAB]; // bit 0: not inherited | extern unsigned char phoneme_tab_flags[N_PHONEME_TAB]; // bit 0: not inherited | ||||
"-q\t Quiet, don't produce any speech (may be useful with -x)\n" | "-q\t Quiet, don't produce any speech (may be useful with -x)\n" | ||||
"-x\t Write phoneme mnemonics to stdout\n" | "-x\t Write phoneme mnemonics to stdout\n" | ||||
"-X\t Write phonemes mnemonics and translation trace to stdout\n" | "-X\t Write phonemes mnemonics and translation trace to stdout\n" | ||||
"-z\t No final sentence pause at the end of the text\n" | |||||
"--stdout Write speech output to stdout\n" | "--stdout Write speech output to stdout\n" | ||||
"--compile=<voice name>\n" | "--compile=<voice name>\n" | ||||
"\t Compile the pronunciation rules and dictionary in the current\n" | "\t Compile the pronunciation rules and dictionary in the current\n" | ||||
option_phonemes = 0; | option_phonemes = 0; | ||||
option_waveout = 0; | option_waveout = 0; | ||||
option_wordgap = 0; | option_wordgap = 0; | ||||
option_endpause = 1; | |||||
option_multibyte = espeakCHARS_AUTO; // auto | option_multibyte = espeakCHARS_AUTO; // auto | ||||
f_trans = stdout; | f_trans = stdout; | ||||
#else | #else | ||||
while(true) | while(true) | ||||
{ | { | ||||
c = getopt_long (argc, argv, "a:bf:g:hk:l:p:qs:v:w:xXm", | |||||
c = getopt_long (argc, argv, "a:bf:g:hk:l:p:qs:v:w:xXmz", | |||||
long_options, &option_index); | long_options, &option_index); | ||||
/* Detect the end of the options. */ | /* Detect the end of the options. */ | ||||
strncpy0(wavefile,optarg2,sizeof(wavefile)); | strncpy0(wavefile,optarg2,sizeof(wavefile)); | ||||
break; | break; | ||||
case 'z': | |||||
option_endpause = 0; | |||||
break; | |||||
case 0x100: // --stdin | case 0x100: // --stdin | ||||
flag_stdin = 1; | flag_stdin = 1; | ||||
break; | break; |
#include "translate.h" | #include "translate.h" | ||||
#include "wave.h" | #include "wave.h" | ||||
const char *version_string = "1.31.10 12.Feb.08"; | |||||
const char *version_string = "1.31.12 16.Feb.08"; | |||||
const int version_phdata = 0x013105; | const int version_phdata = 0x013105; | ||||
int option_device_number = -1; | int option_device_number = -1; | ||||
// copy the current phoneme table into here | // copy the current phoneme table into here | ||||
int n_phoneme_tab; | int n_phoneme_tab; | ||||
int current_phoneme_table; | |||||
PHONEME_TAB *phoneme_tab[N_PHONEME_TAB]; | PHONEME_TAB *phoneme_tab[N_PHONEME_TAB]; | ||||
unsigned char phoneme_tab_flags[N_PHONEME_TAB]; // bit 0: not inherited | unsigned char phoneme_tab_flags[N_PHONEME_TAB]; // bit 0: not inherited | ||||
n_phoneme_tab = 0; | n_phoneme_tab = 0; | ||||
SetUpPhonemeTable(number,0); // recursively for included phoneme tables | SetUpPhonemeTable(number,0); // recursively for included phoneme tables | ||||
n_phoneme_tab++; | n_phoneme_tab++; | ||||
current_phoneme_table = number; | |||||
} // end of SelectPhonemeTable | } // end of SelectPhonemeTable | ||||
return(0); | return(0); | ||||
} | } | ||||
if(current_phoneme_table != voice->phoneme_tab_ix) | |||||
{ | |||||
SelectPhonemeTable(voice->phoneme_tab_ix); | |||||
} | |||||
// read the next clause from the input text file, translate it, and generate | // read the next clause from the input text file, translate it, and generate | ||||
// entries in the wavegen command queue | // entries in the wavegen command queue | ||||
p_text = translator->TranslateClause(f_text,p_text,&clause_tone,&voice_change); | p_text = translator->TranslateClause(f_text,p_text,&clause_tone,&voice_change); |
} | } | ||||
break; | break; | ||||
case L('k','u'): // Kurdish | |||||
{ | |||||
static const unsigned char stress_amps_ku[8] = {16,16, 20,20, 20,24, 24,22 }; | |||||
static const short stress_lengths_ku[8] = {170,170, 190,170, 0,0, 230,240}; | |||||
tr = new Translator(); | |||||
SetupTranslator(tr,stress_lengths_ku,stress_amps_ku); | |||||
tr->charset_a0 = charsets[9]; // ISO-8859-9 - Latin5 | |||||
tr->langopts.stress_rule = 7; // stress on the last syllable, before any explicitly unstressed syllable | |||||
tr->langopts.numbers = 0x100c69; | |||||
tr->langopts.max_initial_consonants = 2; | |||||
} | |||||
break; | |||||
case L('l','a'): //Latin | case L('l','a'): //Latin | ||||
{ | { | ||||
tr = new Translator(); | tr = new Translator(); |
// bit3= , decimal separator, not . | // bit3= , decimal separator, not . | ||||
// bit4=use three-and-twenty rather than twenty-three | // bit4=use three-and-twenty rather than twenty-three | ||||
// bit5='and' between tens and units | // bit5='and' between tens and units | ||||
// bit6=add "and" after hundred and thousand | |||||
// bit6=add "and" after hundred or thousand | |||||
// bit7=don't have "and" both after hundreds and also between tens and units | // bit7=don't have "and" both after hundreds and also between tens and units | ||||
// bit8=only one primary stress in tens+units | // bit8=only one primary stress in tens+units | ||||
// bit9=only one vowel betwen tens and units | // bit9=only one vowel betwen tens and units | ||||
// bit17=recognize roman numbers | // bit17=recognize roman numbers | ||||
// bit18=Roman numbers only if upper case | // bit18=Roman numbers only if upper case | ||||
// bit19=don't add pause after a number | // bit19=don't add pause after a number | ||||
// bit20='and' before hundreds | |||||
int numbers; | int numbers; | ||||
// bits 1-4 use variant form of numbers before thousands,millions,etc. | // bits 1-4 use variant form of numbers before thousands,millions,etc. |