diff options
author | Owen Taylor <otaylor@redhat.com> | 2005-06-14 17:41:17 +0000 |
---|---|---|
committer | Owen Taylor <otaylor@src.gnome.org> | 2005-06-14 17:41:17 +0000 |
commit | 8670c597a1a6b8f3332a35ed646fc06d13aaa7af (patch) | |
tree | 12ad6e837093acd38e482d9a75823318cba58e8c /pango/pangocairo-fcfontmap.c | |
parent | ce168dd2b934b3375dbc0cef2e9fbe0ec3b37e8b (diff) | |
download | pango-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.c | 9 |
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; } |