summaryrefslogtreecommitdiff
path: root/pango
diff options
context:
space:
mode:
Diffstat (limited to 'pango')
-rw-r--r--pango/pangocoretext-fontmap.c7
-rw-r--r--pango/pangocoretext.c7
2 files changed, 12 insertions, 2 deletions
diff --git a/pango/pangocoretext-fontmap.c b/pango/pangocoretext-fontmap.c
index 0980303b..3d8544c6 100644
--- a/pango/pangocoretext-fontmap.c
+++ b/pango/pangocoretext-fontmap.c
@@ -407,6 +407,8 @@ _pango_core_text_font_description_from_ct_font_descriptor (CTFontDescriptorRef d
char *family_name;
char *style_name;
PangoFontDescription *font_desc;
+ CFNumberRef cf_number;
+ CGFloat pointsize;
font_desc = pango_font_description_new ();
@@ -419,6 +421,11 @@ _pango_core_text_font_description_from_ct_font_descriptor (CTFontDescriptorRef d
pango_font_description_set_family (font_desc, family_name);
g_free (family_name);
+ /* Size (if we have one) */
+ cf_number = CTFontDescriptorCopyAttribute (desc, kCTFontSizeAttribute);
+ if (cf_number != NULL && CFNumberGetValue (cf_number, kCFNumberCGFloatType, &pointsize))
+ pango_font_description_set_size (font_desc, (pointsize / (96./72.)) * 1024);
+
/* Weight */
pango_font_description_set_weight (font_desc,
ct_font_descriptor_get_weight (desc));
diff --git a/pango/pangocoretext.c b/pango/pangocoretext.c
index ccb3f674..25358cac 100644
--- a/pango/pangocoretext.c
+++ b/pango/pangocoretext.c
@@ -64,10 +64,13 @@ pango_core_text_font_describe (PangoFont *font)
PangoCoreTextFont *ctfont = (PangoCoreTextFont *)font;
PangoCoreTextFontPrivate *priv = ctfont->priv;
CTFontDescriptorRef ctfontdesc;
+ PangoFontDescription *desc;
- ctfontdesc = pango_core_text_font_key_get_ctfontdescriptor (priv->key);
+ ctfontdesc = CTFontCopyFontDescriptor (priv->font_ref);
+ desc = _pango_core_text_font_description_from_ct_font_descriptor (ctfontdesc);
+ CFRelease (ctfontdesc);
- return _pango_core_text_font_description_from_ct_font_descriptor (ctfontdesc);
+ return desc;
}
static PangoCoverage *