Mercurial > mplayer.hg
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); |