From 5394f7f539ecff863f58458cea5faaa867680ce6 Mon Sep 17 00:00:00 2001 From: Markus Teich Date: Wed, 22 Apr 2015 11:56:41 +0200 Subject: [PATCH] fix calculation of correct font size to use --- sent.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/sent.c b/sent.c index 60863f3..4988650 100644 --- a/sent.c +++ b/sent.c @@ -384,14 +384,19 @@ XFontStruct *xloadqueryscalablefont(char *name, int size) void getfontsize(char *str, int *width, int *height) { size_t i; + size_t len = strlen(str); for (i = 0; i < NUMFONTSCALES; i++) { drw_setfontset(d, fonts[i]); - if ((*width = drw_fontset_getwidth(d, str)) > xw.uw || (*height = d->fonts->h) > xw.uh) + drw_font_getexts(fonts[i], str, len, width, height); + if (*width > xw.uw || *height > xw.uh) break; } - if (i > 0) + if (i > 0) { drw_setfontset(d, fonts[i-1]); + drw_font_getexts(fonts[i-1], str, len, width, height); + } + *width += d->fonts->h; } void cleanup(struct DC *cur)