emacs-devel
[Top][All Lists]
Advanced

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

Re: Usage of standard-display-table in MSDOS


From: Eli Zaretskii
Subject: Re: Usage of standard-display-table in MSDOS
Date: Fri, 27 Aug 2010 19:30:46 +0300

> Date: Fri, 27 Aug 2010 16:35:40 +0300
> From: "Ehud Karni" <address@hidden>
> Cc: address@hidden
> 
> You missing the point that most of my files are not "word-processor"
> (or HTML/XML) files but are data file that are either read as ISO-8859-8
> or no-conversion (binary) encoding.
> 
> Now, some of them has DOS Hebrew (#x80-9A) and graphic characters in
> them, in ADDITION to UNIX Hebrew (#xE0-FA). I still want to see it as
> Hebrew characters (so I can read it) but with a distinction between the
> 2 Hebrew types, I want to know the 8-bit encoding, it matters.

So you basically have files that mix different encodings of Hebrew
characters, is that right?

If so, I would suggest indeed to set up the display table, but not as
you did it in older Emacsen.  What you need is to map those 8-bit
bytes to the Unicode codepoints of the corresponding Hebrew
characters.  That is, let the slot of eight-bit character #xA0, which
is represented in Emacs as #x3FFFA0, be set in the display table to
#x5d0 (the Unicode codepoint of Aleph).  Then you will see Aleph when
the file has #xA0, provided that you read the file with no-conversion.

> So I have to use a display table, and I want it to work for both text
> terminals and X (or other windowed system - Mac, MS - which I myself
> don't use).

If you set up the display table as I describe above, both X and text
terminals will work.  For text terminals, you will need to set
terminal-coding-system to some Hebrew capable encoding that these
terminals support.  For GUI displays, you need a font to be installed
that is capable of displaying Hebrew characters.

> > These graphic characters are part of Unicode as well (in the U+25XX
> > block), and Emacs 23 knows how to encode them in cp862, or any other
> > codepage that supports these characters.  Try "C-x 8 RET 2525 RET" and
> > see for yourself, it has a valid cp862 encoding.
> 
> What I want is just a subset of this in my display table, so bytes in
> the range #xB0-#xDF will be shown as is on text terminal and as the
> CP862 glyphs on X (I am willing to have different display tables for
> each case, I don't use text terminal and X on the same Emacs instance).

There should be no problem in using the same display table set up as
above on all types of terminals.

> I know how to do it when the locale environment is set to "en_GB".
> Can you instruct me how to do this when the locale environment is set
> to "he_IL" ?

The locale environment shouldn't have any effect on that.  All it does
is set defaults for certain coding-systems.  You will want to override
those defaults anyway, e.g. for using no-conversion when visiting
these files.  I don't see anything else that might interfere, do you?

> Just as curiosity, some times I get files where the Hebrew is encoded
> as the lower Latin letters and Aleph is represented by @ (this is
> known as old-code and it is still used by some companies, even though
> in is some other applications already use UTF-8 XML files).
> 
> Do you have a way to display it as Hebrew without a display table ?

You could write your own coding-system, but I think display tables are
easier.



reply via email to

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