summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sub/osd_libass.c4
-rw-r--r--sub/sd_ass.c4
2 files changed, 7 insertions, 1 deletions
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)