[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: |
Thu, 02 Sep 2010 21:32:21 +0900 |
In article <address@hidden>, "Ehud Karni" <address@hidden> writes:
> Problem 1:
> On text terminal the language environment has great influence on the
> use of the display table - characters not it the language - are
> always displayed as ? . So in the "C" locale, all characters > 127
> are displayed as ?.
> In the "he_IL" locale (= ISO-8859-8) characters in the range
> 191-223 and 251-255 are displayed as ?.
> In the "en_GB" locale (= ISO-8859-1) the Hebrew characters (#x5D0-
> #x5EA) are displayed as ?.
> I really must use the "he_IL" because most of the file my users view
> are in ISO-8859-8 and a small part have MSDOS Hebrew (#x80-#x9A), but
> I want to see all the characters (#xB0-#xDF) literally (i.e. when a
> byte in this range is displayed, its 8 bit value should be sent to
> the terminal.
I've thought that you are reading files by
find-file-literally (thus buffers are unibyte) because you
wrote below at first:
> I had this code in Emacs 21.3:
>
> (defun set-standard-display-table ()
> (setq standard-display-table (make-display-table))
> (standard-display-8bit 127 254))
>
> I then set the DOS Hebrew chars (128-144) each to a vector:
> [ 169 <the corresponding UNIX Hebrew char> ]
>
> Then visit a file (literally).
But, as you wrote "Problem 2: When I use
`find-file-literally' ...", the "Problem 1" is the case that
you don't use `find-file-literally', and a file is read into
a multibyte buffer decoded by some coding-system, right?
Then, in he_IL locale, by which coding-system your file is
decoded? C-h C RET shows that coding-system near the top
under the line "Coding system for saving this buffer:".
And I don't understand this part.
> I then set the DOS Hebrew chars (128-144) each to a vector:
> [ 169 <the corresponding UNIX Hebrew char> ]
169 is not a "UNIX Hebrew char", i.e. not a Unicode
character code of a Hebrew char, nor a code-point of a
Hebrew character in iso-8859-8 character set.
In your mails, you mixup:
(1) a code-point in a specific character set,
(2) a character code in Emacs (that is Unicode character code),
(3) a byte represented by Emacs' 8-bit characters,
and that makes it difficult to understand what exactly you
are saying.
Please write:
For (1), "a character of code #xXX in XXX charset".
For (2), just "U+XXXX".
For (3), just "byte #xXX".
And, you wrote "a small part have MSDOS Hebrew (#x80-#x9A)",
but #x9a is 154, not 144. Is "144" above just a typo?
Perhaps, the following is the best way to understand what
you want:
(1) You at first make sample files and give me them.
(2) Tell me how you want read that file exactly.
Just C-x C-f FILENAME RET, or M-x find-file-literally ....,
or C-x C-m c no-convesion RET C-x C-f FILENAME RET,
or ...
(3) Show me how it should be displayed on a terminal by an
image.
---
Kenichi Handa
address@hidden
Re: Usage of standard-display-table in MSDOS, Ehud Karni, 2010/09/07