Re: [fd-dev] codepage IDs

2002-11-26 Thread Arkady V.Belousov
X-Comment-To: Axel C. Frinke

Hi!

26-îÏÑ-2002 02:18 [EMAIL PROTECTED] (Axel C. Frinke) wrote to [EMAIL PROTECTED]:

AF Well, with the assumption that all codepage IDs would not take more
AF than 10 bits, there would be 6 remaining bits to denote variations of
AB  Please, don't make such silly suggestions and implementations. Making
ACF Really, I would not call this suggestion 'silly'.

 But results of such decisions often are silly. B-\ Probably, most clear
example of such decisions is an BIOS limits for disk sizes: first 512M, then
2Gb, then 4Gb, then 8Gb, then 32Gb, then 127Gb...

ACF Maybe I've gone too
ACF far with 'nightmare', but it's still handy to save address space.

 This is matter of taste, how call such desicions: silly, nightmare,
etc.

AB full featured lookup table may be _slightly_ more complicated, but then
AB later this will not crash your (and our) head when limits will be exhausted.
ACF Yes, but whenever new codepages are introduced, such lookup tables
ACF must be maintained, this can become a cumbersome work.

 Why?

--
list options/archives/etc.: http://www.topica.com/lists/fd-dev
unsubscribe: send blank email to: [EMAIL PROTECTED]

==^^===
This email was sent to: archive@mail-archive.com

EASY UNSUBSCRIBE click here: http://topica.com/u/?bz8Rv5.bbRv4l.YXJjaGl2
Or send an email to: [EMAIL PROTECTED]

T O P I C A -- Register now to manage your mail!
http://www.topica.com/partner/tag02/register
==^^===




Re: [fd-dev] codepage IDs

2002-11-26 Thread Arkady V.Belousov
X-Comment-To: tom ehlert

Hi!

26-îÏÑ-2002 16:25 [EMAIL PROTECTED] (tom ehlert) wrote to [EMAIL PROTECTED]:

ACF Maybe I've gone too
ACF far with 'nightmare', but it's still handy to save address space.
 This is matter of taste, how call such desicions: silly, nightmare,
 etc.
te I often disagree with arkady,

 :(

te like this time:

 :)

te trouble to save 4 bits isn't 'silly'. it's outright 'dull' ;-)

 Let me clarify the situation: there is no trouble with saving four
bits, but I was try to dissuade Axel to make such decision, when he tries to
use part of regular enumeration space for its own needs.

 We already have much of troubles with FIDO communication software and
FoxPro DBMS, which uses some positions in upper half of ASCII8 for their own
needings.

--
list options/archives/etc.: http://www.topica.com/lists/fd-dev
unsubscribe: send blank email to: [EMAIL PROTECTED]

==^^===
This email was sent to: archive@mail-archive.com

EASY UNSUBSCRIBE click here: http://topica.com/u/?bz8Rv5.bbRv4l.YXJjaGl2
Or send an email to: [EMAIL PROTECTED]

T O P I C A -- Register now to manage your mail!
http://www.topica.com/partner/tag02/register
==^^===




Re: [fd-dev] codepage IDs

2002-11-26 Thread Axel C. Frinke
Rösberg, Tue 26.11.02
Hi Arkady,

On Tue, 26 Nov 2002 18:54:43 +0300 (MSK), Arkady V.Belousov wrote:

AB 26-îÏÑ-2002 16:25 [EMAIL PROTECTED] (tom ehlert) wrote to [EMAIL PROTECTED]:
AF Maybe I've gone too
AF far with 'nightmare', but it's still handy to save address space.
AB This is matter of taste, how call such desicions: silly, nightmare,
AB etc.
TE trouble to save 4 bits isn't 'silly'. it's outright 'dull' ;-)

Tom, why so polite? Why not slightly saying 'crack-brained'? After
all, you always omit infinitive truth and wisdom, so you do need to
take care of other people's opinion

