GNU bug report logs -
#73752
29.4; Ligatures are randomly rendered with extra spaces
Previous Next
Reported by: xuan <at> xlk.me
Date: Fri, 11 Oct 2024 21:40:02 UTC
Severity: normal
Merged with 54646
Found in versions 29.0.50, 29.4
Fixed in version 30.1
Done: Eli Zaretskii <eliz <at> gnu.org>
Bug is archived. No further changes may be made.
Full log
Message #62 received at 73752 <at> debbugs.gnu.org (full text, mbox):
[ஞாயிறு அக்டோபர் 27, 2024] Eli Zaretskii wrote:
>> Cc: luangruo <at> yahoo.com, 73752 <at> debbugs.gnu.org, xuan <at> xlk.me
>> Date: Sun, 27 Oct 2024 19:19:48 +0200
>> From: Eli Zaretskii <eliz <at> gnu.org>
>>
>> It's quite clear from the image that the "misaligned" line uses a font
>> with a different slant/weight/height value. If that is the reason, I
>> guess the problem is with composition caching, but why is that an
>> issue in real life? Do real-life Lisp programs modify face font
>> attributes so frequently?
Real-life Lisp programs certainly do not change face font attributes so
often but I believe the script does it so to reproduce the issue
quickly. In a regular Emacs session, it is enough for the same text to
be shown in different font sizes (as a consequence of using C-x C-+) and
font weights to eventually exhibit this misalignment IME.
> Or maybe I don't understand the original problem. The bug report says
> "extra spaces", but eacg font has its own metrics of the SPC glyph, so
> highlighting a line with a given face can affect the metrics of the
> whitespace. Why is this surprising? Or what did I miss?
I do not understand the technical details but the width of the glyph
used to draw it is not the one that should be used for the underlying
font (weight, size, etc. included) which leads to this misalignment.
To make it more clear, let's say that =:= is shaped for a font X with a
specific weight, size, etc. At a later point in time, the width of the
glyph corresponding to X is used to draw =:= with font Y of same family.
This leads to the observed misalignment AFAIU.
This bug report was last modified 252 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.