Initial font size issue. - st - Personal fork of st
 (HTM) git clone git://git.drkhsh.at/st.git
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
 (DIR) commit 424202798b02554092ba84dd59fb7b79b59b7b75
 (DIR) parent 3ca7249c8685a9ff2d8ce23273fe0313b5804473
 (HTM) Author: ian@remmler.org <ian@remmler.org>
       Date:   Fri, 11 Nov 2016 17:52:07 +0100
       
       Initial font size issue.
       
       Hi,
       
       When I specify a font by point size (I'm using "Inconsolata:size=12"),
       characters that are substituted from another font because they are not in the
       main one appear too small.  Doing a zoom reset fixes it.  For example:
       
       Before: http://i.imgur.com/G4Mfv4X.png
       After:  http://i.imgur.com/PMDhfQA.png
       
       I found that adding the pixel size (acquired from the initial font load) to the
       pattern then reloading the font fixes the problem.  I'm not sure if this is a
       proper fix, though.
       
       Diffstat:
         M st.c                                |       3 +++
       
       1 file changed, 3 insertions(+), 0 deletions(-)
       ---
 (DIR) diff --git a/st.c b/st.c
       @@ -3472,6 +3472,9 @@ xloadfonts(char *fontstr, double fontsize)
                if (usedfontsize < 0) {
                        FcPatternGetDouble(dc.font.match->pattern,
                                           FC_PIXEL_SIZE, 0, &fontval);
       +                FcPatternAddDouble(pattern, FC_PIXEL_SIZE, fontval);
       +                if (xloadfont(&dc.font, pattern))
       +                        die("st: can't open font %s\n", fontstr);
                        usedfontsize = fontval;
                        if (fontsize == 0)
                                defaultfontsize = fontval;