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
| @@ -225,10 +225,9 @@ Dictionary sv_dict | |||
| I i: O o: U u- u: W | |||
| 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 | |||
| @@ -253,9 +252,10 @@ s t t[ ts; v w z | |||
| Dictionary zhy_dict | |||
| a aa aai aan aau ai au e | |||
| ei eo eoi eu i iu o oe | |||
| oi ong ou u ui yu | |||
| 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 | |||
| l m n N p r s t | |||
| @@ -348,6 +348,16 @@ S; t th ts ts. ts. tS; tS; | |||
| 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 | |||
| & @ @2 a A a: aI aU | |||
| @@ -0,0 +1,86 @@ | |||
| // 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+ | |||
| @@ -0,0 +1,108 @@ | |||
| // 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 | |||
| @@ -211,7 +211,7 @@ ikke $u | |||
| // auxillary verbs (be, have, can, etc) | |||
| være $u+ | |||
| er E:r $u | |||
| er ,E:r | |||
| var $u | |||
| vært $u | |||
| @@ -254,5 +254,7 @@ i i: $atend | |||
| // MAIN WORD DICTIONARY | |||
| //********************* | |||
| der dE:r | |||
| her hE:r | |||
| kom kOm | |||
| system syst'e:m | |||
| @@ -34,7 +34,7 @@ v ve: | |||
| w d'8b@lve: | |||
| x Eks | |||
| y y: | |||
| z s'e:t@ | |||
| z s'E:ta2 | |||
| _. p'8Nkt | |||
| @@ -76,10 +76,8 @@ _1M2 mIlj'u:n | |||
| _0M3 bIlj'u:nER | |||
| _1M3 bIlj'u:n | |||
| _dpt p'8Nkt | |||
| (1 : a) f'Ws.ta | |||
| // abbreviations | |||
| //************** | |||
| @@ -197,19 +195,28 @@ andras andRas | |||
| ange anje: | |||
| anger anje:R | |||
| anges anje:s | |||
| anne ann | |||
| anse anse: | |||
| anser anse:R | |||
| anses anse:s | |||
| arkiv 'aRki:v | |||
| av A:v $u | |||
| bäste b'EstE | |||
| betala b'Et'A:l,a | |||
| bet be:t | |||
| // betala b'Et'A:l,a | |||
| betalt b'Et'A:lt | |||
| bort bORt | |||
| bott b'Ut | |||
| botten b'OtEn | |||
| bra bRA: | |||
| dags daks | |||
| dan dA:n | |||
| dem dEm | |||
| dig dEj | |||
| dra dRA: | |||
| drar dRA:R | |||
| dras dRA:s | |||
| duger du-gER | |||
| därför d'ERfY:R | |||
| egen e:gEn | |||
| egna e:gna | |||
| @@ -223,6 +230,7 @@ framme fR'amE | |||
| framåt fRamOt | |||
| gemensam jEm'e:nsam | |||
| gemensamt jEm'e:nsamt | |||
| grep gRe:p | |||
| greps gRe:ps | |||
| gripna gRi:pna | |||
| ha hA: | |||
| @@ -248,11 +256,15 @@ måsten m'Ost@n | |||
| nvda Enve:de:A: | |||
| ont Unt | |||
| ost Ust | |||
| par pA:R | |||
| per pE:R | |||
| program pRUgR'am | |||
| redigera REdIS;'e:Ra | |||
| rad RA:d | |||
| raden RA:d%En | |||
| rader RA:d%ER | |||
| sade sA:dE | |||
| sades sA:dEs | |||
| sent se:nt | |||
| sex s'Eks | |||
| sig sEj | |||
| skolan sk'u:lan | |||
| @@ -262,20 +274,30 @@ stad stA:d | |||
| staden stA:dEn | |||
| stadens stA:dEns | |||
| stan stA:n | |||
| stor stu:R | |||
| stort stu:Rt | |||
| susanna s8s'ana | |||
| susanne s8s'an | |||
| svar svA:R | |||
| tar tA:R | |||
| ta tA: | |||
| tar tA:R | |||
| tas tA:s | |||
| togs t'u:gs | |||
| tomt t'Umt | |||
| tom t'Um | |||
| torsdag t'u:SdA:g | |||
| torsdags t'u:Sdags | |||
| torsdagen t'u:SdA:gEn | |||
| torsdagens t'u:SdA:gEns | |||
| tredje tR'e:djE | |||
| tyvärr t%yv'E:R | |||
| usa u-Es'A: | |||
| usas u-Es'A:s | |||
| usa:s u-Es'A:s | |||
| vad vA:d $u | |||
| valt vA:lt | |||
| var vA:R $u | |||
| vare vA:RE $u | |||
| vem vEm | |||
| @@ -285,14 +307,21 @@ browser _^_EN | |||
| button _^_EN | |||
| cancel _^_EN | |||
| checked _^_EN | |||
| column _^_EN | |||
| columns _^_EN | |||
| desktop _^_EN | |||
| dot _^_EN | |||
| edit _^_EN | |||
| email _^_EN | |||
| Explorer _^_EN | |||
| firefox _^_EN | |||
| frame _^_EN | |||
| frames _^_EN | |||
| gaim _^_EN | |||
| google _^_EN | |||
| graphic _^_EN | |||
| graphics _^_EN | |||
| has _^_EN | |||
| heading _^_EN | |||
| headings _^_EN | |||
| image _^_EN | |||
| @@ -301,24 +330,35 @@ jaws _^_EN | |||
| leaving _^_EN | |||
| level _^_EN | |||
| link _^_EN | |||
| links _^_EN | |||
| mail _^_EN | |||
| messenger _^_EN | |||
| Microsoft _^_EN | |||
| mozilla _^_EN | |||
| name _^_EN | |||
| no _^_EN | |||
| of _^_EN | |||
| office _^_EN | |||
| one _^_EN | |||
| online _^_EN | |||
| orca ORka | |||
| password _^_EN | |||
| page _^_EN | |||
| read _^_EN | |||
| reader _^_EN | |||
| row _^_EN | |||
| rows _^_EN | |||
| screen _^_EN | |||
| software _^_EN | |||
| submenu _^_EN | |||
| table _^_EN | |||
| tables _^_EN | |||
| this _^_EN | |||
| tray _^_EN | |||
| unchecked _^_EN | |||
| unselected _^_EN | |||
| user _^_EN | |||
| view _^_EN | |||
| web _^_EN | |||
| with _^_EN | |||
| word _^_EN | |||
| @@ -4,22 +4,37 @@ | |||
| .group a | |||
| a A: | |||
| ik) a %a | |||
| a (CC a | |||
| a (vs A: | |||
| a (vb A: | |||
| a (vd A: | |||
| a (va a | |||
| a (rt_ A: | |||
| _) a (rt %a | |||
| a (vg A: | |||
| a (r_ a | |||
| a (s_ 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 (ni a | |||
| b) a (r_ A: | |||
| lt) a (t A: | |||
| _b) a (k A: | |||
| bb) a (r_ a | |||
| a (CC a | |||
| a (C% a | |||
| // r) a (C% a | |||
| a (_ a | |||
| &) a (_ a2 | |||
| a (re a | |||
| @@ -27,7 +42,7 @@ | |||
| a (rna a | |||
| l) a (rs A: | |||
| idr) a A: | |||
| k) a (ta ,a | |||
| k) a (ta %a | |||
| m) a (j a | |||
| om) a (t A: | |||
| m) a (ter a | |||
| @@ -48,7 +63,7 @@ | |||
| st) a (t_ a | |||
| tot) a (l 'A: | |||
| _gl) a (s A: | |||
| _gl) a (ss a | |||
| gl) a (s% a | |||
| v) a (ld A: | |||
| v) a (rd A: | |||
| sm) a (rt A: | |||
| @@ -76,22 +91,65 @@ | |||
| ppd) a (t a | |||
| r) a (ba 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: | |||
| et) a (g 'A: | |||
| t) a (g A: | |||
| t) a (g% a | |||
| f) a (rt '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 | |||
| 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 | |||
| amerik amERIk | |||
| agera age:Ra | |||
| pl) a (nera %a | |||
| analy analy: | |||
| _) 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 | |||
| allvar allvA:R | |||
| .group b | |||
| b b | |||
| @@ -99,9 +157,11 @@ | |||
| bevakn bEvA:kn | |||
| bredband bRe:dband | |||
| begrav bEgRA:v | |||
| begrip BEgR'i:p | |||
| begrip bEgR'i:p | |||
| beslag bEsl'A:g | |||
| beslagta bEsl'A:gtA: | |||
| betal b%Et'A:l | |||
| .group c | |||
| c k | |||
| @@ -113,6 +173,7 @@ | |||
| c (ä s | |||
| c (ö s | |||
| ch S | |||
| ch (ef sx | |||
| ck k | |||
| ck (A k: // ?? | |||
| computer _^_EN | |||
| @@ -124,8 +185,8 @@ | |||
| dagen dA:gEn | |||
| daglig dA:glIg | |||
| diske dIskE | |||
| djup j'u-p | |||
| djur j'u-R | |||
| dju j'u- | |||
| djung j'8N | |||
| dum d8m | |||
| datorer dat'u:RER | |||
| dator dA:tOR | |||
| @@ -141,18 +202,18 @@ | |||
| e e: | |||
| h) e (m E | |||
| e (CC E | |||
| &) e %E | |||
| med) e (l E | |||
| b) e (s E | |||
| b) e (k E | |||
| e (j E | |||
| d) e (lv e: | |||
| d) e (c E | |||
| d) e (ls e: | |||
| m) e (dde e: | |||
| d) e (ln e: | |||
| d) e (lt e: | |||
| l) e (dn e: | |||
| d) e (bat E | |||
| s) e (kund E | |||
| ch) e (f E: | |||
| e (ta E | |||
| e (x E | |||
| @@ -169,30 +230,72 @@ | |||
| n) e (ds e: | |||
| br) e (v e: | |||
| sv) e (r E | |||
| _s) e (p E | |||
| s) e (p %E | |||
| ka) e (l E | |||
| b) e (l_ E | |||
| nyh) e (t e: | |||
| r) e (sul E | |||
| r) e (sur 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: | |||
| r) e (ta e: | |||
| r) e (dn e: | |||
| l) e (ta e: | |||
| e (nli 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 | |||
| r) e (ce E | |||
| m) e (tod E | |||
| p) e (ri 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 | |||
| espeak _^_EN | |||
| ekonom 'Eku:n,O:m | |||
| @@ -205,6 +308,7 @@ enhet e:nhe:t | |||
| f (f | |||
| familj fam'Ilj | |||
| formad fORmad | |||
| face _^_EN | |||
| .group g | |||
| g g | |||
| @@ -220,9 +324,20 @@ enhet e:nhe:t | |||
| g (n N | |||
| gj j | |||
| 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 | |||
| garage gaR'A:S | |||
| garant g%aR'ant | |||
| gata gA:ta | |||
| glöm glWm | |||
| guide g'aId | |||
| guider g'aIdER | |||
| @@ -232,26 +347,46 @@ enhet e:nhe:t | |||
| h h | |||
| h (h | |||
| hj j | |||
| hjälp jElp | |||
| hög hY:g | |||
| heading _^_EN | |||
| .group i | |||
| i i: | |||
| i (CC I | |||
| i (nf %I | |||
| i (g_ I | |||
| i (nstr %I | |||
| s) i (t I | |||
| dr) i (v i: | |||
| item _^_EN | |||
| _fl) i (k i: | |||
| t) i (d i: | |||
| skr) i (v i: | |||
| v) i (sn 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 | |||
| inne InE | |||
| ibili IbIlI | |||
| itut Itu-t | |||
| imag _^_EN | |||
| .group j | |||
| j j | |||
| java jA:va | |||
| j (uster sx | |||
| jou (r sxU | |||
| .group k | |||
| @@ -286,8 +421,7 @@ ikon Ik'o:n | |||
| lg (_ lj | |||
| _) lj j | |||
| låg l'o:g | |||
| ljud j'u-d | |||
| ljug j'u-g | |||
| lju j'u- | |||
| ligen lIgEn | |||
| lager lA:gER | |||
| @@ -296,10 +430,12 @@ ligen lIgEn | |||
| m (m | |||
| menu _^_EN | |||
| människ m'EnIsx, | |||
| medlem m'e:dlEm | |||
| medl m'e:dl | |||
| maga maga | |||
| meny mEn'y: | |||
| minimera mIni:m'e:Ra2 | |||
| maria m%aR'i:a | |||
| marie m%aR'i: | |||
| maximera maksi:m'e:Ra2 | |||
| motor m'u:tOR | |||
| motorer m'Otu:RER | |||
| @@ -324,10 +460,19 @@ ligen lIgEn | |||
| normal nORmA:l | |||
| natur n'at'u-R | |||
| nali nalI | |||
| navig n%av%Ig | |||
| .group o | |||
| o u: | |||
| 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 (rr O | |||
| o (ll O | |||
| @@ -337,6 +482,8 @@ ligen lIgEn | |||
| o (rg O | |||
| o (ck O | |||
| f) o (n 'o: | |||
| pr) o (c %U | |||
| s) o (ci %U | |||
| l) o (g 'o: | |||
| l) o (v 'o: | |||
| l) o (gg 'O | |||
| @@ -346,11 +493,16 @@ ligen lIgEn | |||
| f) o (rm 'O | |||
| pr) oj Osx' | |||
| o (ns U | |||
| l) o (k %U | |||
| g) o (r U | |||
| nn) o (ns O | |||
| ss) o (n O | |||
| C) o (rs O | |||
| k) o (rta O | |||
| k) o (rt O | |||
| b) o (rt O | |||
| n) o (r_ O | |||
| t) o (r_ O | |||
| s) o (r_ O | |||
| rs) o (rd u: | |||
| o (rde o: | |||
| b) o (st u: | |||
| @@ -363,8 +515,8 @@ ligen lIgEn | |||
| osparat u:spA:Rat | |||
| och 'Ok | |||
| k) o (ns O | |||
| pr) o (cent O | |||
| p) o (lis O | |||
| pr) o (cent %O | |||
| p) o (lis %O | |||
| p) o (pu O | |||
| g) o (n O | |||
| sp) o (rt O | |||
| @@ -372,14 +524,27 @@ ligen lIgEn | |||
| upp) o (rt o: | |||
| l) 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: | |||
| lk) o (r o: | |||
| g) o (d u: | |||
| _) o (j 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 | |||
| .group p | |||
| p p | |||
| p (p | |||
| pion pI;'u:n | |||
| påstå po:sto: | |||
| paket pak'e:t | |||
| parentes paR@nt,e:s | |||
| @@ -401,6 +566,7 @@ ligen lIgEn | |||
| rss s. | |||
| rg (_ Rj | |||
| radera Rad'e:Ra | |||
| rediger R%EdIsx'e:R | |||
| rafik Raf'i:k | |||
| regel Re:gEl | |||
| resor R'e:sOR | |||
| @@ -420,10 +586,11 @@ rubrik R8bR'i:k | |||
| sk (ö sx | |||
| fi) s (k s | |||
| fu) s (k s | |||
| skj sx | |||
| skj S; | |||
| stj sx | |||
| sio (n sx'u: | |||
| ssio (n sx'u: | |||
| skype sk'ajp | |||
| spegel spe:gEl | |||
| segel se:gEl | |||
| spel spe:l | |||
| @@ -431,6 +598,7 @@ rubrik R8bR'i:k | |||
| säg sEj | |||
| service sY:Rvi:s | |||
| spara spA:Ra | |||
| sjack sjak | |||
| svara svA:Ra | |||
| slog sl'u:g | |||
| stått stOt | |||
| @@ -450,7 +618,6 @@ rubrik R8bR'i:k | |||
| tt (A t: // ?? | |||
| ti (on sx' | |||
| tj S; | |||
| &C) te (_S2 tE // ?? | |||
| task _^_EN | |||
| talsyntes t'A:lsynt,e:s | |||
| @@ -463,6 +630,7 @@ rubrik R8bR'i:k | |||
| u u- | |||
| u (tb u- | |||
| u (tf u- | |||
| u (tg u- | |||
| u (ts u- | |||
| u (tr u- | |||
| u (tv u- | |||
| @@ -471,20 +639,30 @@ rubrik R8bR'i:k | |||
| u (n 8 | |||
| u (tl u- | |||
| sj) u (k u- | |||
| j) u (ni u- | |||
| j) u (l u- | |||
| r) u (m_ 8: | |||
| utmärk 'u-tm@Rk | |||
| b) u (tik 8 | |||
| v) u (x 8 | |||
| lin) u (x %8 | |||
| uppge 8pje: | |||
| u (tn u- | |||
| u (tr u- | |||
| u (ng 8 | |||
| u (nkC %8 | |||
| u (kti %8 | |||
| upload _^_EN | |||
| .group v | |||
| v v | |||
| v (v | |||
| vali valI | |||
| varandra vaRandRa | |||
| varn vA:Rn | |||
| varan vA:Ran | |||
| verk vERk | |||
| verktyg vERkty:g | |||
| .group w | |||
| w v | |||
| @@ -499,6 +677,9 @@ upload _^_EN | |||
| .group y | |||
| y y: | |||
| y (CC y | |||
| t) y (d 'y: | |||
| s) y (s %y | |||
| t) y (g 'y: | |||
| s) y (nska y: | |||
| .group z | |||
| @@ -507,8 +688,12 @@ upload _^_EN | |||
| .group å | |||
| å o: | |||
| å (CC O | |||
| å (CC o: | |||
| å (C% O | |||
| å (ng O | |||
| tr) å (d 'o: | |||
| l) å (s 'o: | |||
| l) å (ss 'O | |||
| v) å (r 'o: | |||
| r) å (k o: | |||
| h) å (r 'o: | |||
| @@ -522,6 +707,7 @@ upload _^_EN | |||
| ä E: | |||
| ä (CC E | |||
| ä (r E: | |||
| ä (rd E: | |||
| tr) ä (d E: | |||
| v) ä (lk E: | |||
| l) ä (sn E: | |||
| @@ -529,9 +715,11 @@ upload _^_EN | |||
| sk) ä (rg E: | |||
| l) ä (st E: | |||
| n) ä (tt E | |||
| v) ä (x E | |||
| n) ä (t E: | |||
| f) ä (rd E: | |||
| b) ä (r E: | |||
| r) ä (k E: | |||
| ärl (d 'E:R | |||
| @@ -540,6 +728,9 @@ upload _^_EN | |||
| ö Y: | |||
| ö (CC 'W | |||
| f) ö (rd 'Y: | |||
| f) ö (rk %W | |||
| l) ö (sn 'Y: | |||
| l) ö (st 'Y: | |||
| ö (vr 'Y: | |||
| r) ö (m 'W | |||
| @@ -0,0 +1,3 @@ | |||
| name lojban | |||
| language jbo | |||
| @@ -1,4 +1,4 @@ | |||
| 42 phoneme tables | |||
| 43 phoneme tables | |||
| new total | |||
| base 96 96 | |||
| base2 24 115 | |||
| @@ -12,6 +12,7 @@ | |||
| cy 29 122 | |||
| de 33 123 | |||
| eo 13 108 | |||
| jbo 4 109 | |||
| fi 40 127 | |||
| fr 34 118 | |||
| fr_ca 11 118 | |||
| @@ -1243,6 +1244,7 @@ vowel/ee_6 [E] en_n | |||
| [&] sk | |||
| [E3] sv | |||
| vowel/e_mid [E] en_rp | |||
| [e] jbo | |||
| [E] fr_ca | |||
| [E] hi | |||
| [E] hu | |||
| @@ -1443,7 +1445,8 @@ vowelr/aa_r [A:] en_sc | |||
| [A@] en_sc | |||
| vowelr/oo_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-] hr | |||
| @@ -1622,7 +1625,8 @@ vwl_fr/@R [R] fr | |||
| [x] pt_pt | |||
| vwl_fr/@R2 [R] fr_ca | |||
| vwl_hi/A [a:] hi | |||
| vwl_hi/l-voc [l-] hi | |||
| vwl_hi/l-voc [l-] jbo | |||
| [l-] hi | |||
| [l-] sk | |||
| [l:] sk | |||
| vwl_no/& [a] no | |||
| @@ -0,0 +1,23 @@ | |||
| // 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 | |||
| @@ -71,7 +71,7 @@ endphoneme | |||
| phoneme E: | |||
| vowel starttype (e) endtype (e) | |||
| length 250 | |||
| length 260 | |||
| formants vowel/ee_1 | |||
| endphoneme | |||
| @@ -33,7 +33,7 @@ phoneme E | |||
| vowel starttype (e) endtype (e) | |||
| length 140 | |||
| formants vowel/ee | |||
| reduceto @ 2 | |||
| reduceto E- 2 | |||
| endphoneme | |||
| phoneme E: | |||
| @@ -98,7 +98,7 @@ phoneme _! // Short pause, don't replace by linking | |||
| pause | |||
| formants NULL | |||
| starttype _ endtype _ | |||
| length 25 | |||
| length 35 | |||
| lengthmod 1 | |||
| nolink | |||
| endphoneme | |||
| @@ -1160,6 +1160,9 @@ include ph_german | |||
| phonemetable eo base | |||
| include ph_esperanto | |||
| phonemetable jbo eo | |||
| include ph_lojban | |||
| phonemetable fi base | |||
| include ph_finnish | |||
| @@ -208,6 +208,7 @@ int Translator::TranslateRoman(char *word, char *ph_out) | |||
| int prev; | |||
| int value; | |||
| int subtract; | |||
| int repeat = 0; | |||
| unsigned int flags; | |||
| char number_chars[N_WORD_BYTES]; | |||
| @@ -224,6 +225,14 @@ int Translator::TranslateRoman(char *word, char *ph_out) | |||
| return(0); | |||
| 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)) | |||
| { | |||
| @@ -498,27 +498,40 @@ void Translator::MakePhonemeList(int post_pause, int start_sentence) | |||
| { | |||
| 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; | |||
| } | |||
| } | |||
| } | |||
| @@ -260,13 +260,13 @@ static void init_path(char *argv0) | |||
| #ifdef PLATFORM_DOS | |||
| strcpy(path_home,PATH_ESPEAK_DATA); | |||
| #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")); | |||
| if(access(path_home,R_OK) != 0) | |||
| @@ -35,7 +35,7 @@ | |||
| #include "translate.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; | |||
| int option_device_number = -1; | |||
| @@ -39,6 +39,7 @@ | |||
| #define L_qa 0x716100 | |||
| #define L_grc 0x677263 // grc Ancient Greek | |||
| #define L_jbo 0x6a626f // jbo Lojban | |||
| #define L_zhy 0x7a6879 // zhy | |||
| @@ -214,7 +215,6 @@ Translator *SelectTranslator(const char *name) | |||
| tr->langopts.vowel_pause = 1; | |||
| tr->langopts.stress_rule = 2; | |||
| 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_wd2 = 2; | |||
| @@ -409,6 +409,20 @@ SetLengthMods(tr,3); // all equal | |||
| } | |||
| 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 | |||
| { | |||
| tr = new Translator(); | |||
| @@ -396,6 +396,7 @@ Translator::Translator() | |||
| 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 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 | |||
| dictionary_name[0] = 0; | |||
| @@ -423,6 +424,7 @@ Translator::Translator() | |||
| char_plus_apostrophe = empty_wstring; | |||
| punct_within_word = punct_in_word; | |||
| for(ix=0; ix<8; ix++) | |||
| { | |||
| @@ -657,6 +659,8 @@ int Translator::TranslateWord(char *word1, int next_pause, WORD_TAB *wtab) | |||
| spell_word = 0; | |||
| 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) | |||
| { | |||
| // change to another language in order to translate this word | |||
| @@ -1709,6 +1713,7 @@ void *Translator::TranslateClause(FILE *f_text, const void *vp_input, int *tone_ | |||
| int embedded_count = 0; | |||
| int letter_count = 0; | |||
| int space_inserted = 0; | |||
| int syllable_marked = 0; | |||
| char *word; | |||
| char *p; | |||
| int j, k; | |||
| @@ -1933,7 +1938,8 @@ if((c == '/') && (langopts.testing & 2) && IsDigit09(next_in) && IsAlpha(prev_ou | |||
| if(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)) | |||
| { | |||
| @@ -1974,10 +1980,10 @@ if((c == '/') && (langopts.testing & 2) && IsDigit09(next_in) && IsAlpha(prev_ou | |||
| { | |||
| 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 | |||
| 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 | |||
| c = ' '; | |||
| @@ -2004,37 +2010,36 @@ if((c == '/') && (langopts.testing & 2) && IsDigit09(next_in) && IsAlpha(prev_ou | |||
| { | |||
| 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 | |||
| 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 | |||
| { | |||
| #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((c == 's') && (next_in==' ')) | |||
| @@ -2211,6 +2216,7 @@ if((c == '/') && (langopts.testing & 2) && IsDigit09(next_in) && IsAlpha(prev_ou | |||
| pre_pause = 0; | |||
| word_mark = 0; | |||
| all_upper_case = FLAG_ALL_UPPER; | |||
| syllable_marked = 0; | |||
| } | |||
| } | |||
| else | |||
| @@ -227,7 +227,7 @@ extern const int param_defaults[N_SPEECH_PARAM]; | |||
| #define N_LOPTS 13 | |||
| #define N_LOPTS 14 | |||
| #define LOPT_DIERESES 1 | |||
| // 1=remove [:] from unstressed syllables, 2= remove from unstressed or non-penultimate syllables | |||
| // bit 4=0, if stress < 4, bit 4=1, if not the highest stress in the word | |||
| @@ -271,6 +271,9 @@ extern const int param_defaults[N_SPEECH_PARAM]; | |||
| // change [t] when followed by unstressed vowel | |||
| #define LOPT_REDUCE_T 12 | |||
| // stressed syllable is indicated by capitals | |||
| #define LOPT_SYLLABLE_CAPS 13 | |||
| typedef struct { | |||
| // bits0-2 separate words with (1=pause_vshort, 2=pause_short, 3=pause, 4=pause_long 5=[?] phonemme) | |||
| @@ -389,6 +392,7 @@ public: | |||
| int dict_condition; // conditional apply some pronunciation rules and dict.lookups | |||
| 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 *punct_within_word; // allow these punctuation characters within words | |||
| // holds properties of characters: vowel, consonant, etc for pronunciation rules | |||
| unsigned char letter_bits[256]; | |||