diff options
author | Matthias Clasen <mclasen@redhat.com> | 2021-08-09 11:40:19 +0000 |
---|---|---|
committer | Matthias Clasen <mclasen@redhat.com> | 2021-08-09 11:40:19 +0000 |
commit | 587c159a8b835a84f4ee5ec731052b2dc3c02aee (patch) | |
tree | 4f622868f8a81defd645759e236fd284ca726c4b /pango/pangowin32-fontmap.c | |
parent | 486892cd3e8ecf981b238a420ed1d22fd7abdc7e (diff) | |
parent | a7c882df35d84b1def7322b8d4f837c9f6d24922 (diff) | |
download | pango-587c159a8b835a84f4ee5ec731052b2dc3c02aee.tar.gz |
Merge branch 'win32-fixes' into 'main'
Attempt to fix some Win32-related issues
Closes #583 and #578
See merge request GNOME/pango!399
Diffstat (limited to 'pango/pangowin32-fontmap.c')
-rw-r--r-- | pango/pangowin32-fontmap.c | 22 |
1 files changed, 19 insertions, 3 deletions
diff --git a/pango/pangowin32-fontmap.c b/pango/pangowin32-fontmap.c index b6341f52..200ea9ce 100644 --- a/pango/pangowin32-fontmap.c +++ b/pango/pangowin32-fontmap.c @@ -1037,19 +1037,35 @@ pango_win32_font_map_load_font (PangoFontMap *fontmap, win32family = g_hash_table_lookup (win32fontmap->families, families[i]); if (win32family) { + PangoFontDescription *new_desc; + PangoFontDescription *best_desc = NULL; + PING (("got win32family")); tmp_list = win32family->faces; + while (tmp_list) { PangoWin32Face *face = tmp_list->data; + new_desc = pango_font_face_describe (PANGO_FONT_FACE (face)); + pango_font_description_set_gravity (new_desc, + pango_font_description_get_gravity (description)); if (pango_font_description_better_match (description, - best_match ? best_match->description : NULL, - face->description)) - best_match = face; + best_desc, + new_desc)) + { + pango_font_description_free (best_desc); + best_desc = new_desc; + best_match = face; + } + else + pango_font_description_free (new_desc); tmp_list = tmp_list->next; } + + if (best_desc != NULL) + pango_font_description_free (best_desc); } } |