[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Crash with --enable-checking and some glyphs

From: Gregory Heytings
Subject: Re: Crash with --enable-checking and some glyphs
Date: Sat, 27 Nov 2021 21:28:33 +0000

Lars, could you check that md5sum /usr/share/fonts/X11/misc/hanglm24.pcf.gz = 819a5304502ef38ac01918a147310b69 ?

And boff is 3 because of:

boff = font->baseline_offset;
if (font->vertical_centering)
  boff = VCENTER_BASELINE_OFFSET (font, it->f) - boff;

(gdb) print font->vertical_centering
$17 = true

And we don't apply these sanity checks in this case:

/* These limitations are enforced by an
   assertion near the end of this function.  */
if (it->ascent < 0)
  it->ascent = 0;
if (it->descent < 0)
  it->descent = 0;

Right, I added a similar limitation, because I don't see what else could we do in cases such as this one. I do wonder why others didn't see the same problem in a very similar build on the same system.

I very much doubt that this is the root cause of this bug. I have the exact same libraries and compiler (and likely the same font), I use the exact same build options, and boff is never == 3 with that file, it is always == 0.

For the piece of code above, with the ACE0 character I have:

boff = font->baseline_offset; /* font->baseline_offset == 0 */
if (font->vertical_centering) /* font->vertical_centering == 1 */
  boff = VCENTER_BASELINE_OFFSET (font, it->f) - boff; /* 

reply via email to

[Prev in Thread] Current Thread [Next in Thread]