diff -ur pango-1.2.2/pango/pangoft2.c pango-1.2.2.slighthint/pango/pangoft2.c --- pango-1.2.2/pango/pangoft2.c 2003-05-30 00:34:36.000000000 +0200 +++ pango-1.2.2.slighthint/pango/pangoft2.c 2003-06-02 18:09:37.000000000 +0200 @@ -210,6 +210,7 @@ FcPattern *pattern; FcChar8 *filename; FcBool antialias, hinting, autohint; + int hintstyle; int id; pattern = ft2font->font_pattern; @@ -233,8 +234,21 @@ FC_HINTING, 0, &hinting) != FcResultMatch) hinting = FcTrue; - if (!hinting) - ft2font->load_flags |= FT_LOAD_NO_HINTING; + if (FcPatternGetInteger (pattern, FC_HINT_STYLE, 0, &hintstyle) != FcResultMatch) + hintstyle = FC_HINT_FULL; + + if (!hinting || hintstyle == FC_HINT_NONE) + ft2font->load_flags |= FT_LOAD_NO_HINTING; + + switch (hintstyle) { + case FC_HINT_SLIGHT: + case FC_HINT_MEDIUM: + ft2font->load_flags |= FT_LOAD_TARGET_LIGHT; + break; + default: + ft2font->load_flags |= FT_LOAD_TARGET_NORMAL; + break; + } /* force autohinting if requested */ if (FcPatternGetBool (pattern,