diff options
Diffstat (limited to 'sub')
-rw-r--r-- | sub/ass_mp.c | 3 | ||||
-rw-r--r-- | sub/osd.c | 2 | ||||
-rw-r--r-- | sub/osd.h | 1 | ||||
-rw-r--r-- | sub/sd_ass.c | 4 |
4 files changed, 10 insertions, 0 deletions
diff --git a/sub/ass_mp.c b/sub/ass_mp.c index 84a706b681..6d85ac1f28 100644 --- a/sub/ass_mp.c +++ b/sub/ass_mp.c @@ -78,6 +78,9 @@ void mp_ass_set_style(ASS_Style *style, double res_y, style->ScaleX = 1.; style->ScaleY = 1.; style->Alignment = 1 + (opts->align_x + 1) + (opts->align_y + 2) % 3 * 4; +#ifdef ASS_JUSTIFY_LEFT + style->Justify = opts->justify; +#endif style->Blur = opts->blur; style->Bold = opts->bold; style->Italic = opts->italic; @@ -62,6 +62,8 @@ static const m_option_t style_opts[] = { OPT_FLOATRANGE("blur", blur, 0, 0, 20), OPT_FLAG("bold", bold, 0), OPT_FLAG("italic", italic, 0), + OPT_CHOICE("justify", justify, 0, + ({"auto", 0}, {"left", 1}, {"center", 2}, {"right", 3})), {0} }; @@ -134,6 +134,7 @@ struct osd_style_opts { float blur; int bold; int italic; + int justify; }; extern const struct m_sub_options osd_style_conf; diff --git a/sub/sd_ass.c b/sub/sd_ass.c index 31c66a6087..9b4d3763c5 100644 --- a/sub/sd_ass.c +++ b/sub/sd_ass.c @@ -333,6 +333,10 @@ static void configure_ass(struct sd *sd, struct mp_osd_res *dim, if (converted) set_force_flags |= ASS_OVERRIDE_BIT_ALIGNMENT; #endif +#ifdef ASS_JUSTIFY_AUTO + if ((converted || opts->ass_style_override) && opts->ass_justify) + set_force_flags |= ASS_OVERRIDE_BIT_JUSTIFY; +#endif ass_set_selective_style_override_enabled(priv, set_force_flags); ASS_Style style = {0}; mp_ass_set_style(&style, 288, opts->sub_style); |