@ -355,8 +355,9 @@ static int text_to_ass(AVBPrint *buf, const char *text, const char *text_end,
{
MovTextContext * m = avctx - > priv_data ;
int i = 0 ;
int j = 0 ;
int text_pos = 0 ;
int style_active = 0 ;
int entry = 0 ;
if ( text < text_end & & m - > box_flags & TWRP_BOX ) {
if ( m - > w . wrap_flag = = 1 ) {
@ -369,26 +370,27 @@ static int text_to_ass(AVBPrint *buf, const char *text, const char *text_end,
while ( text < text_end ) {
int len ;
if ( m - > box_flags & STYL_BOX ) {
for ( i = 0 ; i < m - > style_entries ; i + + ) {
if ( m - > s [ i ] - > style_flag & & text_pos = = m - > s [ i ] - > style_end ) {
av_bprintf ( buf , " { \\ r} " ) ;
if ( ( m - > box_flags & STYL_BOX ) & & entry < m - > style_entries ) {
if ( text_pos = = m - > s [ entry ] - > style_start ) {
style_active = 1 ;
if ( m - > s [ entry ] - > style_flag & STYLE_FLAG_BOLD )
av_bprintf ( buf , " { \\ b1} " ) ;
if ( m - > s [ entry ] - > style_flag & STYLE_FLAG_ITALIC )
av_bprintf ( buf , " { \\ i1} " ) ;
if ( m - > s [ entry ] - > style_flag & STYLE_FLAG_UNDERLINE )
av_bprintf ( buf , " { \\ u1} " ) ;
av_bprintf ( buf , " { \\ fs%d} " , m - > s [ entry ] - > fontsize ) ;
for ( i = 0 ; i < m - > ftab_entries ; i + + ) {
if ( m - > s [ entry ] - > style_fontID = = m - > ftab [ i ] - > fontID )
av_bprintf ( buf , " { \\ fn%s} " , m - > ftab [ i ] - > font ) ;
}
}
for ( i = 0 ; i < m - > style_entries ; i + + ) {
if ( m - > s [ i ] - > style_flag & & text_pos = = m - > s [ i ] - > style_start ) {
if ( m - > s [ i ] - > style_flag & STYLE_FLAG_BOLD )
av_bprintf ( buf , " { \\ b1} " ) ;
if ( m - > s [ i ] - > style_flag & STYLE_FLAG_ITALIC )
av_bprintf ( buf , " { \\ i1} " ) ;
if ( m - > s [ i ] - > style_flag & STYLE_FLAG_UNDERLINE )
av_bprintf ( buf , " { \\ u1} " ) ;
av_bprintf ( buf , " { \\ fs%d} " , m - > s [ i ] - > fontsize ) ;
for ( j = 0 ; j < m - > ftab_entries ; j + + ) {
if ( m - > s [ i ] - > style_fontID = = m - > ftab [ j ] - > fontID )
av_bprintf ( buf , " { \\ fn%s} " , m - > ftab [ j ] - > font ) ;
}
if ( text_pos = = m - > s [ entry ] - > style_end ) {
if ( style_active ) {
av_bprintf ( buf , " { \\ r} " ) ;
style_active = 0 ;
}
entry + + ;
}
}
if ( m - > box_flags & HLIT_BOX ) {