[MPlayer-cvslog] r34637 - trunk/libass/ass_render.c

reimar subversion at mplayerhq.hu
Sat Jan 28 15:51:30 CET 2012


Author: reimar
Date: Sat Jan 28 15:51:29 2012
New Revision: 34637

Log:
Do not try to render \r.

Sample: http://samples.mplayerhq.hu/sub/fribidi/fribidi_arabic_hebrew_subs.mkv
with -sid 0.

Modified:
   trunk/libass/ass_render.c

Modified: trunk/libass/ass_render.c
==============================================================================
--- trunk/libass/ass_render.c	Sat Jan 28 15:24:59 2012	(r34636)
+++ trunk/libass/ass_render.c	Sat Jan 28 15:51:29 2012	(r34637)
@@ -683,6 +683,8 @@ blend_vector_exit:
     render_priv->state.clip_drawing = 0;
 }
 
+#define SKIP_SYMBOL(x) ((x) == 0 || (x) == '\n' || (x) == '\r')
+
 /**
  * \brief Convert TextInfo struct to ASS_Image list
  * Splits glyphs in halves when needed (for \kf karaoke).
@@ -700,7 +702,7 @@ static ASS_Image *render_text(ASS_Render
 
     for (i = 0; i < text_info->length; ++i) {
         GlyphInfo *info = text_info->glyphs + i;
-        if ((info->symbol == 0) || (info->symbol == '\n') || !info->bm_s
+        if (SKIP_SYMBOL(info->symbol) || !info->bm_s
             || (info->shadow_x == 0 && info->shadow_y == 0) || info->skip)
             continue;
 
@@ -734,7 +736,7 @@ static ASS_Image *render_text(ASS_Render
     last_tail = 0;
     for (i = 0; i < text_info->length; ++i) {
         GlyphInfo *info = text_info->glyphs + i;
-        if ((info->symbol == 0) || (info->symbol == '\n') || !info->bm_o
+        if (SKIP_SYMBOL(info->symbol) || !info->bm_o
             || info->skip)
             continue;
 
@@ -767,7 +769,7 @@ static ASS_Image *render_text(ASS_Render
 
     for (i = 0; i < text_info->length; ++i) {
         GlyphInfo *info = text_info->glyphs + i;
-        if ((info->symbol == 0) || (info->symbol == '\n') || !info->bm
+        if (SKIP_SYMBOL(info->symbol) || !info->bm
             || info->skip)
             continue;
 


More information about the MPlayer-cvslog mailing list