nsxiv278f0ce
Match fallback font FC_SIZE to original font
+4 −1
1 file changed
- M window.c +4 −1
| @@ -48,6 +48,7 @@ static GC gc; | |||
| 48 | 48 | ||
| 49 | 49 | static XftFont *font; | |
| 50 | 50 | static int fontheight; | |
| 51 | + | static double fontsize; | |
| 51 | 52 | static int barheight; | |
| 52 | 53 | ||
| 53 | 54 | Atom atoms[ATOM_COUNT]; | |
| @@ -60,6 +61,7 @@ void win_init_font(const win_env_t *e, const char *fontstr) | |||
| 60 | 61 | if ((font = XftFontOpenName(e->dpy, e->scr, fontstr)) == NULL) | |
| 61 | 62 | error(EXIT_FAILURE, 0, "Error loading font '%s'", fontstr); | |
| 62 | 63 | fontheight = font->ascent + font->descent; | |
| 64 | + | FcPatternGetDouble(font->pattern, FC_SIZE, 0, &fontsize); | |
| 63 | 65 | barheight = fontheight + 2 * V_TEXT_PAD; | |
| 64 | 66 | } | |
| 65 | 67 | ||
| @@ -414,7 +416,8 @@ int win_draw_text(win_t *win, XftDraw *d, const XftColor *color, int x, int y, | |||
| 414 | 416 | fccharset = FcCharSetCreate(); | |
| 415 | 417 | FcCharSetAddChar(fccharset, rune); | |
| 416 | 418 | f = XftFontOpen(win->env.dpy, win->env.scr, FC_CHARSET, FcTypeCharSet, | |
| 417 | − | fccharset, FC_SCALABLE, FcTypeBool, FcTrue, NULL); | |
| 419 | + | fccharset, FC_SCALABLE, FcTypeBool, FcTrue, | |
| 420 | + | FC_SIZE, FcTypeDouble, fontsize, NULL); | |
| 418 | 421 | FcCharSetDestroy(fccharset); | |
| 419 | 422 | } | |
| 420 | 423 | XftTextExtentsUtf8(win->env.dpy, f, (XftChar8*)t, next - t, &ext); | |