# HG changeset patch # User eugeni # Date 1161206391 0 # Node ID 041a388f21829bc2427ed8b9deb9cb156f8b629a # Parent 49865cf70233f30aa142ec5583ecc707ffece310 Center of rotation depends on alignment. diff -r 49865cf70233 -r 041a388f2182 libass/ass_render.c --- a/libass/ass_render.c Wed Oct 18 21:11:29 2006 +0000 +++ b/libass/ass_render.c Wed Oct 18 21:19:51 2006 +0000 @@ -1866,13 +1866,15 @@ center.y = render_context.org_y; } else { FT_BBox str_bbox; + int bx, by; center.x = text_info.glyphs[0].pos.x + device_x; center.y = text_info.glyphs[0].pos.y + device_y; compute_string_bbox(&text_info, &str_bbox); - center.x += (str_bbox.xMax - str_bbox.xMin) / 2; - center.y += (str_bbox.yMax - str_bbox.yMin) / 2; + get_base_point(str_bbox, alignment, &bx, &by); + center.x += bx - str_bbox.xMin; + center.y += by - str_bbox.yMin; } for (i = 0; i < text_info.length; ++i) {