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]; |