AB  Please, don't make such silly suggestions and implementations. Making
AF Really, I would not call this suggestion 'silly'.
AB
AB  But results of such decisions often are silly. B-\ Probably,
AB most clear example of such decisions is an BIOS limits for disk
AB sizes: first 512M, then 2Gb, then 4Gb, then 8Gb, then 32Gb, then
AB 127Gb...

Hmmm... the number of codepage IDs does not grow with the same
speed than hard disks do. But I go for that.
And I want to repeat: my previous statement is more a wish than a
demand. I would likely have the number of existing codepages limited
to 4096 or 16384. But if there would be new codepages introduced
with higher ID's, I would not ignore them.
Of course, because of the possibility of such high codepage IDs my
idea is somewhat questionable.

AB full featured lookup table may be _slightly_ more complicated, but then
AB later this will not crash your (and our) head when limits will be exhausted.
AF Yes, but whenever new codepages are introduced, such lookup tables
AF must be maintained, this can become a cumbersome work.
AB  Why?

Actually, I starting to ask this question to myself. At meanwhile,
it seems to be less effort for me to implement lookup tables than
constisting on my idea. ;-)

Regards,
   Axel.

--
list options/archives/etc.: http://www.topica.com/lists/fd-dev
unsubscribe: send blank email to: [EMAIL PROTECTED]

==^^===
This email was sent to: archive@mail-archive.com

EASY UNSUBSCRIBE click here: http://topica.com/u/?bz8Rv5.bbRv4l.YXJjaGl2
Or send an email to: [EMAIL PROTECTED]

T O P I C A -- Register now to manage your mail!
http://www.topica.com/partner/tag02/register
==^^===




Re: [fd-dev] codepage IDs

