From: lilo_booter Date: Fri, 14 Oct 2005 13:10:17 +0000 (+0000) Subject: + Moved ~ to LF hack to pango processing X-Git-Url: http://research.m1stereo.tv/gitweb?a=commitdiff_plain;h=9b3a83a4892bd0583992d6f67f4f4fb1999a7903;p=melted + Moved ~ to LF hack to pango processing git-svn-id: https://mlt.svn.sourceforge.net/svnroot/mlt/trunk/mlt@852 d19143bc-622f-0410-bfdd-b5b2a6649095 --- diff --git a/src/modules/gtk2/producer_pango.c b/src/modules/gtk2/producer_pango.c index 69b1c25..4f4526f 100644 --- a/src/modules/gtk2/producer_pango.c +++ b/src/modules/gtk2/producer_pango.c @@ -633,11 +633,23 @@ static GdkPixbuf *pango_get_pixbuf( const char *markup, const char *text, const // pango_layout_set_spacing( layout, space ); pango_layout_set_alignment( layout, ( PangoAlignment ) align ); if ( markup != NULL && strcmp( markup, "" ) != 0 ) + { pango_layout_set_markup( layout, markup, strlen( markup ) ); + } else if ( text != NULL && strcmp( text, "" ) != 0 ) - pango_layout_set_text( layout, text, strlen( text ) ); + { + // Replace all ~'s with a line feed (silly convention, but handy) + char *copy = strdup( text ); + while ( strchr( copy, '~' ) ) + ( *strchr( copy, '~' ) ) = '\n'; + pango_layout_set_text( layout, copy, strlen( copy ) ); + free( copy ); + } else + { + // Pango doesn't like empty strings pango_layout_set_text( layout, " ", 2 ); + } pango_layout_get_pixel_size( layout, &w, &h ); pixbuf = gdk_pixbuf_new( GDK_COLORSPACE_RGB, TRUE /* has alpha */, 8, w + 2 * pad, h + 2 * pad );