https://bugs.winehq.org/show_bug.cgi?id=38404
Bug ID: 38404 Summary: application display some too small fonts in high resolution Product: Wine Version: unspecified Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: gdi32 Assignee: wine-bugs@winehq.org Reporter: gamiljydcome@gmail.com Distribution: Debian
my box is thinkpad w500, it's resolution is 1920x1200. i change dpi to 150 with winecfg, so that applications can display readable text with correct font size in most case, just if the app allows you change font size.
But, some of parts of the app setting text/fonts size (such as menu bar, listview control, etc) when it programed, it does not allow change at all. YES it's correct when you run the app with low resolution such as 1024x768, but it can not be read in resolution 19200x1200 at all.
So i have to try to set most small font size in fontconfig.conf, hope freetype can render such small font to be readable, but it's not working.
Now i change dlls/gdi32/freetype.c, force samll font setting by app calls to readable size. code is here:
static HFONT freetype_SelectFont( PHYSDEV dev, HFONT hfont, UINT *aa_flags ) lf.lfWidth = abs(lf.lfWidth);
+if(lf.lfHeight>-18 && lf.lfHeight<18){ + if(lf.lfHeight>0) lf.lfHeight=18; + else lf.lfHeight=-18; +}
In my case, the most small readable font size is upper 9, so if app call for text small than 9, it will forcce change to size 9 to display.
My eyes happy now.
this code is not a good way to reolve this problem. it should be code in somewhere automation: if set dpi with winecfg, forece make not readable font size to be readable size calculated by setting dpi/high resolution.