[comp.mail.elm] 8 bit characters

prc@maxim.ERBE.SE (Robert Claeson) (04/21/89)

In article <5064@pbhyf.PacBell.COM>, rob@PacBell.COM (Rob Bernardo) writes:
> In article <645@maxim.ERBE.SE> prc@maxim.ERBE.SE (Robert Claeson) writes:
> +When I'm at it, ELM 2.1 allowed the use of 8-bit character sets (I
> +generally use the ISO 8859/1 8-bit character set, also called "Latin 1")
> +but ELM 2.2 displays them as a '?'. Stupid. Silly.
> 
> Should characters higher than octal 177 set simply be output?

Yes. It worked just fine in ELM 2.1PL1. The ISO 8859/1 character set is
divided into a lower and an upper half. In each one of the halves, the first
32 characters are control characters (the upper half has some nice control
chars such as NEL (new line) and CSI (the infamous <ESC>[). Oh well, the lower
half has a control character in the last position (DEL), but that position
in the upper half holds a character (that's decimal 255).

> I think we ran into some problems with that when some such characters where
> accidentally in a subject line, and therefore displayed on the index screen
> and somehow munged it up. I forget the details. I might be mistaken.

Some terminals simply strips the 8-bit characters into 7 bits and displays
some out-of-context character. It looks weird, but it doesn't mess up
the screen layout. Some other terminals makes crazy things when they see an
8-bit character, so maybe it's best to make 8-bit characters an option in
.elm/elmrc?
-- 
Robert Claeson, ERBE DATA AB, P.O. Box 77, S-175 22 Jarfalla, Sweden
Tel: +46 (0)758-202 50  Fax: +46 (0)758-197 20
EUnet:   rclaeson@ERBE.SE               uucp:   {uunet,enea}!erbe.se!rclaeson
ARPAnet: rclaeson%ERBE.SE@uunet.UU.NET  BITNET: rclaeson@ERBE.SE

marius@rhi.hi.is (Marius Olafsson) (04/22/89)

From article <5064@pbhyf.PacBell.COM>, by rob@PacBell.COM (Rob Bernardo):
> In article <645@maxim.ERBE.SE> prc@maxim.ERBE.SE (Robert Claeson) writes:
> +When I'm at it, ELM 2.1 allowed the use of 8-bit character sets (I
> +generally use the ISO 8859/1 8-bit character set, also called "Latin 1")
> +but ELM 2.2 displays them as a '?'. ....
> 
> Should characters higher than octal 177 set simply be output?

No. (ISO8859 has additional control characters in the upper half)

In a couple of places in the 2.2 code the check for unprintable
characters (thus if to output a '?') is of the form

	if ( (c < ' ') || (c > '~') ) ....

and in other places it is of the form

	if (!isascii(c)) ....

All we ask is that these both be replaced with 

	if (!isprint(c)) ...

Since those who must use the ISO8859 sets usually replace the 'ctype' macros
anyway, doing it this way allows us to use the code unchanged and those
who use ASCII don't notice the difference. The patches for this are on the
way to elm@dsync.uucp (again :-)

--
Marius Olafsson 		Internet: marius@rhi.hi.is
University of Iceland		Non-MX:   marius%rhi.hi.is@uunet.uu.net
				UUCP:     {mcvax,enea,uunet}!hafro!rhi!marius