From: Oleg Oshmyan Date: Wed, 15 Jan 2014 01:07:26 +0000 (+0000) Subject: Don't ignore trailing empty line X-Git-Tag: 0.11.0~42 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=f6211a334e238483ba1da05e5879e3c54e93f401;p=libass Don't ignore trailing empty line Trailing \N is effectively ignored, but \N\N should still yield an empty line. --- diff --git a/libass/ass_render.c b/libass/ass_render.c index 1edb9ae..ca89e76 100644 --- a/libass/ass_render.c +++ b/libass/ass_render.c @@ -1361,7 +1361,7 @@ static void measure_text(ASS_Renderer *render_priv) text_info->height = 0.; for (i = 0; i < text_info->length + 1; ++i) { if ((i == text_info->length) || text_info->glyphs[i].linebreak) { - if (empty_line && cur_line > 0 && last && i < text_info->length) { + if (empty_line && cur_line > 0 && last) { max_asc = d6_to_double(last->asc) / 2.0; max_desc = d6_to_double(last->desc) / 2.0; } @@ -1371,16 +1371,17 @@ static void measure_text(ASS_Renderer *render_priv) cur_line++; max_asc = max_desc = 0.; empty_line = 1; - } else - empty_line = 0; + } if (i < text_info->length) { GlyphInfo *cur = text_info->glyphs + i; if (d6_to_double(cur->asc) > max_asc) max_asc = d6_to_double(cur->asc); if (d6_to_double(cur->desc) > max_desc) max_desc = d6_to_double(cur->desc); - if (cur->symbol != '\n' && cur->symbol != 0) + if (cur->symbol != '\n' && cur->symbol != 0) { + empty_line = 0; last = cur; + } } } text_info->height +=