Comment 76 for bug 145604

Revision history for this message
In , Carl Worth (cworth) wrote :

(In reply to comment #57)
> Hello Gentlemen,

Hi Nicolaus,

> With the recent release of 1.8.0, all of the lcd_filter checks back into
> fontconfig and Xft have been removed. For me, this is a (rather tremendous)
> regression in usability.

Yeah, sorry about that. I know that some people really wanted these new filtering options, and it had always been my intent that they be present in 1.8.0. It was just that I didn't notice until *very* late in the release cycle that I couldn't accept how this had been implemented.

> I would like this bug to be reopened so that the
> re-addition of the code can be followed.

Done. (Did the bugzilla interface not allow you to re-open it yourself? I'd generally prefer people just throw the switches they want in bugs, rather than asking for others to throw them.)

> Providing redundant (and inferior*) functionality in cairo again might once again
> jeopardize the stack.

No debates on patents, please. That's not cairo's concern.

> I would appreciate public updates on the debate around lcd_filtering ability,

It seems easy to me. Just use the freetype APIs if they are present *and* they are actually functional, (not the "you asked for subpixel, but I'll give you gray" thing). And if not, use the code that's already in cairo.

We should even be able to make a change like that for a minor release, (1.8.2 or 1.8.4).

> If you need anything from me, or would like to see some involvement from me,
> just ask.

Just need somebody to code that up.

> * I do apologize to whomever made cairo's filter in the first place, but in my
> opinion it _is_ inferior to freetype's filters

Well, it's really just a matter of what assumptions it was coded against.

> -- the current pixel-clipping
> code in cairo lcd filtering results in yellow-blue halos that are quite evident
> to me on any screen I've used.

The filters in cairo were written with the assumption of strong hinting. And with that hinting, I still haven't seen any better filters, (freetype provides a "LEGACY" filter that's supposed to be similar---it's not identical but I don't know if one or the other would be "better" in my opinion). I do agree that there are really bad color fringes if you use this filtered sub-pixel rendering without good hinting. I think "just don't do that" would be that reaction of the original filter's author. :-)

So that's not to disagree with you at all, just to explain how this code actually can function quite well.

-Carl