* Approximation glitch in v1.1.5.7
@ 2003-09-21 18:39 A. Alper ATICI
2003-09-21 19:11 ` Bart Oldeman
0 siblings, 1 reply; 10+ messages in thread
From: A. Alper ATICI @ 2003-09-21 18:39 UTC (permalink / raw)
To: linux-msdos
Hi everybody,
U_SMALL_LETTER_DOTLESS_I is a legitimate iso-8859-9 character, yet there
exists an approximation for it, so it cannot be typed. Could the
related developer please remove it?
Thank you.
A. Alper ATICI
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: Approximation glitch in v1.1.5.7
2003-09-21 18:39 Approximation glitch in v1.1.5.7 A. Alper ATICI
@ 2003-09-21 19:11 ` Bart Oldeman
2003-09-21 20:57 ` A. Alper ATICI
0 siblings, 1 reply; 10+ messages in thread
From: Bart Oldeman @ 2003-09-21 19:11 UTC (permalink / raw)
To: A. Alper ATICI; +Cc: linux-msdos
On Sun, 21 Sep 2003, A. Alper ATICI wrote:
> U_SMALL_LETTER_DOTLESS_I is a legitimate iso-8859-9 character, yet there
> exists an approximation for it, so it cannot be typed. Could the
> related developer please remove it?
I don't think that would be the right thing to do. Approximations are only
used if no alternative is available in the real character set.
Did you check what happens if you remove the U_SMALL_LETTER_DOTLESS_I
approximation? As far as I know you'd get a question mark instead then
which is also not what you want.
Did you set $_external_charset to iso-8859-9 and $_internal_charset to a
DOS character set that contains the dotless i, such as cp850 or cp857?
Please run
dosemu -dumb -input '\rexitemu\r' -D+vk -O 2>&1 | grep charset
to be sure about that.
Bart
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: Approximation glitch in v1.1.5.7
2003-09-21 19:11 ` Bart Oldeman
@ 2003-09-21 20:57 ` A. Alper ATICI
2003-09-21 21:25 ` A. Alper ATICI
2003-09-22 0:20 ` Bart Oldeman
0 siblings, 2 replies; 10+ messages in thread
From: A. Alper ATICI @ 2003-09-21 20:57 UTC (permalink / raw)
To: Bart Oldeman; +Cc: A. Alper ATICI, linux-msdos
On Sun, Sep 21, 2003 at 08:11:35PM +0100, Bart Oldeman wrote:
>
> I don't think that would be the right thing to do. Approximations are only
> used if no alternative is available in the real character set.
>
What do you mean by the real character set (in terms of the dosemurc
options) ?
> Did you check what happens if you remove the U_SMALL_LETTER_DOTLESS_I
> approximation? As far as I know you'd get a question mark instead then
> which is also not what you want.
>
Yes, it works after removal. Currently internal_char_set is set to
cp857, external to iso-8859-9, layout to tr, term_char_set is default
(this one gets set to latin1).
Actually, DOTLESS_I was the only glitch, the other 8859-9-specific glyphs
appear flawlessly. AFAICS, put_character_symbol() handles these via
type_alt_num(). Without a latin5 setting for term_char_set, I wonder if
this is working by chance or by design.
Regards,
A. Alper ATICI
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: Approximation glitch in v1.1.5.7
2003-09-21 20:57 ` A. Alper ATICI
@ 2003-09-21 21:25 ` A. Alper ATICI
2003-09-22 0:20 ` Bart Oldeman
1 sibling, 0 replies; 10+ messages in thread
From: A. Alper ATICI @ 2003-09-21 21:25 UTC (permalink / raw)
To: Bart Oldeman; +Cc: linux-msdos
> (this one gets set to latin1).
>
I'm sorry, this should be "gets set to latin".
The output of the dump command you've advised is:
charset_latin
video_mem_charset=cp857
keyb_config_charset=terminal_cp857
output_charset=iso8859-9
paste_charset=iso8859-9
keyb_charset=iso8859-9
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: Approximation glitch in v1.1.5.7
2003-09-21 20:57 ` A. Alper ATICI
2003-09-21 21:25 ` A. Alper ATICI
@ 2003-09-22 0:20 ` Bart Oldeman
2003-09-22 7:11 ` A. Alper ATICI
1 sibling, 1 reply; 10+ messages in thread
From: Bart Oldeman @ 2003-09-22 0:20 UTC (permalink / raw)
To: A. Alper ATICI; +Cc: linux-msdos
On Sun, 21 Sep 2003, A. Alper ATICI wrote:
> On Sun, Sep 21, 2003 at 08:11:35PM +0100, Bart Oldeman wrote:
> >
> > I don't think that would be the right thing to do. Approximations are only
> > used if no alternative is available in the real character set.
> >
>
> What do you mean by the real character set (in terms of the dosemurc
> options) ?
What I mean is that in the unicode->character set conversion
approximations should be used as a fallback.
So if you use
$_internal_charset="cp437" then the DOTLESS_I should become the
approximation whereas if you use $_internal_charset="cp857" it should
become the DOTLESS_I.
> > Did you check what happens if you remove the U_SMALL_LETTER_DOTLESS_I
> > approximation? As far as I know you'd get a question mark instead then
> > which is also not what you want.
> >
>
> Yes, it works after removal. Currently internal_char_set is set to
> cp857, external to iso-8859-9, layout to tr, term_char_set is default
> (this one gets set to latin1).
>
> Actually, DOTLESS_I was the only glitch, the other 8859-9-specific glyphs
> appear flawlessly. AFAICS, put_character_symbol() handles these via
> type_alt_num(). Without a latin5 setting for term_char_set, I wonder if
> this is working by chance or by design.
This is by chance. The mistake is that the Turkish keymap contains cp857
codes. They should be replaced by Unicode, ie.
'q','w','e','r','t','y','u',141,'o','p',167,129,13,U_VOID,
should be
'q','w','e','r','t','y','u',0x131,'o','p',0x11f,0xc7,13,U_VOID,
and some other lines need to be changed too.
I'm actually still looking at the approximation strategy, it might be a
little broken but fixing the Turkish keymap at least fixes your problem.
Bart
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: Approximation glitch in v1.1.5.7
2003-09-22 0:20 ` Bart Oldeman
@ 2003-09-22 7:11 ` A. Alper ATICI
2003-09-22 16:24 ` Bart Oldeman
0 siblings, 1 reply; 10+ messages in thread
From: A. Alper ATICI @ 2003-09-22 7:11 UTC (permalink / raw)
To: Bart Oldeman; +Cc: linux-msdos
On Mon, Sep 22, 2003 at 01:20:33AM +0100, Bart Oldeman wrote:
[...]
>
> I'm actually still looking at the approximation strategy, it might be a
> little broken but fixing the Turkish keymap at least fixes your problem.
>
Yes, thanks, it works after fixing the keymap (and DOTLESS_I approx.
is not removed now).
Now comes the next two problems I have not mentioned previously:
'(' is typed in place of '*' and
'=' is typed in place of '+'
Do you think that is related to the little flaw in approximations?
Regards,
A. Alper ATICI
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: Approximation glitch in v1.1.5.7
2003-09-22 7:11 ` A. Alper ATICI
@ 2003-09-22 16:24 ` Bart Oldeman
2003-09-22 22:01 ` A. Alper ATICI
0 siblings, 1 reply; 10+ messages in thread
From: Bart Oldeman @ 2003-09-22 16:24 UTC (permalink / raw)
To: A. Alper ATICI; +Cc: linux-msdos
On Mon, 22 Sep 2003, A. Alper ATICI wrote:
> Now comes the next two problems I have not mentioned previously:
> '(' is typed in place of '*' and
> '=' is typed in place of '+'
>
> Do you think that is related to the little flaw in approximations?
No. It's only a problem in terminals, (not in xdosemu), and can be solved
by editing src/plugin/term/keyb_slang.c.
remove these two lines
{"*", KEY_8 | SHIFT_MASK },
{"+", KEY_EQUALS | SHIFT_MASK },
I guess they are there to override the + and * from the numeric keypad,
but they are no longer necessary for US keyboards and are harmful for
Turkish keyboards!
Bart
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: Approximation glitch in v1.1.5.7
2003-09-22 16:24 ` Bart Oldeman
@ 2003-09-22 22:01 ` A. Alper ATICI
2003-09-22 22:31 ` Bart Oldeman
0 siblings, 1 reply; 10+ messages in thread
From: A. Alper ATICI @ 2003-09-22 22:01 UTC (permalink / raw)
To: Bart Oldeman; +Cc: linux-msdos
On Mon, Sep 22, 2003 at 05:24:42PM +0100, Bart Oldeman wrote:
[...]
>
> remove these two lines
> {"*", KEY_8 | SHIFT_MASK },
> {"+", KEY_EQUALS | SHIFT_MASK },
OK, all seems to work now, provided that I set layout explicitly to tr,
otherwise (i.e. in auto mode) DOTLESS_I approximation is back in effect.
(FWIW, I cannot use dosemu under tr_TR locale because autoexec.bat is
not parsed correctly in that case).
Another thing I'd like to ask is making use of hybrid latin console
fonts part of the kbd package. These are named with lat prefix (e.g.
lat5-12.psfu) and contain box drawing along with 8859-X characters.
Is it any more complicated than adding a new charset in extra_chars
(say, lat5.c) and using the registered charset as a new option for
external_char_set?
Thank you.
Alper
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: Approximation glitch in v1.1.5.7
2003-09-22 22:01 ` A. Alper ATICI
@ 2003-09-22 22:31 ` Bart Oldeman
2003-09-23 9:32 ` A. Alper ATICI
0 siblings, 1 reply; 10+ messages in thread
From: Bart Oldeman @ 2003-09-22 22:31 UTC (permalink / raw)
To: A. Alper ATICI; +Cc: linux-msdos
On Tue, 23 Sep 2003, A. Alper ATICI wrote:
> OK, all seems to work now, provided that I set layout explicitly to tr,
> otherwise (i.e. in auto mode) DOTLESS_I approximation is back in effect.
that might be the approx glitch I was talking about:
diff -u dosemu-1.1.99.1/src/plugin/kbd_unicode/serv_xlat.c dosemu/src/plugin/kbd_unicode/serv_xlat.c
--- dosemu-1.1.99.1/src/plugin/kbd_unicode/serv_xlat.c Mon Jun 23 01:02:12 2003
+++ dosemu/src/plugin/kbd_unicode/serv_xlat.c Mon Sep 22 23:17:57 2003
@@ -703,7 +703,8 @@
return;
if ((charset->keys[symbol].key == NUM_VOID) &&
- (charset->keys[approximation].key != NUM_VOID)) {
+ (charset->keys[approximation].key != NUM_VOID) &&
+ (charset->keys[approximation].character == charset->keys[symbol].character)) {
/* Copy the code from the approximate symbol to the symbol */
charset->keys[symbol] = charset->keys[approximation];
}
> (FWIW, I cannot use dosemu under tr_TR locale because autoexec.bat is
> not parsed correctly in that case).
that's under comcom right? How do other command.com's do?
> Another thing I'd like to ask is making use of hybrid latin console
> fonts part of the kbd package. These are named with lat prefix (e.g.
> lat5-12.psfu) and contain box drawing along with 8859-X characters. Is
> it any more complicated than adding a new charset in extra_chars (say,
> lat5.c) and using the registered charset as a new option for
> external_char_set?
Not quite sure what you're looking at here. Essentially you need to tell
DOSEMU what font is used in $_external_charset. Possibly when SLang gets
proper UTF8 support (I don't mean the current hack that is in some
distributions and breaks DOSEMU, but slang 2.0), terminal characters can
be better supported. But right now DOSEMU can't do much, esp if the
terminal is remote. Perhaps the acs sequences could help for box drawing
characters.
In any case this is non-trivial, and not likely implemented soon (at least
not by me).
Bart
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: Approximation glitch in v1.1.5.7
2003-09-22 22:31 ` Bart Oldeman
@ 2003-09-23 9:32 ` A. Alper ATICI
0 siblings, 0 replies; 10+ messages in thread
From: A. Alper ATICI @ 2003-09-23 9:32 UTC (permalink / raw)
To: Bart Oldeman; +Cc: linux-msdos
On Mon, Sep 22, 2003 at 11:31:32PM +0100, Bart Oldeman wrote:
>
> that might be the approx glitch I was talking about:
>
Great !
Shall we have all related updates (keymap, * + problem, etc) in the next
patch/release?
>
> that's under comcom right?
Right.
> How do other command.com's do?
>
I'll look into it.
>
> Not quite sure what you're looking at here.
Now, me neither ;-)
I must have forgot that charset converison always behaves.
Midnight Commander's ability to draw boxes popped up the idea, but it
outputs utf-8 chars to do that I guess.
Regards,
Alper
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2003-09-23 9:32 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-09-21 18:39 Approximation glitch in v1.1.5.7 A. Alper ATICI
2003-09-21 19:11 ` Bart Oldeman
2003-09-21 20:57 ` A. Alper ATICI
2003-09-21 21:25 ` A. Alper ATICI
2003-09-22 0:20 ` Bart Oldeman
2003-09-22 7:11 ` A. Alper ATICI
2003-09-22 16:24 ` Bart Oldeman
2003-09-22 22:01 ` A. Alper ATICI
2003-09-22 22:31 ` Bart Oldeman
2003-09-23 9:32 ` A. Alper ATICI
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox