summaryrefslogtreecommitdiffstats
path: root/libass/ass_render.c
diff options
context:
space:
mode:
Diffstat (limited to 'libass/ass_render.c')
-rw-r--r--libass/ass_render.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/libass/ass_render.c b/libass/ass_render.c
index 2f0732e..6681612 100644
--- a/libass/ass_render.c
+++ b/libass/ass_render.c
@@ -1308,7 +1308,7 @@ get_bitmap_glyph(ASS_Renderer *render_priv, GlyphInfo *info)
outline, border,
&hash_val.bm, &hash_val.bm_o,
&hash_val.bm_s, info->be,
- info->blur * render_priv->border_scale,
+ info->blur * render_priv->blur_scale,
key->shadow_offset,
info->border_style,
info->border_x || info->border_y);
@@ -2242,12 +2242,17 @@ ass_start_frame(ASS_Renderer *render_priv, ASS_Track *track,
render_priv->font_scale = settings_priv->font_size_coeff *
render_priv->orig_height / render_priv->track->PlayResY;
+ if (render_priv->storage_height)
+ render_priv->blur_scale = ((double) render_priv->orig_height) /
+ render_priv->storage_height;
+ else
+ render_priv->blur_scale = 1.;
if (render_priv->track->ScaledBorderAndShadow)
render_priv->border_scale =
((double) render_priv->orig_height) /
render_priv->track->PlayResY;
else
- render_priv->border_scale = 1.;
+ render_priv->border_scale = render_priv->blur_scale;
render_priv->border_scale *= settings_priv->font_size_coeff;
ass_shaper_set_kerning(render_priv->shaper, track->Kerning);