summaryrefslogtreecommitdiff
path: root/pango/pangofc-font.c
diff options
context:
space:
mode:
Diffstat (limited to 'pango/pangofc-font.c')
-rw-r--r--pango/pangofc-font.c31
1 files changed, 25 insertions, 6 deletions
diff --git a/pango/pangofc-font.c b/pango/pangofc-font.c
index 882e77e4..fe01a5b7 100644
--- a/pango/pangofc-font.c
+++ b/pango/pangofc-font.c
@@ -37,11 +37,12 @@ enum {
typedef struct _PangoFcFontPrivate PangoFcFontPrivate;
-#define PANGO_FC_FONT_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE ((obj), PANGO_TYPE_FC_FONT, PangoFcFontPrivate))
+#define PANGO_FC_FONT_GET_PRIVATE(obj) ((PangoFcFontPrivate *) ((PangoFcFont *) obj)->priv)
struct _PangoFcFontPrivate
{
PangoFcDecoder *decoder;
+ gpointer context_key;
};
static gboolean pango_fc_font_real_has_char (PangoFcFont *font,
@@ -95,13 +96,15 @@ pango_fc_font_class_init (PangoFcFontClass *class)
"Pattern",
"The fontconfig pattern for this font",
G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY));
-
- g_type_class_add_private (object_class, sizeof (PangoFcFontPrivate));
}
static void
pango_fc_font_init (PangoFcFont *fcfont)
{
+ PangoFcFontPrivate *priv;
+
+ priv = g_new0 (PangoFcFontPrivate, 1);
+ fcfont->priv = priv;
}
static void
@@ -129,6 +132,8 @@ pango_fc_font_finalize (GObject *object)
if (priv->decoder)
_pango_fc_font_set_decoder (fcfont, NULL);
+ g_free (priv);
+
G_OBJECT_CLASS (pango_fc_font_parent_class)->finalize (object);
}
@@ -606,11 +611,8 @@ pango_fc_font_get_glyph (PangoFcFont *font,
{
PangoFcFontPrivate *priv;
- g_return_val_if_fail (PANGO_IS_FC_FONT (font), 0);
-
priv = PANGO_FC_FONT_GET_PRIVATE (font);
-
/* Replace NBSP with a normal space; it should be invariant that
* they shape the same other than breaking properties.
*/
@@ -746,6 +748,23 @@ _pango_fc_font_set_decoder (PangoFcFont *font,
g_object_ref (priv->decoder);
}
+gpointer
+_pango_fc_font_get_context_key (PangoFcFont *fcfont)
+{
+ PangoFcFontPrivate *priv = PANGO_FC_FONT_GET_PRIVATE (fcfont);
+
+ return priv->context_key;
+}
+
+void
+_pango_fc_font_set_context_key (PangoFcFont *fcfont,
+ gpointer context_key)
+{
+ PangoFcFontPrivate *priv = PANGO_FC_FONT_GET_PRIVATE (fcfont);
+
+ priv->context_key = context_key;
+}
+
static FT_Glyph_Metrics *
get_per_char (FT_Face face,
FT_Int32 load_flags,