Commit e091ce35ff6e2e29d6a85f1401d4f25ce609b06b

David Turner 2006-03-20T16:01:28

* src/autofit/aflatin.c (af_latin_hints_init): disable horizontal hinting for italic/oblique fonts

diff --git a/ChangeLog b/ChangeLog
index c6fa5aa..94ce302 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
 2006-03-20 David Turner  <david@freetype.org>
 
+    * src/autofit/aflatin.c (af_latin_hints_init):
+      disable horizontal hinting for italic/oblique fonts
+
     * builds/win32/visualc/freetype.dsp: updating the project file, adding
     missing base source files (e.g. ftstroke.c, ftxf86.c, etc...)
 
diff --git a/src/autofit/aflatin.c b/src/autofit/aflatin.c
index 94108df..335d23d 100644
--- a/src/autofit/aflatin.c
+++ b/src/autofit/aflatin.c
@@ -1312,6 +1312,7 @@
   {
     FT_Render_Mode  mode;
     FT_UInt32       scaler_flags, other_flags;
+    FT_Face         face = metrics->root.scaler.face;
 
 
     af_glyph_hints_rescale( hints, (AF_ScriptMetrics)metrics );
@@ -1363,8 +1364,10 @@
 
     /*
      *  In `light' hinting mode we disable horizontal hinting completely.
+     *  we also do it if the face is italic
      */
-    if ( mode == FT_RENDER_MODE_LIGHT )
+    if ( mode == FT_RENDER_MODE_LIGHT                    ||
+         (face->style_flags & FT_STYLE_FLAG_ITALIC) != 0 )
       scaler_flags |= AF_SCALER_FLAG_NO_HORIZONTAL;
 
     hints->scaler_flags = scaler_flags;