Subject: Re: bug#44632: 27.1.50; Left-to-right Arabic shaping breaks at property bounds

From: Stefan Kangas <[email-masked]>
Date: Mon, 11 Oct 2021 05:36:14 -0700

tags 44632 + wontfix
close 44632
thanks

Eli Zaretskii <[email-masked]> writes:

>> From: Thamer Mahmoud <[email-masked]>
>> Date: Sat, 14 Nov 2020 15:42:35 +0300
>>
>> (with-current-buffer-window "*shaping testcase*" nil nil
>>   (insert "L2R عربي" "\n\n")
>>   (insert "عربي")
>>   (put-text-property 5 6 'face 'highlight)
>>   (put-text-property 11 12 'face 'highlight))
>>
>> 2. Notice the AIN(ع) in the L2R paragraph has the wrong shape.
>
> This is a known limitation of the current Emacs display engine: it
> cannot shape text across face changes.  All the text that needs to be
> shaped must have the same face.  This problem has existed since Emacs
> 21.
>
> Fixing this limitation would require a more or less complete redesign
> of how the display engine scans the buffer text, or maybe some radical
> changes in how character composition is handled.  Until one of these
> changes, this problem will remain unsolved, sorry.

Since this is a known limitation, I think it unfortunately doesn't make
sense to keep this bug open.  If anyone wants to work on a redesign of
the display engine, they will probably not do that due to this bug.

I guess it would be good if we could have a list somewhere of the known
limitations, so if anyone knows about something like that please add it.

But for now, I'm closing this as wontfix.