diff options
Diffstat (limited to 'libass/ass_types.h')
-rw-r--r-- | libass/ass_types.h | 136 |
1 files changed, 0 insertions, 136 deletions
diff --git a/libass/ass_types.h b/libass/ass_types.h index f56a754..f4a6ae5 100644 --- a/libass/ass_types.h +++ b/libass/ass_types.h @@ -45,142 +45,6 @@ typedef struct ass_renderer ASS_Renderer; typedef struct render_priv ASS_RenderPriv; typedef struct parser_priv ASS_ParserPriv; typedef struct ass_library ASS_Library; -typedef struct font_provider ASS_FontProvider; - -/* Font Provider */ -typedef struct ass_font_provider_meta_data ASS_FontProviderMetaData; - -/** - * Get font data. This is a stream interface which can be used as an - * alternative to providing a font path (which may not be available). - * - * This is called by fontselect if a given font was added without a - * font path (i.e. the path was set to NULL). - * - * \param font_priv font private data - * \param output buffer; set to NULL to query stream size - * \param offset stream offset - * \param len bytes to read into output buffer from stream - * \return actual number of bytes read, or stream size if data == NULL - */ -typedef size_t (*GetDataFunc)(void *font_priv, unsigned char *data, - size_t offset, size_t len); - -/** - * Check if a glyph is supported by a font. - * - * \param font_priv font private data - * \param codepont Unicode codepoint (UTF-32) - * \return non-zero value if codepoint is supported by the font - */ -typedef int (*CheckGlyphFunc)(void *font_priv, uint32_t codepoint); - -/** - * Destroy a font's private data. - * - * \param font_priv font private data - */ -typedef void (*DestroyFontFunc)(void *font_priv); - -/** - * Destroy a font provider's private data. - * - * \param priv font provider private data - */ -typedef void (*DestroyProviderFunc)(void *priv); - -/** - * Add fonts for a given font name; this should add all fonts matching the - * given name to the fontselect database. - * - * This is called by fontselect whenever a new logical font is created. The - * font provider set as default is used. - * - * \param lib ASS_Library instance - * \param provider font provider instance - * \param name font name (as specified in script) - */ -typedef void (*MatchFontsFunc)(ASS_Library *lib, - ASS_FontProvider *provider, - char *name); - -/** - * Substitute font name by another. This implements generic font family - * substitutions (e.g. sans-serif, serif, monospace) as well as font aliases. - * - * The generic families should map to sensible platform-specific font families. - * Aliases are sometimes used to map from common fonts that don't exist on - * a particular platform to similar alternatives. For example, a Linux - * system with fontconfig may map "Arial" to "Liberation Sans" and Windows - * maps "Helvetica" to "Arial". - * - * This is called by fontselect when a new logical font is created. The font - * provider set as default is used. - * - * \param priv font provider private data - * \param name input string for substitution, as specified in the script - * \param meta metadata (fullnames and n_fullname) to be filled in - */ -typedef void (*SubstituteFontFunc)(void *priv, const char *name, - ASS_FontProviderMetaData *meta); - -/** - * Get an appropriate fallback font 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 - * font family with match_fonts if it does not exist in the font list - * add match_fonts is not NULL. Note that the returned font family should - * contain the requested codepoint. - * - * Note that fontselect uses the font provider set as default to determine - * fallbacks. - * - * \param font_priv font private data - * \param codepoint Unicode codepoint (UTF-32) - * \return output font family, allocated with malloc(), must be freed - * by caller. - */ -typedef char *(*GetFallbackFunc)(void *font_priv, - ASS_FontProviderMetaData *meta, - uint32_t codepoint); - -typedef struct font_provider_funcs { - GetDataFunc get_data; /* optional/mandatory */ - CheckGlyphFunc check_glyph; /* mandatory */ - DestroyFontFunc destroy_font; /* optional */ - DestroyProviderFunc destroy_provider; /* optional */ - MatchFontsFunc match_fonts; /* optional */ - SubstituteFontFunc subst_font; /* optional */ - GetFallbackFunc fallback_font; /* optional */ -} ASS_FontProviderFuncs; - -/* - * Basic font metadata. All strings must be encoded with UTF-8. - * At minimum one family is required. - */ -struct ass_font_provider_meta_data { - - /** - * List of localized font family names, e.g. "Arial". - */ - char **families; - - /** - * List of localized full names, e.g. "Arial Bold". - * The English name should be listed first to speed up typical matching. - */ - char **fullnames; - int n_family; // Number of localized family names - int n_fullname; // Number of localized full names - - int slant; // Font slant value from FONT_SLANT_* - int weight; // Font weight in TrueType scale, 100-900 - // See FONT_WEIGHT_* - int width; // Font weight in percent, normally 100 - // See FONT_WIDTH_* -}; - /* ASS Style: line */ typedef struct ass_style { |