From 2dd34ab7469a8a01de368b7a204ad0e8f2d5aefd Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Sat, 20 Aug 2016 01:07:35 +0100 Subject: Handle subtitles which contain Pango markup. --- src/lib/subtitle_decoder.cc | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'src/lib/subtitle_decoder.cc') diff --git a/src/lib/subtitle_decoder.cc b/src/lib/subtitle_decoder.cc index ba6fe4600..bc4a75ca8 100644 --- a/src/lib/subtitle_decoder.cc +++ b/src/lib/subtitle_decoder.cc @@ -24,6 +24,7 @@ #include #include #include +#include #include using std::list; @@ -64,6 +65,16 @@ SubtitleDecoder::give_image (ContentTimePeriod period, shared_ptr image, void SubtitleDecoder::give_text (ContentTimePeriod period, list s) { + /* We must escape < and > in strings, otherwise they might confuse our subtitle + renderer (which uses some HTML-esque markup to do bold/italic etc.) + */ + BOOST_FOREACH (dcp::SubtitleString& i, s) { + string t = i.text (); + boost::algorithm::replace_all (t, "<", "<"); + boost::algorithm::replace_all (t, ">", ">"); + i.set_text (t); + } + _decoded_text.push_back (ContentTextSubtitle (period, s)); } -- cgit v1.2.3