emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: raw-byte and char-table


From: Eli Zaretskii
Subject: Re: raw-byte and char-table
Date: Tue, 24 Aug 2010 20:08:33 +0300

> From: Kenichi Handa <address@hidden>
> Cc: address@hidden
> Date: Tue, 24 Aug 2010 13:29:45 +0900
> 
> In article <address@hidden>, Eli Zaretskii <address@hidden> writes:
> 
> > > A char-table is a table indexed by a character code.  So,
> > > it's 0xA0th element is a value for a character U+00A0.
> > > Then, how to set/get a value for raw-byte 0xA0?  Currently,
> > > this is the way to do that:
> > > 
> > >   (aref CHAR-TABLE (unibyte-char-to-multibyte #xA0))
> > >   (aset CHAR-TABLE (unibyte-char-to-multibyte #xA0) VALUE)
> 
> > One could also use the codepoint of the corresponding eight-bit
> > character directly, no?
> 
> Like #x3FFFA0?  It's possible but should not be recommended.

Why not recommended?  We already document in the ELisp manual the
codepoints to which we map eight-bit bytes.  It's not a secret, it's
in the open.

> As for a display table, we have one more problem.  Currently
> an element of a display table is nil or a vector of
> characters.  To directly output the byte #xA0 to a terminal,
> perhaps the correct way is to set (unibyte-char-to-multibyte
> #xA0) in a vector.  That way, we can specify any byte(s) to
> send to a terminal.
> 
> But, then, what is the semantics of the vector element
> (unibyte-char-to-multibyte #xA0) for a graphic device?  What
> should we display for CHAR if we setup
> standard-display-table as this?
> 
>   (aset standard-display-table 
>         CHAR (vector (unibyte-char-to-multibyte #xA0)))

There's something I'm missing here: why text terminals and graphics
terminals are different in this context?  It seems that you are saying
that was is correct for a text terminal does not have a clear
semantics for a GUI terminal, but why?



reply via email to

[Prev in Thread] Current Thread [Next in Thread]