[PATCH 1/2] gdi32: Support the subpixel rendering for FreeType >= 2.8.1 .

Huw Davies huw at codeweavers.com
Mon Oct 8 03:49:32 CDT 2018


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 at 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 at 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.



More information about the wine-devel mailing list