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

From: Eli Zaretskii <[email-masked]>
Date: Thu, 14 Sep 2017 20:15:59 +0300

> From: handa <[email-masked]>
> Cc: [email-masked], [email-masked]
> Date: Thu, 14 Sep 2017 21:24:28 +0900
> 
> In article <[email-masked]>, Eli Zaretskii <[email-masked]> writes:
> 
> > I thought that the shaping engine returns to us a series of grapheme
> > clusters that completely replaces ZWNJ and the neighboring characters,
> > and that therefore we only need to display the glyphs returned by the
> > shaper.  If one of the glyphs returned by the shaper is ZWNJ, then
> > isn't the shaper doing a poor job?
> 
> Each Arabic character constitutes a grapheme cluster.  Then, for the
> sequence "0646 0645 06CC 200C 0634 0648 062F", to which neighboring should
> 200C belongs to?  Does Unicode define it?

I don't think Unicode defines that, but I thought the shaping engine
gives us back glyphs that don't include ZWNJ itself.  Evidently,
that's not true, which I find strange.

> Anyway, is it convenient or inconvenient to be able to edit ZWNJ directly?

It's convenient.  But we already support deletion of composed
characters, so I didn't think it mattered.

Thanks.