[BRLTTY] LSR and ORCA not shows Czech characters

Samuel Thibault samuel.thibault at ens-lyon.org
Wed Mar 7 18:48:20 EST 2007


Hi,

Jan Buchal, le Wed 07 Mar 2007 18:41:06 +0100, a écrit :
> >>>>> "ST" == Samuel Thibault <samuel.thibault at ens-lyon.org> writes:
> 
>     ST> Hi, Jan Buchal, le Wed 07 Mar 2007 17:54:49 +0100, a écrit :
>     >> in LSR and ORCA I have the same problem. Both shows ISO-latin1
>     >> characters only.
> 
>     ST> You need to run brltty in a latin2 czech locale, i.e.
> 
>     ST> LANG=cs_cz brltty -t cz etc.
> I have of course.

Okay, I tested it, and realized that a bit of code was forgotten when we
added the charset module.  Here is a patch.

> In the some time run emacs with speechd/el and shows
> all characters correct

Through brlapi you mean? This is a different case because speechd
doesn't announce the charset, and hence it works by "luck": because it
happens that both your emacs and your translation table use the same
encoding, latin2.  Please not be offensed that I call this "luck" (this
has been working for a long time already), but technically speaking,
that's it :)

> , but LSR or Orca not.

Which is different because they do announce the charset, for supporting
not only latin1 or latin2 separately, but both at the same time (which
will be useful when brltty has support for Unicode).

Samuel
-------------- next part --------------
Index: Programs/brlapi_server.c
===================================================================
--- Programs/brlapi_server.c	(r?vision 2933)
+++ Programs/brlapi_server.c	(copie de travail)
@@ -596,12 +596,12 @@
 void getText(const BrailleWindow *brailleWindow, unsigned char *buf)
 {
   int i;
-  wchar_t wc;
+  int c;
   for (i=0; i<displaySize; i++) {
-    if ((wc = brailleWindow->text[i]) >= 256)
+    if ((c = convertWcharToChar(brailleWindow->text[i])) == EOF)
       buf[i] = '?';
     else
-      buf[i] = wc;
+      buf[i] = c;
   }
 }
 


More information about the BRLTTY mailing list