diff options
-rw-r--r-- | libass/ass_fontselect.c | 16 |
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 |