Comment 0 for bug 161058

Revision history for this message
puntium (puntium) wrote :

I didn't fill out the package field, since this seems to be an interaction between multiple packages (gnome-setting-daemon, libgtk, libcairo, pango/cairo).

In the 'Appearance' control app, under the font settings, I like to use 'Subpixel' and 'Full' hinting by default, since this looks good for most bundled fonts.

However, there is occasionally a font (especially in the msttcorefonts package) that doesn't look good with these settings. So I want to override their rendering settings using .fonts.conf. My main tactic is to usually turn on the autohinter in 'hintslight' mode for certain fonts. Lets take Times new Roman as an example.. the .fonts.conf incantation to do this would be:

 <match target="font">
         <test name="family" qual="any">
                 <string>Times New Roman</string>
         </test>
    <edit name="autohint"> <bool>true</bool></edit>
    <edit name="hinting"> <bool>true</bool></edit>
    <edit name="hintstyle" > <const>hintslight</const> </edit>
 </match>

The odd thing about this is that the 'autohint' and 'hinting' edits seem to work, but the 'hintstyle' edit is always overridden by the control applet's settings. I can verify this by launching gedit each time after tweaking these settings.

"fc-match -v 'Times New Roman'" does return the right settings, so its something in the chain of gtk libraries that is messing it up.

Interstingly, it's not all possible edit settings that are ignored. It seems to only be hintstyle. For example if I were to say:

 <match target="font">
         <test name="family" qual="any">
                 <string>Times New Roman</string>
         </test>
    <edit name="antialias"> <bool> false </bool> </edit>
 </match>

Then this works correctly. Only Times New Roman will be non-antialiased even in gedit. Even setting "hinting" to "false" works.. its only the hintstyle setting that doesn't work.