diff --git a/modules/text_renderer/freetype/platform_fonts.c b/modules/text_renderer/freetype/platform_fonts.c index 53c94d1dcc216b868b1be573438a314ab7555f7d..92bda68dc62fcadeb092100ebbe25fd4fcd077a8 100644 --- a/modules/text_renderer/freetype/platform_fonts.c +++ b/modules/text_renderer/freetype/platform_fonts.c @@ -464,7 +464,11 @@ int ConvertToLiveSize( filter_t *p_filter, const text_style_t *p_style ) } else if ( p_style->f_font_relsize ) { - i_font_size = (int) p_filter->fmt_out.video.i_height * p_style->f_font_relsize / 100; + unsigned area_height = p_filter->fmt_out.video.i_height; + if (p_filter->fmt_out.video.i_height > p_filter->fmt_out.video.i_width ) + // portrait mode leads to very large text + area_height = p_filter->fmt_out.video.i_width; + i_font_size = (int) area_height * p_style->f_font_relsize / 100; } if( p_sys->i_scale != 100 )