[hackers] [st] Initial font size issue.

From: Ian Remmler <ian_AT_remmler.org>
Date: Sat, 5 Nov 2016 13:45:28 -0500

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.

diff --git a/st.c b/st.c
index 4d44388..0cb48e8 100644
--- a/st.c
+++ b/st.c
_AT_@ -3471,6 +3471,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;

-- 
	- Ian.
Received on Sat Nov 05 2016 - 19:45:28 CET

This archive was generated by hypermail 2.3.0 : Sat Nov 05 2016 - 19:48:17 CET