This forum has been archived. All content is frozen. Please use KDE Discuss instead.

Font problems after latest update in openSUSE Leap 42.1

Tags: None
(comma "," separated)
anonymousleopard
Karma
0
Hi,

I am using openSUSE Leap 42.1

After last update (2 days ago) some fonts were updated too and now many websites (e.g. Gmail, Google etc) display hair-thin the sans fonts which is a torture for my eyes and I almost always have to hit CTRL+"+" to zoom. I am using Chromium and Firefox. Any idea how to restore that to as it was?
User avatar
einar
Administrator
Posts
3402
Karma
7
OS
If you post a screenshot of the problem, that would help a lot.


"Violence is the last refuge of the incompetent."
Image
Plasma FAQ maintainer - Plasma programming with Python
anonymousleopard
Karma
0
A few screenshots: https://goo.gl/bwwUSD

Note the filenames. Also don't forget to actually download the PNG files and view them locally as Google Drive's viewer scales the images.

The thin fonts are seen when you start chromium with command line option --force-device-scale-factor=1
And the fuzzy-like ones are seen without that option.

Previously I always used the --force-device-scale-factor=1 as it gave both good size and sharp glyphs without making them hair thin.
luebking
Karma
0
Looks like hitslight ./. hintfull, maybe the autohinter ./. the BC hinter. No idea whether SuSE or chromium changed anything about that.
Also "--force-device-scale-factor=1" looks suspicicous - why do you need to enforce that itfp? And what's the output of "xdpyinfo | grep resolution"?
anonymousleopard
Karma
0
luebking wrote:Looks like hitslight ./. hintfull, maybe the autohinter ./. the BC hinter.

What are you talking about? Sorry I don't understand.

Also "--force-device-scale-factor=1" looks suspicicous - why do you need to enforce that itfp?

Because otherwise the fonts look fuzzy/blurry.

And what's the output of "xdpyinfo | grep resolution"?


Code: Select all
# xdpyinfo | grep resolution
xdpyinfo: command not found
luebking
Karma
0
fonts are vectors and there different (choosable) strategies to press them into a pixel raster, hinting is one major aspect of that.
please install xdyinfo and try again.
anonymousleopard
Karma
0
Code: Select all
# xdpyinfo | grep resolution
  resolution:    108x107 dots per inch
luebking
Karma
0
Okey, assuming chrome takes 72dpi as 1.0, you'd be at a scale of 1.5 otherwise (what btw. should no way make the glyphs "blurry", as mentioned, they're vectors)

Hinting can be configured very granularily (and eg. depend on the pixel size of the rastered font!) - if you run chromium with force-device-scale-factor and use a larger default font (eg. 24pt instead of 16pt), does that get you an expected font thickness?

fontconfig rules can be found in /etc/fonts/conf.d and ~/.config/fontconfig/ - "grep -i hint" them and inspect the matching files (this is nothing KDE provides and usually distro specific, so I cannot tell you which configlet on your side alters hinting depending on the font size)
anonymousleopard
Karma
0
luebking wrote:Okey, assuming chrome takes 72dpi as 1.0, you'd be at a scale of 1.5 otherwise (what btw. should no way make the glyphs "blurry", as mentioned, they're vectors)

I understand that. However the fuzziness comes from anti-aliasing (hinting?) of these vectors. I have actually tried setting dpi to 108, 109, 110 or even 120 in System Settings but that doesn't change things.

Hinting can be configured very granularily (and eg. depend on the pixel size of the rastered font!) - if you run chromium with force-device-scale-factor and use a larger default font (eg. 24pt instead of 16pt), does that get you an expected font thickness?


No. The thin fonts remain thin when chromium is started with force-device-scale-factor=1. If it is >1 then they start to "blur" again (depending on the number) and that includes also the browser menus, not only the website fonts.

fontconfig rules can be found in /etc/fonts/conf.d and ~/.config/fontconfig/ - "grep -i hint" them and inspect the matching files (this is nothing KDE provides and usually distro specific, so I cannot tell you which configlet on your side alters hinting depending on the font size)


Here is the output:
Code: Select all
# grep -ri "hint" /etc/fonts/conf.d                                                                                           
/etc/fonts/conf.d/10-rendering-options.conf:    <!-- Choose prefered common hinting style here.  -->
/etc/fonts/conf.d/10-rendering-options.conf:        <!-- Possible values: no, hitnone, hitslight, hintmedium and hintfull. -->
/etc/fonts/conf.d/10-rendering-options.conf:         or force_bw_monospace => hintfull -->
/etc/fonts/conf.d/10-rendering-options.conf:            <edit name="force_hintstyle" mode="assign">
/etc/fonts/conf.d/10-rendering-options.conf:    <!-- Force autohint always. -->
/etc/fonts/conf.d/10-rendering-options.conf:        <!-- If false, for well hinted fonts, their instructions are used for rendering. -->
/etc/fonts/conf.d/10-rendering-options.conf:            <edit name="force_autohint" mode="assign">
# cat ~/.config/fontconfig/fonts.conf                                                                                         
<?xml version='1.0'?>                                                                                                                                       
<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>                                                                                                                   
<fontconfig>                                                                                                                                               
 <dir>~/.fonts</dir>                                                                                                                                       
</fontconfig>                         


The full text of 'cat /etc/fonts/conf.d/10-rendering-options.conf ' is here: http://paste.opensuse.org/70753c12

What do you suggest to change?
anonymousleopard
Karma
0
BTW I have set Hinting to None in System Settings and starting chromium with force-device-scale-factor=1 now gives fairly good font drawing. However I need to bump the default font size (or hit CTRL++ on some sites) to have fonts in a convenient size for reading.
luebking
Karma
0
The config doesn't contain anything suspicious at all.
You'd otherwise find sth. like

Code: Select all
        <match target="font">
                <test name="family" compare="eq" ignore-blanks="true">
                        <string>Bitstream Vera Sans</string>
                </test>
                <test name="pixelsize" compare="less">
                        <double>7.5</double>
                </test>
                <edit name="hinting">
                        <bool>false</bool>
                </edit>
        </match>


Text gets blurry, because chrome apparently scales _everything_ with that setting and likely by scaling the rasterized result, not the fonts when rasterizing them ...

Usually, you'd get fonts rastered according to the display dpi, but I assume browsers render towards 72 and align the complete result to your display (to not break page "layouts")

Notice that a global hintnone could get you quite fat glyphs in other locations (if font rendering in browsers is just broken and this isn't due to a global change in fontconfig)
anonymousleopard
Karma
0
Thank you for your help.


Bookmarks



Who is online

Registered users: Bing [Bot], Evergrowing, Google [Bot]