From 2e9cf978b756740977efe3cf80ad846fcb6cea8c Mon Sep 17 00:00:00 2001 From: mfranz Date: Fri, 23 Mar 2007 10:45:11 +0000 Subject: [PATCH] - turn \n, \t, \r into spaces. Otherwise Festival spells out ".^M" as "period". - fix rather embarrassing string concatenation bug :-) --- src/Sound/voice.cxx | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/Sound/voice.cxx b/src/Sound/voice.cxx index de77cbdf1..4bf452003 100644 --- a/src/Sound/voice.cxx +++ b/src/Sound/voice.cxx @@ -242,15 +242,17 @@ void FGVoiceMgr::FGVoice::FGVoiceListener::valueChanged(SGPropertyNode *node) return; const string s = node->getStringValue(); -// cerr << "PUSH " << s << endl; + //cerr << "\033[31;1mPUSH [" << s << "]\033[m" << endl; string m; for (unsigned int i = 0; i < s.size(); i++) { char c = s[i]; - if (!isprint(c)) + if (c == '\n' || c == '\r' || c == '\t') + m += ' '; + else if (!isprint(c)) continue; - else if (c == '"' || c == '\\') - m += '\\' + c; + else if (c == '\\' || c == '"') + m += '\\', m += c; else if (c == '|' || c == '_') m += ' '; // don't say "vertical bar" or "underscore" else if (c == '&')