Unable to set legacy subpixel rendering

Bug #159434 reported by Igor Goldenberg
16
Affects Status Importance Assigned to Milestone
fontconfig (Ubuntu)
Invalid
Low
Unassigned
libcairo (Baltix)
Invalid
Undecided
Unassigned
libcairo (Ubuntu)
Invalid
Low
Unassigned

Bug Description

Binary package hint: fontconfig

In the gutsy release was changed subpixel rendering (it looks like ClearType now). But new lcdfilter option can be changed to select different subpixel rendering variants. But it changes nothing for me. I'm using next settings in ~/.fonts.conf

...
  <match target="font">
    <edit name="lcdfilter">
      <const>legacy</const>
    </edit>
  </match>
...

Other settings (aliases/antialiasing) in this file works well. I want to get old style (used in feisty) of LCD smoothing, w/o emboldening of glyphs using colour shadows.

Also, I can't find any info about this new "lcdfilter" option and it's values in package docs. Only in sources of patch.

Igor Goldenberg (igold)
description: updated
Revision history for this message
Tobias Wolf (towolf) wrote :

This patch was written by keybuk to implement an option in fontcofig such that the old method ist sitll accessible as lcdfilter legacy.
Normally fontconfig only offers one method.

Revision history for this message
Tobias Wolf (towolf) wrote :
Revision history for this message
Igor Goldenberg (igold) wrote :

Oh, thanks for pointing to that message! It seems to there is a real bug in the libcairo patches. "In fact, the original Ubuntu-modified changeset to Cairo has a significant error where they use FC_LCD_FILTER_* definitions where they should be using FT_LCD_FILTER_* to pass to FT_Library_SetLcdFilter. I checked the headers, and the definitions don't correspond. This leads me to believe that their changes never did what they were supposed to in the first place." So this problem relates to cairo package more. But there are small changes for the fontconfig package have described in another bugreport on freedesktop: https://bugs.freedesktop.org/show_bug.cgi?id=13566

It will be good if these fixes will be applied to ubuntu packages.

Revision history for this message
Tobias Wolf (towolf) wrote :

Hey, I uploaded a new devel Cairo with the corrected patch to my PPA. Care to test it? I don't like the old style, of course, so I didn't.

deb http://ppa.launchpad.net/towolf/ubuntu gutsy main

But be aware that there's some other unstable stuff in my PPA. I suggest to only enable the repo for installing libcairo2 and then removing the source.

Revision history for this message
Tobias Wolf (towolf) wrote :

Note that I dodn't upload the fontconfig patch, so the old naming you cited above should still be valid. I think.

Tobias Wolf (towolf)
Changed in libcairo:
status: New → Invalid
Revision history for this message
Igor Goldenberg (igold) wrote :

I've installed libcairo2_1.5.4-0ubuntu1~ppa1_i386.deb (which required libpixman-1-0, BTW) but it changes nothing. Can you test LCD subpixel rendering on your system with above settings in ~/.fonts.conf? Is it work for you?

Revision history for this message
Matti Lindell (mlind) wrote :

Fixed in Hardy, but affects Gutsy. See also Bug #174934.

Revision history for this message
Sebastien Bacher (seb128) wrote :

one ubuntu task is enough

Changed in fontconfig:
importance: Undecided → Low
status: New → Invalid
Revision history for this message
Sebastien Bacher (seb128) wrote :

Thank you for your bug. That is an user configuration question and not a bug though

Changed in libcairo:
importance: Undecided → Low
status: New → Invalid
Revision history for this message
Dana Goyette (danagoyette) wrote :

Is there any chance of reopening this bug for Hardy? I greatly prefer the old subpixel rendering method, and before the rendering patches were moved upstream, I could use my local.conf to enable the old method; however, as of fontconfig 2.5.0-2ubuntu2, I can no longer do that -- instead, I just get the following error upon running any app that uses fontconfig:

Fontconfig warning: "local.conf", line 4: invalid constant used : legacy

Here's my local.conf:

  <match target="font">
    <edit name="lcdfilter">
      <const>legacy</const>
    </edit>
  </match>

Revision history for this message
Dana Goyette (danagoyette) wrote :

Well, I'm glad I didn't decide to change any attributes of this bug myself.
I followed the link to https://bugs.freedesktop.org/show_bug.cgi?id=13566 and discovered that the constant had been renamed to 'lcdlegacy'. I then tried that value in local.conf, and it claimed 'lcdlegacy' was invalid. Finally, I fetched the Ubuntu source and grepped for 'legacy', and found that the constant is named 'lcdfilterlegacy' in the Ubuntu packages.

This subpixel hinting method needs to be presented as a debconf option, or at least documented in some /etc/fonts/conf.avail file.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.