ソースを参照

patches: fix relative font size handling in quartztext

Felix Paul Kühne 12 年 前
コミット
c8c4bef681

+ 54 - 0
patches/0014-quartztext-fix-relative-font-size-handling.patch

@@ -0,0 +1,54 @@
+From 99883592144c553b280a0138426d5f37e13f7c16 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Felix=20Paul=20K=C3=BChne?= <fkuehne@videolan.org>
+Date: Sun, 4 Aug 2013 19:50:19 +0200
+Subject: [PATCH 14/15] quartztext: fix relative font size handling
+
+---
+ modules/text_renderer/quartztext.c | 17 ++++++++++++++---
+ 1 file changed, 14 insertions(+), 3 deletions(-)
+
+diff --git a/modules/text_renderer/quartztext.c b/modules/text_renderer/quartztext.c
+index 4b25caa..eb5da4a 100644
+--- a/modules/text_renderer/quartztext.c
++++ b/modules/text_renderer/quartztext.c
+@@ -205,7 +205,7 @@ static int Create(vlc_object_t *p_this)
+     p_sys->psz_font_name  = var_CreateGetString(p_this, "quartztext-font");
+     p_sys->i_font_opacity = 255;
+     p_sys->i_font_color = VLC_CLIP(var_CreateGetInteger(p_this, "quartztext-color") , 0, 0xFFFFFF);
+-    p_sys->i_font_size    = GetFontSize(p_filter);
++    p_sys->i_font_size = GetFontSize(p_filter);
+ 
+     p_filter->pf_render_text = RenderText;
+     p_filter->pf_render_html = RenderHtml;
+@@ -317,7 +317,7 @@ static int RenderText(filter_t *p_filter, subpicture_region_t *p_region_out,
+     b_bold = b_uline = b_italic = FALSE;
+     VLC_UNUSED(p_chroma_list);
+ 
+-    p_sys->i_font_size    = GetFontSize(p_filter);
++    p_sys->i_font_size = GetFontSize(p_filter);
+ 
+     // Sanity check
+     if (!p_region_in || !p_region_out)
+@@ -950,7 +950,18 @@ static offscreen_bitmap_t *Compose(int i_text_align,
+ 
+ static int GetFontSize(filter_t *p_filter)
+ {
+-    return p_filter->fmt_out.video.i_height / DEFAULT_REL_FONT_SIZE;
++    int i_size = 0;
++
++    int i_ratio = var_CreateGetInteger( p_filter, "quartztext-rel-fontsize" );
++    if( i_ratio > 0 )
++        i_size = (int)p_filter->fmt_out.video.i_height / i_ratio;
++
++    if( i_size <= 0 )
++    {
++        msg_Warn( p_filter, "invalid fontsize, using 12" );
++        i_size = 12;
++    }
++    return i_size;
+ }
+ 
+ static int RenderYUVA(filter_t *p_filter, subpicture_region_t *p_region,
+-- 
+1.8.3.1 (Apple Git-46)
+