From 54b58097ee7dd8bf8db5dc0c925ad220e5770f8c Mon Sep 17 00:00:00 2001 From: Alexei Podtelezhnikov Date: Fri, 31 Mar 2017 22:41:53 -0400 Subject: [PATCH] [autofit] Disable stem adjustment for `FT_LOAD_TARGET_LCD'. * include/freetype/freetype.h (FT_LOAD_TARGET_LCD): Document it. * src/autofit/afcjk.c (af_cjk_hints_init): Updated. * src/autofit/aflatin.c (af_latin_hints_init): Ditto. * src/autofit/aflatin2.c (af_latin2_hints_init): Ditto. --- ChangeLog | 9 +++++++++ include/freetype/freetype.h | 2 +- src/autofit/afcjk.c | 4 ++-- src/autofit/aflatin.c | 4 ++-- src/autofit/aflatin2.c | 4 ++-- 5 files changed, 16 insertions(+), 7 deletions(-) diff --git a/ChangeLog b/ChangeLog index f0e7a9b23..e23f5a0c3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2017-03-31 Alexei Podtelezhnikov + + [autofit] Disable stem adjustment for `FT_LOAD_TARGET_LCD'. + + * include/freetype/freetype.h (FT_LOAD_TARGET_LCD): Document it. + * src/autofit/afcjk.c (af_cjk_hints_init): Updated. + * src/autofit/aflatin.c (af_latin_hints_init): Ditto. + * src/autofit/aflatin2.c (af_latin2_hints_init): Ditto. + 2017-03-31 Werner Lemberg * src/cff/cffload.c (cff_font_load): Improve fix from 2017-01-04. diff --git a/include/freetype/freetype.h b/include/freetype/freetype.h index 7b65e2174..21e2d3131 100644 --- a/include/freetype/freetype.h +++ b/include/freetype/freetype.h @@ -2940,7 +2940,7 @@ FT_BEGIN_HEADER * in non-monochrome modes. * * FT_LOAD_TARGET_LCD :: - * A variant of @FT_LOAD_TARGET_NORMAL optimized for horizontally + * A variant of @FT_LOAD_TARGET_LIGHT optimized for horizontally * decimated LCD displays. * * FT_LOAD_TARGET_LCD_V :: diff --git a/src/autofit/afcjk.c b/src/autofit/afcjk.c index ec05ee4d9..61e29cded 100644 --- a/src/autofit/afcjk.c +++ b/src/autofit/afcjk.c @@ -1398,9 +1398,9 @@ other_flags |= AF_LATIN_HINTS_VERT_SNAP; /* - * We adjust stems to full pixels only if we don't use the `light' mode. + * We adjust stems to full pixels unless in `light' or `lcd' mode. */ - if ( mode != FT_RENDER_MODE_LIGHT ) + if ( mode != FT_RENDER_MODE_LIGHT && mode != FT_RENDER_MODE_LCD ) other_flags |= AF_LATIN_HINTS_STEM_ADJUST; if ( mode == FT_RENDER_MODE_MONO ) diff --git a/src/autofit/aflatin.c b/src/autofit/aflatin.c index b983460d8..1b07b5b6c 100644 --- a/src/autofit/aflatin.c +++ b/src/autofit/aflatin.c @@ -2575,9 +2575,9 @@ other_flags |= AF_LATIN_HINTS_VERT_SNAP; /* - * We adjust stems to full pixels only if we don't use the `light' mode. + * We adjust stems to full pixels unless in `light' or `lcd' mode. */ - if ( mode != FT_RENDER_MODE_LIGHT ) + if ( mode != FT_RENDER_MODE_LIGHT && mode != FT_RENDER_MODE_LCD ) other_flags |= AF_LATIN_HINTS_STEM_ADJUST; if ( mode == FT_RENDER_MODE_MONO ) diff --git a/src/autofit/aflatin2.c b/src/autofit/aflatin2.c index cc2312648..c215f29a7 100644 --- a/src/autofit/aflatin2.c +++ b/src/autofit/aflatin2.c @@ -1558,9 +1558,9 @@ other_flags |= AF_LATIN_HINTS_VERT_SNAP; /* - * We adjust stems to full pixels only if we don't use the `light' mode. + * We adjust stems to full pixels unless in `light' or `lcd' mode. */ - if ( mode != FT_RENDER_MODE_LIGHT ) + if ( mode != FT_RENDER_MODE_LIGHT && mode != FT_RENDER_MODE_LCD ) other_flags |= AF_LATIN_HINTS_STEM_ADJUST; if ( mode == FT_RENDER_MODE_MONO )