[Top][All Lists]

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

Re: Usage of standard-display-table in MSDOS

From: Kenichi Handa
Subject: Re: Usage of standard-display-table in MSDOS
Date: Fri, 27 Aug 2010 20:44:16 +0900

In article <address@hidden>, Eli Zaretskii <address@hidden> writes:

> It sounds like you are saying that standard-display-8bit no longer
> does what its doc string advertises:

>     "Display characters in the range L to H literally."

> The "literally" part is no longer true, is it?

What's the meaning of "literally" when a display table
element is [#xA0]?

Before Emacs 23, the character #xA0 represents the byte
0xA0.  But now it is a character representing a Unicode
character U+00A0, and #x3FFFA0 is the character representing
the byte 0xA0.

And, to "display characters literally", we have been encoded
characters by the terminal coding system.  Before Emacs 23,
the encoded result of #xA0 is always the byte 0xA0, but now
it depends on the terminal coding system.

> And one other question: why do we do something similar in
> standard-display-european-internal?  Specifically:

>     (defun standard-display-european-internal ()
>       ;; Actually set up direct output of non-ASCII characters.
>       (standard-display-8bit (if (eq window-system 'pc) 128 160) 255)

> (I'm asking about the case where window-system is _not_ `pc'.)
> This is called in set-display-table-and-terminal-coding-system under
> the following conditions:

>   (let ((coding (get-language-info language-name 'unibyte-display)))
>     (if (and coding
>            (or (not coding-system)
>                (coding-system-equal coding coding-system)))
>       (standard-display-european-internal)

I don't know.  I didn't modify those part when I merged
unicode branch.  I should have investigated the semantics of
display table at that time.

Kenichi Handa

reply via email to

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