changeset 19825:f351a3fc3e42

Make font outline width proportional to movie resolution.
author eugeni
date Wed, 13 Sep 2006 15:35:10 +0000
parents 2e2480fb43bf
children 2b012c529c57
files libass/ass_render.c
diffstat 1 files changed, 6 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/libass/ass_render.c	Wed Sep 13 15:08:16 2006 +0000
+++ b/libass/ass_render.c	Wed Sep 13 15:35:10 2006 +0000
@@ -135,6 +135,7 @@
 	int orig_width; // frame width ( = screen width - margins )
 	ass_track_t* track;
 	long long time; // frame's timestamp, ms
+	double font_scale;
 	double font_scale_x; // x scale applied to all glyphs to preserve text aspect ratio
 } frame_context_t;
 
@@ -521,9 +522,7 @@
 
 static void change_font_size(int sz)
 {
-	double size = (double)sz * global_settings->font_size_coeff * ass_internal_font_size_coeff;
-	size *= frame_context.orig_height;
-	size /= frame_context.track->PlayResY;
+	double size = sz * frame_context.font_scale;
 
 	if (size < 1)
 		size = 1;
@@ -579,7 +578,7 @@
 	} else {
 		render_context.border = border;
 		FT_Stroker_Set( render_context.stroker,
-				(int)(64 * border),
+				(int)(64 * border * frame_context.font_scale),
 				FT_STROKER_LINECAP_ROUND,
 				FT_STROKER_LINEJOIN_ROUND,
 				0 );
@@ -1878,6 +1877,9 @@
 
 	ass_lazy_track_init();
 	
+	frame_context.font_scale = global_settings->font_size_coeff * ass_internal_font_size_coeff *
+	                           frame_context.orig_height / frame_context.track->PlayResY;
+
 	if (frame_context.width * track->PlayResY == frame_context.height * track->PlayResX)
 		frame_context.font_scale_x = 1.;
 	else