On Fri, Oct 05, 2018 at 11:47:08PM +0900, Byeongsik Jeon wrote:
On Fri, 5 Oct 2018 16:52:27 +0300, Nikolay Sivov nsivov@codeweavers.com wrote:
On 10/05/2018 01:49 PM, Byeongsik Jeon wrote:
On Fri, 5 Oct 2018 09:39:53 +0300, Nikolay Sivov nsivov@codeweavers.com wrote:> On 10/04/2018 03:17 PM, Byeongsik Jeon wrote:
FreeType >= 2.8.1 support LCD-optimized rendering without LCD filters. It works regardless of FT_Err_Unimplemented_Feature check.
Could you explain why does this make a difference? I'd expect FT_Library_SetLcdFilter to be still functional in 2.8.1+, also how is this new rendering mode is enabled?
Officially, FreeType says it has implemented its own subpixel rendering technology, aka Harmony. Now you can get subpixel rendered bitmaps even if you no longer activate FT_CONFIG_OPTION_SUBPIXEL_RENDERING. It's the default.
In this state, FT_Library_SetLcdFilter only includes "return FT_Err_Unimplemed_Feature;". Therefore, FT_Err_Uniplemented_Feature check is not the reliable way.
Because of programs that have not yet been updated like Wine now, the distribution packager may have deliberately activated FT_CONFIG_OPTION_SUBPIXEL_RENDERING. However, I think it is better not to use the function that FreeType intends to avoid.
Subpixel rendering is done by simply giving the suitable option to FT_Render_Glyph() or FT_Load_Glyph().
But FT_Library_SetLcdFilter still works if FT_CONFIG_OPTION_SUBPIXEL_RENDERING is enabled, right? It seems to me that we should keep checking for that first.
OK. I think I put my personal opinion in the patch. It can be eliminated by removing the version check inside GetGlyphOutline().
Should I send a modified patch?
Yes please.
Huw.