← Back to team overview

desktop-packages team mailing list archive

[Bug 161058]

 

Created attachment 111193
Respect fontconfig's hintstyle

I am currently using the attached minimal patch to make cairo respect
fontconfig's hintstyle; it will probably need to be adapted for the
other parameters.

-- 
You received this bug notification because you are a member of Desktop
Packages, which is subscribed to cairo in Ubuntu.
https://bugs.launchpad.net/bugs/161058

Title:
  some ~/.fonts.conf settings do no override desktop-wide gnome settings
  (hinting style)

Status in Cairo Graphics Library:
  Confirmed
Status in cairo package in Ubuntu:
  Confirmed

Bug description:
  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.
  [lspci]
  00:00.0 Host bridge [0600]: Intel Corporation 440BX/ZX/DX - 82443BX/ZX/DX Host bridge [8086:7190] (rev 01)
      	Subsystem: VMware Inc Device [15ad:1976]
  00:0f.0 VGA compatible controller [0300]: VMware Inc Abstract SVGA II Adapter [15ad:0405]
      	Subsystem: VMware Inc Abstract SVGA II Adapter [15ad:0405]

To manage notifications about this bug go to:
https://bugs.launchpad.net/cairo/+bug/161058/+subscriptions