Seems like I was able to narrow down the bug with fonts fallback.

(Requisites: multiple fallback fonts for 'monospace'.)

Running on HiDPI with 'pixelsize' -- all works as expected:
    st -f monospace:pixelsize=35

Using relative font size, only first font treats 'size' as relative.
But all consequent fonts treat that size like it's absolute:
    st -f monospace:size=10
All fallbacks becomes the same as pixelsize=35:
    st -f monospace:size=35

However, if after that I use <C-S-Home> -- fonts will be reloaded
and size for all symbols becomes correct.

Therefore dirty fix for such problem can be like this:

    diff --git a/st.c b/st.c
    index 2594c65..6529f56 100644
    --- a/st.c
    +++ b/st.c
    @@ -4399,2 +4399,4 @@ run:
        selinit();
    +   xunloadfonts();
    +   xloadfonts(usedfont, defaultfontsize);
        run();

Truly speaking, after several hours of debugging I couldn't
understand what influences that behaviour. Maybe someone could
suggest where is problem?

P.S. Christoph, I would liked to see your fontconfig anyway.
Even if roots of this bug aren't there.

On Fri, Jun 03, 2016 at 03:06:23PM +0200, Christoph Lohmann wrote:
> > Therefore most of symbols, all asian widechar and bold non-ascii
> > flavours are microscopical small on HiDPI being not scaled at all.
> > (I suppose this difference will be rather imperceptible on non-HiDPI)

Reply via email to