]> granicus.if.org Git - libass/commitdiff
fontselect: remove static fallback font list
authorGrigori Goronzy <greg@chown.ath.cx>
Mon, 31 Aug 2015 23:17:53 +0000 (01:17 +0200)
committerGrigori Goronzy <greg@chown.ath.cx>
Tue, 1 Sep 2015 12:34:21 +0000 (14:34 +0200)
The default font provider needs to provide a GetFallbackFunc callback
instead.

libass/ass_fontselect.c

index 586edf37bec176474f85a8a76de911619c625d8b..c2686bd7b65bc32691673fa34eafa6ea73b8cd20 100644 (file)
 #define ABS(x) ((x) < 0 ? -(x) : (x))
 #define MAX_FULLNAME 100
 
-static const char *fallback_fonts[] = {
-    // generic latin sans-serif fonts
-    "Arial",
-    "DejaVu Sans",
-    // fonts with lots of coverage
-    "Arial Unicode MS",
-    "FreeSerif",
-    NULL
-};
-
 // internal font database element
 // all strings are utf-8
 struct font_info {
@@ -657,22 +647,6 @@ char *ass_font_select(ASS_FontSelector *priv, ASS_Library *library,
                 priv->path_default, *index, *postscript_name);
     }
 
-    if (!res) {
-        // This code path is reached when the script uses glyphs not
-        // available in the previous fonts (or no font is matched), and
-        // the ASS_FontProvider used provides only the MatchFontsFunc callback
-        // and no GetFallbackFunc callback. As a last resort, try a builtin
-        // list of fallback families.
-        for (int i = 0; fallback_fonts[i] && !res; i++) {
-            res = select_font(priv, library, fallback_fonts[i], bold,
-                    italic, index, postscript_name, uid, data, code);
-            if (res)
-                ass_msg(library, MSGL_WARN, "fontselect: Using fallback "
-                        "font family: (%s, %d, %d) -> %s, %d, %s",
-                        family, bold, italic, res, *index, *postscript_name);
-        }
-    }
-
     if (res)
         ass_msg(library, MSGL_V,
                 "fontselect: (%s, %d, %d) -> %s, %d, %s", family, bold,