Subject: bug#21846: 25.0.50; emacs hebrew script bidi nikud rendering bug

From: Eli Zaretskii <[email-masked]>
Date: Sat, 07 Nov 2015 10:59:37 +0200

> From: [email-masked] (Mark H. David)
> Date: Fri, 06 Nov 2015 14:29:43 -0800
> 
> emacs -Q
> C-x C-f ytest-emacs.txt RET
> 
> This was using the default font and no other changes or customizations.
> 
> You see numerous glaring rendering bugs.
> 
> First case:
>   Upper right first sequence (bounded by space)
>   Sequence description: mem double-yud pasekh sof-nun
>   Paste of character sequence: מײַן
>   Problem: a "base character standin" glyph appears between what should
>   be the 2nd/3rd of 3 bounding boxes, the second of which comprises two
>   Unicode characters:
>     05F2;HEBREW LIGATURE YIDDISH DOUBLE YOD
>     05B7;HEBREW POINT PATAH
> 
> Second case: 
>   Upper right 5th sequence (bounded by space)
>   Sequence description: alef pasekh pey rofe reysh yud ayin
>   Paste of character sequence:  אַפֿריקע
>   Problem: the base character alef and pey are separated from
>     their following nikuds
> 
> 
> Many more could be described. I'll stop at two for now.  Should they all
> be combined, or should they all be divided?

See the attached image from my system (which is not Ubuntu).  As you
see, the same version of Emacs displays the Hebrew diacriticals quite
correctly.

So the problem is likely in the shaping engine used to build Emacs.
I'm CC'ing Handa-san who is our expert on complex text layout support.
What is the version of libotf, m17n-db, and libm17n-flt libraries used
by Emacs on your system?  Perhaps upgrading to the latest versions of
those libraries will fix the problem.

> I could send screen shots, both of how it should look and how it
> actually looks, but how do I do that? I don't see a way with this bug
> report. Can you give instructions on how to do that if it's useful?

I see you've sent the screenshots, thanks.  What you show is clear:
the complex test layout doesn't work correctly.  Since it does on my
system, with a different shaping engine, I'm quite sure the reason is
outside Emacs.

Here's a screenshot from my system displaying the same ytest-emacs.txt
file: