[haiku-commits] Re: haiku: hrev50931 - src/servers/app/drawing/Painter

  • From: "Adrien Destugues" <pulkomandy@xxxxxxxxxxxxx>
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Fri, 03 Feb 2017 10:38:48 +0000

3 février 2017 10:29 "Julian Harnath" <julian.harnath@xxxxxxxxxxxxxx> a écrit:

Hello,

On 03.02.2017 02:27, waddlesplash@xxxxxxxxx wrote:

----------------------------------------------------------------------------

d10e64f8517d: app_server: Enable the RGB subpixel rendering codepath.


[...]


-#define AVERAGE_BASED_SUBPIXEL_FILTERING
+// Uncommenting the following line will enable the average-based (grayscale)
+// subpixel filter, thus locking RGB subpixel font rendering out of the 
build.
+// Unless you have a subpixel-enabled FreeType, there shouldn't be a 
difference,
+// as FreeType returns the grayscale hinting unless compiled otherwise.
+//#define AVERAGE_BASED_SUBPIXEL_FILTERING

This is not right, the above #define has nothing to do with 
enabling/disabling subpixel rendering
for fonts, it only selects which filtering method to use for the colour 
fringe filter.
Average-based filter does not reduce it to greyscale (see [0] for details).
Simply dropping in a subpixel-enabled freetype library was already enough to 
enable it before this
commit.
So at least the code comment is now wrong, but also, it should be reasoned 
why we'd want this
change.

IIRC, we don't want this average based filter anymore. Freetype has much 
improved its own filters since this was implemented, and we could use their 
default filters now, which are much less subject to color fringes than they 
were back then.

However, we should probably expose a setting to pick between the different 
filters available in Freetype:
https://www.freetype.org/freetype2/docs/reference/ft2-lcd_filtering.html

-- 
Adrien.

Other related posts: