emacs-devel
[Top][All Lists]
Advanced

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

Re: how reliable is rendering of complex scripts?


From: Eli Zaretskii
Subject: Re: how reliable is rendering of complex scripts?
Date: Fri, 02 Oct 2015 10:30:17 +0300

(CC'ing Handa-san, who wrote most of the relevant display code in
Emacs, and also the m17n shaping engine libraries.)

> Date: Fri, 02 Oct 2015 07:39:00 +0200 (CEST)
> From: Werner LEMBERG <address@hidden>
> 
> I wonder how reliable emacs displays complex scripts like Devanagari
> or Arabic.

AFAIK, no one has ever performed a study about this, let alone
repeated it when the relevant standards changed.

> For example, the maintainers of the HarfBuzz library did extensive
> comparisons of the rendering results with the MS engine to iron out
> zillions of small buglets in OpenType handling.

At least on MS-Windows, Emacs uses the MS engine directly, so some of
similar buglets should not affect us on Windows.

> AFAIK, Emacs relies on the m17n libraries, at least on GNU/Linux (no
> idea about other environments), controlling the OpenType handling
> (partially?) with Lisp code

That is correct.  And while the shaping engines, like libm17n-flt and
Uniscribe, are beyond the scope of Emacs maintenance, the supporting
Lisp and C code is on our table.  However, we currently lack a
maintainer in that area (have been lacking for a long time), so I
guess we are not up to speed with the latest developments.  I'm
talking first and foremost about the definitions of
character-composition patterns, which tell Emacs which sequences of
characters should be rendered as a single grapheme cluster.  There's a
lot to do in this area for various languages.

> are there test suites to compare the results?

There's a test suite for bidirectional display, but it only tests the
reordering of characters for display, not the shaping.  There's
nothing else, AFAIK.  If you, or someone else, can work on adding one,
that'd be great.



reply via email to

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