2002-11-25 Thread Bart Oldeman
On Tue, 26 Nov 2002, Axel C. Frinke wrote:

 On Sat, 23 Nov 2002 01:39:39 -0500 (EST), Bart Oldeman wrote:

 BO This is what the Linux console does: its console driver first translates
 BO from the used character set to Unicode, and then maps the Unicode to
 BO the font used.

 How does this work in full screen text mode? At the end, this requires
 to display more than 256 different chars at the same time! (Tell me if
 I'm completely wrong with this.)

This is full screen text mode what I was talking about. You see funny
little square boxes for each unicode character for which the font has no
equivalent.

I saw these square boxes for instance in Matthias mails because he used
  264   180   B4 ´ ACUTE ACCENT
instead of the ASCII ' and I was using cp437 on the console.

Bart

--
list options/archives/etc.: http://www.topica.com/lists/fd-dev
unsubscribe: send blank email to: [EMAIL PROTECTED]

==^^===
This email was sent to: archive@mail-archive.com

EASY UNSUBSCRIBE click here: http://topica.com/u/?bz8Rv5.bbRv4l.YXJjaGl2
Or send an email to: [EMAIL PROTECTED]

T O P I C A -- Register now to manage your mail!
http://www.topica.com/partner/tag02/register
==^^===




Re: RE: [fd-dev] Codepage IDs

2002-11-22 Thread Aitor Santamaria Merino
Hi,

=
Actually, Michal and I are working on creating new .CPI files
from scratch (to be used under *any* system supporting .CPI files,
including DR-DOS, PTS-DOS, MS-DOS OEM issues, Arabic/Hebrew issues
of MS-DOS, OS/2 and Windows NT/2000/XP), so you can include and
exclude codepages as you like. Switching between the various .CPI
file formats will also be just a matter of setting a different
conditional define.
=

This is good, one of my goals is to introduce soon CPI parsing routines
in DISPLAY, so that such project can also be used for FreeDOS with
DISPLAY. But in order to have SOMETHING, I decided to release DISPLAY
with the easier approach of the RAW files (simply a concatenation of the
x8,x14 and x16 fonts).

==
 There's something that I would need to know for KEYB to handle
 this easily: which is the highest codepage number known?

May I refer you to the huge KBD.LST file containing all the keyboard
related news for the forthcoming issue of RBIL? I already sent you
a copy... For your convenience, here's one of the tables to be found
under INT 21h/AX=AD80h:
==

Sorry, I always forgot that there's codepage info over there too! :-)

===
 ( my wish: below 4000
 my second wish: below 8000
 my last wish: below 16000 :-((()

Country codes, Code Page IDs, and Keyboard Layout IDs are 16-bit values
and should be treated as such. Although far not all of them were or are
used by Microsoft and IBM, the highest assignable Code Page number is
65533. 0, 65534 and 65535 are reserved as they have special meanings
for the OS itself (see below).
==

So I was out of luck!  Well, it can be patched more or less easily.


==
 CHCP is an internal program that calls kernel, which calls NLSFUNC.

Indirectly, yes. It calls the DOS kernel, which will usually call
down to NLSFUNC, which will then call back into DOS to retrieve the
info (for file I/O only). Once the info has been looked up, NLSFUNC
will return it to the DOS kernel, which will then again call
NLSFUNC in order to switch the codepage. NLSFUNC will then ask
any character device driver in the system if it supports codepage
switching. Any driver supporting codepage switching (like DISPLAY.SYS
or PRINTER.SYS, for example), will then be advised to switch the
codepage. If they return an error, NLSFUNC will return an error as
well. DISPLAY.SYS internally will also communicate with ANSI.SYS
and KEYB in order to switch display and keyboard codepages
(ANSI.SYS is not called for codepage switching as is, only for
communicating display properties).
=

Very interesting topic. Well, some more issues here:

(1) The way of doing that is via int2Fh/MUX=1Ah or is it possible to
call the next driver in the chain somehow?

(2) In fact, I was expecting to reflect ALL the calls except the change
codepage (generic IOCTL) to the next driver in the chain, how can I do
it?

(3) Suppose someone install DISPLAY.SYS before ANSI.SYS. Can I expect
that ANSI (or other CON driver loaded later) will reflect to me any
call?
==
 (*) There is a case which, in my opinion, leads to inconsistency.
 DISPLAY.SYS is responsible for changing keyboard codepage too.
 Microsoft's implementation will switch the screen codepage regardless
 if KEYB managed to change codepage or not, which means that it would
 leave screen and keyboard with different codepages if KEYB failed.
 In my opinion, this is a bug.

In my opinion, too, but I would simply implement an option into
DISPLAY to control the behaviour - so the decision is up to the user.
I suggest to use /E for this purpose because it would somewhat correlate
with an option supported by my internal issue of DR-DOS NLSFUNC:
=

Ok, annotated in the TODO list ;-))

=
 This program is not required. It required only if you wish to
 switch codepages on the fly, but if you work only with one
 codepage, you may (should) initialize it with COUNTR= statement.
 Of course, in MS-DOS MODE and KEYB without NLSFUNC loaded will
 fail to load fonts/layouts other than pointed in COUNTRY=.

This is correct, but still, a COUNTRY.SYS file parser is needed
not only for NLSFUNC, but also for FreeDOS' DOS BIOS.

In older issues of DR DOS, NLSFUNC has been an integral part
of the kernel, and the disk file was only a dummy for programs
expecting it to be there. But then the code moved into the
DOS BIOS, where it will get discarded after init (the driver
is temporarily linked in during the processing of the COUNTRY
directive), and into the file parsing portion of the external
NLSFUNC driver for later use.
=

We could have at least a very basic parser that would simply read the
information in the formats defined by Steffen as chunks in a single
file. If someone manages to cut on 1 half the Earth spinning rate, so
that a day has 48 hours, I'd compromise to do that myself.

((I have removed it when you mentioned that older currencies are not
longer in use))

There seems to be a symbol (I think in CP437) for Spanish PESETA, that I
have seen 

Re: [fd-dev] codepage IDs

2002-11-22 Thread Bart Oldeman
On Thu, 21 Nov 2002, Axel C. Frinke wrote:

 BO with cp850 vs. cp437 you already lose the mixed double/single box drawing
 BO characters, but these aren't used as often as the non-mixed ones.

 I don't think so! Consider a programm which displays a table with
 different box styles for 'inner' and 'outer' lines. Under cp850, the
 'junctions' will already look weird.

Sure, that's exactly what I said. Let me rephrase:
cp850 does not have the mixed double/single box drawing characters, but
cp437 has them.
On the other hand there are many DOS programs who avoid those characters
and only use the single-only or double-only boxes.

And all of the DOS style codepages have at least those characters, at the
expected places.

 BO So it is not so much the nature of text mode, but more an artifact of the
 BO direct-video approach. If all text mode apps would write using, say, ANSI

 I don't think this has to do with direct-video approach, but with the
 assumption that cp437 ist active instead.

 BO sequences (fast enough with NANSI.SYS) then the ANSI driver could do the
 BO translation. But the MSDOS ANSI.SYS was slow and not loaded by default so

 I don't think so. In text mode, every display of characters ends up in
 a direct-video approach, regardless whether a program does this by
 itself or uses INT 21h function calls. In text mode there is no way to
 display mixed box chars under cp850!

Sure, NANSI itself uses direct video access, but (N)ANSI.SYS could do a
translation.

This is what the Linux console does: its console driver first translates
from the used character set to Unicode, and then maps the Unicode to
the font used.

So if you boot Linux using the codepage 437 font, then you can still use
iso8859-1 as the character set without changing the font in the video
hardware -- as long as there is an equivalent position of the iso8859-1
character in cp437. Boxes can also be drawn using VT100 sequences. This is
impractical under DOS *because* so many programs use direct video access
instead of the console driver.

Bart

--
list options/archives/etc.: http://www.topica.com/lists/fd-dev
unsubscribe: send blank email to: [EMAIL PROTECTED]

==^
This email was sent to: archive@mail-archive.com

EASY UNSUBSCRIBE click here: http://topica.com/u/?bz8Rv5.bbRv4l.YXJjaGl2
Or send an email to: [EMAIL PROTECTED]

T O P I C A -- Register now to manage your mail!
http://www.topica.com/partner/tag02/register
==^




RE: [fd-dev] Codepage IDs

2002-11-21 Thread Bart Oldeman
On Fri, 22 Nov 2002, Matthias Paul wrote:

 On 2002-11-20, Arkady V.Belousov wrote:

  This program is not required. It required only if you wish to
  switch codepages on the fly, but if you work only with one
  codepage, you may (should) initialize it with COUNTR= statement.
  Of course, in MS-DOS MODE and KEYB without NLSFUNC loaded will
  fail to load fonts/layouts other than pointed in COUNTRY=.

 This is correct, but still, a COUNTRY.SYS file parser is needed
 not only for NLSFUNC, but also for FreeDOS' DOS BIOS.

Well FreeDOS doesn't have a DOS BIOS as such. There's kernel.sys which
consists (presently) of
a) PGROUP 256 bytes at 60:0, used for startup and the init code's PSP
b) TGROUP ~1500 bytes at 70:0: small device drivers (CON, AUX, PRN),
assembly interface code, intxx trampolines, XMS callers to enable and
disable the HMA.
c) DGROUP ~5000 bytes now at 00eb:0. The DOS DS: LOL, SDA and so on,
COUNTRY tables, constant strings and the low deblock BUFFER (this buffer
is actually part of our SDA).
d) HGROUP ~4-43000 bytes: main DOS code + block and clock device drivers.
e) I_GROUP: ~18000 bytes init code and data: config.sys parser, block
device driver init, main init. I_GROUP feels much like a normal .COM DOS
program: after setting int vectors it simply calls int21 to open and read
config.sys. Discarded after init.

