]> git.armaanb.net Git - st.git/commitdiff
Use XftFontMatch in place of FcFontMatch.
authorChristoph Lohmann <20h@r-36.net>
Fri, 3 Jun 2016 13:02:32 +0000 (15:02 +0200)
committerChristoph Lohmann <20h@r-36.net>
Fri, 3 Jun 2016 13:02:32 +0000 (15:02 +0200)
git am -s didn't like your patch:

From: Mark Edgar <medgar123@gmail.com>

XftFontMatch calls XftDefaultSubstitute which configures various match
properties according to the user's configured Xft defaults (xrdb) as well as
according to the current display and screen. Most importantly, the screen DPI
is computed [1]. Without this, st uses a "default" DPI of 75 [2].

[1]: https://cgit.freedesktop.org/xorg/lib/libXft/tree/src/xftdpy.c?id=libXft-2.3.2#n535
[2]: https://cgit.freedesktop.org/fontconfig/tree/src/fcdefault.c?id=2.11.1#n255

st.c

diff --git a/st.c b/st.c
index 6736464f7ecc2819cc9c22622149eb6ef6701c91..2594c6506c3d221626490e59605724a020d92c43 100644 (file)
--- a/st.c
+++ b/st.c
@@ -3279,7 +3279,7 @@ xloadfont(Font *f, FcPattern *pattern)
        FcResult result;
        XGlyphInfo extents;
 
-       match = FcFontMatch(NULL, pattern, &result);
+       match = XftFontMatch(xw.dpy, xw.scr, pattern, &result);
        if (!match)
                return 1;
 
@@ -3345,9 +3345,6 @@ xloadfonts(char *fontstr, double fontsize)
                defaultfontsize = usedfontsize;
        }
 
-       FcConfigSubstitute(0, pattern, FcMatchPattern);
-       FcDefaultSubstitute(pattern);
-
        if (xloadfont(&dc.font, pattern))
                die("st: can't open font %s\n", fontstr);