fix calculation of correct font size to use
authorMarkus Teich <markus.teich@stusta.mhn.de>
Wed, 22 Apr 2015 09:56:41 +0000 (11:56 +0200)
committerMarkus Teich <markus.teich@stusta.mhn.de>
Wed, 22 Apr 2015 09:56:41 +0000 (11:56 +0200)
sent.c

diff --git a/sent.c b/sent.c
index 60863f386b5788b672a3271f6b8b7f9842eba892..4988650bd90653c39c0e7f3204495a29a46fc605 100644 (file)
--- 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)