GNU bug report logs -
#44632
27.1.50; Left-to-right Arabic shaping breaks at property bounds
Previous Next
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.
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 44632 in the body.
You can then email your comments to 44632 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#44632
; Package
emacs
.
(Sat, 14 Nov 2020 12:43:02 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Thamer Mahmoud <thamer.mahmoud <at> gmail.com>
:
New bug report received and forwarded. Copy sent to
bug-gnu-emacs <at> gnu.org
.
(Sat, 14 Nov 2020 12:43:02 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
This also affects overlays and `transient-mark-mode' region.
1. Eval:
(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.
--
Regards,
Thamer
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#44632
; Package
emacs
.
(Sat, 14 Nov 2020 14:52:01 GMT)
Full text and
rfc822 format available.
Message #8 received at 44632 <at> debbugs.gnu.org (full text, mbox):
> 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.
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#44632
; Package
emacs
.
(Sun, 22 Nov 2020 16:59:01 GMT)
Full text and
rfc822 format available.
Message #11 received at 44632 <at> debbugs.gnu.org (full text, mbox):
[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.
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#44632
; Package
emacs
.
(Sun, 22 Nov 2020 18:20:02 GMT)
Full text and
rfc822 format available.
Message #14 received at 44632 <at> debbugs.gnu.org (full text, mbox):
> From: Thamer Mahmoud <thamer.mahmoud <at> gmail.com>
> Cc: 44632 <at> debbugs.gnu.org
> Date: Sun, 22 Nov 2020 19:58:03 +0300
>
> Wouldn't it be possible to extend the same behavior that is currently
> working fine in R2L paragraphs to also apply to L2R ones?
Sorry, no. Not without serious changes (basically, a redesign) in the
low-level code that iterates the buffer for rendering characters for
display.
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#44632
; Package
emacs
.
(Mon, 11 Oct 2021 12:37:02 GMT)
Full text and
rfc822 format available.
Message #17 received at 44632 <at> debbugs.gnu.org (full text, mbox):
tags 44632 + wontfix
close 44632
thanks
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.
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.
Added tag(s) wontfix.
Request was from
Stefan Kangas <stefan <at> marxist.se>
to
control <at> debbugs.gnu.org
.
(Mon, 11 Oct 2021 12:37:03 GMT)
Full text and
rfc822 format available.
bug closed, send any further explanations to
44632 <at> debbugs.gnu.org and Thamer Mahmoud <thamer.mahmoud <at> gmail.com>
Request was from
Stefan Kangas <stefan <at> marxist.se>
to
control <at> debbugs.gnu.org
.
(Mon, 11 Oct 2021 12:37:03 GMT)
Full text and
rfc822 format available.
bug archived.
Request was from
Debbugs Internal Request <help-debbugs <at> gnu.org>
to
internal_control <at> debbugs.gnu.org
.
(Tue, 09 Nov 2021 12:24:07 GMT)
Full text and
rfc822 format available.
This bug report was last modified 2 years and 161 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.