Path: utzoo!attcan!uunet!mcvax!ukc!acorn!john From: john@acorn.co.uk (John Bowler) Newsgroups: comp.windows.x Subject: Re: 8 bits per char Summary: xterm and parity bits - more info Message-ID: <727@acorn.co.uk> Date: 27 Feb 89 20:37:50 GMT References: <8902211720.AA14715@internal.apple.com> <722@acorn.co.uk> Organization: Acorn Computers Limited, Cambridge, UK Lines: 38 tmal@cl.cam.ac.uk (Mark Lomas) has pointed out to me that an ISO extension to ASCII (he quotes ISO 2022-1973 - ie 15 years ago) extends the definition to a full 8 bit character set, so my point about ASCII only supporting 7 bits is incorrect. Indeed the ISO latin alphabets are now also widely accepted, as is the DEC multinational character set (not much different from ISO-Latin1) and these are all compatible with ASCII. As Mark says ``there is no excuse for new products which support only the obsolete seven-bit standard.'' This raises the question of what VT102 really does support, does anyone know whether:- 1) It is capable of dealing with 8 bit received codes, as well as 7 bit. 2) Whether there are mechanisms (like the compose character VT220 functionality) to output 8 bit characters (or 7 bit representations of these)? More investigation of xterm shows that both Alan Mimms and myself were half correct. In fact xterm does not strip the parity bit on output (as Alan stated) but it does strip it on receipt of a character! Close examination of the release 2 code shows the following code fragment in in_put():- /* strip parity bit */ for(i = bcnt, cp = bptr ; i > 0 ; i--) *cp++ &= CHAR; so, you can type top-bit-set characters, and they get to the application, but they do not reflect as top-bit-set... This must be a bug. The code exists in release 3 too (in charproc.c, in_put()). In VTparse() (also in charproc.c) the case for DECREQTPARM fills in a reply data structure with comments ``no parity'' and ``eight bits''. I am mistified. On a related matter I note that the value returned by xterm for the ANSI currency symbol is 0224 - the ISO-Latin1 encoding value, whereas my VT220 manual says that it should be 0230. Which is correct? (Note that I still haven't got a VT102 manual :-). John Bowler (jbowler@acorn.co,uk)