]> granicus.if.org Git - libass/commitdiff
Fix \fay when used with multiline subs
authorwm4 <wm4@nowhere>
Sat, 29 Sep 2012 20:12:17 +0000 (22:12 +0200)
committerwm4 <wm4@nowhere>
Sat, 29 Sep 2012 20:12:17 +0000 (22:12 +0200)
When \fay tag is applied to a multiline sub, it causes subsequent lines
of the sub to be offset vertically as if it was rendered next to the
previous line (not below).

Patch by Hector Martin <hector@marcansoft.com>, with an additional
correction related to libass issue #46.

libass/ass_render.c

index 7be12fadf74c614c3d0ba8d1572e55dfa77099ff..c7ebef59f14ae49a000e02b2fa53b0f0e8f02a8f 100644 (file)
@@ -1942,6 +1942,7 @@ ass_render_event(ASS_Renderer *render_priv, ASS_Event *event,
     for (i = 0; i < text_info->length; i++) {
         GlyphInfo *info = glyphs + cmap[i];
         if (glyphs[i].linebreak) {
+            pen.y -= (info->fay / info->scale_x * info->scale_y) * pen.x;
             pen.x = 0;
             pen.y += double_to_d6(text_info->lines[lineno-1].desc);
             pen.y += double_to_d6(text_info->lines[lineno].asc);