Ignore characters U+200c, U+200d (zero width non-joiner, zero width joiner). git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@224 d46cf337-b52f-0410-862d-fd96e6ae7743master
_0M4 billio: | _0M4 billio: | ||||
_1M4 billio: | _1M4 billio: | ||||
_2M4 ke:tbillio: | _2M4 ke:tbillio: | ||||
_dpt ||_!'Ege:s | |||||
_dpt ||Ege:s //Not need the pause before this word | |||||
_0Z1 tizEd // tenths | _0Z1 tizEd // tenths | ||||
_0Z2 sa:zAd // hundredths | _0Z2 sa:zAd // hundredths | ||||
/ pER2 $max3 | / pER2 $max3 | ||||
= EJEnlY: $max3 | = EJEnlY: $max3 | ||||
# kEt:Y:SkER2Est $max3 | # kEt:Y:SkER2Est $max3 | ||||
@ kukAts | |||||
& e:S | |||||
@ kukAts $max3 | |||||
& e:S $max3 | |||||
€ EuR2o | € EuR2o | ||||
¶ bEkEzde:S | ¶ bEkEzde:S | ||||
§ pAR2AgR2AfuS | |||||
§ s'AkAs | |||||
~ tildE | ~ tildE | ||||
° fokjEl | ° fokjEl | ||||
Ft foR2int | Ft foR2int | ||||
_, vEss2Y: | _, vEss2Y: | ||||
_; pontoSvEss2Y: | _; pontoSvEss2Y: | ||||
_: kEt:Y:Spont | _: kEt:Y:Spont | ||||
_! fElkia:lto: | |||||
_? ke:R2dY: | |||||
_- kYtY:jEl $max3 | |||||
__ Ala:hu:za:S | |||||
_! fElkia:lto:jEl | |||||
_? ke:R2dY:jEl | |||||
_- m'inus $max3 | |||||
__ Ala:hu:za:S $max3 | |||||
_' ApostR2o:f | _' ApostR2o:f | ||||
_– nAJkYtY: | _– nAJkYtY: | ||||
_— kviR2tmi:nus | _— kviR2tmi:nus | ||||
_" ide:zY: | |||||
_( za:R2o: | |||||
_) za:R2o: | |||||
_[ s'YglEtES||z'a:R2o: | |||||
_] s'YglEtES||z'a:R2o: | |||||
_{ k'AptSoS||z'a:R2o: | |||||
_} k'AptSoS||z'a:R2o: | |||||
_… ha:R2_mASpont | |||||
_" ide:zY:jEl $max3 | |||||
_( b'Alza:R2o:jEl $max3 | |||||
_) j'obbza:R2o:jEl $max3 | |||||
_[ n^'ito:sYglEtES $max3 | |||||
_] z'a:R2o:sYglEtES $max3 | |||||
_{ k'EzdY:kAptSoS $max3 | |||||
_} v'e:gkAptSoS $max3 | |||||
_… pontpontpont $max3 | |||||
_• di:spont | _• di:spont | ||||
k k | k k | ||||
kk k: | kk k: | ||||
kk (C kk | kk (C kk | ||||
_) köz kYz | |||||
_) köztársaság k'Ysta:R2SASa:g | |||||
_) központ k'Yspont | |||||
_) köz kYz | |||||
_) község kYSSe:g | _) község kYSSe:g | ||||
_) készség ke:SSe:g | _) készség ke:SSe:g | ||||
_) kétség ke:tS:e:g | _) kétség ke:tS:e:g | ||||
romlo) tts tS: | romlo) tts tS: | ||||
á) t (sor t | á) t (sor t | ||||
á) t (sé t | á) t (sé t | ||||
ne) t (c t | |||||
ne) t (se t | ne) t (se t | ||||
ne) t (szo t | |||||
lehe) ts (ég tS: | lehe) ts (ég tS: | ||||
tehe) ts (ég tS: | tehe) ts (ég tS: | ||||
bi) z (tos s | bi) z (tos s | ||||
bron) z (sz z | bron) z (sz z | ||||
e) z (t s | e) z (t s | ||||
ho) z (ta s | |||||
ho) z (tá s | |||||
inté) z (ked s | |||||
költö) z (köd s | költö) z (köd s | ||||
kö) z (pont s | |||||
kö) z (társaság s | |||||
lefeje) z (te s | lefeje) z (te s | ||||
lefeje) z (ték s | lefeje) z (ték s | ||||
pén) z (tár s | pén) z (tár s |
static const char *tone_punct_on = "\0016T"; // add reverberation, lower pitch | static const char *tone_punct_on = "\0016T"; // add reverberation, lower pitch | ||||
static const char *tone_punct_off = "\001T"; | static const char *tone_punct_off = "\001T"; | ||||
// ignore these characters | |||||
static const unsigned short chars_ignore[] = { | |||||
0x200c, // zero width non-joiner | |||||
0x200d, // zero width joiner | |||||
0 }; | |||||
// punctuations symbols that can end a clause | // punctuations symbols that can end a clause | ||||
static const unsigned short punct_chars[] = {',','.','?','!',':',';', | static const unsigned short punct_chars[] = {',','.','?','!',':',';', | ||||
0x2013, // en-dash | 0x2013, // en-dash | ||||
c2 = ' '; | c2 = ' '; | ||||
} | } | ||||
if(lookupwchar(chars_ignore,c1)) | |||||
{ | |||||
// ignore this character (eg. zero-width-non-joiner U+200C) | |||||
continue; | |||||
} | |||||
if(iswspace(c1)) | if(iswspace(c1)) | ||||
{ | { | ||||
char *p_word; | char *p_word; |