But I guess you mean the roughly same thing when I say that once nlsload.c
gets fixed up it will be part of I_GROUP.

Bart

--
list options/archives/etc.: http://www.topica.com/lists/fd-dev
unsubscribe: send blank email to: [EMAIL PROTECTED]

==^
This email was sent to: archive@mail-archive.com

EASY UNSUBSCRIBE click here: http://topica.com/u/?bz8Rv5.bbRv4l.YXJjaGl2
Or send an email to: [EMAIL PROTECTED]

T O P I C A -- Register now to manage your mail!
http://www.topica.com/partner/tag02/register
==^




Re: [fd-dev] codepage IDs

2002-11-20 Thread Axel C. Frinke
Rösberg, Thu 21.11.02
Hi Arkady,

On Thu, 21 Nov 2002 02:37:51 +0300 (MSK), Arkady V.Belousov wrote:
RQ ( my wish: below 4000
RQ my second wish: below 8000
RQ my last wish: below 16000 :-((()
AF I agree completely!
AF Let me express it more precisely: it would be handy to have all
AF codepage number below 4098.

AB  As stated by Matthias, DR-DOS assigns for code pages with euro sign
AB some very big values.

I think I heard about this, too. But is there an official DR-DOS
release with such codepages?

AF Codepage numbers above 16383 would be nightmare!
AB  Why?

Well, with the assumption that all codepage IDs would not take more
than 10 bits, there would be 6 remaining bits to denote variations of
the existing codepages. If I remember correct, the DR-DOS method
denotes codepage 858 as 20850. For automatted processing it is much
easier to subtract 2 than looking up in an additional lookup table
for variants of codepages.
With 'regular' codepage IDs above 16383, there would only one bit
remain for variations - this could become painful for system
programmers.

AF lot of codepages without any official IDs. The most important of them
AF is KOI8-R, which should be supported as well. (Arkady, do you agree?)
AB  No.

What a pity.

AB  See the difference: under Windows you have one system codepage (to be
AB precise: two with so called OEM) and may use any fonts simultaneously.
AB This is how was added support for KOI8-R in Netscape Navigator before it
AB begins a _real_ internationalized program.

Well, as it goes for me, I would likely have support for ISO-Latin-1
under DOS, this would spare me much conversion work for my emails.
I thought you would feel similar.

AB  Under DOS you have one system codepage and you _can't_ have other
AB simultaneous fonts [for different code pages]. This is nature of text modes,
AB only some _applications_ may support in graphics mode some different fonts.

I don't understand this. Can't you use CHCP to switch between
codepages?

AB  On the other side, KOI8-R never used in DOS as base codepage, although

This is no reason against. You know, there was a time where Internet
was never used before. Nowadays many people use it in spite. ;-)

AB beside ALT (CP866) codepage there was three other - MAIN, BULGAR and GOST.
AB KOI8-R used only as commincation base, so under DOS you should only have
AB translation tables in communication programs.

Well, I don't know whether these codepages contain important
characters which are not contained in KOI8-R.

AB  Conclusion: under DOS may/should used only CP866. Adding support for
AB other codepages (even for Windows CP1251) have no sense - at least, because
AB they not contain pseudographic characters.

Well, I confess: you have more knowledge about this topic as I have.

AB  BTW, to complicate case the more, there is another KOI8 - KOI8-U
AB (Ukrainian KOI8). You may see the differences with KOI8-R in RFC2319.

I will take a look at it by chance. Thanks.

Regards,
   Axel.

--
list options/archives/etc.: http://www.topica.com/lists/fd-dev
unsubscribe: send blank email to: [EMAIL PROTECTED]

==^^===
This email was sent to: archive@mail-archive.com

EASY UNSUBSCRIBE click here: http://topica.com/u/?bz8Rv5.bbRv4l.YXJjaGl2
Or send an email to: [EMAIL PROTECTED]

T O P I C A -- Register now to manage your mail!
http://www.topica.com/partner/tag02/register
==^^===