Do not try to render \r.
authorreimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2>
Sat, 28 Jan 2012 14:51:29 +0000 (14:51 +0000)
committerreimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2>
Sat, 28 Jan 2012 14:51:29 +0000 (14:51 +0000)
Sample: http://samples.mplayerhq.hu/sub/fribidi/fribidi_arabic_hebrew_subs.mkv
with -sid 0.

git-svn-id: svn://git.mplayerhq.hu/mplayer/trunk@34637 b3059339-0415-0410-9bf9-f77b7e298cf2

libass/ass_render.c

index b2bc194..f48699b 100644 (file)
@@ -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_Renderer *render_priv, int dst_x, int dst_y)
 
     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_Renderer *render_priv, int dst_x, int dst_y)
     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_Renderer *render_priv, int dst_x, int dst_y)
 
     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;