diff options
author | Matthias Clasen <mclasen@redhat.com> | 2021-08-31 18:28:22 +0000 |
---|---|---|
committer | Matthias Clasen <mclasen@redhat.com> | 2021-08-31 18:28:22 +0000 |
commit | 2555d464361e96542ec9d9b2383e7ec0fe42dad3 (patch) | |
tree | 56a9a1db51f66913be9629a0d59cc420476cd244 /pango | |
parent | 75bb4625c400979981f16377b9ae7dfaad540bd3 (diff) | |
parent | 01b028153ecd8e8398d578765de20421f8a0801a (diff) | |
download | pango-2555d464361e96542ec9d9b2383e7ec0fe42dad3.tar.gz |
Merge branch 'coretext-font-describe' into 'main'
coretext: Set size on font descriptions
Closes #610
See merge request GNOME/pango!464
Diffstat (limited to 'pango')
-rw-r--r-- | pango/pangocoretext-fontmap.c | 7 | ||||
-rw-r--r-- | pango/pangocoretext.c | 7 |
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 * |