comparison libass/ass_render.c @ 23328:99ac5d381aed

Correct font size in libass. Values from TrueType OS/2 table are used to reproduce VSFilter behaviour. Magic 0.8 multiplier and scaling for the fractional part of font size are not needed anymore.
author eugeni
date Sat, 19 May 2007 14:11:41 +0000
parents bc9ec60e174d
children ffc2c7164bc0
comparison
equal deleted inserted replaced
23327:d7af89e69e92 23328:99ac5d381aed
503 (*p) += len; 503 (*p) += len;
504 return 1; 504 return 1;
505 } else 505 } else
506 return 0; 506 return 0;
507 } 507 }
508
509 double ass_internal_font_size_coeff = 0.8;
510 508
511 static void change_font_size(double sz) 509 static void change_font_size(double sz)
512 { 510 {
513 double size = sz * frame_context.font_scale; 511 double size = sz * frame_context.font_scale;
514 512
2101 frame_context.track = track; 2099 frame_context.track = track;
2102 frame_context.time = now; 2100 frame_context.time = now;
2103 2101
2104 ass_lazy_track_init(); 2102 ass_lazy_track_init();
2105 2103
2106 frame_context.font_scale = global_settings->font_size_coeff * ass_internal_font_size_coeff * 2104 frame_context.font_scale = global_settings->font_size_coeff *
2107 frame_context.orig_height / frame_context.track->PlayResY; 2105 frame_context.orig_height / frame_context.track->PlayResY;
2108 frame_context.border_scale = ((double)frame_context.orig_height) / frame_context.track->PlayResY; 2106 frame_context.border_scale = ((double)frame_context.orig_height) / frame_context.track->PlayResY;
2109 2107
2110 if (frame_context.orig_width * track->PlayResY == frame_context.orig_height * track->PlayResX) 2108 if (frame_context.orig_width * track->PlayResY == frame_context.orig_height * track->PlayResX)
2111 frame_context.font_scale_x = 1.; 2109 frame_context.font_scale_x = 1.;