I tried to find out why this "colored" subpixel antialising is not working although**** patents!Hours, and days digging in the code for font rendering with cairo.
all option settings are set (in cairo) and in the source code of cairo the FT_SetLCDFilter
call is really used! But the output does is just the same as with CAIRO_ANTIALIAS_GRAY,
... until I found THIS in the freetype config:/* Uncomment the line below if you want to activate sub-pixel rendering */ /* (a.k.a. LCD rendering, or ClearType) in this build of the library. */ /* */ /* Note that this feature is covered by several Microsoft patents */ /* and should not be activated in any default build of the library. */ /* */ /* This macro has no impact on the FreeType API, only on its */ /* _implementation_. For example, using FT_RENDER_MODE_LCD when calling */ /* FT_Render_Glyph still generates a bitmap that is 3 times wider than */ /* the original size in case this macro isn't defined; however, each */ /* triplet of subpixels has R=G=B. */ARGH!It still does not look as good as with the pharos freetypeplugin, but AT LEAST it looks
equally on windows and linux , yeh.attached are three screenshots comparing
the different athens drawings with the freetypepluginathens on linux vs ftplugin
athens on windows vs ftpluginathens on windows with enabled FT_CONFIG_SUBPIXEL_RENDERING vs ftplugin2015-01-31 10:18 GMT+01:00 stepharo <stepharo@free.fr>:
In athens, there are "hints" you can set. (CairoFontOptions/hintMetricsOff/hintMetricsOn/hintStyleFull ....)
I played a bit with different settings. Changing this settings change the output, but I can not get it to look
like with the freetype plugin. I understand that this can not look equally, because the FreeTypePlugin and caire work differently,
��but the athens result looks bad compared with the other one.
��- Pixel fitting. (The aliasing going on at the top of characters) Put Hinting: None in FreeType advanced features, and you will probably see something similar to the Athens rendering.
Yes, we can change the freetypeplugin setting and cairofontoption setting to make the output look equally - ugly :)
Nicolai
Igor explained to me that FreeType offers a degenerated mode that when the font does have the information for bold, kerning,....
computes a "guessed and approximated" default. Cairo does not offer this api else Athens would use it.
So what would be interesting is to test using font having all the information to see if Cairo display well the fonts.
Stef