[cairo] Write ups on Microsoft Avalon

Andrew Johnson acjgenius at earthlink.net
Tue May 18 19:13:47 PDT 2004


On Tue, 2004-05-18 at 21:08, Øyvind Kolås wrote:
> * Andrew Johnson <acjgenius at earthlink.net> [040519 01:25]:
> > And don't forget general widgets appearance - edges, toolbar/menu
> > spacers etc, not only would thicker lines be undesirable but would look
> > distorted, dependant on theme for example, because edges are not just
> > one line, but usually a composite of multiple side-by-side one pixel
> > lines to create a specific appearance, and the theme itself often
> > decides how this will look(aka not code that can be "fixed").
> > 
> > Also on the issue of turning off AA, there are places where it would be
> > desirable for specific appearances, or to be able to disable on a
> > situational basis esp again, for non-diagonal lines, like in the same
> > issue as above, for certain aspects of widget drawing, in some
> > situations AA might be desirable on edges, in others it might not,
> 
> Aliasing is something we don't want, we counter it with antialiasing, 

What aliasing? I am talking specifically about purely vertical and
horizontal lines in GUI. With Curves and Diagonals of course I probably
want AA in 99% of situations, but even then its not a given. This may
sound silly, but what if I _want_ a theme that is reminiscent of the old
days of non-AA, what if I _want_ to have blocky lines and curves.
Usually desirable, no, but who are you too say that I shouldn't be
allowed to have such a thing if I want it? In theming there is a fine
line between making sure the user can have what they want, and making
sure they can only have what is "best".

Sometimes as has been pointed out, some fonts actually look better
without AA at some sizes, and as such it is possible to turn it off for
them via a config, moreover in GNOME for example it is possible to
change according to user preferences what the DPI and AA hinter settings
are. And in fact the other major drawing engines, GDI, Quartz, DPS,
support ways of turning off AA and have multiple exceptions to AA
dependent on various properties and scenarios. There are multiple
reasons, but using AA when there is not any aliasing to begin with,
dependant on situation, can make things LESS clear, and as such
presuming that we should always AA regardless is in my opinion just as
bad as presuming we should never AA. You don't need to work around a
problem that isn't there.

AA should be the default, I agree, turning it off should be the
exception, but the capability still needs to be there.

Andrew





More information about the cairo mailing list