From d72fdb66f426cd7fbd05ab93d1470dabe92a4bd4 Mon Sep 17 00:00:00 2001 From: Oleg Oshmyan Date: Sun, 9 Feb 2014 03:18:39 +0000 Subject: Use cluster advance in compute_string_bbox to account for \fsp Fixes libass#16 (the remaining sub-issue). --- libass/ass_render.c | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/libass/ass_render.c b/libass/ass_render.c index 58d1a15..5f03ab5 100644 --- a/libass/ass_render.c +++ b/libass/ass_render.c @@ -735,13 +735,10 @@ static void compute_string_bbox(TextInfo *text, DBBox *bbox) for (i = 0; i < text->length; ++i) { GlyphInfo *info = text->glyphs + i; if (info->skip) continue; - while (info) { - double s = d6_to_double(info->pos.x); - double e = s + d6_to_double(info->advance.x); - bbox->xMin = FFMIN(bbox->xMin, s); - bbox->xMax = FFMAX(bbox->xMax, e); - info = info->next; - } + double s = d6_to_double(info->pos.x); + double e = s + d6_to_double(info->cluster_advance.x); + bbox->xMin = FFMIN(bbox->xMin, s); + bbox->xMax = FFMAX(bbox->xMax, e); } } else bbox->xMin = bbox->xMax = bbox->yMin = bbox->yMax = 0.; -- cgit v1.2.3