summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--libass/ass_fontselect.c16
1 files changed, 9 insertions, 7 deletions
diff --git a/libass/ass_fontselect.c b/libass/ass_fontselect.c
index 66569a8..fed0415 100644
--- a/libass/ass_fontselect.c
+++ b/libass/ass_fontselect.c
@@ -766,13 +766,6 @@ get_font_info(FT_Library lib, FT_Face face, ASS_FontProviderMetaData *info)
if (!(face->face_flags & FT_FACE_FLAG_SCALABLE))
return false;
- if (face->family_name) {
- families[0] = strdup(face->family_name);
- if (families[0] == NULL)
- goto error;
- num_family++;
- }
-
for (i = 0; i < num_names; i++) {
FT_SfntName name;
@@ -800,6 +793,15 @@ get_font_info(FT_Library lib, FT_Face face, ASS_FontProviderMetaData *info)
num_family++;
}
}
+
+ }
+
+ // check if we got a valid family - if not use whatever FreeType gives us
+ if (num_family == 0 && face->family_name) {
+ families[0] = strdup(face->family_name);
+ if (families[0] == NULL)
+ goto error;
+ num_family++;
}
// we absolutely need a name