[cairo] Sub-pixel Font Filtering in 1.10
Freddie Witherden
freddie at witherden.org
Fri Jan 15 15:22:07 PST 2010
On Friday 15 January 2010 22:55:50 Carl Worth wrote:
> On Fri, 15 Jan 2010 14:20:19 -0800, Keith Packard <keithp at keithp.com> wrote:
> > What you don't want to do is mix two different rasterization techniques
> > on the screen at the same time. That's like mixing anti-aliased and
> > non-antialiased text; the eye is distracted by the jarring differences,
> > making reading much more difficult.
>
> This is an important point.
Absolutely. Consistency is paramount and am glad that there appears to be a
consensus on this!
An interesting anecdote regarding consistency happened to me some weeks back.
I was viewing a page in Firefox and noticed that small monospaced text (DejaVu
Mono) appeared somehow different to that of everything else. After quite a lot
of digging I found that when I had applied the Ubuntu patches to my Debian
copy of Fontconfig I had brought along a rule which enabled the legacy (intra-
pixel, hope I've got it right this time) filter for small point size
DejaVu/Bitstream Mono. Now, the text did not look bad; just different. This
difference was distracting -- enough to divert my attention for 20 minutes or
so to track it down.
> Opinions of software developers and theoretical correctness mean
> absolutely nothing when a minority of the text on the display is
> rendered differently than everything around it. The difference is quite
> noticeable and the rendering in the minority will almost always appear
> "wrong".
Indeed and it appears as if things are only getting worse. We've got OpenType
fonts coming from all directions -- many with PS outlines and no hinting --
SVG fonts -- again with no hinting instructions -- PDF/PS documents where
certain kinds of hinting are unsuitable and finally WOFF (web fonts, FF 3.6)
and who knows what they will have.
If there exists a consensus on consistency then it is only a small step to
conclude that only methods which are universally suitable in all
situations/scenarios can obtain consistency. This is why I argue in favour of
auto-hinting and FIR-type filters: they *always* work. (And I suspect this is
why Apple and Microsoft are moving/have moved in this direction.)
> And that's perhaps another good point to justify cairo respecting any
> system configuration (such as in fontconfig). It also (again) argues and
> API in cairo to tweak things, as that would simply allow an application
> to look "different" than everything around it.
I am mostly okay with tweaks so long as they have a physical significance.
Disabling hinting, for example, allows for freely scalable text, disabling
sub-pixel rendering allows for a surface to be printed/used on the web. As an
aside it is worth noting that Qt provides virtually no control whatsoever over
hinting &c, you just get what Fontconfig specifies, --- a decision which has
caused its own share of problems.
Polemically yours, Freddie.
More information about the cairo
mailing list