Introduction
Introduction Statistics Contact Development Disclaimer Help
st: Fix off-by-one error when calculating character width. - st - simple termin…
git clone git://git.suckless.org/st
Log
Files
Refs
README
LICENSE
---
commit 39964614b742c4ec98a326762d98470cb987a45b
parent 0e48a1995eee1c2babc58523ef0be296e4b1c3e8
Author: Tor Andersson <[email protected]>
Date: Wed, 9 Mar 2016 17:11:57 +0100
st: Fix off-by-one error when calculating character width.
LEN(str) is one larger than strlen(str) because it also counts the zero
terminator. The original code would include the .notdef glyph (since it'll
try to encode character 0, which gets encoded to the .notdef glyph) when
measuring the average dimensions of printable ascii characters.
This causes problems with fonts like GNU Unifont where the .notdef glyph is
not the same width as the usual half-width characters.
Signed-off-by: Christoph Lohmann <[email protected]>
Diffstat:
M st.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
---
diff --git a/st.c b/st.c
@@ -3291,7 +3291,7 @@ xloadfont(Font *f, FcPattern *pattern)
XftTextExtentsUtf8(xw.dpy, f->match,
(const FcChar8 *) ascii_printable,
- LEN(ascii_printable), &extents);
+ strlen(ascii_printable), &extents);
f->set = NULL;
f->pattern = FcPatternDuplicate(pattern);
@@ -3302,7 +3302,7 @@ xloadfont(Font *f, FcPattern *pattern)
f->rbearing = f->match->max_advance_width;
f->height = f->ascent + f->descent;
- f->width = DIVCEIL(extents.xOff, LEN(ascii_printable));
+ f->width = DIVCEIL(extents.xOff, strlen(ascii_printable));
return 0;
}
You are viewing proxied material from suckless.org. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.