Subject: Re: bug#5080: indic text is not displayed correctly in emacs shell

From: Kenichi Handa <[email-masked]>
Date: Thu, 03 Dec 2009 10:03:22 +0900

In article <[email-masked]>, Parag Nemade <[email-masked]> writes:

> Thanks. I am trying to say same thing to Kenichi but seems he 
> misunderstood that we both have same problem.

Yes, sorry.  As I got the similar reports almost at the same
time, I was confused.  As both reporters are reading this
mail, I'll summarize the problems.

(1) ZWJ is not handled correctly for some Indic scripts.
(2) Indic text is not rendered correctly in *shell* buffer.
(3) Emacs included in Fedora 12 doesn't render Indic correctly.
(4) Emacs doesn't render Indic correctly with some specific fonts.

Do I miss something?

(1) was fixed by the trial code I sent.  So, I've just
applied that change in lisp/language/indian.el.  Please try
again with the latest CVS code.

(2) With the fix of (1) and the correct setting of process
coding system, the output of 'cat' is ok but still 'ls' is
bad.  I think this is because your ls is aliased to
something "ls --color".  Please try this:

% type ls
% unalias ls
% ls

It seems that when 'ls' is invoked with --color, it output
some escape sequences (e.g. ESC [ 0) that are not handled by
shell-mode.

(3) It seems that m17n-db is not fully installed on Fedora 12.
Please install it.  Parhaps the package name is:
"Multilingualization datafiles for m17n-lib"

(4) I updated my ttf-freefont package.  FreeMono and
FreeSans doesn't contain Malayalam glyphs.  FreeSerif does
have the glyphs and mlym OpenType table and thus can render
Malayalam correctly with Emacs.  Praveen wrote that gedit
can render Malayalam with FreeMono font, but that's
unbelievable.  I suspect gedit is using some other fallback
font.  I don't know how to check exactly which font gedit is
using for each Indic characters.

By the way, to tell Emacs to use a specific font for, for
instance, Malayalam, try this:

(set-fontset-font t 'malayalam '("FONT_FAMILY_NAME" . "unicode-bmp"))

And to see which font is used for an Indic character, put
cursor on it, and type C-u C-x = RET.

---
Kenichi Handa
[email-masked]