GNOME Bugzilla – Bug 418147
[pending] Error spelling words or lines
Last modified: 2007-04-20 18:29:57 UTC
Please describe the problem: Trying to speel a word or line only a few letters are spoken. Steps to reproduce: 1. Flat review a line of text or word. 2. Press kp8 twice to spell complete line or kp5 to spell current word. Actual results: Orca only speaks a few letters of the text. Expected results: Complete line or word should be spelled/spoken. Does this happen every time? Yes Other information: Using Ubuntu Feisty with latest Orca trunk
Javier, I just tried this with gedit with latest Ubuntu Feisty and Orca from SVN trunk/HEAD. I was able to spell the current line and/or word correctly. Does this worj for you now? If not, can you give me more detailed steps on what application you are using etc? ... Thanks.
I am using Ubuntu Feisty upgraded to the latest packages. I upgraded the distro from edgy to Feisty. Using the latest trunk Orca head, I can reproduce the problem yet. Now I think that It might be with the speech synthesizer. I use IBMTTS and the spelling doesn't work well, if I use espeak however, the spelling of the word or line is done okay. Another issue if with extra characters, e.g ñ: typing the spanish word niño and spell it only n, i is spoken. This occurs with both synthesizers.
Looks like a conversion problem. :-( Here's a stack trace I get when flat reviewing this page and when telling Orca to spell out niño: SPEECH OUTPUT: 'n' SPEECH OUTPUT: 'i' SPEECH OUTPUT: 'Ã' Traceback (most recent call last):
+ Trace 126607
consumed = self._function(script, inputEvent)
self._reviewCurrentItem(inputEvent, targetCursorCell, clickCount)
self.spellCurrentItem(string)
speech.speak(character)
_speechserver.speak(text, __resolveACSS(acss), interrupt)
self.__speak(text, acss, interrupt)
text = self.__addVerbalizedPunctuation(text)
oldText = oldText.decode("UTF-8")
Here's some experimentation with Python to see what it does with niño: wwalker@wwalker-laptop:~$ python Python 2.5 (release25-maint, Mar 29 2007, 11:14:31) [GCC 4.1.2 (Ubuntu 4.1.2-0ubuntu4)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> a = "ñ" >>> a '\xc3\xb1' >>> a.decode("UTF-8") u'\xf1' >>> b = "niño" >>> b 'ni\xc3\xb1o' >>> b.decode("UTF-8") u'ni\xf1o' Seems to do OK. So...I'll debug some more with Orca.
Created attachment 86125 [details] [review] Patch to make sure we treat characters as characters and not as bytes Turns out we had a bug where we were treating a string was a sequence of bytes and not characters. The only thing that remains, however, is how to get the character name for ñ and other characters: should this be an Orca responsibility or a speech synthesizer responsibility?
> character name for ñ and other characters: should this be an Orca > responsibility or a speech synthesizer responsibility? Closing this bug. I think that we need to allow the translators to handle this. See also bug 416971.