diff options
Diffstat (limited to 'libass/ass.h')
-rw-r--r-- | libass/ass.h | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/libass/ass.h b/libass/ass.h index 57faf7d0..49864379 100644 --- a/libass/ass.h +++ b/libass/ass.h @@ -61,6 +61,19 @@ typedef enum { } ASS_Hinting; /** + * \brief Text shaping levels. + * + * SIMPLE is a fast, font-agnostic shaper that can do only substitutions. + * COMPLEX is a slower shaper using OpenType for substitutions and positioning. + * + * libass uses the best shaper available by default. + */ +typedef enum { + ASS_SHAPING_SIMPLE = 0, + ASS_SHAPING_COMPLEX +} ASS_ShapingLevel; + +/** * \brief Initialize the library. * \return library handle or NULL if failed */ @@ -147,6 +160,13 @@ void ass_renderer_done(ASS_Renderer *priv); void ass_set_frame_size(ASS_Renderer *priv, int w, int h); /** + * \brief Set shaping level. This is merely a hint, the renderer will use + * whatever is available if the request cannot be fulfilled. + * \param level shaping level + */ +void ass_set_shaper(ASS_Renderer *priv, ASS_ShapingLevel level); + +/** * \brief Set frame margins. These values may be negative if pan-and-scan * is used. * \param priv renderer handle |