From bc743feb07cffe7a81e07411a484e499377deb50 Mon Sep 17 00:00:00 2001 From: Stefano Pigozzi Date: Tue, 10 Dec 2013 18:45:54 +0100 Subject: fontselect: expose a fontprovider selection API Allow the user of libass to select the font provider from ass_set_fonts. This API change actually doesn't break client code which was passing `fc=1`; now the same value will autodetect a usable font provider. Also add an api to list available font providers as that is useful for client code to show drop down menus with a font provider to choose from. --- libass/ass.h | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) (limited to 'libass/ass.h') diff --git a/libass/ass.h b/libass/ass.h index 1f8a506..a3feb0b 100644 --- a/libass/ass.h +++ b/libass/ass.h @@ -175,6 +175,23 @@ typedef enum { */ int ass_library_version(void); +/** + * \brief Default Font provider to load fonts in libass' database + * + * NONE don't use any default font provider for font lookup + * AUTODETECT use the first available font provider + * CORETEXT force a CoreText based font provider (OS X only) + * FONTCONFIG force a Fontconfig based font provider + * + * libass uses the best shaper available by default. + */ +typedef enum { + ASS_FONTPROVIDER_NONE = 0, + ASS_FONTPROVIDER_AUTODETECT = 1, + ASS_FONTPROVIDER_CORETEXT, + ASS_FONTPROVIDER_FONTCONFIG, +} ASS_DefaultFontProvider; + /** * \brief Initialize the library. * \return library handle or NULL if failed @@ -397,8 +414,8 @@ void ass_set_line_position(ASS_Renderer *priv, double line_position); * NOTE: font lookup must be configured before an ASS_Renderer can be used. */ void ass_set_fonts(ASS_Renderer *priv, const char *default_font, - const char *default_family, int fc, const char *config, - int update); + const char *default_family, ASS_DefaultFontProvider dfp, + const char *config, int update); /** * \brief Set selective style override mode. -- cgit v1.2.3