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.
dev
ian@remmler.org 2016-11-11 17:52:07 +01:00 committed by Roberto E. Vargas Caballero
parent 3ca7249c86
commit 424202798b
1 changed files with 3 additions and 0 deletions

3
st.c
View File

@ -3472,6 +3472,9 @@ xloadfonts(char *fontstr, double fontsize)
if (usedfontsize < 0) { if (usedfontsize < 0) {
FcPatternGetDouble(dc.font.match->pattern, FcPatternGetDouble(dc.font.match->pattern,
FC_PIXEL_SIZE, 0, &fontval); 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; usedfontsize = fontval;
if (fontsize == 0) if (fontsize == 0)
defaultfontsize = fontval; defaultfontsize = fontval;