mirror of
https://github.com/mpv-player/mpv
synced 2024-11-18 21:16:10 +01:00
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> git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@8603 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
parent
17c39c4e57
commit
d3b9403406
17
subreader.c
17
subreader.c
@ -425,7 +425,7 @@ subtitle *sub_read_line_ssa(FILE *fd,subtitle *current) {
|
||||
|
||||
char line[LINE_LEN+1],
|
||||
line3[LINE_LEN+1],
|
||||
*line2;
|
||||
*line2,*so,*de;
|
||||
char *tmp;
|
||||
|
||||
do {
|
||||
@ -448,6 +448,21 @@ subtitle *sub_read_line_ssa(FILE *fd,subtitle *current) {
|
||||
}
|
||||
|
||||
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;
|
||||
|
Loading…
Reference in New Issue
Block a user