summaryrefslogtreecommitdiff
path: root/pango/pangocairo-fcfontmap.c
diff options
context:
space:
mode:
authorOwen Taylor <otaylor@redhat.com>2005-06-14 17:41:17 +0000
committerOwen Taylor <otaylor@src.gnome.org>2005-06-14 17:41:17 +0000
commit8670c597a1a6b8f3332a35ed646fc06d13aaa7af (patch)
tree12ad6e837093acd38e482d9a75823318cba58e8c /pango/pangocairo-fcfontmap.c
parentce168dd2b934b3375dbc0cef2e9fbe0ec3b37e8b (diff)
downloadpango-8670c597a1a6b8f3332a35ed646fc06d13aaa7af.tar.gz
Add a new context_substitute() virtual function that replaces
2005-05-17 Owen Taylor <otaylor@redhat.com> * pango/pangofc-fontmap.[ch]: Add a new context_substitute() virtual function that replaces default_substitute() and adds a PangoContext argument. * pango/pangocairo.h pango/pangocairo-fontmap.c docs/pango-sections.txt: Add pango_cairo_context_set/get_hinting() to control hinting on individual contexts. * pango/pangocairo-fcfont.c pango/pangocairo-fcfontmap.c: Implement hinting control for the for the fontconfig/cairo backend.
Diffstat (limited to 'pango/pangocairo-fcfontmap.c')
-rw-r--r--pango/pangocairo-fcfontmap.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/pango/pangocairo-fcfontmap.c b/pango/pangocairo-fcfontmap.c
index a1a107e9..e032c9d5 100644
--- a/pango/pangocairo-fcfontmap.c
+++ b/pango/pangocairo-fcfontmap.c
@@ -86,7 +86,8 @@ pango_cairo_fc_font_map_finalize (GObject *object)
}
static void
-pango_cairo_fc_font_map_default_substitute (PangoFcFontMap *fcfontmap,
+pango_cairo_fc_font_map_context_substitute (PangoFcFontMap *fcfontmap,
+ PangoContext *context,
FcPattern *pattern)
{
PangoCairoFcFontMap *cffontmap = PANGO_CAIRO_FC_FONT_MAP (fcfontmap);
@@ -96,6 +97,10 @@ pango_cairo_fc_font_map_default_substitute (PangoFcFontMap *fcfontmap,
if (FcPatternGet (pattern, FC_DPI, 0, &v) == FcResultNoMatch)
FcPatternAddDouble (pattern, FC_DPI, cffontmap->dpi);
+
+ if (!pango_cairo_context_get_hinting (context))
+ FcPatternAddBool (pattern, FC_HINTING, FcFalse);
+
FcDefaultSubstitute (pattern);
}
@@ -128,7 +133,7 @@ pango_cairo_fc_font_map_class_init (PangoCairoFcFontMapClass *class)
PangoFcFontMapClass *fcfontmap_class = PANGO_FC_FONT_MAP_CLASS (class);
gobject_class->finalize = pango_cairo_fc_font_map_finalize;
- fcfontmap_class->default_substitute = pango_cairo_fc_font_map_default_substitute;
+ fcfontmap_class->context_substitute = pango_cairo_fc_font_map_context_substitute;
fcfontmap_class->get_render_key = pango_cairo_fc_font_map_get_render_key;
fcfontmap_class->create_font = pango_cairo_fc_font_map_create_font;
}