summaryrefslogtreecommitdiffstats
path: root/libass/ass_fontselect.h
diff options
context:
space:
mode:
Diffstat (limited to 'libass/ass_fontselect.h')
-rw-r--r--libass/ass_fontselect.h21
1 files changed, 16 insertions, 5 deletions
diff --git a/libass/ass_fontselect.h b/libass/ass_fontselect.h
index 942ea00..ce71b90 100644
--- a/libass/ass_fontselect.h
+++ b/libass/ass_fontselect.h
@@ -132,7 +132,7 @@ typedef void (*SubstituteFontFunc)(void *priv, const char *name,
ASS_FontProviderMetaData *meta);
/**
- * Get an appropriate fallback font for a given codepoint.
+ * Get an appropriate fallback extended font family for a given codepoint.
*
* This is called by fontselect whenever a glyph is not found in the
* physical font list of a logical font. fontselect will try to add the
@@ -147,7 +147,7 @@ typedef void (*SubstituteFontFunc)(void *priv, const char *name,
* \param lib ASS_Library instance
* \param family original font family name (try matching a similar font) (never NULL)
* \param codepoint Unicode codepoint (UTF-32)
- * \return output font family, allocated with malloc(), must be freed
+ * \return output extended font family, allocated with malloc(), must be freed
* by caller.
*/
typedef char *(*GetFallbackFunc)(void *priv,
@@ -173,21 +173,32 @@ typedef struct font_provider_funcs {
*/
struct ass_font_provider_meta_data {
/**
- * List of localized font family names, e.g. "Arial".
+ * List of localized font family names,
+ * e.g. "Arial", "Arial Narrow" or "Arial Black".
*/
char **families;
/**
- * List of localized full names, e.g. "Arial Bold".
+ * List of localized full names, e.g. "Arial Bold",
+ * "Arial Narrow Bold", "Arial Black" or "Arial Black Normal".
* The English name should be listed first to speed up typical matching.
*/
char **fullnames;
/**
- * The PostScript name, e.g. "Arial-BoldMT".
+ * The PostScript name, e.g. "Arial-BoldMT",
+ * "ArialNarrow-Bold" or "Arial-Black".
*/
char *postscript_name;
+ /**
+ * Any name that identifies an extended font family, e.g. "Arial".
+ * This could be the full designer-named typographic family or (perhaps
+ * even better) a (sub)family limited to weight/width/slant variations.
+ * Names returned by get_fallback are matched against this field.
+ */
+ char *extended_family;
+
int n_family; // Number of localized family names
int n_fullname; // Number of localized full names