Subject: Re: bug#28339: 25.2; Emacs shows ZWNJ character (Zero Width non-Joiner) as Space

From: handa <[email-masked]>
Date: Mon, 18 Sep 2017 10:52:41 +0900

In article <[email-masked]>, Eli Zaretskii <[email-masked]> writes:

> > > [...] I thought the shaping engine gives us back glyphs that don't
> > > include ZWNJ itself.  Evidently, that's not true, which I find
> > > strange.
> > 
> > I thought that with OpenType at least that depends on the font?

> It does, but Handa-san seems to say that even the best fonts don't
> consider ZWNJ part of any grapheme cluster, and always leave it alone.

I checked the GSUB table of "Courier New" font (cour.ttf) using the
program ttx (included in fonttools package of Ubuntu).  It surely
contains many rules with ZWNJ, but none of them are with Arabic
characters.  So, I suspect that absorbing of ZWNJ for Arabic is done by
a layout engine (halfbuzz? uniscribe?) or by an application level
library (pango?).

> > For editing, I would like a hair-line type glyph to delete.

> We already have a solution for deleting a character which was composed
> with the preceding one(s).  So I think this aspects doesn't have to be
> a factor in our decision how to display ZWNJ.

Isn't there a case that ZWNJ is prepeneded to a character to change the
shape of the following character?

---
K. Handa
[email-masked]