comparison libass/ass_render.c @ 23300:04dbd42b3962

Support fractional font sizes.
author eugeni
date Mon, 14 May 2007 20:41:14 +0000
parents 0ee56ec36a40
children bc9ec60e174d
comparison
equal deleted inserted replaced
23299:0ee56ec36a40 23300:04dbd42b3962
135 ass_event_t* event; 135 ass_event_t* event;
136 ass_style_t* style; 136 ass_style_t* style;
137 137
138 ass_font_t* font; 138 ass_font_t* font;
139 char* font_path; 139 char* font_path;
140 int font_size; 140 double font_size;
141 141
142 FT_Stroker stroker; 142 FT_Stroker stroker;
143 int alignment; // alignment overrides go here; if zero, style value will be used 143 int alignment; // alignment overrides go here; if zero, style value will be used
144 double frx, fry, frz; 144 double frx, fry, frz;
145 enum { EVENT_NORMAL, // "normal" top-, sub- or mid- title 145 enum { EVENT_NORMAL, // "normal" top-, sub- or mid- title
506 return 0; 506 return 0;
507 } 507 }
508 508
509 double ass_internal_font_size_coeff = 0.8; 509 double ass_internal_font_size_coeff = 0.8;
510 510
511 static void change_font_size(int sz) 511 static void change_font_size(double sz)
512 { 512 {
513 double size = sz * frame_context.font_scale; 513 double size = sz * frame_context.font_scale;
514 514
515 if (size < 1) 515 if (size < 1)
516 size = 1; 516 size = 1;
694 if (mystrtod(&p, &val)) 694 if (mystrtod(&p, &val))
695 render_context.hspacing = render_context.hspacing * ( 1 - pwr ) + val * pwr; 695 render_context.hspacing = render_context.hspacing * ( 1 - pwr ) + val * pwr;
696 else 696 else
697 render_context.hspacing = render_context.style->Spacing; 697 render_context.hspacing = render_context.style->Spacing;
698 } else if (mystrcmp(&p, "fs")) { 698 } else if (mystrcmp(&p, "fs")) {
699 int val; 699 double val;
700 if (mystrtoi(&p, 10, &val)) 700 if (mystrtod(&p, &val))
701 val = render_context.font_size * ( 1 - pwr ) + val * pwr; 701 val = render_context.font_size * ( 1 - pwr ) + val * pwr;
702 else 702 else
703 val = render_context.style->FontSize; 703 val = render_context.style->FontSize;
704 if (render_context.font) 704 if (render_context.font)
705 change_font_size(val); 705 change_font_size(val);