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

From: Eli Zaretskii <[email-masked]>
Date: Sat, 14 Nov 2020 16:51:39 +0200

> 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.