<div dir="ltr">Carl,<div><br></div><div>the problem is veyr probably that you have a FreeType installation that doesn&#39;t</div><div>support sub-pixel filtering, just like the default sources do.</div><div><br></div><div>
for the record, here&#39;s how this works in FreeType currently:</div><div><br></div><div>- FreeType provides APIs that allow you to generate RGB decimated images</div><div>&nbsp;&nbsp;as well as filter them with different algorithms. These APIs are available on</div>
<div>&nbsp;&nbsp;*all* builds of FreeType</div><div><br></div><div>- However, due to patents, the default build will ensure that all RGB</div><div>&nbsp;&nbsp;images returned by the library obey the condition R=G=B, i.e. that the</div><div>&nbsp;&nbsp;images are grayscale even when displayed through a &quot;LCD&quot; composite</div>
<div>&nbsp;&nbsp;operation.</div><div><br></div><div>- You can manually change one configuration to change this in the build</div><div>&nbsp;&nbsp;(FT_CONFIG_OPTION_SUBPIXEL_RENDERING in include/freetype/config/ftoption.h)</div><div>&nbsp;&nbsp;to override this limitation.</div>
<div><br></div><div>The idea is that clients of the library should assume that they can get the</div><div>proper RGB glyphs and compose them through their favorite RGB-enabled</div><div>graphics library. Even if they do that, their code will not be infringing with a</div>
<div>default build of FreeType since&nbsp;technically it&#39;s still drawing grayscale images.</div><div><br></div><div>I suggest that you rebuild FreeType on your system with the FT_CONFIG_OPTION_SUBPIXEL_RENDERING option enabled and see if this changes anything.</div>
<div><br></div><div>As for the state of the code, I&#39;m sorry if it&#39;s not crystal clear; it&#39;s been written a very long time ago :-)</div><div><br></div><div>Hope this helps</div><div><br></div><div>- David</div>
<div><br></div><div><br><br><div class="gmail_quote">2008/9/25 Carl Worth <span dir="ltr">&lt;<a href="mailto:cworth@cworth.org">cworth@cworth.org</a>&gt;</span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
So I stayed up all night trying to get the 1.8 release done.<br>
<br>
The test suite was in pretty bad shape as of the last 1.7.6 snapshot.<br>
There were dozens of failing tests, and the causes were all over the<br>
place:<br>
<br>
* Stale reference images needing to be updated<br>
<br>
* Known bugs that needed to be marked as XFAIL<br>
<br>
* New regressions that needed to be fixed<br>
<br>
It was pretty tedious work sorting through all that, and for the ones<br>
that were actual regressions we had to actually fix the bugs too. Thanks<br>
to Behdad, Chris, Emmanuel, and Adrian for helping out with that<br>
process.<br>
<br>
The final result I got to was a single test not passing, (I<br>
intentionally wasn&#39;t testing xlib to avoid X server/driver issues):<br>
<br>
 &nbsp; &nbsp; &nbsp; &nbsp;text-antialias-subixel<br>
<br>
And this one is a regression. It&#39;s giving me grayscale antialiasing<br>
instead of subpixel on image and other backends. The text passes fine<br>
back in <a href="http://1.6.4." target="_blank">1.6.4.</a><br>
<br>
I bisected the failure down to this large commit:<br>
<br>
 &nbsp;commit 7f870035177da7aa63fa33dce837528f442d9ffe<br>
 &nbsp;Author: Sylvain Pasche &lt;<a href="mailto:sylvain.pasche@gmail.com">sylvain.pasche@gmail.com</a>&gt;<br>
 &nbsp;Date: &nbsp; Tue Jan 22 23:51:32 2008 +0100<br>
<br>
 &nbsp; &nbsp;[cairo-ft] LCD filtering patch from David Turner<br>
<br>
 &nbsp; &nbsp;This is the patch David Turner wrote some times ago and can be found on<br>
 &nbsp; &nbsp;<a href="http://david.freetype.org/lcd/cairo-1.2.4-lcd-filter-1.patch" target="_blank">http://david.freetype.org/lcd/cairo-1.2.4-lcd-filter-1.patch</a>. It was<br>
 &nbsp; &nbsp;somewhat modified for compatibility with cairo 1.5<br>
<br>
I spent a fair amount of time trying to debug this, but never succeeded.<br>
So now I&#39;d like some suggestions on how to proceed. One option is to<br>
revert the patch, (it broke an existing test in the test suite after<br>
all). I&#39;ve got a patch in my personal repository, (revert-lcd-filter<br>
branch), that does this and which seems to work:<br>
<br>
 &nbsp; &nbsp;<a href="http://cgit.freedesktop.org/~cworth/cairo/log/?h=revert-lcd-filter" target="_blank">http://cgit.freedesktop.org/~cworth/cairo/log/?h=revert-lcd-filter</a><br>
<br>
But meanwhile, I know that some users were particularly keen on being<br>
able to control, (via fontconfig), the various LCD filter options made<br>
available by freetype. And reverting this patch would remove that<br>
possibility.<br>
<br>
Behdad, do you have some guidance here? Can you fix the code so that the<br>
test suite works? Or shall we just go ahead with the revert and bring<br>
back the LCD filter functionality in 1.8.2 or so? I know you were hoping<br>
to wake up and see that the release had already happened. Sorry that<br>
didn&#39;t happen, but this is really the last issue left.<br>
<br>
-Carl (overdue for sleep)<br>
<br>
<br>
_______________________________________________<br>
cairo mailing list<br>
<a href="mailto:cairo@cairographics.org">cairo@cairographics.org</a><br>
<a href="http://lists.cairographics.org/mailman/listinfo/cairo" target="_blank">http://lists.cairographics.org/mailman/listinfo/cairo</a><br>
</blockquote></div><br></div></div>