[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#41645: 27.0.91; Combining Grapheme Joiner (#x34f) gui artifacts
From: |
Pip Cet |
Subject: |
bug#41645: 27.0.91; Combining Grapheme Joiner (#x34f) gui artifacts |
Date: |
Mon, 1 Jun 2020 18:09:27 +0000 |
On Mon, Jun 1, 2020 at 4:14 PM Eli Zaretskii <eliz@gnu.org> wrote:
> > From: Pip Cet <pipcet@gmail.com>
> > Date: Mon, 1 Jun 2020 15:50:16 +0000
> > Cc: David Fussner <dfussner@googlemail.com>, 41645@debbugs.gnu.org
> >
> > > I cannot reproduce this on my system, FWIW. Very strange.
> >
> > I can reproduce this, but it depends on which font it uses.
>
> I have only 2 fonts that cover that codepoint, and both produce
> correct display. When I try a font that doesn't support it, I see a
> box with hex code, which, of course, causes no problems.
The problem is a zero-width glyph in a gstring. Fixing the artifact is
easy (see attached patch), but that still means when the cursor is on
the CGJ it's invisible. My impression is most code paths avoid
zero-width glyphs for that reason.
> When you do reproduce the problem, do the characters around CGJ use
> the same font as the CGJ itself, or do they use a different font?
The same font.
> If
> the latter, the composition won't work, and maybe that is when the
> problem happens?
Indeed, the composition gstring is a single zero-width glyph.
> > Is it possible it's bug 41454? I'm attaching that patch in case it
> > does anything and people feel like testing it.
>
> I'm guessing you already tested, and it doesn't fix the problem for
> you (when you use the fonts which do reproduce the problem)?
I tested, thought it had fixed the problem, had to run off, returned,
tested again, and it turned out not to fix the problem. Sorry about
that.
> I think that bug is unlikely to be the culprit: symptoms such as those
> described here usually mean that Emacs becomes confused about the
> metrics of the character's glyph on display. So to find the root
> cause, one should step through the code which draws the character and
> then the code which draws the cursor on that character, and see what's
> going on there with the metrics.
How about this, as a first stop-gap until we figure out how to
properly prevent automatic compositions resulting in zero-width struct
glyphs?
0001-Avoid-cursor-display-artifacts-for-zero-width-glyphs.patch
Description: Text Data
- bug#41645: 27.0.91; Combining Grapheme Joiner (#x34f) gui artifacts, David Fussner, 2020/06/01
- bug#41645: 27.0.91; Combining Grapheme Joiner (#x34f) gui artifacts, Eli Zaretskii, 2020/06/01
- bug#41645: 27.0.91; Combining Grapheme Joiner (#x34f) gui artifacts, Eli Zaretskii, 2020/06/01
- bug#41645: 27.0.91; Combining Grapheme Joiner (#x34f) gui artifacts,
Pip Cet <=
- bug#41645: 27.0.91; Combining Grapheme Joiner (#x34f) gui artifacts, Eli Zaretskii, 2020/06/01
- bug#41645: 27.0.91; Combining Grapheme Joiner (#x34f) gui artifacts, Eli Zaretskii, 2020/06/01
- bug#41645: 27.0.91; Combining Grapheme Joiner (#x34f) gui artifacts, Pip Cet, 2020/06/01
- bug#41645: 27.0.91; Combining Grapheme Joiner (#x34f) gui artifacts, Pip Cet, 2020/06/01
- bug#41645: 27.0.91; Combining Grapheme Joiner (#x34f) gui artifacts, Pip Cet, 2020/06/01
- bug#41645: 27.0.91; Combining Grapheme Joiner (#x34f) gui artifacts, David Fussner, 2020/06/02
- bug#41645: 27.0.91; Combining Grapheme Joiner (#x34f) gui artifacts, David Fussner, 2020/06/02
- bug#41645: 27.0.91; Combining Grapheme Joiner (#x34f) gui artifacts, Pip Cet, 2020/06/02
- bug#41645: 27.0.91; Combining Grapheme Joiner (#x34f) gui artifacts, David Fussner, 2020/06/02
- bug#41645: 27.0.91; Combining Grapheme Joiner (#x34f) gui artifacts, Pip Cet, 2020/06/02