GNU bug report logs - #44632
27.1.50; Left-to-right Arabic shaping breaks at property bounds

Previous Next

Package: emacs;

Reported by: Thamer Mahmoud <thamer.mahmoud <at> gmail.com>

Date: Sat, 14 Nov 2020 12:43:02 UTC

Severity: normal

Tags: wontfix

Found in version 27.1.50

Done: Stefan Kangas <stefan <at> marxist.se>

Bug is archived. No further changes may be made.

Full log


Message #11 received at 44632 <at> debbugs.gnu.org (full text, mbox):

From: Thamer Mahmoud <thamer.mahmoud <at> gmail.com>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 44632 <at> debbugs.gnu.org
Subject: Re: bug#44632: 27.1.50; Left-to-right Arabic shaping breaks at
 property bounds
Date: Sun, 22 Nov 2020 19:58:03 +0300
[Message part 1 (text/plain, inline)]
Eli Zaretskii <eliz <at> gnu.org> writes:

>> From: Thamer Mahmoud <thamer.mahmoud <at> gmail.com>
>> 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.

Shaping across face changes works for me in R2L paragraphs, but not in
L2R. See the attached screenshot.

[shaping.png (image/png, inline)]
[Message part 3 (text/plain, inline)]

Wouldn't it be possible to extend the same behavior that is currently
working fine in R2L paragraphs to also apply to L2R ones?

Thanks.

This bug report was last modified 3 years and 223 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.