summaryrefslogtreecommitdiff
path: root/pango/pangocairo-atsuifont.c
diff options
context:
space:
mode:
authorRichard Hult <richard@imendio.com>2007-03-18 14:07:42 +0000
committerRichard Hult <rhult@src.gnome.org>2007-03-18 14:07:42 +0000
commit27004a4dace9d39dc2efb75151e6b3970b3ff66d (patch)
tree723d366f74abb3a2bebe718b1cc0a980563c2b0d /pango/pangocairo-atsuifont.c
parentc11e021943ea586376b2a228f6fef9c2613e9561 (diff)
downloadpango-27004a4dace9d39dc2efb75151e6b3970b3ff66d.tar.gz
Bug 419262 - Don't create coverage every time it's asked for
2007-03-18 Richard Hult <richard@imendio.com> Bug 419262 - Don't create coverage every time it's asked for * pango/pangoatsui.c: (pango_atsui_font_get_coverage): * pango/pangoatsui-fontmap.c: Pass around a PangoATSUIFace instead of the postscript name string. Move the coverage creation from the font to the face, and get the coverage from the face instead of creating it every time. * pango/pangocairo-atsui.h: * pango/pangocairo-atsuifont.c: (_pango_cairo_atsui_font_new): Use the face instead of the postscript name. * pango/pangoatsui-private.h: * pango/pangocairo-atsuifontmap.c: Add getters for the postscript name and coverage for the face. svn path=/trunk/; revision=2218
Diffstat (limited to 'pango/pangocairo-atsuifont.c')
-rw-r--r--pango/pangocairo-atsuifont.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/pango/pangocairo-atsuifont.c b/pango/pangocairo-atsuifont.c
index 72130e41..ce00ca10 100644
--- a/pango/pangocairo-atsuifont.c
+++ b/pango/pangocairo-atsuifont.c
@@ -2,7 +2,7 @@
* pangocairo-atsuifont.c
*
* Copyright (C) 2000-2005 Red Hat Software
- * Copyright (C) 2005 Imendio AB
+ * Copyright (C) 2005-2007 Imendio AB
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -263,9 +263,10 @@ pango_cairo_atsui_font_init (PangoCairoATSUIFont *cafont)
PangoATSUIFont *
_pango_cairo_atsui_font_new (PangoCairoATSUIFontMap *cafontmap,
PangoContext *context,
- const char *postscript_name,
+ PangoATSUIFace *face,
const PangoFontDescription *desc)
{
+ const char *postscript_name;
PangoCairoATSUIFont *cafont;
PangoATSUIFont *afont;
CFStringRef cfstr;
@@ -273,6 +274,7 @@ _pango_cairo_atsui_font_new (PangoCairoATSUIFontMap *cafontmap,
const PangoMatrix *pango_ctm;
ATSUFontID font_id;
+ postscript_name = _pango_atsui_face_get_postscript_name (face);
cfstr = CFStringCreateWithCString (NULL, postscript_name,
kCFStringEncodingUTF8);
@@ -288,7 +290,7 @@ _pango_cairo_atsui_font_new (PangoCairoATSUIFontMap *cafontmap,
afont = PANGO_ATSUI_FONT (cafont);
afont->desc = pango_font_description_copy (desc);
- afont->postscript_name = g_strdup (postscript_name);
+ afont->face = face;
cafont->size = (double) pango_font_description_get_size (desc) / PANGO_SCALE;
cafont->font_id = font_id;