\frz-91
left-to-right\frz-90
left-to-right\frz0
left-to-right\frz45
left-to-right\frz89
left-to-right\frz90
left-to-right\frz90
left-to-right\frz91
right-to-left\frz135
right-to-left\frz180
right-to-left\frz180\frx180\fry180
right-to-left\frz269
right-to-left\frz270
left-to-right--- a/libass/ass_parse.c
+++ b/libass/ass_parse.c
@@ -995,8 +995,8 @@ void process_karaoke_effects(ASS_Renderer *render_priv)
x_start = 1000000;
x_end = -1000000;
for (cur2 = s1; cur2 <= e1; ++cur2) {
- x_start = FFMIN(x_start, d6_to_int(cur2->bbox.xMin + cur2->pos.x));
- x_end = FFMAX(x_end, d6_to_int(cur2->bbox.xMax + cur2->pos.x));
+ x_start = FFMIN(x_start, d6_to_int(cur2->pos.x));
+ x_end = FFMAX(x_end, d6_to_int(cur2->pos.x + cur2->advance.x));
}
dt = (tm_current - tm_start);
\frz-91
\frz-90
\frz0
\frz45
\frz89
\frz90
\frz90
\frz91
\frz135
\frz180
\frz180\frx180\fry180
\frz269
\frz270
\frz-91
\frz-90
\frz0
\frz45
\frz89
\frz90
\frz90
\frz91
\frz135
\frz180
\frz180\frx180\fry180
\frz269
\frz270
\frz-91
\frz-90
\frz0
\frz45
wtf\frz89
\frz90
\frz90
\frz91
\frz135
\frz180
\frz180\frx180\fry180
\frz269
\frz270
\frz-91
left-to-right\frz-90
left-to-right\frz0
left-to-right\frz45
left-to-right\frz89
left-to-right\frz90
left-to-right\frz90
left-to-right\frz91
right-to-left\frz135
right-to-left\frz180
right-to-left\frz180\frx180\fry180
right-to-left\frz269
right-to-left\frz270
left-to-rightThe leftmost pixel of each item is always displayed. This is not visible in the word “text” (except with \frz-91
) because its leftmost pixel is transparent. However, this is visible in the word “kara” and the parenthesis.
\frz-91
left-to-right\frz-90
left-to-right\frz0
left-to-right\frz45
left-to-right\frz89
left-to-right\frz90
left-to-right\frz90
left-to-right\frz91
right-to-left\frz135
right-to-left\frz180
right-to-left\frz180\frx180\fry180
right-to-left\frz269
right-to-left\frz270
left-to-right