summaryrefslogtreecommitdiffstats
path: root/libass/ass_render.c
diff options
context:
space:
mode:
authorGrigori Goronzy <greg@blackbox>2011-07-16 03:00:41 +0200
committerGrigori Goronzy <greg@blackbox>2011-07-16 03:00:41 +0200
commitab9053174b7815d2c0b9cb7a5a726cb2e183ec4e (patch)
treedc0509badd5d20334f1529fc10f70a1501a22c03 /libass/ass_render.c
parentfa7e99e3d8a78805e9acfb327786307d91c20104 (diff)
downloadlibass-ab9053174b7815d2c0b9cb7a5a726cb2e183ec4e.tar.bz2
libass-ab9053174b7815d2c0b9cb7a5a726cb2e183ec4e.tar.xz
shaper: fix run-specific font size
Make sure to set the font size for every run, as needed, to get metrics (advance/offset) for the right size.
Diffstat (limited to 'libass/ass_render.c')
-rw-r--r--libass/ass_render.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/libass/ass_render.c b/libass/ass_render.c
index 3d23e29..0ac1ff9 100644
--- a/libass/ass_render.c
+++ b/libass/ass_render.c
@@ -1139,9 +1139,8 @@ get_outline_glyph(ASS_Renderer *render_priv, GlyphInfo *info)
info->desc = drawing->desc;
ass_drawing_free(drawing);
} else {
- double size_scaled = ensure_font_size(render_priv,
- info->font_size * render_priv->font_scale);
- ass_font_set_size(info->font, size_scaled);
+ ass_face_set_size(info->font->faces[info->face_index],
+ info->font_size);
ass_font_set_transform(info->font, info->scale_x,
info->scale_y, NULL);
// symbol might have been changed. re-get it.
@@ -1797,7 +1796,8 @@ ass_render_event(ASS_Renderer *render_priv, ASS_Event *event,
render_priv->state.effect_timing;
glyphs[text_info->length].effect_skip_timing =
render_priv->state.effect_skip_timing;
- glyphs[text_info->length].font_size = render_priv->state.font_size;
+ glyphs[text_info->length].font_size = ensure_font_size(render_priv,
+ render_priv->state.font_size * render_priv->font_scale);
glyphs[text_info->length].be = render_priv->state.be;
glyphs[text_info->length].blur = render_priv->state.blur;
glyphs[text_info->length].shadow_x = render_priv->state.shadow_x;