[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#767641: unblock: espeakup/1:0.71-17



Package: release.debian.org
Severity: normal
User: release.debian.org@packages.debian.org
Usertags: unblock

Hello,

unblock espeakup/1:0.71-17

I'd like to upload the attached changes to the espeakup package, to fix
bug #767595:

“
While using speakup with espeakup, not all keypresses get spoken, e.g.
^ doesn't get spoken at all.  Worse, requesting character-by-character
reading of the screen doesn't speak it either.  This can be fixed by
telling espeak to say-as tts:char in SSML.
”

-- System Information:
Debian Release: jessie/sid
  APT prefers testing
  APT policy: (990, 'testing'), (500, 'buildd-unstable'), (500, 'unstable'), (500, 'stable'), (500, 'oldstable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 3.17.0 (SMP w/8 CPU cores)
Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash
diff --git a/debian/changelog b/debian/changelog
index e6a0fa8..f85afc3 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,10 @@
+espeakup (1:0.71-17) UNRELEASED; urgency=medium
+
+  * patches/spell: Fix spelling keystrokes and char-by-char echo
+    (Closes: #767595)
+
+ -- Samuel Thibault <sthibault@debian.org>  Sat, 01 Nov 2014 12:35:08 +0100
+
 espeakup (1:0.71-16) unstable; urgency=medium
 
   * po/el.po: Greek translation (Closes: #685552)
diff --git a/debian/patches/series b/debian/patches/series
new file mode 100644
index 0000000..da3f5a7
--- /dev/null
+++ b/debian/patches/series
@@ -0,0 +1 @@
+spell
diff --git a/debian/patches/spell b/debian/patches/spell
new file mode 100644
index 0000000..304b832
--- /dev/null
+++ b/debian/patches/spell
@@ -0,0 +1,24 @@
+--- a/synth.c
++++ b/synth.c
+@@ -121,7 +121,19 @@ espeak_ERROR speak_text(struct synth_t *
+ {
+ 	espeak_ERROR rc;
+ 
+-	rc = espeak_Synth(s->buf, s->len + 1, 0, POS_CHARACTER, 0, 0, NULL,
+-					  NULL);
++	if (s->len == 1)
++	{
++		char *buf;
++		int n;
++		n = asprintf(&buf, "<say-as interpret-as=\"tts:char\">%c</say-as>", s->buf[0]);
++		rc = espeak_Synth(buf, n + 1, 0, POS_CHARACTER, 0, espeakSSML, NULL,
++						  NULL);
++		free(buf);
++	}
++	else
++	{
++		rc = espeak_Synth(s->buf, s->len + 1, 0, POS_CHARACTER, 0, 0, NULL,
++						  NULL);
++	}
+ 	return rc;
+ }

Reply to: