Correct unexpected hinting fonts
authorJUN FANG <jun_fang@foxitsoftware.com>
Tue, 9 Jun 2015 23:28:53 +0000 (16:28 -0700)
committerJUN FANG <jun_fang@foxitsoftware.com>
Tue, 9 Jun 2015 23:28:53 +0000 (16:28 -0700)
If the font is 'tricky', it needs to be hinted by default according to the description in freetype.

BUG=490814
R=tsepez@chromium.org

Review URL: https://codereview.chromium.org/1170313003

core/src/fxge/ge/fx_ge_text.cpp

index 0d9e985..5412b29 100644 (file)
@@ -1622,7 +1622,11 @@ CFX_PathData* CFX_Font::LoadGlyphPath(FX_DWORD glyph_index, int dest_width)
         }
     }
     FXFT_Set_Transform(m_Face, &ft_matrix, 0);
-    int load_flags = (m_Face->face_flags & FT_FACE_FLAG_SFNT) ? FXFT_LOAD_NO_BITMAP : FXFT_LOAD_NO_BITMAP | FT_LOAD_NO_HINTING;
+    int load_flags = FXFT_LOAD_NO_BITMAP;
+    if (!(m_Face->face_flags & FT_FACE_FLAG_SFNT) || !FT_IS_TRICKY(m_Face)) {
+        load_flags |= FT_LOAD_NO_HINTING;
+    }
+          
     int error = FXFT_Load_Glyph(m_Face, glyph_index, load_flags);
     if (error) {
         return NULL;