diff subreader.c @ 8602:36d5c7137876

Attached is a small patch to fix a couple of problems I found when using .SSA subtitle files: 1) A comma appears at the beggining of the text. From comments on the code this seems to be a delicated matter, so I just added a conditional to eliminate the comma if it is at the beggining of the string. 2) It looks like this format uses {*} for attributes, like {/fs36} to select "font size 36pt". These things becomes really annoying when displayed with the real text ;-), so I added a simple filter to collapse all the text enclosed with { and }. Salvador Eduardo Tropea <salvador@inti.gov.ar>
author arpi
date Sat, 28 Dec 2002 13:42:24 +0000
parents ae74be3e2ed0
children a879b231b7e3
line wrap: on
line diff
--- a/subreader.c	Sat Dec 28 13:41:02 2002 +0000
+++ b/subreader.c	Sat Dec 28 13:42:24 2002 +0000
@@ -425,7 +425,7 @@
 	
 	char line[LINE_LEN+1],
 	     line3[LINE_LEN+1],
-	     *line2;
+	     *line2,*so,*de;
 	char *tmp;
 
 	do {
@@ -448,6 +448,21 @@
           }
 
         if(comma < max_comma)max_comma = comma;
+	/* eliminate the trailing comma */
+	if(*line2 == ',') line2++;
+	/* eliminate any text enclosed with {}, they are font and color settings */
+	so=de=line2;
+	while (*so) {
+		if(*so == '{') {
+			for (; *so && *so!='}'; *so++);
+			if(*so) so++;
+		}
+		if(*so) {
+			*de=*so;
+			so++; de++;
+		}
+	}
+	*de=*so;
 
 	current->lines=0;num=0;
 	current->start = 360000*hour1 + 6000*min1 + 100*sec1 + hunsec1;