Reduce pause when announcing punctuation. Fix crash for list of numbers in some languages, eg: "22,23,24,25,26,27..." Recognise XLL (etc) is not a valid Roman number. espeak_Cancel(), reset punctuation echo. Don't permanently change option_phoneme_input after using [[ ]] internally. lang=af: Only recognise word "'n" as [@] when followed by a space. git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@193 d46cf337-b52f-0410-862d-fd96e6ae7743master
| alaska al'aska | alaska al'aska | ||||
| algerië alx2'e@re@:@- | algerië alx2'e@re@:@- | ||||
| antwerpen antv&rp@n | antwerpen antv&rp@n | ||||
| asië A:si@ | |||||
| babilon babilOn | babilon babilOn | ||||
| bangladesh baNglad'ES | bangladesh baNglad'ES | ||||
| bastille bast'il | bastille bast'il | ||||
| bellevue b&lvju: | |||||
| berlyn $2 | berlyn $2 | ||||
| bermuda $2 | bermuda $2 | ||||
| bethlehem bEt_liEm | bethlehem bEt_liEm | ||||
| boedapest budapEst | |||||
| boekarest bukarEst | boekarest bukarEst | ||||
| bonnievale _^_EN | bonnievale _^_EN | ||||
| brittanje $2 | brittanje $2 | ||||
| constantia $2 | constantia $2 | ||||
| christiana kr@stij'A:na | christiana kr@stij'A:na | ||||
| damaskus d@maskWs | damaskus d@maskWs | ||||
| doebaai $2 | |||||
| duitswes dYytsv'Es | duitswes dYytsv'Es | ||||
| ermelo &rm@lo@ | ermelo &rm@lo@ | ||||
| franschhoek frA~nsh'uk | franschhoek frA~nsh'uk | ||||
| kimberley kimb@rli | kimberley kimb@rli | ||||
| kongo kONgu | kongo kONgu | ||||
| knysna neIsna | knysna neIsna | ||||
| kuruman kuruman | |||||
| kwa kwa $u $only // KwaZulu, etc. | |||||
| lesotho l@sutu | lesotho l@sutu | ||||
| limpopo l@mpo@po@ | limpopo l@mpo@po@ | ||||
| macedonië mas@d'o@ni@ | macedonië mas@d'o@ni@ | ||||
| milaan $2 | milaan $2 | ||||
| mesopotamië mEsuput'A:mi@ | mesopotamië mEsuput'A:mi@ | ||||
| montagu mOnt@ky | montagu mOnt@ky | ||||
| moreletapark mOr@l,Etap'ark | |||||
| moorreesburg mur'e@sbWrx2 | moorreesburg mur'e@sbWrx2 | ||||
| mosambiek musamb'ik | mosambiek musamb'ik | ||||
| (thaba nchu) tab'A:||ntSu | (thaba nchu) tab'A:||ntSu | ||||
| portugal $1 | portugal $1 | ||||
| potchefstroom pOtSIfstr'o@m | potchefstroom pOtSIfstr'o@m | ||||
| robertson _^_EN | robertson _^_EN | ||||
| sahara sah'A:ra | |||||
| secunda s@kunda | |||||
| senekal se@n@kal | senekal se@n@kal | ||||
| singapoer siNgapur | singapoer siNgapur | ||||
| soweto suw'E:tu | soweto suw'E:tu | ||||
| vesuvius v@su:viWs | vesuvius v@su:viWs | ||||
| viëtnam vj'Etnam | viëtnam vj'Etnam | ||||
| wallonië val'o@ni@ | wallonië val'o@ni@ | ||||
| washington _^_EN | |||||
| wellington wEliNt@n | wellington wEliNt@n | ||||
| wolseley wulsli | wolseley wulsli | ||||
| worcester v'ust@r | worcester v'ust@r | ||||
| uganda ug'anda | uganda ug'anda | ||||
| zimbabwe zI:mb'ab_wE | zimbabwe zI:mb'ab_wE | ||||
| zulu zulu // Kwazulu-Natal | |||||
| // People names | // People names | ||||
| botha bo@ta | botha bo@ta | ||||
| bouwer b@U@r | bouwer b@U@r | ||||
| brian _^_EN | brian _^_EN | ||||
| bredenkamp bre@d@nkamp | |||||
| breytenbach breIt@nbax2 | breytenbach breIt@nbax2 | ||||
| brouwer bruw'&:r | brouwer bruw'&:r | ||||
| caesar siz@r | caesar siz@r | ||||
| david _^_EN | david _^_EN | ||||
| debora d@bo@ra | debora d@bo@ra | ||||
| debussy d@bus'i: | debussy d@bus'i: | ||||
| (de la) d@||la $u // de la Rey/de la Bat, etc. | |||||
| der d@r | der d@r | ||||
| derick dErik | derick dErik | ||||
| deventer d'e@v@nt@r | deventer d'e@v@nt@r | ||||
| mike _^_EN | mike _^_EN | ||||
| miriam mIri@m | miriam mIri@m | ||||
| mohammed muh'am@t | mohammed muh'am@t | ||||
| morné mOrn'eI | |||||
| mostert m'Ost@rt | mostert m'Ost@rt | ||||
| mouton mut'On | mouton mut'On | ||||
| mozart mo@tsart | mozart mo@tsart | ||||
| zuma zu:ma | zuma zu:ma | ||||
| // Other proper names | // Other proper names | ||||
| absa absa | |||||
| boeing _^_EN | |||||
| centaurus $2 | centaurus $2 | ||||
| checkers tSEk@rs | checkers tSEk@rs | ||||
| chrysler kraIsl@r | chrysler kraIsl@r | ||||
| ferrari f@rA:ri | |||||
| martini mart'i:ni | martini mart'i:ni | ||||
| wimpy wImpi | wimpy wImpi | ||||
| jou $u $verbf | jou $u $verbf | ||||
| hom $u $verbf | hom $u $verbf | ||||
| haar $u $only $verbf | haar $u $only $verbf | ||||
| se Es@ $capital | |||||
| se Es@ $capital | |||||
| dis $u | dis $u | ||||
| agterstevoor $4 | agterstevoor $4 | ||||
| agterweë $3 | agterweë $3 | ||||
| algaande $2 | algaande $2 | ||||
| alge alx2@ | |||||
| algehele alx2@h,e@l@ | algehele alx2@h,e@l@ | ||||
| allegro al'Egru | allegro al'Egru | ||||
| alles al@s | alles al@s | ||||
| cabernet kab@rn'eI | cabernet kab@rn'eI | ||||
| camembert kam@mb'&:r | camembert kam@mb'&:r | ||||
| camouflage kamufl'A:Z | camouflage kamufl'A:Z | ||||
| casino kas'i:n@U | |||||
| charisma kar'Isma | charisma kar'Isma | ||||
| chemikalieë $3 | chemikalieë $3 | ||||
| crescendo kr@SEndu | crescendo kr@SEndu | ||||
| misbruikte $2 | misbruikte $2 | ||||
| miskien $2 | miskien $2 | ||||
| misterie m@ste@ri | misterie m@ste@ri | ||||
| (modus operandi) m,o@dWs||o@p@r'andi | |||||
| monsieur _^_FR | monsieur _^_FR | ||||
| motore mo@t'o@r@ | motore mo@t'o@r@ | ||||
| motor mo@t@r | motor mo@t@r | ||||
| numeri nWm@ri | numeri nWm@ri | ||||
| oeuvre W:vr@ | oeuvre W:vr@ | ||||
| oftewel Oft@v&l | |||||
| omgeef $2 | omgeef $2 | ||||
| ommekeer Om@ke@r | |||||
| omrede $2 | omrede $2 | ||||
| omtrent Omtr'Ent | omtrent Omtr'Ent | ||||
| onbegrip $1 | onbegrip $1 | ||||
| ondeug $1 $only | ondeug $1 $only | ||||
| ondeugde $1 $only | ondeugde $1 $only | ||||
| onding $1 | onding $1 | ||||
| oneer On_e@r $only | |||||
| ongeag $1 | ongeag $1 | ||||
| ongeduld $1 | ongeduld $1 | ||||
| ongeloof $1 | ongeloof $1 | ||||
| ongewens $1 | ongewens $1 | ||||
| ongewensde $3 | ongewensde $3 | ||||
| ongewoons $1 | ongewoons $1 | ||||
| onguns $1 | |||||
| onkunde $1 | onkunde $1 | ||||
| onmag $1 | onmag $1 | ||||
| onmin $1 | onmin $1 | ||||
| waarskynlik $2 | waarskynlik $2 | ||||
| waarskynlike $2 | waarskynlike $2 | ||||
| wangedrag vanx2@drax2 | |||||
| watwo vatvo@ | watwo vatvo@ | ||||
| watwou vatv@U | watwou vatv@U | ||||
| weergalm $2 | weergalm $2 |
| * ** : b B d D f | * ** : b B d D f | ||||
| g j J J^ k l m n | g j J J^ k l m n | ||||
| N n^ p Q r R s t | |||||
| T tS v v# w x z | |||||
| N n^ p Q r R R2 s | |||||
| t T tS v v# w x z | |||||
| Dictionary fi_dict | Dictionary fi_dict | ||||
| Dictionary fr_dict | Dictionary fr_dict | ||||
| @ @- @2 a A a2 A~ e | @ @- @2 a A a2 A~ e | ||||
| E E~ i i: o O o2 O2 | |||||
| O~ u u: W W2 w^i wA W~ | |||||
| y Y | |||||
| E E2 E~ i i: o O o2 | |||||
| O2 O~ u u: W W2 w^i wA | |||||
| W~ y Y | |||||
| : ; b c d dZ f g | : ; b c d dZ f g | ||||
| h j k l m n N n2 | h j k l m n N n2 | ||||
| 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 | ||||
| tS v w z | tS v w z | ||||
| Dictionary ml_dict | |||||
| a a: aI aU e E e: i | |||||
| I i: l- o o: r- u u: | |||||
| V y | |||||
| : b c ch d d. dZ f | |||||
| g h j J k kh l l. | |||||
| m n N n. n^ p ph R | |||||
| R2 s s. S; t t. t.h th | |||||
| tS v w z z. |
| overly oUv3lI2 | overly oUv3lI2 | ||||
| overt oUv'3:t | overt oUv'3:t | ||||
| overtly oUv'3:tlI2 | overtly oUv'3:tlI2 | ||||
| overturn $3 | |||||
| oxen 0ks@n | oxen 0ks@n | ||||
| padre pA:dreI | padre pA:dreI | ||||
| untie Vnt'aI | untie Vnt'aI | ||||
| unty Vnt'aI // for untying | unty Vnt'aI // for untying | ||||
| unwind Vnw'aInd | unwind Vnw'aInd | ||||
| unwise $2 | |||||
| unwound Vnw'aUnd | unwound Vnw'aUnd | ||||
| update $1 $onlys | update $1 $onlys | ||||
| update $verb | update $verb | ||||
| Tripoli trIp@lI2 | Tripoli trIp@lI2 | ||||
| Ukraine ju:kr'eIn | Ukraine ju:kr'eIn | ||||
| Ural ju:@r@L | Ural ju:@r@L | ||||
| Utah ju:tA: | |||||
| ?3 Utah ju:tO: | |||||
| Utah ju:t2A: | |||||
| ?3 Utah ju:t2O: | |||||
| Utrecht ju:trECt | Utrecht ju:trECt | ||||
| Vancouver $2 | Vancouver $2 | ||||
| Vegas veIg@s | Vegas veIg@s |
| // *************************************************************************** | // *************************************************************************** | ||||
| // * Copyright (C) 2005 to 2007 by Jonathan Duddington * | |||||
| // * Copyright (C) 2005 to 2008 by Jonathan Duddington * | |||||
| // * email: [email protected] * | // * email: [email protected] * | ||||
| // * * | // * * | ||||
| // * This program is free software; you can redistribute it and/or modify * | // * This program is free software; you can redistribute it and/or modify * | ||||
| &) at (eer_ @t | &) at (eer_ @t | ||||
| g) at (eau at | g) at (eau at | ||||
| p) atrol a2troUl | p) atrol a2troUl | ||||
| ?3 p) at (r eIt | |||||
| ?3 p) at (riA eIt | |||||
| fr) at (ern a2t | fr) at (ern a2t | ||||
| c) atego atIg@ | c) atego atIg@ | ||||
| c) atego (ric atIg'0 | c) atego (ric atIg'0 | ||||
| @) e (ctive 'E | @) e (ctive 'E | ||||
| _) eco (s i:koU | _) eco (s i:koU | ||||
| econo (m Ik'0n@ | econo (m Ik'0n@ | ||||
| econo (mic Ek@n'0 | |||||
| econo (mic i:k@n'0 | |||||
| &) ecy (_ @sI2 | &) ecy (_ @sI2 | ||||
| ee i: | ee i: | ||||
| ee (m 'i: | ee (m 'i: | ||||
| l) egion i:dZ@n | l) egion i:dZ@n | ||||
| egy (pt i:dZI | egy (pt i:dZI | ||||
| n) e (gro i: | n) e (gro i: | ||||
| eh (_ eI | |||||
| eh (K eI | |||||
| ei eI | ei eI | ||||
| _) ei aI | _) ei aI | ||||
| c) ei i: | c) ei i: | ||||
| ep (ox I2p | ep (ox I2p | ||||
| e (qual i: | e (qual i: | ||||
| _) e (qua i: | _) e (qua i: | ||||
| e (quat I2 | |||||
| _) e (quat I2 | |||||
| fr) e (q i: | fr) e (q i: | ||||
| _s) e (que i: | _s) e (que i: | ||||
| e (quip I2 | e (quip I2 | ||||
| &) eous (_ =i@s | &) eous (_ =i@s | ||||
| th) eo (@ I2@ | th) eo (@ I2@ | ||||
| th) eo (r i@ | th) eo (r i@ | ||||
| th) eo (cracy I'0 | |||||
| th) eo (logy I'0 | th) eo (logy I'0 | ||||
| th) eo (logis I'0 | th) eo (logis I'0 | ||||
| eover oUv@ | eover oUv@ | ||||
| s) er (van 3: | s) er (van 3: | ||||
| ery (_ @rI2 | ery (_ @rI2 | ||||
| ery @rI | ery @rI | ||||
| ery (A 3j | |||||
| _v) ery ErI2 | _v) ery ErI2 | ||||
| _ev) ery rI2 | _ev) ery rI2 | ||||
| qu) ery i@rI2 | qu) ery i@rI2 | ||||
| o (bstin 0 | o (bstin 0 | ||||
| o (bt %0 | o (bt %0 | ||||
| o (bu %0 | o (bu %0 | ||||
| o (by_ oU | |||||
| f) o (cA oU | f) o (cA oU | ||||
| ff) o (cA @ | ff) o (cA @ | ||||
| _l) o (cA oU | _l) o (cA oU | ||||
| ox (ide '0ks | ox (ide '0ks | ||||
| oxy 0ksI | oxy 0ksI | ||||
| oy OI | oy OI | ||||
| oy (A_ 'OI | |||||
| d) o (zen V | d) o (zen V | ||||
| _) o (zo oU | _) o (zo oU | ||||
| o (zy_ oU | o (zy_ oU | ||||
| &l) ous (_ @s | &l) ous (_ @s | ||||
| &) ous (_ @s | &) ous (_ @s | ||||
| &) ousy (_ @sI2 | &) ousy (_ @sI2 | ||||
| &m) ous (_ @s | |||||
| &n) ous (_ @s | &n) ous (_ @s | ||||
| _) out (@P3 %aUt // prefix out | _) out (@P3 %aUt // prefix out | ||||
| c) ou (si V | c) ou (si V | ||||
| _) un (@P2 %Vn // prefix | _) un (@P2 %Vn // prefix | ||||
| _) un (AP2 %Vn // prefix | _) un (AP2 %Vn // prefix | ||||
| _) unn %Vnn | _) unn %Vnn | ||||
| _) un (u %Vn | |||||
| @) un (al 'ju:n | @) un (al 'ju:n | ||||
| une (_ ju:n | une (_ ju:n | ||||
| ?3 d) une (_ u:n | ?3 d) une (_ u:n | ||||
| j) une (_ u:n | |||||
| j) un (A u:n | |||||
| l) une (_ u:n | l) une (_ u:n | ||||
| r) une (_ u:n | r) une (_ u:n | ||||
| ?3 t) une (_ u:n | ?3 t) une (_ u:n |
| _tld t'ilde | _tld t'ilde | ||||
| // names of symbols | // names of symbols | ||||
| _. punto | _. punto | ||||
| _, koma | _, koma | ||||
| // If a letter has a "word" pronunciation which is different from its | // If a letter has a "word" pronunciation which is different from its | ||||
| // "letter" name, then include the letter name here, with the letter | // "letter" name, then include the letter name here, with the letter | ||||
| // prefixed by a _ character. | // prefixed by a _ character. | ||||
| b be | |||||
| c Te | |||||
| d de | |||||
| f Efe | |||||
| g xe | |||||
| h atSe | |||||
| j xOta | |||||
| k ka | |||||
| l Ele | |||||
| m Eme | |||||
| n Ene | |||||
| ñ En^e | |||||
| p pe | |||||
| q ku | |||||
| r E**e | |||||
| s Ese | |||||
| t te | |||||
| v uBe | |||||
| w ,uBe||d'OBle | |||||
| x Ekis | |||||
| z TEta | |||||
| _a a | _a a | ||||
| a a $atend | a a $atend | ||||
| _o o | _o o | ||||
| _y ,ig**'iEQa | _y ,ig**'iEQa | ||||
| y ,ig**'iEQa $atend | y ,ig**'iEQa $atend | ||||
| ch tSe | ch tSe | ||||
| ll Ejje | |||||
| ll EJ^e | |||||
| ?2 ll Ej:e | |||||
| á 'a||aTEntw'aDa | á 'a||aTEntw'aDa | ||||
| é 'e||aTEntw'aDa | é 'e||aTEntw'aDa | ||||
| í 'i||aTEntw'aDa | í 'i||aTEntw'aDa |
| .L02 b d g n m // change [s] to [z] before these | .L02 b d g n m // change [s] to [z] before these | ||||
| .group a | .group a | ||||
| _) a (_ a | |||||
| a a | a a | ||||
| ai aI | ai aI | ||||
| ay (K aI | ay (K aI | ||||
| .group b | .group b | ||||
| _) b (_ be | |||||
| b B | b B | ||||
| _) b b | _) b b | ||||
| m) b b | m) b b | ||||
| b (uA b | b (uA b | ||||
| .group c | .group c | ||||
| _) c (_ Te | |||||
| c k | c k | ||||
| c (Y T // ce, ci | c (Y T // ce, ci | ||||
| ch tS | ch tS | ||||
| .group d | .group d | ||||
| _) d (_ de | |||||
| d D | d D | ||||
| _) d d | _) d d | ||||
| m) d d | m) d d | ||||
| .group e | .group e | ||||
| _) e (_ e | |||||
| e e | e e | ||||
| e (CK E | e (CK E | ||||
| e (r E | e (r E | ||||
| .group f | .group f | ||||
| _) f (_ 'Efe | |||||
| f f | f f | ||||
| .group g | .group g | ||||
| _) g (_ xe | |||||
| g Q | g Q | ||||
| _) g g | _) g g | ||||
| m) g g | m) g g | ||||
| .group h | .group h | ||||
| _) h (_ 'atSe | |||||
| h // silent | h // silent | ||||
| .group i | .group i | ||||
| _) i (_ i | |||||
| i i | i i | ||||
| i (A J^ | i (A J^ | ||||
| C) i (A j | C) i (A j | ||||
| .group j | .group j | ||||
| _) j (_ x'Ota | |||||
| j x | j x | ||||
| .group k | .group k | ||||
| _) k (_ ka | |||||
| k k | k k | ||||
| .group l | .group l | ||||
| _) l (_ Ele | |||||
| l l | l l | ||||
| ll J^ | ll J^ | ||||
| ?2 A) ll (A j: | ?2 A) ll (A j: | ||||
| .group m | .group m | ||||
| _) m (_ Eme | |||||
| m m | m m | ||||
| .group n | .group n | ||||
| _) n (_ Ene | |||||
| n n | n n | ||||
| n (b m | n (b m | ||||
| n (v m | n (v m | ||||
| .group o | .group o | ||||
| _) o (_ o | |||||
| o o | o o | ||||
| o (CK O | o (CK O | ||||
| o (r O | o (r O | ||||
| .group p | .group p | ||||
| _) p (_ pe | |||||
| p p | p p | ||||
| p (t p: | p (t p: | ||||
| .group q | .group q | ||||
| _) q (_ ku | |||||
| q k | q k | ||||
| qu k | qu k | ||||
| .group r | .group r | ||||
| _) r (_ E**e | |||||
| r R | r R | ||||
| _) r R | |||||
| _) r R2 | |||||
| r (_ * | r (_ * | ||||
| r (t ** | r (t ** | ||||
| A) r (A ** | A) r (A ** | ||||
| m) r (A R | m) r (A R | ||||
| n) r (A R | n) r (A R | ||||
| s) r (A R | s) r (A R | ||||
| rr *R | |||||
| rr *R2 | |||||
| .group s | .group s | ||||
| _) s (_ Ese | |||||
| s s | s s | ||||
| &) s (_S1 s | &) s (_S1 s | ||||
| .group t | .group t | ||||
| _) t (_ te | |||||
| t t | t t | ||||
| .group u | .group u | ||||
| _) u (_ u | |||||
| u u | u u | ||||
| u (A w | u (A w | ||||
| u (y_ w | u (y_ w | ||||
| .group v | .group v | ||||
| _) v (_ uBe | |||||
| v B | v B | ||||
| _) v v# | _) v v# | ||||
| ?1 m) v b | ?1 m) v b | ||||
| .group w | .group w | ||||
| _) w (_ ,uBe||d'OBle | |||||
| w w | w w | ||||
| .group x | .group x | ||||
| _) x (_ Ekis | |||||
| x ks | x ks | ||||
| ?1 A) x (A Qs | ?1 A) x (A Qs | ||||
| x (_ =Qs | x (_ =Qs | ||||
| .group y | .group y | ||||
| _) y (_ ,ig**'iEQa | |||||
| y i | y i | ||||
| _) y J | _) y J | ||||
| _m) y J | _m) y J | ||||
| .group z | .group z | ||||
| _) z (_ TEta | |||||
| z T | z T | ||||
| ?2 z (L02 z | ?2 z (L02 z | ||||
| ú ''u | ú ''u | ||||
| ü u | ü u | ||||
| ñ n^ | ñ n^ | ||||
| _)ñ (_ En^e | |||||
| $ d'Olar | $ d'Olar | ||||
| _' apOstrOf | _' apOstrOf | ||||
| _( 'uvr@-parA~t'Ez | _( 'uvr@-parA~t'Ez | ||||
| _) f'Erm parA~t'Ez | _) f'Erm parA~t'Ez | ||||
| _* astErisk: | |||||
| _* asterisk: | |||||
| _, virgyl | _, virgyl | ||||
| _- tirE | _- tirE | ||||
| _. _|pw%E~ | _. _|pw%E~ | ||||
| _? pwE~dE~terogasj'O~ | _? pwE~dE~terogasj'O~ | ||||
| _[ uvr@-_kroSE | _[ uvr@-_kroSE | ||||
| _\ b'aksl'aS | _\ b'aksl'aS | ||||
| _] f'Erm_kroS'E | |||||
| _] f'E2rm_kroS'E | |||||
| _^ sirkOnflEks | _^ sirkOnflEks | ||||
| __ sulin^e | __ sulin^e | ||||
| _` aks'A~_gr'av | _` aks'A~_gr'av | ||||
| _{ uvr_akOlad | _{ uvr_akOlad | ||||
| _| bar | _| bar | ||||
| _} f'Erm_akOl'ad | |||||
| _} f'E2rm_akOl'ad | |||||
| ² pw^is'A~s||d'Y | ² pw^is'A~s||d'Y | ||||
| bd boulevard $text | bd boulevard $text | ||||
| cci $abbrev | cci $abbrev | ||||
| cio $abbrev | cio $abbrev | ||||
| ctrl kO~tRo2l $pause | |||||
| ctrl control $text $pause | |||||
| dept depart@mA~ | dept depart@mA~ | ||||
| edf $abbrev | edf $abbrev | ||||
| etc etsetera | etc etsetera | ||||
| ghz ZigaErts | |||||
| ghz ZigaE2rts | |||||
| hmm h@m | hmm h@m | ||||
| hz _!Erts | |||||
| hz _!E2rts | |||||
| ibm $abbrev | ibm $abbrev | ||||
| ide $abbrev | ide $abbrev | ||||
| ip $abbrev | ip $abbrev | ||||
| jaws dZ'O2wz | jaws dZ'O2wz | ||||
| kde $abbrev | kde $abbrev | ||||
| kg kilogRam | kg kilogRam | ||||
| khz kiloErts | |||||
| khz kiloE2rts | |||||
| km kilomEtr | km kilomEtr | ||||
| kw kilowat | kw kilowat | ||||
| m. m@sjY | m. m@sjY | ||||
| mbrola EmbRola | mbrola EmbRola | ||||
| mhz megaErts | |||||
| mhz megaE2rts | |||||
| mlle mad@mwAzEl | mlle mad@mwAzEl | ||||
| mme madam | mme madam | ||||
| mr m@sjY | mr m@sjY | ||||
| //********************* | //********************* | ||||
| (1 er) pr@mjer2 | (1 er) pr@mjer2 | ||||
| (1 ers) pr@mi;'ez2 | |||||
| (1 ère) pr@mi;'Er | |||||
| (1 ères) pr@mi;'Erz2 | |||||
| (1 èrement) pr@mi;'Er@-mA~ | |||||
| (1 ers) pr@mjez2 | |||||
| (1 ère) pr@mjEr | |||||
| (1 ères) pr@mjErz2 | |||||
| (1 èrement) pr@mjEr@-mA~ | |||||
| monsieur m@sjY | monsieur m@sjY | ||||
| (qu'est ce que) kEsk@ $u | (qu'est ce que) kEsk@ $u | ||||
| absent absA~ | absent absA~ | ||||
| admin admin | admin admin | ||||
| airbus Erbys | |||||
| airbus E2rbys | |||||
| auvent ovA~ | auvent ovA~ | ||||
| bien bjE~n2 $u+ | bien bjE~n2 $u+ | ||||
| bis bis | bis bis | ||||
| (chef d'oeuvre) chédeuvre $text | (chef d'oeuvre) chédeuvre $text | ||||
| choeur kWr | choeur kWr | ||||
| cocus coky | cocus coky | ||||
| dernier dErnjer2 | |||||
| dernier dE2rnjer2 | |||||
| éloquent ElokA~t2 | éloquent ElokA~t2 | ||||
| fier fier $verb | fier fier $verb | ||||
| fuel fjul | fuel fjul | ||||
| scorbut skOrbyt | scorbut skOrbyt | ||||
| scout skut | scout skut | ||||
| stout staut | stout staut | ||||
| uppercut ypErkyt | |||||
| uppercut ypE2rkyt | |||||
| ut yt | ut yt | ||||
| zut zyt | zut zyt | ||||
| end _^_en | end _^_en | ||||
| epson EpsOn | epson EpsOn | ||||
| espeak @spi:k | espeak @spi:k | ||||
| ethernet etErnEt | |||||
| ethernet etE2rnEt | |||||
| exit egzit | exit egzit | ||||
| (file zilla) fa2jl||zija | (file zilla) fa2jl||zija | ||||
| from _^_en $u+ | from _^_en $u+ | ||||
| constations kO~statjO~z2 | constations kO~statjO~z2 | ||||
| contentions kO~tA~tjO~z2 | contentions kO~tA~tjO~z2 | ||||
| dations datjO~z2 | dations datjO~z2 | ||||
| désertions dezErtjO~z2 $verb | |||||
| désertions dezE2rtjO~z2 $verb | |||||
| exploitions EksplwAtjO~z2 | exploitions EksplwAtjO~z2 | ||||
| heurtions hWrtjO~z2 | heurtions hWrtjO~z2 | ||||
| partions partjO~z2 | partions partjO~z2 |
| // 2006-11-18 Gilles Casse <[email protected]> | // 2006-11-18 Gilles Casse <[email protected]> | ||||
| // | // | ||||
| // Updated: 2008-09-13 Michel Such <[email protected]> | |||||
| // Updated: 2008-09-16 Michel Such <[email protected]> | |||||
| // | // | ||||
| // Letter classes: | // Letter classes: | ||||
| // Define use of the final 'e' in french | // Define use of the final 'e' in french | ||||
| e (_ | e (_ | ||||
| qu) e (_ =@- | |||||
| qu) e (s_ =@- | |||||
| elqu) e =@- | elqu) e =@- | ||||
| uisqu) e =@ | uisqu) e =@ | ||||
| rsqu) e =@ | rsqu) e =@ | ||||
| %C) e (mA // actuellement guillemets | %C) e (mA // actuellement guillemets | ||||
| ct) e (ment @ | ct) e (ment @ | ||||
| rC) e (ment @ | rC) e (ment @ | ||||
| g) e (rie | |||||
| AC) e (ment | AC) e (ment | ||||
| u) e (ment @- | u) e (ment @- | ||||
| ul) e (CA | ul) e (CA | ||||
| Cr) eamer i:mWr | Cr) eamer i:mWr | ||||
| Cl) eaner i:nWr | Cl) eaner i:nWr | ||||
| Ack) et (_ Et | Ack) et (_ Et | ||||
| eïn (_ 'Ein | |||||
| // group e: English section | // group e: English section |
| 51 phoneme tables | |||||
| 52 phoneme tables | |||||
| new total | new total | ||||
| base 98 98 | base 98 98 | ||||
| base2 24 117 | base2 24 117 | ||||
| fr_ca 11 134 | fr_ca 11 134 | ||||
| hi 51 135 | hi 51 135 | ||||
| ta 17 138 | ta 17 138 | ||||
| ml 13 137 | |||||
| hu 23 114 | hu 23 114 | ||||
| nl 28 121 | nl 28 121 | ||||
| pl 18 111 | pl 18 111 | ||||
| r3/r_2 [r/] fr | r3/r_2 [r/] fr | ||||
| r3/r_a [(a)] base | r3/r_a [(a)] base | ||||
| r3/r_e [(e)] base | r3/r_e [(e)] base | ||||
| [E] fr | |||||
| r3/r_i [(i)] base | r3/r_i [(i)] base | ||||
| [i] fr | [i] fr | ||||
| r3/r_n [r/] base | r3/r_n [r/] base | ||||
| [r/] fr | [r/] fr | ||||
| [r/] ru | [r/] ru | ||||
| r3/r_o [(o)] base | r3/r_o [(o)] base | ||||
| [O] fr | |||||
| [O2] fr | |||||
| r3/r_ru [R4] ru | r3/r_ru [R4] ru | ||||
| r3/r_ru2 [R4] ru | r3/r_ru2 [R4] ru | ||||
| r3/r_trill [R2] base | r3/r_trill [R2] base | ||||
| [(i)] base | [(i)] base | ||||
| [(o)] base | [(o)] base | ||||
| [(u)] base | [(u)] base | ||||
| [O] fr | |||||
| [W] fr | |||||
| [Y] fr | [Y] fr | ||||
| [a] fr | |||||
| [e] fr | [e] fr | ||||
| [i] fr | [i] fr | ||||
| [u] fr | [u] fr | ||||
| [y] fr | [y] fr | ||||
| [W2] fr | |||||
| [a2] fr | [a2] fr | ||||
| [i:] fr | [i:] fr | ||||
| [u:] fr | [u:] fr | ||||
| [@] en_rp | [@] en_rp | ||||
| [V] cy | [V] cy | ||||
| [@4] hi | [@4] hi | ||||
| [@] ml | |||||
| [@] sq | [@] sq | ||||
| vowel/@- [@-] base | vowel/@- [@-] base | ||||
| [r*] hr | [r*] hr | ||||
| [3] de | [3] de | ||||
| [@] de | [@] de | ||||
| [a] hi | [a] hi | ||||
| [a] ml | |||||
| [a#] ru | [a#] ru | ||||
| [&] pt_pt | [&] pt_pt | ||||
| [&/] pt_pt | [&/] pt_pt | ||||
| vowel/a_5 [a] fr | vowel/a_5 [a] fr | ||||
| [a2] fr | [a2] fr | ||||
| [a:] ta | [a:] ta | ||||
| [a:] ml | |||||
| [a/] it | [a/] it | ||||
| [a] la | [a] la | ||||
| [a] sv | [a] sv | ||||
| [E:] fr | [E:] fr | ||||
| [e] ta | [e] ta | ||||
| [e:] ta | [e:] ta | ||||
| [e] ml | |||||
| [e:] ml | |||||
| [e] hr | [e] hr | ||||
| [e/] it | [e/] it | ||||
| [e:] la | [e:] la | ||||
| [i] eo | [i] eo | ||||
| [I] fr | [I] fr | ||||
| [i:] ta | [i:] ta | ||||
| [i:] ml | |||||
| [i:] hu | [i:] hu | ||||
| [i] it | [i] it | ||||
| [i] pt_pt | [i] pt_pt | ||||
| [i/] pt_pt | [i/] pt_pt | ||||
| [y] ro | [y] ro | ||||
| vowel/i_6 [i] ta | vowel/i_6 [i] ta | ||||
| [i] ml | |||||
| [i] hr | [i] hr | ||||
| [i] tr | [i] tr | ||||
| [i] ku | [i] ku | ||||
| [i] zhy | [i] zhy | ||||
| [I] ku | [I] ku | ||||
| vowel/ii# [Y] cy | vowel/ii# [Y] cy | ||||
| [y] ml | |||||
| [Y] ru | [Y] ru | ||||
| [I] ku | [I] ku | ||||
| vowel/ii_2 [i] zh | vowel/ii_2 [i] zh | ||||
| [o] hi | [o] hi | ||||
| [o] ta | [o] ta | ||||
| [o:] ta | [o:] ta | ||||
| [o] ml | |||||
| [o:] ml | |||||
| [o] it | [o] it | ||||
| [o/] it | [o/] it | ||||
| [O] la | [O] la | ||||
| [U] fr | [U] fr | ||||
| [u] ta | [u] ta | ||||
| [u:] ta | [u:] ta | ||||
| [u] ml | |||||
| [u:] ml | |||||
| [u:] cs | [u:] cs | ||||
| [U] la | [U] la | ||||
| [u] id | [u] id | ||||
| [o@] en_us | [o@] en_us | ||||
| [O:] en_sc | [O:] en_sc | ||||
| vwl_en_us/ur [U@] en_us | vwl_en_us/ur [U@] en_us | ||||
| vwl_fr/r_@ [W] fr | |||||
| [W2] fr | |||||
| vwl_fr/@R [x] pt_pt | vwl_fr/@R [x] pt_pt | ||||
| vwl_fr/@R2 [R] fr_ca | vwl_fr/@R2 [R] fr_ca | ||||
| vwl_fr/@R3 [R] fr | vwl_fr/@R3 [R] fr | ||||
| [r2] fr | [r2] fr | ||||
| vwl_fr/@R4 [r] fr | vwl_fr/@R4 [r] fr | ||||
| [r2] fr | [r2] fr | ||||
| vwl_fr/r_a [a] fr | |||||
| [a2] fr | |||||
| vwl_fr/r_e [E2] fr | |||||
| vwl_fr/ri [i] fr | |||||
| vwl_fr/r_u [u] fr | |||||
| vwl_fr/r_y [y] fr | |||||
| vwl_fr/w_a [wA] fr | vwl_fr/w_a [wA] fr | ||||
| vwl_hi/A [a:] hi | vwl_hi/A [a:] hi | ||||
| vwl_hi/l-voc [l-] jbo | vwl_hi/l-voc [l-] jbo |
| phoneme a | phoneme a | ||||
| vowel starttype (a) endtype (@) | |||||
| vowel starttype (e) endtype (@) | |||||
| length 210 | length 210 | ||||
| formants vwl_en_us/a | formants vwl_en_us/a | ||||
| before n vnasal/ee_n2 | before n vnasal/ee_n2 |
| formants vowel/a_5 | formants vowel/a_5 | ||||
| after l l/la-15 | after l l/la-15 | ||||
| before l/ DFT-20+l/xl | before l/ DFT-20+l/xl | ||||
| before r/ DFT-30+r/xr | |||||
| before r/ DFT+vwl_fr/r_a | |||||
| reduceto a2 1 | reduceto a2 1 | ||||
| endphoneme | endphoneme | ||||
| formants vowel/a_5 | formants vowel/a_5 | ||||
| after l l/la-15 | after l l/la-15 | ||||
| before (r) DFT-20+r/xr | before (r) DFT-20+r/xr | ||||
| before r/ DFT-20+r/xr | |||||
| before r/ DFT+vwl_fr/r_a | |||||
| endphoneme | endphoneme | ||||
| formants vowel/e_mid | formants vowel/e_mid | ||||
| after l l/le-15 | after l l/le-15 | ||||
| before l/ DFT-20+l/xl | before l/ DFT-20+l/xl | ||||
| before r/ DFT+r3/r_e | |||||
| reduceto E2 1 | reduceto E2 1 | ||||
| endphoneme | endphoneme | ||||
| length 175 | length 175 | ||||
| formants vowel/e_mid | formants vowel/e_mid | ||||
| after l l/le-15 | after l l/le-15 | ||||
| before r/ DFT-20 | |||||
| before r/ DFT+vwl_fr/r_e | |||||
| endphoneme | endphoneme | ||||
| formants vowel/i_3 | formants vowel/i_3 | ||||
| linkout ; | linkout ; | ||||
| after l l/li-15 | after l l/li-15 | ||||
| after (r) vwl_fr/ri | |||||
| before l/ DFT-20+l/L1_iL-80 | before l/ DFT-20+l/L1_iL-80 | ||||
| before (r) DFT+r/xr | before (r) DFT+r/xr | ||||
| before r/ DFT+r3/r_i | before r/ DFT+r3/r_i | ||||
| after l l/lu-20 | after l l/lu-20 | ||||
| before l/ DFT-20+l/L1_uL-80 | before l/ DFT-20+l/L1_uL-80 | ||||
| before (r) DFT+r/xr | before (r) DFT+r/xr | ||||
| before r/ DFT-20+r/xr | |||||
| before r/ DFT-20+vwl_fr/r_u | |||||
| endphoneme | endphoneme | ||||
| formants vowel/y_2 | formants vowel/y_2 | ||||
| after l l/lu-20 | after l l/lu-20 | ||||
| before l/ DFT-20+l/L1_uL-80 | before l/ DFT-20+l/L1_uL-80 | ||||
| before (r) vwl_fr/r_y | |||||
| before r/ DFT+r/xr-30 | before r/ DFT+r/xr-30 | ||||
| endphoneme | endphoneme | ||||
| formants vowel/@_5 | formants vowel/@_5 | ||||
| after l l/l@-20 | after l l/l@-20 | ||||
| before l/ DFT-40+l/xl+15 | before l/ DFT-40+l/xl+15 | ||||
| before r/ DFT-20+r/xr | |||||
| before r/ DFT+vwl_fr/r_@ | |||||
| reduceto Y 1 | reduceto Y 1 | ||||
| endphoneme | endphoneme | ||||
| formants vowel/@_3 | formants vowel/@_3 | ||||
| after l l/l@-20 | after l l/l@-20 | ||||
| before l/ DFT-40+l/xl+15 | before l/ DFT-40+l/xl+15 | ||||
| before r/ DFT-20+r3/r_@ | |||||
| before r/ DFT+vwl_fr/r_@ | |||||
| endphoneme | endphoneme | ||||
| vowelout f1=0 f2=1000 -500 -300 f3=-300 80 brk | vowelout f1=0 f2=1000 -500 -300 f3=-300 80 brk | ||||
| formants b/b+x/b%70 | formants b/b+x/b%70 | ||||
| before _ b/b_+x/b_ | before _ b/b_+x/b_ | ||||
| before R b/b+x/b_ | |||||
| after _ NULL | after _ NULL | ||||
| after @ b/xb%50 | after @ b/xb%50 | ||||
| lengthmod 5 | lengthmod 5 | ||||
| phoneme R // for beginning of words | phoneme R // for beginning of words | ||||
| vcd pal frc | vcd pal frc | ||||
| vowelin f1=0 f2=800 -50 50 f3=-100 100 len=40 | |||||
| vowelin f1=0 f2=800 -50 50 f3=-100 100 | |||||
| length 100 | length 100 | ||||
| lengthmod 7 | lengthmod 7 | ||||
| beforenotvowel r/ | beforenotvowel r/ |
| phonemetable ta hi | phonemetable ta hi | ||||
| include ph_tamil | include ph_tamil | ||||
| phonemetable ml hi | |||||
| include ph_malayalam | |||||
| phonemetable hu base | phonemetable hu base | ||||
| include ph_hungarian | include ph_hungarian | ||||
| f_trans = stdout; | f_trans = stdout; | ||||
| option_ssml = 1; | option_ssml = 1; | ||||
| option_phoneme_input = 1; | |||||
| // if(LoadVoice(voice_name,0) == NULL) | // if(LoadVoice(voice_name,0) == NULL) |
| else | else | ||||
| repeat = 0; | repeat = 0; | ||||
| if((prev==5) || (prev==50) || (prev==500)) | |||||
| if((prev > 1) && (prev != 10) && (prev != 100)) | |||||
| { | { | ||||
| if(value >= prev) | if(value >= prev) | ||||
| return(0); | return(0); | ||||
| if(Lookup("_dpt2",buf1)) | if(Lookup("_dpt2",buf1)) | ||||
| strcat(ph_out,buf1); | strcat(ph_out,buf1); | ||||
| if(c == langopts.decimal_sep) | |||||
| if((c == langopts.decimal_sep) && isdigit(word[n_digits+1])) | |||||
| { | { | ||||
| Lookup("_dpt",buf1); | Lookup("_dpt",buf1); | ||||
| strcat(ph_out,buf1); | strcat(ph_out,buf1); |
| SetWordStress(phonemes,flags[0],-1,0); | SetWordStress(phonemes,flags[0],-1,0); | ||||
| DecodePhonemes(phonemes,phonemes2); | DecodePhonemes(phonemes,phonemes2); | ||||
| sprintf(text_out,"[[%s]]",phonemes2); | sprintf(text_out,"[[%s]]",phonemes2); | ||||
| option_phoneme_input = 1; | |||||
| option_phoneme_input |= 2; | |||||
| return(text_out); | return(text_out); | ||||
| } | } | ||||
| return(NULL); | return(NULL); | ||||
| DecodePhonemes(phonemes,phonemes2); | DecodePhonemes(phonemes,phonemes2); | ||||
| sprintf(buf,"[[%s]] ",phonemes2); | sprintf(buf,"[[%s]] ",phonemes2); | ||||
| } | } | ||||
| option_phoneme_input |= 2; | |||||
| } | } | ||||
| else | else | ||||
| { | { | ||||
| strcpy(buf,"[[(X1)(X1)(X1)]]"); | strcpy(buf,"[[(X1)(X1)(X1)]]"); | ||||
| option_phoneme_input |= 2; | |||||
| } | } | ||||
| option_phoneme_input = 1; | |||||
| return(buf); | return(buf); | ||||
| } | } | ||||
| } | } | ||||
| else | else | ||||
| { | { | ||||
| sprintf(p,"%s %s %d %s %s [[______]]", | |||||
| sprintf(p,"%s %s %d %s %s", | |||||
| tone_punct_on,punctname,punct_count,punctname,tone_punct_off); | tone_punct_on,punctname,punct_count,punctname,tone_punct_off); | ||||
| option_phoneme_input = 1; | |||||
| return(CLAUSE_COMMA); | |||||
| } | } | ||||
| } | } | ||||
| else | else | ||||
| if(iswspace(c2) && strchr_w(punct_stop,c1)!=NULL) | if(iswspace(c2) && strchr_w(punct_stop,c1)!=NULL) | ||||
| return(punct_attributes[lookupwchar(punct_chars,c1)]); | return(punct_attributes[lookupwchar(punct_chars,c1)]); | ||||
| return(CLAUSE_COMMA); | |||||
| return(CLAUSE_SHORTCOMMA); | |||||
| } // end of AnnouncePunctuation | } // end of AnnouncePunctuation | ||||
| #define SSML_SPEAK 1 | #define SSML_SPEAK 1 |
| option_waveout = 0; | option_waveout = 0; | ||||
| option_wordgap = 0; | option_wordgap = 0; | ||||
| option_endpause = 1; | option_endpause = 1; | ||||
| option_phoneme_input = 1; | |||||
| option_multibyte = espeakCHARS_AUTO; // auto | option_multibyte = espeakCHARS_AUTO; // auto | ||||
| f_trans = stdout; | f_trans = stdout; | ||||
| } | } | ||||
| SHOW_TIME("espeak_Cancel > LEAVE"); | SHOW_TIME("espeak_Cancel > LEAVE"); | ||||
| #endif | #endif | ||||
| embedded_value[EMBED_T] = 0; // reset echo for pronunciation announcements | |||||
| return EE_OK; | return EE_OK; | ||||
| } // end of espeak_Cancel | } // end of espeak_Cancel | ||||
| #include "translate.h" | #include "translate.h" | ||||
| #include "wave.h" | #include "wave.h" | ||||
| const char *version_string = "1.39 08.Sep.08"; | |||||
| const char *version_string = "1.39.04 19.Sep.08"; | |||||
| const int version_phdata = 0x013900; | const int version_phdata = 0x013900; | ||||
| int option_device_number = -1; | int option_device_number = -1; |
| } | } | ||||
| n_phoneme_list = 0; | n_phoneme_list = 0; | ||||
| WcmdqStop(); | WcmdqStop(); | ||||
| embedded_value[EMBED_T] = 0; | |||||
| return(0); | return(0); | ||||
| } | } | ||||
| #define L_jbo 0x6a626f // jbo Lojban | #define L_jbo 0x6a626f // jbo Lojban | ||||
| #define L_zhy 0x7a6879 // zhy | #define L_zhy 0x7a6879 // zhy | ||||
| // start of unicode pages for character sets | |||||
| #define OFFSET_GREEK 0x380 | #define OFFSET_GREEK 0x380 | ||||
| #define OFFSET_CYRILLIC 0x420 | #define OFFSET_CYRILLIC 0x420 | ||||
| #define OFFSET_DEVANAGARI 0x900 | #define OFFSET_DEVANAGARI 0x900 | ||||
| #define OFFSET_TAMIL 0xb80 | #define OFFSET_TAMIL 0xb80 | ||||
| #define OFFSET_MALAYALAM 0xd00 | |||||
| #define OFFSET_KOREAN 0x1100 | #define OFFSET_KOREAN 0x1100 | ||||
| break; | break; | ||||
| case L('t','a'): // Tamil | case L('t','a'): // Tamil | ||||
| case L('m','l'): // Malayalam | |||||
| { | { | ||||
| static const short stress_lengths_ta[8] = {200, 200, 210, 210, 0, 0, 230, 230}; | static const short stress_lengths_ta[8] = {200, 200, 210, 210, 0, 0, 230, 230}; | ||||
| static const unsigned char stress_amps_ta[8] = {18,18, 18,18, 20,20, 22,22 }; | static const unsigned char stress_amps_ta[8] = {18,18, 18,18, 20,20, 22,22 }; | ||||
| tr->langopts.stress_rule = 0; | tr->langopts.stress_rule = 0; | ||||
| tr->langopts.stress_flags = 0x10004; // use 'diminished' for unstressed final syllable | tr->langopts.stress_flags = 0x10004; // use 'diminished' for unstressed final syllable | ||||
| tr->letter_bits_offset = OFFSET_TAMIL; | tr->letter_bits_offset = OFFSET_TAMIL; | ||||
| if(name2 == L('m','l')) | |||||
| { | |||||
| tr->letter_bits_offset = OFFSET_MALAYALAM; | |||||
| } | |||||
| tr->langopts.param[LOPT_WORD_MERGE] = 1; // don't break vowels betwen words | tr->langopts.param[LOPT_WORD_MERGE] = 1; // don't break vowels betwen words | ||||
| memset(tr->letter_bits,0,sizeof(tr->letter_bits)); | memset(tr->letter_bits,0,sizeof(tr->letter_bits)); |
| int option_sayas2 = 0; // used in translate_clause() | int option_sayas2 = 0; // used in translate_clause() | ||||
| int option_emphasis = 0; // 0=normal, 1=normal, 2=weak, 3=moderate, 4=strong | int option_emphasis = 0; // 0=normal, 1=normal, 2=weak, 3=moderate, 4=strong | ||||
| int option_ssml = 0; | int option_ssml = 0; | ||||
| int option_phoneme_input = 1; // allow [[phonemes]] in input | |||||
| int option_phoneme_input = 0; // allow [[phonemes]] in input | |||||
| int option_phoneme_variants = 0; // 0= don't display phoneme variant mnemonics | int option_phoneme_variants = 0; // 0= don't display phoneme variant mnemonics | ||||
| int option_wordgap = 0; | int option_wordgap = 0; | ||||
| if((c >= 0xb81) && (c <= 0xbe5)) | if((c >= 0xb81) && (c <= 0xbe5)) | ||||
| return(1); // Tamil vowel signs and other signs | return(1); // Tamil vowel signs and other signs | ||||
| if((c >= 0xd01) && (c <= 0xd57)) | |||||
| return(1); // Malayalam vowel signs and other signs | |||||
| if((c >= 0x300) && (c <= 0x36f)) | if((c >= 0x300) && (c <= 0x36f)) | ||||
| return(1); // combining accents | return(1); // combining accents | ||||
| if(!iswalpha(prev_in)) | if(!iswalpha(prev_in)) | ||||
| { | { | ||||
| if((c == '\'') && (next_in == 'n')) | |||||
| if((c == '\'') && (next_in == 'n') && isspace(ptr[1])) | |||||
| { | { | ||||
| // n preceded by either apostrophe or U2019 "right single quotation mark" | // n preceded by either apostrophe or U2019 "right single quotation mark" | ||||
| ptr[0] = ' '; // delete the n | ptr[0] = ' '; // delete the n | ||||
| int letter_count = 0; | int letter_count = 0; | ||||
| int space_inserted = 0; | int space_inserted = 0; | ||||
| int syllable_marked = 0; | int syllable_marked = 0; | ||||
| int decimal_sep_count = 0; | |||||
| char *word; | char *word; | ||||
| char *p; | char *p; | ||||
| int j, k; | int j, k; | ||||
| embedded_ix = 0; | embedded_ix = 0; | ||||
| embedded_read = 0; | embedded_read = 0; | ||||
| option_phoneme_input &= 1; // clear bit 1 (temporary indication) | |||||
| if((clause_start_char = count_characters) < 0) | if((clause_start_char = count_characters) < 0) | ||||
| clause_start_char = 0; | clause_start_char = 0; | ||||
| } | } | ||||
| } | } | ||||
| } | } | ||||
| if(iswdigit(prev_out)) | if(iswdigit(prev_out)) | ||||
| { | { | ||||
| if(!iswdigit(c) && (c != '.') && (c != ',')) | if(!iswdigit(c) && (c != '.') && (c != ',')) | ||||
| space_inserted = 1; | space_inserted = 1; | ||||
| } | } | ||||
| } | } | ||||
| else | |||||
| { | |||||
| if(prev_in != ',') | |||||
| { | |||||
| decimal_sep_count = 0; | |||||
| } | |||||
| } | |||||
| if((c == '[') && (next_in == '[') && option_phoneme_input) | if((c == '[') && (next_in == '[') && option_phoneme_input) | ||||
| { | { | ||||
| { | { | ||||
| } | } | ||||
| else | else | ||||
| if((prev_out != ' ') && !iswdigit(prev_out) && (prev_out != langopts.decimal_sep)) // TEST2 | |||||
| if((prev_out != ' ') && !iswdigit(prev_out)) | |||||
| { | { | ||||
| c = ' '; | |||||
| space_inserted = 1; | |||||
| if((prev_out != langopts.decimal_sep) || ((decimal_sep_count > 0) && (langopts.decimal_sep == ','))) | |||||
| { | |||||
| c = ' '; | |||||
| space_inserted = 1; | |||||
| } | |||||
| else | |||||
| { | |||||
| decimal_sep_count = 1; | |||||
| } | |||||
| } | } | ||||
| else | else | ||||
| if((prev_out == ' ') && IsAlpha(sbuf[ix-2]) && !IsAlpha(prev_in)) | if((prev_out == ' ') && IsAlpha(sbuf[ix-2]) && !IsAlpha(prev_in)) |
| #define CLAUSE_VOICE 0 + 0x24000 | #define CLAUSE_VOICE 0 + 0x24000 | ||||
| #define CLAUSE_PERIOD 35 + 0x80000 | #define CLAUSE_PERIOD 35 + 0x80000 | ||||
| #define CLAUSE_COMMA 20 + 0x41000 | #define CLAUSE_COMMA 20 + 0x41000 | ||||
| #define CLAUSE_SHORTCOMMA 15 + 0x41000 | |||||
| #define CLAUSE_SHORTCOMMA 5 + 0x41000 | |||||
| #define CLAUSE_QUESTION 35 + 0x82000 | #define CLAUSE_QUESTION 35 + 0x82000 | ||||
| #define CLAUSE_EXCLAMATION 40 + 0x83000 | #define CLAUSE_EXCLAMATION 40 + 0x83000 | ||||
| #define CLAUSE_COLON 30 + 0x40000 | #define CLAUSE_COLON 30 + 0x40000 |