Package: release.debian.org Severity: normal User: [email protected] 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 <[email protected]> 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; + }

