diff --git a/sub/osd_libass.c b/sub/osd_libass.c index c916c530c2..7bb0471610 100644 --- a/sub/osd_libass.c +++ b/sub/osd_libass.c @@ -133,7 +133,9 @@ static void create_ass_track(struct osd_state *osd, struct osd_object *obj, track->WrapStyle = 1; // end-of-line wrapping instead of smart wrapping track->Kerning = true; track->ScaledBorderAndShadow = true; - +#if LIBASS_VERSION >= 0x01600010 + ass_track_set_feature(track, ASS_FEATURE_WRAP_UNICODE, 1); +#endif update_playres(ass, &obj->vo_res); } diff --git a/sub/sd_ass.c b/sub/sd_ass.c index 939c000156..765b77822d 100644 --- a/sub/sd_ass.c +++ b/sub/sd_ass.c @@ -442,6 +442,10 @@ static void configure_ass(struct sd *sd, struct mp_osd_res *dim, ass_set_font_scale(priv, set_font_scale); ass_set_hinting(priv, set_hinting); ass_set_line_spacing(priv, set_line_spacing); +#if LIBASS_VERSION >= 0x01600010 + if (converted) + ass_track_set_feature(track, ASS_FEATURE_WRAP_UNICODE, 1); +#endif } static bool has_overrides(char *s)