diff options
Diffstat (limited to 'pango/pangofc-font.c')
-rw-r--r-- | pango/pangofc-font.c | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/pango/pangofc-font.c b/pango/pangofc-font.c index cd063854..2546e663 100644 --- a/pango/pangofc-font.c +++ b/pango/pangofc-font.c @@ -21,6 +21,7 @@ #include "config.h" +#include "pango-font-private.h" #include "pangofc-font-private.h" #include "pangofc-fontmap.h" #include "pangofc-private.h" @@ -69,6 +70,7 @@ static void pango_fc_font_get_features (PangoFont *font, guint len, guint *num_features); static hb_font_t * pango_fc_font_create_hb_font (PangoFont *font); +static PangoLanguage ** _pango_fc_font_get_languages (PangoFont *font); #define PANGO_FC_FONT_LOCK_FACE(font) (PANGO_FC_FONT_GET_CLASS (font)->lock_face (font)) #define PANGO_FC_FONT_UNLOCK_FACE(font) (PANGO_FC_FONT_GET_CLASS (font)->unlock_face (font)) @@ -81,6 +83,7 @@ pango_fc_font_class_init (PangoFcFontClass *class) { GObjectClass *object_class = G_OBJECT_CLASS (class); PangoFontClass *font_class = PANGO_FONT_CLASS (class); + PangoFontClassPrivate *pclass; class->has_char = pango_fc_font_real_has_char; class->get_glyph = pango_fc_font_real_get_glyph; @@ -98,6 +101,10 @@ pango_fc_font_class_init (PangoFcFontClass *class) font_class->create_hb_font = pango_fc_font_create_hb_font; font_class->get_features = pango_fc_font_get_features; + pclass = g_type_class_get_private ((GTypeClass *) class, PANGO_TYPE_FONT); + + pclass->get_languages = _pango_fc_font_get_languages; + /** * PangoFcFont:pattern: * @@ -1046,18 +1053,26 @@ done: * array of `PangoLanguage`* * * Since: 1.48 + * Deprecated: 1.50: Use pango_font_get_language() */ PangoLanguage ** pango_fc_font_get_languages (PangoFcFont *font) { + return pango_font_get_languages (PANGO_FONT (font)); +} + +static PangoLanguage ** +_pango_fc_font_get_languages (PangoFont *font) +{ + PangoFcFont * fcfont = PANGO_FC_FONT (font); PangoFcFontMap *fontmap; PangoLanguage **languages; - fontmap = g_weak_ref_get ((GWeakRef *) &font->fontmap); + fontmap = g_weak_ref_get ((GWeakRef *) &fcfont->fontmap); if (!fontmap) return NULL; - languages = _pango_fc_font_map_get_languages (fontmap, font); + languages = _pango_fc_font_map_get_languages (fontmap, fcfont); g_object_unref (fontmap); return languages; |