|
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; /* VCENTER_BASELINE_OFFSET(...) == 0 */
[Prev in Thread] | Current Thread | [Next in Thread] |