From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sergey Suleymanov Subject: Re: using Turkish in dosemu Date: 18 Jun 2002 17:25:11 +0400 Sender: linux-msdos-owner@vger.kernel.org Message-ID: <87d6uo1zyg.fsf@eatpbank.ru> References: <20020616165323.GB5240@gantek.com> <20020617113812.GB26953@gantek.com> <87elf6w0rx.fsf@eatpbank.ru> <20020617133439.GD26953@gantek.com> <87bsa93y95.fsf@eatpbank.ru> <20020618101518.GA15750@gantek.com> Mime-Version: 1.0 Return-path: In-Reply-To: <20020618101518.GA15750@gantek.com> List-Id: Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: Baurjan Ismagulov Cc: linux-msdos@vger.kernel.org >>>>> Baurjan Ismagulov writes: Baurjan> I do have it disabled, and my dosemu doesn't like that Baurjan> character. Even in -D+a output I can't see that it even Baurjan> reads it (I do see each letter of "exitemu" command). Is this patch helps? diff -urbN dosemu-1.1.3.2.orig/src/plugin/kbd_unicode/config/plugin_parser dosemu-1.1.3.2/src/plugin/kbd_unicode/config/plugin_parser --- dosemu-1.1.3.2.orig/src/plugin/kbd_unicode/config/plugin_parser Sat Jan 5 23:39:37 2002 +++ dosemu-1.1.3.2/src/plugin/kbd_unicode/config/plugin_parser Tue Jun 18 15:21:13 2002 @@ -88,7 +88,7 @@ } - if (!table || (count == 0) || (keynum >= count)) { + if (!table || (count == 0)) { count = 0; table = 0; return; Don't forget type "make mrproper" Baurjan> Does dosemu fiddle with acms? showcfont shows that all Baurjan> characters are on their proper places, i.e., the loaded font Baurjan> is intact. I also saved the in-memory acm, and it seems to Baurjan> be identical to straight-to-font. How comes that different Baurjan> characters get displayed when the same code is output? Try to do this: consolechars -f cp857-8x16.psf -m straight-to-font ..type cp857 keys echo -ne '\033(U' ..type cp857 keys Are result the same? Anyway, '\033(U' is issued only for cp437 codepage. Baurjan> Let's say, I've pressed a key with code 51. Kernel reads it Baurjan> from the keyboard hardware and translates to 148 according Baurjan> to my .kmap file. dosemu takes 148 and has to interpret it Baurjan> according to $_external_char_set. ...to get unicode keysym U_LATIN_SMALL_LETTER_O_WITH_DIAERESIS (0x00f6) Baurjan> Let's assume it is correct, and dosemu knows that the Baurjan> character is small o with diaeresis. Internally, it stores Baurjan> the code of small o with diaeresis in Baurjan> $_internal_char_set. Just reverse translation unicode keysym (0x00f6) to bios return code (0x3394) Baurjan> Since this one is the same as external, the character's Baurjan> internal representation is also 148. That is what gets Baurjan> passed to the application. When the application prints the Baurjan> character, how does dosemu know that I have 857 on the Baurjan> terminal? $_external_char_set Baurjan> Or is the scenario incorrect? It should be. :) I don't know how cp857 looks like, wouldn't you check src/plugin/extra_charsets/cp857.c? -- Sergey Suleymanov