shithub: freetype+ttf2subf

Download patch

ref: e7b013044e18d7942af9d529a83d7fbb2d1da756
parent: bb6c037bae83131c37c6255db7bdd8880047a6d5
author: Alexei Podtelezhnikov <[email protected]>
date: Sun Apr 2 18:01:47 EDT 2017

[autofit] Disable metrics adjustment for `FT_LOAD_TARGET_LCD'.

* src/autofit/aflatin.c (af_latin_hints_init): Updated.
* src/autofit/aflatin2.c (af_latin2_hints_init): Ditto.

git/fs: mount .git/fs: mount/attach disallowed
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2017-04-02  Alexei Podtelezhnikov  <[email protected]>
+
+	[autofit] Disable metrics adjustment for `FT_LOAD_TARGET_LCD'.
+
+	* src/autofit/aflatin.c (af_latin_hints_init): Updated.
+	* src/autofit/aflatin2.c (af_latin2_hints_init): Ditto.
+
 2017-04-01  Werner Lemberg  <[email protected]>
 
 	* src/truetype/ttgload.c: Include FT_CONFIG_CONFIG_H.
--- a/src/autofit/aflatin.c
+++ b/src/autofit/aflatin.c
@@ -2584,14 +2584,14 @@
       other_flags |= AF_LATIN_HINTS_MONO;
 
     /*
-     *  In `light' hinting mode we disable horizontal hinting completely.
+     *  In `light' or `lcd' mode we disable horizontal hinting completely.
      *  We also do it if the face is italic.
      *
      *  However, if warping is enabled (which only works in `light' hinting
      *  mode), advance widths get adjusted, too.
      */
-    if ( mode == FT_RENDER_MODE_LIGHT                      ||
-         ( face->style_flags & FT_STYLE_FLAG_ITALIC ) != 0 )
+    if ( mode == FT_RENDER_MODE_LIGHT || mode == FT_RENDER_MODE_LCD ||
+         ( face->style_flags & FT_STYLE_FLAG_ITALIC ) != 0          )
       scaler_flags |= AF_SCALER_FLAG_NO_HORIZONTAL;
 
 #ifdef AF_CONFIG_OPTION_USE_WARPER
--- a/src/autofit/aflatin2.c
+++ b/src/autofit/aflatin2.c
@@ -1567,11 +1567,11 @@
       other_flags |= AF_LATIN_HINTS_MONO;
 
     /*
-     *  In `light' hinting mode we disable horizontal hinting completely.
+     *  In `light' or `lcd' mode we disable horizontal hinting completely.
      *  We also do it if the face is italic.
      */
-    if ( mode == FT_RENDER_MODE_LIGHT                      ||
-         ( face->style_flags & FT_STYLE_FLAG_ITALIC ) != 0 )
+    if ( mode == FT_RENDER_MODE_LIGHT || mode == FT_RENDER_MODE_LCD ||
+         ( face->style_flags & FT_STYLE_FLAG_ITALIC ) != 0          )
       scaler_flags |= AF_SCALER_FLAG_NO_HORIZONTAL;
 
 #ifdef AF_CONFIG_OPTION_USE_WARPER