On Wed, Jun 28, 2006 at 06:57:00PM +0100, Bill Haneman wrote: > > recode.patch > > Patch for gnome-speech festival driver. When one of the Italian > > voices is requested, switches the g_io output channel to latin1 > > instead of utf-8. > Are you sure this is sufficient? Don't you need to call g_convert in > order to convert the strings from the gnome-speech client to latin1 > before passing them to the engine? Yes, it is sufficient, and I tested the patched gnome-speech for quite a while enjoying for the first time a good trip at a spoken OpenOffice, and a nice read of lots of accented characters. I must admit I was surprised myself. Apparently the g_io infrastructure has been designed smartly so that UTF-8 applications can talk with the external world in its many incarnations. > That's great news. But it seems to me that there should be something > more general and robust than just checking the voice string, in order to > determine the correct encoding which the festival engine/voice expects. True. And if one day the italian festival voice will be changed to take utf-8, then gnome-speech will need changing as well. However, I have currently no idea how to query a festival voice for the preferred encoding. Maybe there's a super-simple lisp function for that, and we can get rid of the compiled-in per-voice encoding list. Or, otherwise, it can be not compiled in but read from a config file. > Note also that this problem seems to have been introduced on May 14 when > Will explicitly changed the encoding on the iochannel from ISO-8859-1 to > UTF-8. Will, can you explain why you did that? To me it makes a lot of sense to send out data in UTF-8 by default: I think that it's the italian voice that is broken in this regard. Ciao, Enrico -- GPG key: 1024D/797EBFAB 2000-12-05 Enrico Zini <enrico debian org>
Attachment:
signature.asc
Description: Digital signature