Re: Unicode in dosemu under xterm

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

 



On 4/19/07, Grigory Batalov <bga@xxxxxxxxxxxx> wrote:
Hello!

I got a problem running dosemu in terminal (xterm): there is no Russian symbols.
Xdosemu works well. This is my settings:

$_external_char_set = "utf8"

One workaround is to leave this to "default" which takes the current
locale setting.
That does not solve flickering when you input non-ASCII though.

So I don't understand, why d1,84 became later symbol:3444 instead of symbol:0444.

A bug in the UTF-8 code...

It's fixed in SVN rev 1736; you could also apply the attached instead.

Bart
Index: src/plugin/term/keyb_slang.c
===================================================================
--- src/plugin/term/keyb_slang.c	(revision 1735)
+++ src/plugin/term/keyb_slang.c	(revision 1736)
@@ -1274,6 +1274,8 @@
 			/* rough draft version don't stop here... */
 			result = charset_to_unicode(&keyb_state.translate_state,
 				&symbol, keyb_state.kbp, keyb_state.kbcount);
+			if (result != -1 && result > keyb_state.Keystr_Len)
+				keyb_state.Keystr_Len = result;
 			k_printf("KBD: got %08x, result=%zx\n", symbol, result);
 		}
 
Index: src/plugin/translate/charsets/utf8.c
===================================================================
--- src/plugin/translate/charsets/utf8.c	(revision 1735)
+++ src/plugin/translate/charsets/utf8.c	(revision 1736)
@@ -47,7 +47,6 @@
 		goto bad_string;
 	}
 	if (len >= bytes_desired) {
-		result = ch;
 		for(i = 1; i < bytes_desired; i++) {
 			ch = str[i];
 			if ((ch >= 0x80) && (ch <= 0xBF)) {

[Index of Archives]     [Linux Console]     [Linux Audio]     [Linux for Hams]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite Camping]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Samba]     [Linux Media]     [Fedora Users]

  Powered by Linux