On Mon, Jun 1, 2020 at 4:14 PM Eli Zaretskii wrote: > > From: Pip Cet > > Date: Mon, 1 Jun 2020 15:50:16 +0000 > > Cc: David Fussner , 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?